[evolvis-commits] r16638: docman new feature : monitoring document↵ - missing delete notice↵ - directory =?UTF-8?Q?=20monitoring=20under=20pre?==?UTF-8?Q?paration=20?=(db ready)

mirabilos at evolvis.org mirabilos at evolvis.org
Tue Mar 1 01:29:17 CET 2011


Author: mirabilos
Date: 2011-03-01 01:29:16 +0100 (Tue, 01 Mar 2011)
New Revision: 16638

Added:
   trunk/gforge_base/evolvisforge-5.1/src/common/docman/actions/monitorfile.php
   trunk/gforge_base/evolvisforge-5.1/src/db/20101029-docman-monitoring.sql
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/images/docman/monitor-adddocument.png
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/images/docman/monitor-removedocument.png
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/images/docman/monitor-adddocument.png
   trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/images/docman/monitor-removedocument.png
Modified:
   trunk/gforge_base/evolvisforge-5.1/src/common/docman/Document.class.php
   trunk/gforge_base/evolvisforge-5.1/src/common/docman/views/listfile.php
   trunk/gforge_base/evolvisforge-5.1/src/www/docman/index.php
Log:
docman new feature : monitoring document
- missing delete notice
- directory monitoring under preparation (db ready)

Modified: trunk/gforge_base/evolvisforge-5.1/src/common/docman/Document.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/common/docman/Document.class.php	2011-03-01 00:29:14 UTC (rev 16637)
+++ trunk/gforge_base/evolvisforge-5.1/src/common/docman/Document.class.php	2011-03-01 00:29:16 UTC (rev 16638)
@@ -479,6 +479,90 @@
 	}
 
 	/**
+	 * 	getMonitoredUserEmailAddress - get the email addresses of users who monitor this file
+	 *
+	 * 	@return	string	The list of emails comma separated
+	 */
+	function getMonitoredUserEmailAddress() {
+		$result = db_query_params('select users.email from users,docdata_monitored_docman where users.user_id = docdata_monitored_docman.user_id and docdata_monitored_docman.doc_id = $1', array ($this->getID()));
+		if (!$result || db_numrows($result) < 1) {
+			return NULL;
+		} else {
+			$values = '';
+			$comma = '';
+			$i = 0;
+			while ($arr = db_fetch_array($result)) {
+				if ( $i > 0 )
+					$comma = ',';
+
+				$values .=$comma.$arr['email'];
+				$i++;
+			}
+		}
+		return $values;
+	}
+
+	/**
+	 *	isMonitoredBy - get the monitored status of this document for a specific user id.
+	 *
+	 *	@param	int		User ID
+	 *	@return bool	true if monitored by this user
+	 */
+	function isMonitoredBy($userid = 'ALL') {
+		if ( $userid == 'ALL' ) {
+			$condition = '';
+		} else {
+			$condition = 'user_id='.$userid.' AND';
+		}
+		$result = db_query_params('SELECT * FROM docdata_monitored_docman WHERE '.$condition.' doc_id=$1',
+								array ($this->getID()));
+
+		if (!$result || db_numrows($result) < 1)
+			return false;
+
+		return true;
+	}
+
+	/**
+	 *	removeMonitoredBy - remove this document for a specific user id for monitoring.
+	 *
+	 *	@param	int		User ID
+	 *	@return bool	true if success
+	 */
+	function removeMonitoredBy($userid) {
+		$result = db_query_params('DELETE FROM docdata_monitored_docman WHERE doc_id=$1 AND user_id=$2',
+								array ($this->getID(), $userid));
+
+		if (!$result) {
+			$this->setError(_('Unable To Remove Monitor').' : '.db_error());
+			return false;
+		}
+		return true;
+	}
+
+	/**
+	 *	addMonitoredBy - add this document for a specific user id for monitoring.
+	 *
+	 *	@param	int		User ID
+	 *	@return bool	true if success
+	 */
+	function addMonitoredBy($userid) {
+		$result = db_query_params('SELECT * FROM docdata_monitored_docman WHERE user_id=$1 AND doc_id=$2',
+								array ($userid, $this->getID()));
+
+		if (!$result || db_numrows($result) < 1) {
+			$result = db_query_params('INSERT INTO docdata_monitored_docman (doc_id,user_id) VALUES ($1,$2)',
+									array ($this->getID(), $userid));
+
+			if (!$result) {
+				$this->setError(_('Unable To Add Monitor').' : '.db_error());
+				return false;
+			}
+		}
+		return true;
+	}
+
+	/**
 	 *  setState - set the stateid of the document.
 	 *
 	 *	@param	int	The state id of the doc_states table.
@@ -671,16 +755,19 @@
                 return false;
             }
 		}
-		
+
 		$this->sendNotice(false);
 		return true;
 	}
 
 	/**
-	*   sendNotice - Notifies of document submissions
-	*/
+	 *	sendNotice - Notifies of document submissions
+	 */
 	function sendNotice ($new=true) {
 		$BCC = $this->Group->getDocEmailAddress();
+		if ($this->isMonitoredBy('ALL')) {
+			$BCC .= $this->getMonitoredUserEmailAddress();
+		}
 		if (strlen($BCC) > 0) {
 			$subject = '['.$this->Group->getPublicName().'] New document - '.$this->getName();
 			$body = "Project: ".$this->Group->getPublicName()."\n";
@@ -698,6 +785,9 @@
 		return true;
 	}
 	
+	/**
+	 *	delete - Delete this file
+	 */
 	function delete() {
 		$perm =& $this->Group->getPermission ();
 		if (!$perm || !is_object($perm) || !$perm->isDocEditor()) {
@@ -715,12 +805,15 @@
 		
         switch ($this->Group->getStorageAPI()) {
         case 'DB':
-            break;
+			break;
         default:
 			$this->setError(_('Error Deleting Document: No Storage API'));
 			db_rollback();
 			return false;
-        }
+		}
+
+		// we should be able to send a notice that this doc has been deleted .... but we need to rewrite sendNotice
+		//$this->sendNotice(false);
 		return true;
 	}
 }

