?>
      </div>
<?php 
}
// if
?>
-->
<?php 
if (plugin_active('tags')) {
    if (project_object_tags($file, $file->getProject()) != '--') {
        ?>
      <div id="fileTags"><span class="propertyName"><?php 
        echo lang('tags');
        ?>
:</span> <?php 
        echo project_object_tags($file, $file->getProject());
        ?>
</div>
<?php 
    }
    // if
}
// if
$options = array();
if ($file->canEdit(logged_user())) {
    $options[] = '<a href="' . $file->getEditUrl() . '">' . lang('edit') . '</a>';
}
if ($file->canDelete(logged_user())) {
    $options[] = '<a href="' . $file->getMoveUrl() . '">' . lang('move') . '</a>';
}
if ($file->canDelete(logged_user())) {
"><?php 
            echo lang('revisions');
            ?>
</a>:</span> <?php 
            echo $file->countRevisions();
            ?>
</div>
<?php 
            if (plugin_active('tags')) {
                if (project_object_tags($file, active_project()) != '--') {
                    ?>
      <div class="fileTags"><?php 
                    echo lang('tags');
                    ?>
: <?php 
                    echo project_object_tags($file, active_project());
                    ?>
</div>
<?php 
                }
                // if
            }
            // if
            ?>
      </div>

<?php 
            $options = array();
            if ($file->canEdit(logged_user())) {
                $options[] = '<a href="' . $file->getEditUrl() . '">' . lang('edit') . '</a>';
            }
  function getDashboardObject(){
    	$projectId = "0";
    	$project = "";
    	if (count($this->getWorkspaces()) > 0) {
    		$type = "email";
    	} else {
    		$type = "emailunclassified";
    	}
    	$tags = project_object_tags($this);
    	
    	$deletedOn = $this->getTrashedOn() instanceof DateTimeValue ? ($this->getTrashedOn()->isToday() ? format_time($this->getTrashedOn()) : format_datetime($this->getTrashedOn(), 'M j')) : lang('n/a');
		if ($this->getTrashedById() > 0)
			$deletedBy = Contacts::findById($this->getTrashedById());
    	if (isset($deletedBy) && $deletedBy instanceof Contact) {
    		$deletedBy = $deletedBy->getObjectName();
    	} else {
    		$deletedBy = lang("n/a");
    	}
		
    	if ($this->getState() == 1 || $this->getState() == 3 || $this->getState() == 5) {
    		$createdBy = $this->getCreatedBy();
    	}
    	if (isset($createdBy) && $createdBy instanceof Contact) {
    		$createdById = $createdBy->getId();
    		$createdBy = $createdBy->getObjectName();
    	} else {
    		$createdById = 0;
    		$createdBy = $this->getFromName();
    	}
    	
  		$archivedOn = $this->getArchivedOn() instanceof DateTimeValue ? ($this->getArchivedOn()->isToday() ? format_time($this->getArchivedOn()) : format_datetime($this->getArchivedOn(), 'M j')) : lang('n/a');
  		if ($this->getArchivedById() > 0)
			$archivedBy = Contacts::findById($this->getArchivedById());
    	if (isset($archivedBy) &&  $archivedBy instanceof Contact) {
    		$archivedBy = $archivedBy->getObjectName();
    	} else {
    		$archivedBy = lang("n/a");
    	}
    	
    	$sentTimestamp = $this->getReceivedDate() instanceof DateTimeValue ? ($this->getReceivedDate()->isToday() ? format_time($this->getReceivedDate()) : format_datetime($this->getReceivedDate())) : lang('n/a');
    	
		return array(
				"id" => $this->getObjectTypeName() . $this->getId(),
				"object_id" => $this->getId(),
				"name" => $this->getObjectName() != "" ? $this->getObjectName():lang('no subject'),
				"type" => $type,
				"tags" => $tags,
				"createdBy" => $createdBy,
				"createdById" => $createdById,
				"dateCreated" => $sentTimestamp,
				"updatedBy" => $createdBy,
				"updatedById" => $createdById,
				"dateUpdated" => $sentTimestamp,
				"wsIds" => $this->getWorkspacesIdsCSV(logged_user()->getWorkspacesQuery()),
    			"url" => $this->getObjectUrl(),
				"manager" => get_class($this->manager()),
    			"deletedById" => $this->getTrashedById(),
    			"deletedBy" => $deletedBy,
    			"dateDeleted" => $deletedOn,
    			"archivedById" => $this->getArchivedById(),
    			"archivedBy" => $archivedBy,
    			"dateArchived" => $archivedOn,
				"subject" => $this->getSubject(),
				"isRead" => $this->getIsRead(logged_user()->getId())
		);
	}
 function list_all()
 {
     ajx_current("empty");
     $project = active_project();
     $isProjectView = $project instanceof Project;
     $start = array_var($_GET, 'start');
     $limit = array_var($_GET, 'limit');
     if (!$start) {
         $start = 0;
     }
     if (!$limit) {
         $limit = config_option('files_per_page');
     }
     $order = array_var($_GET, 'sort');
     $orderdir = array_var($_GET, 'dir');
     $tag = array_var($_GET, 'tag');
     $page = (int) ($start / $limit) + 1;
     $hide_private = !logged_user()->isMemberOfOwnerCompany();
     if (array_var($_GET, 'action') == 'delete') {
         $ids = explode(',', array_var($_GET, 'charts'));
         list($succ, $err) = ObjectController::do_delete_objects($ids, 'ProjectCharts');
         if ($err > 0) {
             flash_error(lang('error delete objects', $err));
         } else {
             flash_success(lang('success delete objects', $succ));
         }
     } else {
         if (array_var($_GET, 'action') == 'tag') {
             $ids = explode(',', array_var($_GET, 'charts'));
             $tagTag = array_var($_GET, 'tagTag');
             list($succ, $err) = ObjectController::do_tag_object($tagTag, $ids, 'ProjectCharts');
             if ($err > 0) {
                 flash_error(lang('error tag objects', $err));
             } else {
                 flash_success(lang('success tag objects', $succ));
             }
         }
     }
     if ($page < 0) {
         $page = 1;
     }
     //$conditions = logged_user()->isMemberOfOwnerCompany() ? '' : ' `is_private` = 0';
     if ($tag == '' || $tag == null) {
         $tagstr = " 1=1";
         // dummy condition
     } else {
         $tagstr = "(select count(*) from " . TABLE_PREFIX . "tags where " . TABLE_PREFIX . "project_charts.id = " . TABLE_PREFIX . "tags.rel_object_id and " . TABLE_PREFIX . "tags.tag = '" . $tag . "' and " . TABLE_PREFIX . "tags.rel_object_manager ='ProjectCharts' ) > 0 ";
     }
     /* TODO: handle with permissions_sql_for_listings */
     //$permission_str = ' AND (' . permissions_sql_for_listings(ProjectCharts::instance(), ACCESS_LEVEL_READ, logged_user()) . ')';
     $permission_str = " AND " . ProjectCharts::getWorkspaceString(logged_user()->getWorkspacesQuery(true));
     if ($isProjectView) {
         $pids = $project->getAllSubWorkspacesQuery(true);
         $project_str = " AND " . ProjectCharts::getWorkspaceString($pids);
     } else {
         $project_str = "";
     }
     list($charts, $pagination) = ProjectCharts::paginate(array("conditions" => '`trashed_by_id` = 0 AND `archived_by_id` = 0 AND ' . $tagstr . $permission_str . $project_str, 'order' => '`title` ASC'), config_option('files_per_page', 10), $page);
     // paginate
     tpl_assign('totalCount', $pagination->getTotalItems());
     tpl_assign('charts', $charts);
     tpl_assign('pagination', $pagination);
     tpl_assign('tags', Tags::getTagNames());
     $object = array("totalCount" => $pagination->getTotalItems(), "charts" => array());
     $factory = new ProjectChartFactory();
     $types = $factory->getChartDisplays();
     if (isset($charts)) {
         foreach ($charts as $c) {
             if ($c->getProject() instanceof Project) {
                 $tags = project_object_tags($c);
             } else {
                 $tags = "";
             }
             $object["charts"][] = array("id" => $c->getId(), "name" => $c->getTitle(), "type" => $types[$c->getDisplayId()], "tags" => $tags, "project" => $c->getProject() ? $c->getProject()->getName() : '', "projectId" => $c->getProjectId());
         }
     }
     ajx_extra_data($object);
     tpl_assign("listing", $object);
 }
    echo do_textile($milestone->getDescription());
    ?>
</div>
<?php 
}
// if
?>

<?php 
if (plugin_active('tags')) {
    ?>
  <p><span><?php 
    echo lang('tags');
    ?>
:</span> <?php 
    echo project_object_tags($milestone, $milestone->getProject());
    ?>
</p>
<?php 
}
// if
$options = array();
if ($milestone->canEdit(logged_user())) {
    $options[] = '<a href="' . $milestone->getEditUrl() . '">' . lang('edit') . '</a>';
    $options[] = '<a href="' . $milestone->getAddMessageUrl() . '">' . lang('add message') . '</a>';
    $options[] = '<a href="' . $milestone->getAddTaskListUrl() . '">' . lang('add task list') . '</a>';
}
if ($milestone->canDelete(logged_user())) {
    $options[] = '<a href="' . $milestone->getDeleteUrl() . '">' . lang('delete') . '</a>';
}
if ($milestone->canChangeStatus(logged_user())) {
 function getDashboardObject()
 {
     //FIXME
     $wsIds = $this->getWorkspacesIdsCSV(logged_user()->getWorkspacesQuery());
     if ($this->getUpdatedById() > 0 && $this->getUpdatedBy() instanceof Contact) {
         $updated_by_id = $this->getUpdatedBy()->getObjectId();
         $updated_by_name = $this->getUpdatedByDisplayName();
         $updated_on = $this->getObjectUpdateTime() instanceof DateTimeValue ? $this->getObjectUpdateTime()->isToday() ? format_time($this->getObjectUpdateTime()) : format_datetime($this->getObjectUpdateTime()) : lang('n/a');
     } else {
         if ($this->getCreatedById() > 0 && $this->getCreatedBy() instanceof Contact) {
             $updated_by_id = $this->getCreatedBy()->getId();
         } else {
             $updated_by_id = lang('n/a');
         }
         $updated_by_name = $this->getCreatedByDisplayName();
         $updated_on = $this->getObjectCreationTime() instanceof DateTimeValue ? $this->getObjectCreationTime()->isToday() ? format_time($this->getObjectCreationTime()) : format_datetime($this->getObjectCreationTime()) : lang('n/a');
     }
     $deletedOn = $this->getTrashedOn() instanceof DateTimeValue ? $this->getTrashedOn()->isToday() ? format_time($this->getTrashedOn()) : format_datetime($this->getTrashedOn(), 'M j') : lang('n/a');
     if ($this->getTrashedById() > 0) {
         $deletedBy = Contacts::findById($this->getTrashedById());
     }
     if (isset($deletedBy) && $deletedBy instanceof Contact) {
         $deletedBy = $deletedBy->getObjectName();
     } else {
         $deletedBy = lang("n/a");
     }
     $archivedOn = $this->getArchivedOn() instanceof DateTimeValue ? $this->getArchivedOn()->isToday() ? format_time($this->getArchivedOn()) : format_datetime($this->getArchivedOn(), 'M j') : lang('n/a');
     if ($this->getArchivedById() > 0) {
         $archivedBy = Contacts::findById($this->getArchivedById());
     }
     if (isset($archivedBy) && $archivedBy instanceof Contact) {
         $archivedBy = $archivedBy->getObjectName();
     } else {
         $archivedBy = lang("n/a");
     }
     return array("id" => $this->getObjectTypeName() . $this->getId(), "object_id" => $this->getId(), "ot_id" => $this->getObjectTypeId(), "name" => $this->getObjectName(), "type" => $this->getObjectTypeName(), "tags" => project_object_tags($this), "createdBy" => $this->getCreatedByDisplayName(), "createdById" => $this->getCreatedById(), "dateCreated" => $this->getObjectCreationTime() instanceof DateTimeValue ? $this->getObjectCreationTime()->isToday() ? format_time($this->getObjectCreationTime()) : format_datetime($this->getObjectCreationTime()) : lang('n/a'), "updatedBy" => $updated_by_name, "updatedById" => $updated_by_id, "dateUpdated" => $updated_on, "wsIds" => $wsIds, "url" => $this->getObjectUrl(), "manager" => get_class($this->manager()), "deletedById" => $this->getTrashedById(), "deletedBy" => $deletedBy, "dateDeleted" => $deletedOn, "archivedById" => $this->getArchivedById(), "archivedBy" => $archivedBy, "dateArchived" => $archivedOn);
 }
Beispiel #7
0
    ?>
    <span><?php 
    echo lang('comments');
    ?>
:</span> <?php 
    echo $message->countComments();
}
// if
?>
  </div>
  <div class="messageTags">
    <span><?php 