Added: trunk/gforge_base/evolvisforge-5.1/src/common/docman/actions/monitorfile.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/common/docman/actions/monitorfile.php	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/src/common/docman/actions/monitorfile.php	2011-03-01 00:29:16 UTC (rev 16638)
@@ -0,0 +1,65 @@
+<?php
+/**
+ * FusionForge Documentation Manager
+ *
+ * Copyright 2010, Franck Villaume - Capgemini
+ * http://fusionforge.org
+ *
+ * This file is part of FusionForge.
+ *
+ * FusionForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * FusionForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with FusionForge; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+/* please do not add require here : use www/docman/index.php to add require */
+/* global variables used */
+global $dirid; //id of doc_group
+global $group_id; // id of group
+global $LUSER; // User object
+
+if (!forge_check_perm ('docman', $group_id, 'approve')) {
+	$return_msg = _('Document Action Denied');
+	session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$dirid.'&warning_msg='.urlencode($return_msg));
+} else {
+
+	$fileid = getIntFromRequest('fileid');
+    $option = getStringFromRequest('option');
+	$d= new Document($g,$fileid);
+
+	if ($d->isError())
+	    session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$dirid.'&error_msg='.urlencode($d->getErrorMessage()));
+
+	switch ($option) {
+	case "add":
+		if (!$d->addMonitoredBy($LUSER->getID())) {
+	    	session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$dirid.'&error_msg='.urlencode($d->getErrorMessage()));
+		} else {
+			$feedback = _('Monitoring started');
+		}
+		break;
+	case "remove":
+		if (!$d->removeMonitoredBy($LUSER->getID())) {
+	    	session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$dirid.'&error_msg='.urlencode($d->getErrorMessage()));
+		} else {
+			$feedback = _('Monitoring stopped');
+		}
+		break;
+	default:
+		$error_msg = _('Docman : monitoring action unknown');
+	   	session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$dirid.'&error_msg='.urlencode($error_msg));
+	}
+
+	session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$dirid.'&feedback='.urlencode($feedback));
+}
+?>