echo lang('tags');
?>
:</span> <?php 
echo project_object_tags($message, $message->getProject());
?>
  </div>
  
<?php 
$options = array();
if ($message->canEdit(logged_user())) {
    $options[] = '<a href="' . $message->getEditUrl() . '">' . lang('edit') . '</a>';
}
// if
if ($message->canDelete(logged_user())) {
    $options[] = '<a href="' . $message->getDeleteUrl() . '">' . lang('delete') . '</a>';
}
// if
if (count($options)) {
    ?>
Beispiel #8
0
      </tr>
<?php 
    }
    // if
    ?>
    </table>
  </div>
<?php 
}
// if
?>
  <div class="taskListTags"><span><?php 
echo lang('tags');
?>
:</span> <?php 
echo project_object_tags($task_list, $task_list->getProject());
?>
</div>
<?php 
$options = array();
if ($task_list->canEdit(logged_user())) {
    $options[] = '<a href="' . $task_list->getEditUrl() . '">' . lang('edit') . '</a>';
}
// if
if ($task_list->canDelete(logged_user())) {
    $options[] = '<a href="' . $task_list->getDeleteUrl() . '">' . lang('delete') . '</a>';
}
// if
if ($task_list->canReorderTasks(logged_user())) {
    $options[] = '<a href="' . $task_list->getReorderTasksUrl($on_list_page) . '">' . lang('reorder tasks') . '</a>';
}
 function list_files()
 {
     ajx_current("empty");
     /* get query parameters */
     $start = (int) array_var($_GET, 'start');
     $limit = (int) array_var($_GET, 'limit');
     if (!$start) {
         $start = 0;
     }
     if (!$limit) {
         $limit = config_option('files_per_page');
     }
     $order = array_var($_GET, 'sort');
     $orderdir = array_var($_GET, 'dir');
     $page = (int) ($start / $limit) + 1;
     $hide_private = !logged_user()->isMemberOfOwnerCompany();
     $tag = array_var($_GET, 'tag');
     $type = array_var($_GET, 'type');
     $user = array_var($_GET, 'user');
     /* if there's an action to execute, do so */
     if (array_var($_GET, 'action') == 'delete') {
         $ids = explode(',', array_var($_GET, 'objects'));
         $succ = 0;
         $err = 0;
         foreach ($ids as $id) {
             $file = ProjectFiles::findById($id);
             if (isset($file) && $file->canDelete(logged_user())) {
                 try {
                     DB::beginWork();
                     $file->trash();
                     ApplicationLogs::createLog($file, $file->getWorkspaces(), ApplicationLogs::ACTION_TRASH);
                     DB::commit();
                     $succ++;
                 } catch (Exception $e) {
                     DB::rollback();
                     $err++;
                 }
             } else {
                 $err++;
             }
         }
         if ($succ > 0) {
             flash_success(lang("success delete files", $succ));
         } else {
             flash_error(lang("error delete files", $err));
         }
     } else {
         if (array_var($_GET, 'action') == 'tag') {
             $ids = explode(',', array_var($_GET, 'objects'));
             $tagTag = array_var($_GET, 'tagTag');
             $tagged = 0;
             $not_tagged = 0;
             foreach ($ids as $id) {
                 $file = ProjectFiles::findById($id);
                 if (isset($file) && $file->canEdit(logged_user())) {
                     $arr_tags = $file->getTags();
                     if (!array_search($tagTag, $arr_tags)) {
                         $arr_tags[] = $tagTag;
                         $file->setTagsFromCSV(implode(',', $arr_tags));
                         $tagged++;
                     }
                 } else {
                     $not_tagged++;
                 }
             }
             if ($tagged > 0) {
                 flash_success(lang("success tag objects", $tagged));
             } else {
                 flash_error(lang("error tag objects", $not_tagged));
             }
         } else {
             if (array_var($_GET, 'action') == 'untag') {
                 $ids = explode(',', array_var($_GET, 'objects'));
                 $tagTag = array_var($_GET, 'tagTag');
                 $untagged = 0;
                 $not_untagged = 0;
                 foreach ($ids as $id) {
                     $file = ProjectFiles::findById($id);
                     if (isset($file) && $file->canEdit(logged_user())) {
                         if ($tagTag != '') {
                             $file->deleteTag($tagTag);
                         } else {
                             $file->clearTags();
                         }
                         $untagged++;
                     } else {
                         flash_error(lang('no access permissions'));
                         $not_untagged++;
                     }
                 }
                 if ($untagged > 0) {
                     flash_success(lang("success untag objects", $untagged));
                 } else {
                     flash_error(lang("error untag objects", $not_untagged));
                 }
             } else {
                 if (array_var($_GET, 'action') == 'markasread') {
                     $ids = explode(',', array_var($_GET, 'objects'));
                     $succ = 0;
                     $err = 0;
                     foreach ($ids as $id) {
                         $file = ProjectFiles::findById($id);
                         try {
                             $file->setIsRead(logged_user()->getId(), true);
                             $succ++;
                         } catch (Exception $e) {
                             $err++;
                         }
                         // try
                     }
                     //for
                     if ($succ <= 0) {
                         flash_error(lang("error markasread files", $err));
                     }
                 } else {
                     if (array_var($_GET, 'action') == 'markasunread') {
                         $ids = explode(',', array_var($_GET, 'objects'));
                         $succ = 0;
                         $err = 0;
                         foreach ($ids as $id) {
                             $file = ProjectFiles::findById($id);
                             try {
                                 $file->setIsRead(logged_user()->getId(), false);
                                 $succ++;
                             } catch (Exception $e) {
                                 $err++;
                             }
                             // try
                         }
                         //for
                         if ($succ <= 0) {
                             flash_error(lang("error markasunread files", $err));
                         }
                     } else {
                         if (array_var($_GET, 'action') == 'zip_add') {
                             $this->zip_add();
                         } else {
                             if (array_var($_GET, 'action') == 'move') {
                                 $wsid = array_var($_GET, "moveTo");
                                 $destination = Projects::findById($wsid);
                                 if (!$destination instanceof Project) {
                                     $resultMessage = lang('project dnx');
                                     $resultCode = 1;
                                 } else {
                                     if (!can_add(logged_user(), $destination, 'ProjectFiles')) {
                                         $resultMessage = lang('no access permissions');
                                         $resultCode = 1;
                                     } else {
                                         $count = 0;
                                         $ids = explode(',', array_var($_GET, 'ids', ''));
                                         for ($i = 0; $i < count($ids); $i++) {
                                             $id = $ids[$i];
                                             $file = ProjectFiles::findById($id);
                                             if ($file instanceof ProjectFile && $file->canEdit(logged_user())) {
                                                 if (!array_var($_GET, "mantainWs")) {
                                                     $removed = "";
                                                     $ws = $file->getWorkspaces(null);
                                                     foreach ($ws as $w) {
                                                         if (can_add(logged_user(), $w, 'ProjectFiles')) {
                                                             $file->removeFromWorkspace($w);
                                                             $removed .= $w->getId() . ",";
                                                         }
                                                     }
                                                     $removed = substr($removed, 0, -1);
                                                     $log_action = ApplicationLogs::ACTION_MOVE;
                                                     $log_data = ($removed == "" ? "" : "from:{$removed};") . "to:{$wsid}";
                                                 } else {
                                                     $log_action = ApplicationLogs::ACTION_COPY;
                                                     $log_data = "to:{$wsid}";
                                                 }
                                                 $file->addToWorkspace($destination);
                                                 ApplicationLogs::createLog($file, $file->getWorkspaces(), $log_action, false, null, true, $log_data);
                                                 $count++;
                                             }
                                         }
                                         // for
                                         $resultMessage = lang("success move objects", $count);
                                         $resultCode = 0;
                                     }
                                 }
                             } else {
                                 if (array_var($_GET, 'action') == 'archive') {
                                     $ids = explode(',', array_var($_GET, 'ids'));
                                     $succ = 0;
                                     $err = 0;
                                     foreach ($ids as $id) {
                                         $file = ProjectFiles::findById($id);
                                         if (isset($file) && $file->canEdit(logged_user())) {
                                             try {
                                                 DB::beginWork();
                                                 $file->archive();
                                                 ApplicationLogs::createLog($file, $file->getWorkspaces(), ApplicationLogs::ACTION_ARCHIVE);
                                                 DB::commit();
                                                 $succ++;
                                             } catch (Exception $e) {
                                                 DB::rollback();
                                                 //Logger::log($e->getMessage());
                                                 $err++;
                                             }
                                         } else {
                                             $err++;
                                         }
                                     }
                                     if ($succ > 0) {
                                         flash_success(lang("success archive objects", $succ));
                                     } else {
                                         flash_error(lang("error archive objects", $err));
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     Hook::fire('classify_action', null, $ret);
     $project = active_project();
     /* perform query */
     $result = ProjectFiles::getProjectFiles($project, null, $hide_private, $order, $orderdir, $page, $limit, false, $tag, $type, $user);
     ProjectFiles::populateData($result[0]);
     $objects = null;
     $pagination = null;
     if (is_array($result)) {
         list($objects, $pagination) = $result;
         if ($pagination->getTotalItems() < ($page - 1) * $limit) {
             // if we are past the last page show the first page
             $start = 0;
             $page = 1;
             $result = ProjectFiles::getProjectFiles($project, null, $hide_private, $order, $orderdir, $page, $limit, false, $tag, $type, $user);
             if (is_array($result)) {
                 list($objects, $pagination) = $result;
             }
         }
     }
     /* prepare response object */
     $listing = array("totalCount" => $pagination ? $pagination->getTotalItems() : 0, "start" => $start, "files" => array());
     if ($objects) {
         $index = 0;
         foreach ($objects as $o) {
             $coName = "";
             $coId = $o->getCheckedOutById();
             if ($coId != 0) {
                 if ($coId == logged_user()->getId()) {
                     $coName = "self";
                 } else {
                     $coUser = Users::findById($coId);
                     if ($coUser instanceof User) {
                         $coName = $coUser->getUsername();
                     } else {
                         $coName = "";
                     }
                 }
             }
             if ($o->isMP3()) {
                 $songname = $o->getProperty("songname");
                 $artist = $o->getProperty("songartist");
                 $album = $o->getProperty("songalbum");
                 $track = $o->getProperty("songtrack");
                 $year = $o->getProperty("songyear");
                 $duration = $o->getProperty("songduration");
                 $songInfo = json_encode(array($songname, $artist, $album, $track, $year, $duration, $o->getDownloadUrl(), $o->getFilename(), $o->getId()));
             } else {
                 $songInfo = array();
             }
             $values = array("id" => $o->getId(), "ix" => $index++, "object_id" => $o->getId(), "name" => $o->getFilename(), "type" => $o->getTypeString(), "mimeType" => $o->getTypeString(), "tags" => project_object_tags($o), "createdBy" => $o->getCreatedByDisplayName(), "createdById" => $o->getCreatedById(), "dateCreated" => $o->getCreatedOn() instanceof DateTimeValue ? $o->getCreatedOn()->isToday() ? format_time($o->getCreatedOn()) : format_datetime($o->getCreatedOn()) : '', "dateCreated_today" => $o->getCreatedOn() instanceof DateTimeValue ? $o->getCreatedOn()->isToday() : 0, "updatedBy" => $o->getUpdatedByDisplayName(), "updatedById" => $o->getUpdatedById(), "dateUpdated" => $o->getUpdatedOn() instanceof DateTimeValue ? $o->getUpdatedOn()->isToday() ? format_time($o->getUpdatedOn()) : format_datetime($o->getUpdatedOn()) : '', "dateUpdated_today" => $o->getUpdatedOn() instanceof DateTimeValue ? $o->getUpdatedOn()->isToday() : 0, "icon" => $o->getTypeIconUrl(), "size" => $o->getFileSize(), "wsIds" => $o->getUserWorkspacesIdsCSV(logged_user(), ProjectUsers::instance()->getTableName(true) . ".`can_read_files` = 1"), "url" => $o->getOpenUrl(), "manager" => get_class($o->manager()), "checkedOutByName" => $coName, "checkedOutById" => $coId, "isModifiable" => $o->isModifiable() && $o->canEdit(logged_user()), "modifyUrl" => $o->getModifyUrl(), "songInfo" => $songInfo, "ftype" => $o->getType(), "url" => $o->getUrl(), "isRead" => $o->getIsRead(logged_user()->getId()));
             if ($o->isMP3()) {
                 $values['isMP3'] = true;
             }
             Hook::fire('add_classification_value', $o, $values);
             $listing["files"][] = $values;
         }
     }
     ajx_extra_data($listing);
     tpl_assign("listing", $listing);
 }
 /**
  * Prepares return object for a list of emails and messages
  *
  * @param array $totMsg
  * @param integer $start
  * @param integer $limit
  * @return array
  */
 private function prepareObject($totMsg, $start, $limit, $total)
 {
     $object = array("totalCount" => $total, "start" => $start, "messages" => array());
     for ($i = 0; $i < $limit; $i++) {
         if (isset($totMsg[$i])) {
             $msg = $totMsg[$i];
             if ($msg instanceof ProjectMessage) {
                 $text = $msg->getText();
                 if (strlen($text) > 100) {
                     $text = substr_utf($text, 0, 100) . "...";
                 }
                 $object["messages"][] = array("id" => $i, "ix" => $i, "object_id" => $msg->getId(), "type" => 'message', "title" => $msg->getTitle(), "text" => $text, "date" => $msg->getUpdatedOn() instanceof DateTimeValue ? $msg->getUpdatedOn()->isToday() ? format_time($msg->getUpdatedOn()) : format_datetime($msg->getUpdatedOn()) : '', "is_today" => $msg->getUpdatedOn() instanceof DateTimeValue ? $msg->getUpdatedOn()->isToday() : 0, "wsIds" => $msg->getUserWorkspacesIdsCSV(logged_user()), "userId" => $msg->getCreatedById(), "userName" => $msg->getCreatedByDisplayName(), "updaterId" => $msg->getUpdatedById() ? $msg->getUpdatedById() : $msg->getCreatedById(), "updaterName" => $msg->getUpdatedById() ? $msg->getUpdatedByDisplayName() : $msg->getCreatedByDisplayName(), "tags" => project_object_tags($msg), "isRead" => $msg->getIsRead(logged_user()->getId()));
             }
         }
     }
     return $object;
 }
Beispiel #11
0
<div class="tags">
  <span><?php 
echo lang('tags');
?>
:</span> <?php 
echo project_object_tags($object, $object->getProject());
?>
</div>
Beispiel #12
0
          <span><?php echo lang('private task list') ?></span>
        </div>
      <?php endif ?>

    </div>

    <?php if (!is_null($task_list->getDueDate())) : ?>
    <div class="dueDate"><span><?php echo lang('due date') ?>:</span> <?php echo ($task_list->getDueDate()->getYear() > DateTimeValueLib::now()->getYear()) ? format_date($task_list->getDueDate(), null, 0) : format_descriptive_date($task_list->getDueDate(), 0) ?></div>
    <?php endif ?>

    <?php if ($task_list->getDescription()): ?>
    <div class="desc"><?php echo (do_textile($task_list->getDescription())) ?></div>
    <?php endif ?>

    <?php if (plugin_active('tags')): ?>
    <div class="taskListTags"><span><?php echo lang('tags') ?>:</span> <?php echo project_object_tags($task_list, $task_list->getProject()) ?></div>
    <?php endif ?>

    <?php if (count($task_list_options)): ?>
    <div class="options"><?php echo implode(' | ', $task_list_options) ?></div>
    <?php endif ?>

    <?php if (is_array($task_list->getOpenTasks())): ?>
    <div class="openTasks">
      <ul id="<?php echo $task_list->getId() ?>"><!--table class="blank"-->
        <?php foreach ($task_list->getOpenTasks() as $task): ?>
        <li id="<?php echo $task->getId() ?>" class="<?php odd_even_class($task_list_ln) ?>"><!--tr class="<?php odd_even_class($task_list_ln); ?>"-->
          <!-- Task text and options -->
          <!--td class="taskText"-->
            <div class="task-text">
            <?php echo $task->getText() ?>
Beispiel #13
0
function task_list_tags()
{
    global $the_task_list;
    if (plugin_active('tags')) {
        ?>
    <div class="taskListTags">
      <span><?php 
        echo lang('tags');
        ?>
:</span>
      <?php 
        echo project_object_tags($the_task_list, $the_task_list->getProject());
        ?>
    </div>
  <?php 
    }
}
 function list_all()
 {
     ajx_current("empty");
     $project = active_project();
     $isProjectView = $project instanceof Project;
     $start = (int) array_var($_GET, 'start');
     $limit = array_var($_GET, 'limit');
     if (!$start) {
         $start = 0;
     }
     if (!$limit) {
         $limit = config_option('files_per_page');
     }
     $order = array_var($_GET, 'sort');
     if ($order == "updatedOn" || $order == "updated" || $order == "date" || $order == "dateUpdated") {
         $order = "updated_on";
     } else {
         if ($order == "name") {
             $order = "title";
         }
     }
     $orderdir = array_var($_GET, 'dir');
     $tag = array_var($_GET, 'tag');
     $page = (int) ($start / $limit) + 1;
     $hide_private = !logged_user()->isMemberOfOwnerCompany();
     if (array_var($_GET, 'action') == 'delete') {
         $ids = explode(',', array_var($_GET, 'webpages'));
         $succ = 0;
         $err = 0;
         foreach ($ids as $id) {
             $web_page = ProjectWebpages::findById($id);
             if (isset($web_page) && $web_page->canDelete(logged_user())) {
                 try {
                     DB::beginWork();
                     $web_page->trash();
                     ApplicationLogs::createLog($web_page, $web_page->getWorkspaces(), ApplicationLogs::ACTION_TRASH);
                     DB::commit();
                     $succ++;
                 } catch (Exception $e) {
                     DB::rollback();
                     $err++;
                 }
             } else {
                 $err++;
             }
         }
         if ($succ > 0) {
             flash_success(lang("success delete objects", $succ));
         }
         if ($err > 0) {
             flash_error(lang("error delete objects", $err));
         }
     } else {
         if (array_var($_GET, 'action') == 'tag') {
             $ids = explode(',', array_var($_GET, 'webpages'));
             $tagTag = array_var($_GET, 'tagTag');
             $tagged = 0;
             $not_tagged = 0;
             foreach ($ids as $id) {
                 $web_page = ProjectWebpages::findById($id);
                 if (isset($web_page) && $web_page->canEdit(logged_user())) {
                     $arr_tags = $web_page->getTags();
                     $arr = array();
                     foreach ($arr_tags as $t) {
                         $arr[] = $t->getTag();
                     }
                     if (!array_search($tagTag, $arr)) {
                         $arr[] = $tagTag;
                         $web_page->setTagsFromCSV(implode(',', $arr));
                     }
                     $tagged++;
                 } else {
                     $not_tagged++;
                 }
             }
             if ($tagged > 0) {
                 flash_success(lang("success tag objects", $tagged));
             } else {
                 flash_success(lang("error tag objects", $not_tagged));
             }
         } else {
             if (array_var($_GET, 'action') == 'untag') {
                 $ids = explode(',', array_var($_GET, 'webpages'));
                 $tagTag = array_var($_GET, 'tagTag');
                 $untagged = 0;
                 $not_untagged = 0;
                 foreach ($ids as $id) {
                     $web_page = ProjectWebpages::findById($id);
                     if (isset($web_page) && $web_page->canEdit(logged_user())) {
                         if ($tagTag != '') {
                             $web_page->deleteTag($tagTag);
                         } else {
                             $web_page->clearTags();
                         }
                         $untagged++;
                     } else {
                         $not_untagged++;
                     }
                 }
                 if ($untagged > 0) {
                     flash_success(lang("success untag objects", $untagged));
                 } else {
                     flash_success(lang("error untag objects", $not_untagged));
                 }
             } else {
                 if (array_var($_GET, 'action') == 'markasread') {
                     $ids = explode(',', array_var($_GET, 'ids'));
                     $succ = 0;
                     $err = 0;
                     foreach ($ids as $id) {
                         $webpage = ProjectWebpages::findById($id);
                         try {
                             $webpage->setIsRead(logged_user()->getId(), true);
                             $succ++;
                         } catch (Exception $e) {
                             $err++;
                         }
                         // try
                     }
                     //for
                     if ($succ <= 0) {
                         flash_error(lang("error markasread files", $err));
                     }
                 } else {
                     if (array_var($_GET, 'action') == 'markasunread') {
                         $ids = explode(',', array_var($_GET, 'ids'));
                         $succ = 0;
                         $err = 0;
                         foreach ($ids as $id) {
                             $webpage = ProjectWebpages::findById($id);
                             try {
                                 $webpage->setIsRead(logged_user()->getId(), false);
                                 $succ++;
                             } catch (Exception $e) {
                                 $err++;
                             }
                             // try
                         }
                         //for
                         if ($succ <= 0) {
                             flash_error(lang("error markasunread files", $err));
                         }
                     } else {
                         if (array_var($_GET, 'action') == 'move') {
                             $wsid = array_var($_GET, "moveTo");
                             $destination = Projects::findById($wsid);
                             if (!$destination instanceof Project) {
                                 $resultMessage = lang('project dnx');
                                 $resultCode = 1;
                             } else {
                                 if (!can_add(logged_user(), $destination, 'ProjectWebpages')) {
                                     $resultMessage = lang('no access permissions');
                                     $resultCode = 1;
                                 } else {
                                     $count = 0;
                                     $ids = explode(',', array_var($_GET, 'ids', ''));
                                     for ($i = 0; $i < count($ids); $i++) {
                                         $id = $ids[$i];
                                         $webpage = ProjectWebpages::findById($id);
                                         if ($webpage instanceof ProjectWebpage && $webpage->canEdit(logged_user())) {
                                             if (!array_var($_GET, "mantainWs")) {
                                                 $removed = "";
                                                 $ws = $webpage->getWorkspaces();
                                                 foreach ($ws as $w) {
                                                     if (can_add(logged_user(), $w, 'ProjectWebpages')) {
                                                         $webpage->removeFromWorkspace($w);
                                                         $removed .= $w->getId() . ",";
                                                     }
                                                 }
                                                 $removed = substr($removed, 0, -1);
                                                 $log_action = ApplicationLogs::ACTION_MOVE;
                                                 $log_data = ($removed == "" ? "" : "from:{$removed};") . "to:{$wsid}";
                                             } else {
                                                 $log_action = ApplicationLogs::ACTION_COPY;
                                                 $log_data = "to:{$wsid}";
                                             }
                                             $webpage->addToWorkspace($destination);
                                             ApplicationLogs::createLog($webpage, $webpage->getWorkspaces(), $log_action, false, null, true, $log_data);
                                             $count++;
                                         }
                                     }
                                     // for
                                     $resultMessage = lang("success move objects", $count);
                                     $resultCode = 0;
                                 }
                             }
                         } else {
                             if (array_var($_GET, 'action') == 'archive') {
                                 $ids = explode(',', array_var($_GET, 'webpages'));
                                 $succ = 0;
                                 $err = 0;
                                 foreach ($ids as $id) {
                                     $web_page = ProjectWebpages::findById($id);
                                     if (isset($web_page) && $web_page->canEdit(logged_user())) {
                                         try {
                                             DB::beginWork();
                                             $web_page->archive();
                                             ApplicationLogs::createLog($web_page, $web_page->getWorkspaces(), ApplicationLogs::ACTION_ARCHIVE);
                                             DB::commit();
                                             $succ++;
                                         } catch (Exception $e) {
                                             DB::rollback();
                                             $err++;
                                         }
                                     } else {
                                         $err++;
                                     }
                                 }
                                 if ($succ > 0) {
                                     flash_success(lang("success archive objects", $succ));
                                 }
                                 if ($err > 0) {
                                     flash_error(lang("error archive objects", $err));
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     $result = ProjectWebpages::getWebpages($project, $tag, $page, $limit, $order, $orderdir);
     if (is_array($result)) {
         list($webpages, $pagination) = $result;
         if ($pagination->getTotalItems() < ($page - 1) * $limit) {
             $start = 0;
             $page = 1;
             $result = ProjectWebpages::getWebpages($project, $tag, $page, $limit);
             if (is_array($result)) {
                 list($webpages, $pagination) = $result;
             } else {
                 $webpages = null;
                 $pagination = 0;
             }
             // if
         }
     } else {
         $webpages = null;
         $pagination = 0;
     }
     // if
     /*tpl_assign('totalCount', $pagination->getTotalItems());
     		tpl_assign('webpages', $webpages);
     		tpl_assign('pagination', $pagination);
     		tpl_assign('tags', Tags::getTagNames());*/
     $object = array("totalCount" => $pagination->getTotalItems(), "start" => $start, "webpages" => array());
     if (isset($webpages)) {
         $index = 0;
         foreach ($webpages as $w) {
             $object["webpages"][] = array("ix" => $index++, "id" => $w->getId(), "title" => $w->getTitle(), "description" => $w->getDescription(), "url" => $w->getUrl(), "tags" => project_object_tags($w), "wsIds" => $w->getWorkspacesIdsCSV(logged_user()->getWorkspacesQuery()), "updatedOn" => $w->getUpdatedOn() instanceof DateTimeValue ? $w->getUpdatedOn()->isToday() ? format_time($w->getUpdatedOn()) : format_datetime($w->getUpdatedOn()) : '', "updatedOn_today" => $w->getUpdatedOn() instanceof DateTimeValue ? $w->getUpdatedOn()->isToday() : 0, "updatedBy" => $w->getUpdatedByDisplayName(), "updatedById" => $w->getUpdatedById(), "isRead" => $w->getIsRead(logged_user()->getId()));
         }
     }
     ajx_extra_data($object);
     /*tpl_assign("listing", $object);*/
 }
	/**
	 * Return object for task listing
	 *
	 * @return unknown
	 */
	function getDashboardObject(){
    	if($this->getUpdatedById() > 0 && $this->getUpdatedBy() instanceof Contact){
    		$updated_by_id = $this->getUpdatedBy()->getObjectId();
    		$updated_by_name = $this->getUpdatedByDisplayName();
			$updated_on = $this->getObjectUpdateTime() instanceof DateTimeValue ? ($this->getObjectUpdateTime()->isToday() ? format_time($this->getObjectUpdateTime()) : format_datetime($this->getObjectUpdateTime())) : lang('n/a');	
    	}else {
    		if($this->getCreatedBy())
    			$updated_by_id = $this->getCreatedBy()->getId();
    		else
    			$updated_by_id = lang('n/a');
    		$updated_by_name = $this->getCreatedByDisplayName();
			$updated_on = $this->getObjectCreationTime() instanceof DateTimeValue ? ($this->getObjectCreationTime()->isToday() ? format_time($this->getObjectCreationTime()) : format_datetime($this->getObjectCreationTime())) : lang('n/a');
    	}
    	if ($this instanceof ProjectTask)
    		$parent_id = $this->getParentId();
    	else 
    		$parent_id = $this->getId();
   	
		$deletedOn = $this->getTrashedOn() instanceof DateTimeValue ? ($this->getTrashedOn()->isToday() ? format_time($this->getTrashedOn()) : format_datetime($this->getTrashedOn(), 'M j')) : lang('n/a');
		if ($this->getTrashedById() > 0)
			$deletedBy = Contacts::findById($this->getTrashedById());
    	if (isset($deletedBy) && $deletedBy instanceof Contact) {
    		$deletedBy = $deletedBy->getObjectName();
    	} else {
    		$deletedBy = lang("n/a");
    	}
    	
		$archivedOn = $this->getArchivedOn() instanceof DateTimeValue ? ($this->getArchivedOn()->isToday() ? format_time($this->getArchivedOn()) : format_datetime($this->getArchivedOn(), 'M j')) : lang('n/a');
		if ($this->getArchivedById() > 0)
			$archivedBy = Contacts::findById($this->getArchivedById());
    	if (isset($archivedBy) && $archivedBy instanceof Contact) {
    		$archivedBy = $archivedBy->getObjectName();
    	} else {
    		$archivedBy = lang("n/a");
    	}
    		
    	return array(
				"id" => $this->getObjectTypeName() . $this->getId(),
				"object_id" => $this->getId(),
				"ot_id" => $this->getObjectTypeId(),
				"name" => $this->getObjectName(),
				"type" => $this->getObjectTypeName(),
				"tags" => project_object_tags($this),
				"createdBy" => $this->getCreatedByDisplayName(),
				"createdById" => $this->getCreatedById(),
    			"dateCreated" => $this->getObjectCreationTime() instanceof DateTimeValue ? ($this->getObjectCreationTime()->isToday() ? format_time($this->getObjectCreationTime()) : format_datetime($this->getObjectCreationTime())) : lang('n/a'),
				"updatedBy" => $updated_by_name,
				"updatedById" => $updated_by_id,
				"dateUpdated" => $updated_on,
				"url" => $this->getObjectUrl(),
				"parentId" => $parent_id,
				"status" => "Pending",
				"manager" => get_class($this->manager()),
    			"deletedById" => $this->getTrashedById(),
    			"deletedBy" => $deletedBy,
    			"dateDeleted" => $deletedOn,
    			"archivedById" => $this->getArchivedById(),
    			"archivedBy" => $archivedBy,
    			"dateArchived" => $archivedOn,
    			"isRead" => $this->getIsRead(logged_user()->getId())
			);
    }
 /**
  * Prepares return object for a list of emails and messages
  *
  * @param array $totMsg
  * @param integer $start
  * @param integer $limit
  * @return array
  */
 private function newPrepareObject($objects, $count, $start = 0, $attributes = null)
 {
     $object = array("totalCount" => $count, "start" => $start, "contacts" => array());
     for ($i = 0; $i < count($objects); $i++) {
         if (isset($objects[$i])) {
             $c = $objects[$i];
             if ($c instanceof Contact) {
                 $roleName = "";
                 $roleTags = "";
                 $project = active_project();
                 if ($project) {
                     $role = $c->getRole($project);
                     if ($role instanceof ProjectContact) {
                         $roleName = $role->getRole();
                     }
                 }
                 $company = $c->getCompany();
                 $companyName = '';
                 if (!is_null($company)) {
                     $companyName = $company->getName();
                 }
                 $object["contacts"][] = array("id" => $i, "ix" => $i, "object_id" => $c->getId(), "type" => 'contact', "wsIds" => $c->getUserWorkspacesIdsCSV(logged_user()), "workspaceColors" => $c->getUserWorkspaceColorsCSV(logged_user()), "name" => $c->getReverseDisplayName(), "email" => $c->getEmail(), "companyId" => $c->getCompanyId(), "companyName" => $companyName, "website" => $c->getHWebPage() ? cleanUrl($c->getHWebPage(), false) : '', "jobTitle" => $c->getJobTitle(), "role" => $roleName, "tags" => project_object_tags($c), "department" => $c->getDepartment(), "email2" => $c->getEmail2(), "email3" => $c->getEmail3(), "workWebsite" => $c->getWWebPage() ? cleanUrl($c->getWWebPage(), false) : '', "workAddress" => $c->getFullWorkAddress(), "workPhone1" => $c->getWPhoneNumber(), "workPhone2" => $c->getWPhoneNumber2(), "homeWebsite" => $c->getHWebPage() ? cleanUrl($c->getHWebPage(), false) : '', "homeAddress" => $c->getFullHomeAddress(), "homePhone1" => $c->getHPhoneNumber(), "homePhone2" => $c->getHPhoneNumber2(), "mobilePhone" => $c->getHMobileNumber(), "createdOn" => $c->getCreatedOn() instanceof DateTimeValue ? $c->getCreatedOn()->isToday() ? format_time($c->getCreatedOn()) : format_datetime($c->getCreatedOn()) : '', "createdOn_today" => $c->getCreatedOn() instanceof DateTimeValue ? $c->getCreatedOn()->isToday() : 0, "createdBy" => $c->getCreatedByDisplayName(), "createdById" => $c->getCreatedById(), "updatedOn" => $c->getUpdatedOn() instanceof DateTimeValue ? $c->getUpdatedOn()->isToday() ? format_time($c->getUpdatedOn()) : format_datetime($c->getUpdatedOn()) : '', "updatedOn_today" => $c->getUpdatedOn() instanceof DateTimeValue ? $c->getUpdatedOn()->isToday() : 0, "updatedBy" => $c->getUpdatedByDisplayName(), "updatedById" => $c->getUpdatedById());
             } else {
                 if ($c instanceof Company) {
                     $roleName = "";
                     $roleTags = "";
                     if (!is_null($c)) {
                         $companyName = $c->getName();
                     }
                     $object["contacts"][] = array("id" => $i, "ix" => $i, "object_id" => $c->getId(), "type" => 'company', "wsIds" => $c->getUserWorkspacesIdsCSV(logged_user()), "workspaceColors" => $c->getUserWorkspaceColorsCSV(logged_user()), 'name' => $c->getName(), 'email' => $c->getEmail(), 'website' => $c->getHomepage(), 'workPhone1' => $c->getPhoneNumber(), 'workPhone2' => $c->getFaxNumber(), 'workAddress' => $c->getAddress() . ' - ' . $c->getAddress2(), "companyId" => $c->getId(), "companyName" => $c->getName(), "jobTitle" => '', "role" => lang('company'), "tags" => project_object_tags($c), "department" => lang('company'), "email2" => '', "email3" => '', "workWebsite" => $c->getHomepage(), "homeWebsite" => '', "homeAddress" => '', "homePhone1" => '', "homePhone2" => '', "mobilePhone" => '', "createdOn" => $c->getCreatedOn() instanceof DateTimeValue ? $c->getCreatedOn()->isToday() ? format_time($c->getCreatedOn()) : format_datetime($c->getCreatedOn()) : '', "createdOn_today" => $c->getCreatedOn() instanceof DateTimeValue ? $c->getCreatedOn()->isToday() : 0, "createdBy" => $c->getCreatedByDisplayName(), "createdById" => $c->getCreatedById(), "updatedOn" => $c->getUpdatedOn() instanceof DateTimeValue ? $c->getUpdatedOn()->isToday() ? format_time($c->getUpdatedOn()) : format_datetime($c->getUpdatedOn()) : '', "updatedOn_today" => $c->getUpdatedOn() instanceof DateTimeValue ? $c->getUpdatedOn()->isToday() : 0, "updatedBy" => $c->getUpdatedByDisplayName(), "updatedById" => $c->getUpdatedById());
                 }
             }
         }
     }
     return $object;
 }