Modified: trunk/gforge_base/evolvisforge-5.1/src/common/docman/views/listfile.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/common/docman/views/listfile.php	2011-03-01 00:29:14 UTC (rev 16637)
+++ trunk/gforge_base/evolvisforge-5.1/src/common/docman/views/listfile.php	2011-03-01 00:29:16 UTC (rev 16638)
@@ -48,16 +48,17 @@
     controller = new DocManListFileController({
         groupId:            <?php echo $group_id ?>, 
         tipsyElements:      [
-                                {selector: '#docman-addnewfile', options:{delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '#docman-addsubdirectory', options:{delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '#docman-editdirectory', options:{delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '#docman-deletedirectory', options:{delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '.docman-viewfile', options:{gravity: 'nw', delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '.docman-reserveddocument', options:{delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '.docman-movetotrash', options:{gravity: 'ne', delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '.docman-editfile', options:{gravity: 'ne', delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '.docman-releasereservation', options:{gravity: 'ne',delayIn: 1000, delayOut: 500, fade: true}},
-                                {selector: '.docman-reservefile', options:{gravity: 'ne', delayIn: 1000, delayOut: 500, fade: true}}
+                                {selector: '#docman-addnewfile', options:{delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '#docman-addsubdirectory', options:{delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '#docman-editdirectory', options:{delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '#docman-deletedirectory', options:{delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '.docman-viewfile', options:{gravity: 'nw', delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '.docman-reserveddocument', options:{delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '.docman-movetotrash', options:{gravity: 'ne', delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '.docman-editfile', options:{gravity: 'ne', delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '.docman-releasereservation', options:{gravity: 'ne',delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '.docman-reservefile', options:{gravity: 'ne', delayIn: 500, delayOut: 0, fade: true}},
+                                {selector: '.docman-monitorfile', options:{gravity: 'ne', delayIn: 500, delayOut: 0, fade: true}}
                             ],
         
         divAddDirectory:        jQuery('#addsubdocgroup'),
@@ -67,7 +68,7 @@
         buttonAddNewFile:       jQuery('#docman-addnewfile'),
         buttonEditDirectory:    jQuery('#docman-editdirectory'),
         docManURL:              '<?php util_make_url("docman") ?>',
-        lockIntervalDelay:      60000 //ms
+        lockIntervalDelay:      60000 //in microsecond and if you change this value, please update the check value 600
     });
 });
 
@@ -84,7 +85,7 @@
 }
 
 if (forge_check_perm ('docman', $group_id, 'submit')) {
-	echo '<a href="#" id="docman-addnewfile" title="'. _('Add a new file') . '" >'. html_image('docman/insert-file.png',22,22,array('alt'=>'addfile')). '</a>';
+	echo '<a href="#" id="docman-addnewfile" title="'. _('Add a new document') . '" >'. html_image('docman/insert-file.png',22,22,array('alt'=>'addfile')). '</a>';
 }
 
 echo '</h3>';
@@ -119,12 +120,14 @@
 		default:
 			$docurl=util_make_url ('/docman/view.php/'.$group_id.'/'.$d->getID().'/'.urlencode($d->getFileName()));
 		}
-		echo '<td><a href="'.$docurl.'" class="docman-viewfile" title="'._('View this file').'" >';
+		echo '<td><a href="'.$docurl.'" class="docman-viewfile" title="'._('View this document').'" >';
 		switch ($d->getFileType()) {
 			case "image/png":
 			case "image/jpeg":
 			case "image/gif":
 			case "image/tiff":
+			case "image/vnd.microsoft.icon":
+			case "image/svg+xml":
 				echo html_image('docman/file_type_image.png',22,22,array('alt'=>$d->getFileType()));
 				break;
 			case "application/pdf":
@@ -138,11 +141,13 @@
 				echo html_image('docman/file_type_plain.png',22,22,array('alt'=>$d->getFileType()));
 				break;
 			case "application/msword":
+			case "application/vnd.openxmlformats-officedocument.wordprocessingml.document":
             case "application/vnd.oasis.opendocument.text":
 				echo html_image('docman/file_type_writer.png',22,22,array('alt'=>$d->getFileType()));
 				break;
 			case "application/vnd.ms-excel":
 			case "application/vnd.oasis.opendocument.spreadsheet":
+			case "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":
 				echo html_image('docman/file_type_spreadsheet.png',22,22,array('alt'=>$d->getFileType()));
 				break;
             case "application/vnd.oasis.opendocument.presentation":
@@ -206,25 +211,34 @@
             if ($d->getLocked()) {
                 if ($d->getLockedBy() == $LUSER->getID()) {
                     $d->setLock(0);
+				/* if you change the 60000 value above, please update here too */
                 } elseif ((time() - $d->getLockdate()) > 600) {
                     $d->setLock(0);
                 }
             }
             if (!$d->getLocked() && !$d->getReserved()) {
-			    echo '<a href="?group_id='.$group_id.'&action=trashfile&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-movetotrash" title="'. _('Move this file to trash') .'" >'.html_image('docman/trash-empty.png',22,22,array('alt'=>_('Move to trash this file'))). '</a>';
-			    echo '<a href="#" onclick="javascript:controller.toggleEditFileView(\''.$d->getID().'\')" class="docman-editfile" title="'. _('Edit this file') .'" >'.html_image('docman/edit-file.png',22,22,array('alt'=>_('Edit this file'))). '</a>';
-			        echo '<a href="?group_id='.$group_id.'&action=reservefile&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-reservefile" title="'. _('Reserve this file for later edition') .'" >'.html_image('docman/reserve-document.png',22,22,array('alt'=>_('Reserve this document'))). '</a>';
+			    echo '<a href="?group_id='.$group_id.'&action=trashfile&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-movetotrash" title="'. _('Move this document to trash') .'" >'.html_image('docman/trash-empty.png',22,22,array('alt'=>_('Move to trash this document'))). '</a>';
+			    echo '<a href="#" onclick="javascript:controller.toggleEditFileView(\''.$d->getID().'\')" class="docman-editfile" title="'. _('Edit this document') .'" >'.html_image('docman/edit-file.png',22,22,array('alt'=>_('Edit this document'))). '</a>';
+			        echo '<a href="?group_id='.$group_id.'&action=reservefile&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-reservefile" title="'. _('Reserve this document for later edition') .'" >'.html_image('docman/reserve-document.png',22,22,array('alt'=>_('Reserve this document'))). '</a>';
             } else {
                 if ($d->getReservedBy() != $LUSER->getID()) {
                     if (forge_check_perm ('docman', $group_id, 'admin')) {
                         echo '<a href="?group_id='.$group_id.'&action=enforcereserve&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-enforcereservation" title="'. _('Enforce reservation') .'" >'.html_image('docman/enforce-document.png',22,22,array('alt'=>_('Enforce reservation')));
                     }
                 } else {
-			        echo '<a href="?group_id='.$group_id.'&action=trashfile&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-movetotrash" title="'. _('Move this file to trash') .'" >'.html_image('docman/trash-empty.png',22,22,array('alt'=>_('Move to trash this file'))). '</a>';
-			        echo '<a href="#" onclick="javascript:controller.toggleEditFileView(\''.$d->getID().'\')" class="docman-editfile" title="'. _('Edit this file') .'" >'.html_image('docman/edit-file.png',22,22,array('alt'=>_('Edit this file'))). '</a>';
+			        echo '<a href="?group_id='.$group_id.'&action=trashfile&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-movetotrash" title="'. _('Move this document to trash') .'" >'.html_image('docman/trash-empty.png',22,22,array('alt'=>_('Move to trash this document'))). '</a>';
+			        echo '<a href="#" onclick="javascript:controller.toggleEditFileView(\''.$d->getID().'\')" class="docman-editfile" title="'. _('Edit this document') .'" >'.html_image('docman/edit-file.png',22,22,array('alt'=>_('Edit this document'))). '</a>';
 			        echo '<a href="?group_id='.$group_id.'&action=releasefile&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-releasereservation" title="'. _('Release reservation') .'" >'.html_image('docman/release-document.png',22,22,array('alt'=>_('Release reservation'))). '</a>';
                 }
             }
+			if ($d->isMonitoredBy($LUSER->getID())) {
+				$option='remove';
+				$titleMonitor= _('Stop monitoring this document');
+			} else {
+				$option='add';
+				$titleMonitor= _('Start monitoring this document');
+			}
+			echo '<a href="?group_id='.$group_id.'&action=monitorfile&option='.$option.'&view=listfile&dirid='.$dirid.'&fileid='.$d->getID().'" class="docman-monitorfile" title="'.$titleMonitor.'" >'.html_image('docman/monitor-'.$option.'document.png',22,22,array('alt'=>$titleMonitor)). '</a>';
 			echo '</td>';
 		}
 		echo '</tr>';

Added: trunk/gforge_base/evolvisforge-5.1/src/db/20101029-docman-monitoring.sql
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/db/20101029-docman-monitoring.sql	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/src/db/20101029-docman-monitoring.sql	2011-03-01 00:29:16 UTC (rev 16638)
@@ -0,0 +1,26 @@
+CREATE SEQUENCE docdata_monitored_docman_pk_seq
+    START WITH 1
+    INCREMENT BY 1
+    MAXVALUE 2147483647
+    NO MINVALUE
+    CACHE 1;
+
+CREATE TABLE docdata_monitored_docman (
+    monitor_id integer DEFAULT nextval('docdata_monitored_docman_pk_seq'::text) NOT NULL,
+    doc_id integer DEFAULT 0 NOT NULL,
+    user_id integer DEFAULT 0 NOT NULL
+);
+
+CREATE SEQUENCE docgroup_monitored_docman_pk_seq
+    START WITH 1
+    INCREMENT BY 1
+    MAXVALUE 2147483647
+    NO MINVALUE
+    CACHE 1;
+
+CREATE TABLE docgroup_monitored_docman (
+    monitor_id integer DEFAULT nextval('docgroup_monitored_docman_pk_seq'::text) NOT NULL,
+    docgroup_id integer DEFAULT 0 NOT NULL,
+    user_id integer DEFAULT 0 NOT NULL
+);
+

Modified: trunk/gforge_base/evolvisforge-5.1/src/www/docman/index.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/docman/index.php	2011-03-01 00:29:14 UTC (rev 16637)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/docman/index.php	2011-03-01 00:29:16 UTC (rev 16638)
@@ -97,6 +97,7 @@
 	case "releasefile":
 	case "enforcereserve":
 	case "lockfile":
+	case "monitorfile":
 		include ($gfcommon."docman/actions/$action.php");
 		break;
 }

Added: trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/images/docman/monitor-adddocument.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/images/docman/monitor-adddocument.png	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/images/docman/monitor-adddocument.png	2011-03-01 00:29:16 UTC (rev 16638)
@@ -0,0 +1,11 @@
+‰PNG
+
+   
+IHDR         Ä´l;   sBIT|dˆ   	pHYs  a  aÁ0Uú   tEXtSoftware www.inkscape.org›î<  IDATxÚ¥•[heÇÿ3óÍÌnvsÙ[²Ùd7»iÒ&•ªj#ˆXµJ… 5VŠx©Kmƒ"¥1ä! ‚ hÕ¾ÕB¥
+¥46·Æ¼16j.Íu“n’u“ì&{ÍÎÕ/ó Mk·æÌùæüÎÎÌ|Ã躎»éò—1–<³ëÀ±O"¸m¦@Kaõr2•yŠåÉ/(’E‘¿‹Æ^yþ5ÜCÛ(ÏlJf¤ZUUQè(†ÍUÊ&óË,/ x÷‹;¨ÿ»öÉTª–ðšÎ"³™”Ý„ªJàxSCÿÅO=99&„o¬ÞUÿŽ`L„—!Š"xQÀ­Ð¼àü}ƒ9ž/t—¸À‘®	¼•U`X]Ó¨y+Á±Âœ;Ž°  Ëz%ÓÐas¸ mØŠsš±ÙbS–!#ë:=4€‡Bˆp='°®HŸëŠ6
+M¡&U€£J€&Cɦ¯û^íÌ	ìÛdis3Ý¥Ë)hÙ8 ¤@×4gX‹ô€*'°!5Û‹­Qp*
+MÞÄíàÔTô뻟x=ϲéD|:…®†C L¬¼áhÿCwQ™—®(
+FÇo‚#<J}~Tä8¼>.XQ4o½%ày±:üJQÔëššš¸k×^ûµ­lŽF×áp¼uéïõ…¼üÂóërž–dì0»ª`ö<Œ/¾½ˆ“§šO¦Ó›ÁLFn•e՝J&û϶œý¾+•¾qÇÝmf.Òn2‰g
+¬á8,ËЍ<5yßœ;‡Ðò- ¬ù¸ZijžÓ{{Ñì6WY¹uuuS²,~ã­7oöçWšÍB‹%O G8l·2‹à|., ‚£"‘466⯱1F‘Uneeñxš¦Vï®ÝÝ	 ÜE*™ýŒ#:d(•‘ûûú`·Û¨¨Àôì≄qMlc“ãF$KÆ3p8(,**ëíî9ŬE¥’xr=l2	0‰<xÂ…Tt“8qül¬Ÿß?Fg r<ê÷íƒÍîÄèèŸXÅ0rc>»e^/"i-MfçC-
+íªB’T²5ŒŸº-2‡@‰ˆ‚•4œRîúCp—zðÞéfŒ£»»ã(J/ÃKïL.a)¢å‘½š¯t
+ËÕ•îw-Ñ"R×:«‚c9<øz~¼€º2+l"ƒá°	|x>_…adgÍ#ðx«SÓSÓ)>ë|¬4&]ÀˆlÎüçŸ×ÖÖÆîÙû¢ßSj;Äj\@çôò¾«vþàѳIæ™#'&ê÷èÕ4}n#™½úÛÀ¥ÙÖÖVíýÓÍÅ3Á¹¦µ¹§Y‡7ä¯Ùóö?ŸñÈR†dÕ•    IEND®B`‚
\ No newline at end of file

Added: trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/images/docman/monitor-removedocument.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/images/docman/monitor-removedocument.png	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/funky/images/docman/monitor-removedocument.png	2011-03-01 00:29:16 UTC (rev 16638)
@@ -0,0 +1,15 @@
+‰PNG
+
+   
+IHDR         Ä´l;   sRGB ®Îé   bKGD ÿ ÿ ÿ ½§“   	pHYs  a  aÁ0Uú   tIMEÚ!°ßF”  dIDAT8˝“[lTU†ÿ½Ï>çÌ¥ít˜vZjëô†\¦UUK ‘Œ¤b‚1Äh4Š’‰!1©‰D ÑD"‘Fb
+¡ )RzQ^ŠÔx¡-Ói;í´ÓNg:·3s朽}h4¨\¤ëq­½¾¬õïõwˆ¯¼C:¿çÆ]¹
+ÐîÈË9•Hj«©ÄXn^~VUå¯#Ó‘§×¿ô.¿˜Ýª`³Z/&4}±išp¸ÜpΗ‹µ‘Êêy «î¦7Kv·¼¿%žL.f2ZZƒžIÃ4uH²¥¾ûÈ%sš˜1yó‚…Õ(¯ºÄâÂxpªªBV\\„ÂÈ šï,ɲ£¸¨”©d†²ÊjÊ 8GÅ"/&ý¿9æ4qAk\Q€J !³L(@œ®Bè3N÷œ4¶Úsbß „à€àUÅ`LéžXú‡Âà¿‚ „	bê ÏÂȤº+Vm=3'°§þ™±t:Õ.²IðL0’Ù$`hˆ‡CÿÇ ô–3³'	ƒg4˜
+<›Æ°¯ÑO¾ô=uCß6€üÒظñÀ¿X·ÏäùéX†¦â±ˆl“cÃÐN}—.zró‰]55ûþz÷Zw¿µvùéúe÷ïo¾Gn·NdèjÂ0»ï÷^Èca”¹<0#Q˜33o9òŠù
+
+‡R££0ú¥K›V´ÝÖÒÁÑàËŠÅ´KZV{x¥ÁÎp—‚Æã¢`ÍêCf"	1<ÄUç<:ÕÓóQÛÀÀ77½ãp8âÒuú:'üE›M-‹¦ÒœF­…Õ’ÍúOȶÅ®K"	>B:ÏAôô wÝúµ{{{ù¤ðMì±XÔ]y9
+“$
+J) J)úû®áÓƒŽÁ;1çB“p»!Ùlˆš‡ué•u¨­­íÏf³[¶m¡—€?0ù¬,±Ýv›‰I$
+!¡ðùÑÚÚ
+ÿЖû®£Ñ0À|×Ik„€bkUNvvâ’i,ð.ñžPJ ™Èì—! ¥BˆY£o»º0ožÊ2Ö´@ ©òrœ®{ûòˆWV"=2‚U‰8<É$ùù÷t´ŸÛÁÂÓzQ,-àBÀ49(U¨¿¯G[>‡“ê(óxp늋ñã½L/Z‚qÓĹhË8Gú®]E©A(Å÷2ßP`w…§zÖ„®›`ŒBˆYðÉÇÁCƒ¨(R‘7•ÂY¸¹+êðÖ›;q¥§íígñÃT¡Ô(¼„@õ1â6é³æÏÖ7lɵÛÔeT"Š"+ 8(¡ÈÍÉAGÛ)l¨ÊC•ƒáò”‰·›aÝú
+0LG¾Þ¥$»~¾cÑÛÚêxr%\Í8µ¤©©‰.}hCyÉ|ç&Ê¥
+!‰Òó]m+¾?óE‰È$Èc[_ý£îѵœ‹Á™D¦íÂù㾦¦&¾sÇîëþÁKx°ºÊå‹–nÿ²9ëÍsÔ    IEND®B`‚
\ No newline at end of file

Added: trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/images/docman/monitor-adddocument.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/images/docman/monitor-adddocument.png	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/images/docman/monitor-adddocument.png	2011-03-01 00:29:16 UTC (rev 16638)
@@ -0,0 +1,11 @@
+‰PNG
+
+   
+IHDR         Ä´l;   sBIT|dˆ   	pHYs  a  aÁ0Uú   tEXtSoftware www.inkscape.org›î<  IDATxÚ¥•[heÇÿ3óÍÌnvsÙ[²Ùd7»iÒ&•ªj#ˆXµJ… 5VŠx©Kmƒ"¥1ä! ‚ hÕ¾ÕB¥
+¥46·Æ¼16j.Íu“n’u“ì&{ÍÎÕ/ó Mk·æÌùæüÎÎÌ|Ã躎»éò—1–<³ëÀ±O"¸m¦@Kaõr2•yŠåÉ/(’E‘¿‹Æ^yþ5ÜCÛ(ÏlJf¤ZUUQè(†ÍUÊ&óË,/ x÷‹;¨ÿ»öÉTª–ðšÎ"³™”Ý„ªJàxSCÿÅO=99&„o¬ÞUÿŽ`L„—!Š"xQÀ­Ð¼àü}ƒ9ž/t—¸À‘®	¼•U`X]Ó¨y+Á±Âœ;Ž°  Ëz%ÓÐas¸ mØŠsš±ÙbS–!#ë:=4€‡Bˆp='°®HŸëŠ6
+M¡&U€£J€&Cɦ¯û^íÌ	ìÛdis3Ý¥Ë)hÙ8 ¤@×4gX‹ô€*'°!5Û‹­Qp*
+MÞÄíàÔTô뻟x=ϲéD|:…®†C L¬¼áhÿCwQ™—®(
+FÇo‚#<J}~Tä8¼>.XQ4o½%ày±:üJQÔëššš¸k×^ûµ­lŽF×áp¼uéïõ…¼üÂóërž–dì0»ª`ö<Œ/¾½ˆ“§šO¦Ó›ÁLFn•e՝J&û϶œý¾+•¾qÇÝmf.Òn2‰g
+¬á8,ËЍ<5yßœ;‡Ðò- ¬ù¸ZijžÓ{{Ñì6WY¹uuuS²,~ã­7oöçWšÍB‹%O G8l·2‹à|., ‚£"‘466⯱1F‘Uneeñxš¦Vï®ÝÝ	 ÜE*™ýŒ#:d(•‘ûûú`·Û¨¨Àôì≄qMlc“ãF$KÆ3p8(,**ëíî9ŬE¥’xr=l2	0‰<xÂ…Tt“8qül¬Ÿß?Fg r<ê÷íƒÍîÄèèŸXÅ0rc>»e^/"i-MfçC-
+íªB’T²5ŒŸº-2‡@‰ˆ‚•4œRîúCp—zðÞéfŒ£»»ã(J/ÃKïL.a)¢å‘½š¯t
+ËÕ•îw-Ñ"R×:«‚c9<øz~¼€º2+l"ƒá°	|x>_…adgÍ#ðx«SÓSÓ)>ë|¬4&]ÀˆlÎüçŸ×ÖÖÆîÙû¢ßSj;Äj\@çôò¾«vþàѳIæ™#'&ê÷èÕ4}n#™½úÛÀ¥ÙÖÖVíýÓÍÅ3Á¹¦µ¹§Y‡7ä¯Ùóö?ŸñÈR†dÕ•    IEND®B`‚
\ No newline at end of file

Added: trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/images/docman/monitor-removedocument.png
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/images/docman/monitor-removedocument.png	                        (rev 0)
+++ trunk/gforge_base/evolvisforge-5.1/src/www/themes/gforge/images/docman/monitor-removedocument.png	2011-03-01 00:29:16 UTC (rev 16638)
@@ -0,0 +1,15 @@
+‰PNG
+
+   
+IHDR         Ä´l;   sRGB ®Îé   bKGD ÿ ÿ ÿ ½§“   	pHYs  a  aÁ0Uú   tIMEÚ!°ßF”  dIDAT8˝“[lTU†ÿ½Ï>çÌ¥ít˜vZjëô†\¦UUK ‘Œ¤b‚1Äh4Š’‰!1©‰D ÑD"‘Fb
+¡ )RzQ^ŠÔx¡-Ói;í´ÓNg:·3s朽}h4¨\¤ëq­½¾¬õïõwˆ¯¼C:¿çÆ]¹
+ÐîÈË9•Hj«©ÄXn^~VUå¯#Ó‘§×¿ô.¿˜Ýª`³Z/&4}±išp¸ÜpΗ‹µ‘Êêy «î¦7Kv·¼¿%žL.f2ZZƒžIÃ4uH²¥¾ûÈ%sš˜1yó‚…Õ(¯ºÄâÂxpªªBV\\„ÂÈ šï,ɲ£¸¨”©d†²ÊjÊ 8GÅ"/&ý¿9æ4qAk\Q€J !³L(@œ®Bè3N÷œ4¶Úsbß „à€àUÅ`LéžXú‡Âà¿‚ „	bê ÏÂȤº+Vm=3'°§þ™±t:Õ.²IðL0’Ù$`hˆ‡CÿÇ ô–3³'	ƒg4˜
+<›Æ°¯ÑO¾ô=uCß6€üÒظñÀ¿X·ÏäùéX†¦â±ˆl“cÃÐN}—.zró‰]55ûþz÷Zw¿µvùéúe÷ïo¾Gn·NdèjÂ0»ï÷^Èca”¹<0#Q˜33o9òŠù
+
+‡R££0ú¥K›V´ÝÖÒÁÑàËŠÅ´KZV{x¥ÁÎp—‚Æã¢`ÍêCf"	1<ÄUç<:ÕÓóQÛÀÀ77½ãp8âÒuú:'üE›M-‹¦ÒœF­…Õ’ÍúOȶÅ®K"	>B:ÏAôô wÝúµ{{{ù¤ðMì±XÔ]y9
+“$
+J) J)úû®áÓƒŽÁ;1çB“p»!Ùlˆš‡ué•u¨­­íÏf³[¶m¡—€?0ù¬,±Ýv›‰I$
+!¡ðùÑÚÚ
+ÿЖû®£Ñ0À|×Ik„€bkUNvvâ’i,ð.ñžPJ ™Èì—! ¥BˆY£o»º0ožÊ2Ö´@ ©òrœ®{ûòˆWV"=2‚U‰8<É$ùù÷t´ŸÛÁÂÓzQ,-àBÀ49(U¨¿¯G[>‡“ê(óxp늋ñã½L/Z‚qÓĹhË8Gú®]E©A(Å÷2ßP`w…§zÖ„®›`ŒBˆYðÉÇÁCƒ¨(R‘7•ÂY¸¹+êðÖ›;q¥§íígñÃT¡Ô(¼„@õ1â6é³æÏÖ7lɵÛÔeT"Š"+ 8(¡ÈÍÉAGÛ)l¨ÊC•ƒáò”‰·›aÝú
+0LG¾Þ¥$»~¾cÑÛÚêxr%\Í8µ¤©©‰.}hCyÉ|ç&Ê¥
+!‰Òó]m+¾?óE‰È$Èc[_ý£îѵœ‹Á™D¦íÂù㾦¦&¾sÇîëþÁKx°ºÊå‹–nÿ²9ëÍsÔ    IEND®B`‚
\ No newline at end of file



More information about the evolvis-commits mailing list