예제 #1
0
function formatted_date($css_class, $date, $label)
{
    ?>
  <div class="<?php 
    echo $css_class;
    ?>
">
    <span><?php 
    echo lang('start date');
    ?>
:</span>
    <?php 
    if ($date->getYear() > DateTimeValueLib::now()->getYear()) {
        echo format_date($date, null, 0);
    } else {
        echo format_descriptive_date($date, 0);
    }
    ?>
  </div>
<?php 
}
예제 #2
0
                ?>
 - <?php 
                echo format_days('days left', $upcoming_milestone->getLeftInDays());
                ?>
)</li>
<?php 
            } else {
                ?>
    <li><a href="<?php 
                echo $upcoming_milestone->getViewUrl();
                ?>
"><?php 
                echo clean($upcoming_milestone->getName());
                ?>
</a> (<?php 
                echo format_descriptive_date($upcoming_milestone->getDueDate());
                ?>
 - <?php 
                echo format_days('days left', $upcoming_milestone->getLeftInDays());
                ?>
)</li>
<?php 
            }
            // if
            ?>

<?php 
        } else {
            ?>
    </ul>
    <p><a href="<?php 
예제 #3
0
function friendly_date(DateTimeValue $date, $timezone = null)
{
    if ($timezone == null) {
        $timezone = logged_user()->getTimezone();
    }
    //TODO: 7 days before: "Dom at 13:43", older: "Oct, 06 at 15:20"
    if ($date->isToday()) {
        $now = DateTimeValueLib::now();
        $diff = DateTimeValueLib::get_time_difference($date->getTimestamp(), $now->getTimestamp());
        if ($diff['hours'] == 0) {
            if ($diff['minutes'] >= 0) {
                return lang('minutes ago', $diff['minutes']);
            } else {
                return format_descriptive_date($date);
            }
        } else {
            if ($diff['hours'] > 0) {
                return lang('about hours ago', round($diff['hours'] + ($diff['minutes'] > 30 ? 1 : 0)));
            } else {
                return format_descriptive_date($date);
            }
        }
    } else {
        if ($date->isYesterday()) {
            return lang('yesterday at', format_time($date));
        } else {
            $now = DateTimeValueLib::now();
            $diff = DateTimeValueLib::get_time_difference($date->getTimestamp(), $now->getTimestamp());
            if ($diff['days'] < 7) {
                return lang('day at', Localization::dateByLocalization("D", $date->getTimestamp()), format_time($date));
            } else {
                if ($now->getYear() != $date->getYear()) {
                    return lang('day at', Localization::dateByLocalization("M d, Y", $date->getTimestamp()), format_time($date));
                } else {
                    return lang('day at', Localization::dateByLocalization("M, d", $date->getTimestamp()), format_time($date));
                }
            }
        }
    }
}
예제 #4
0
    $typeofevent = $event->getTypeId();
    if ($typeofevent == "2") {
        $duration = lang('CAL_FULL_DAY');
    } elseif ($typeofevent == "3") {
        $time = lang('CAL_NOT_SPECIFIED');
        $duration = lang('CAL_NOT_SPECIFIED');
    } elseif ($typeofevent == "4") {
        $duration = lang('CAL_NOT_SPECIFIED');
    }
    $permission = ProjectEvents::findById($id)->canEdit(logged_user());
    ?>
<div style="padding:7px;">
<div class="event" style="height:100%;">

<?php 
    $title = lang($event->getObjectTypeName()) . ": " . format_descriptive_date($event->getStart()) . ' - ' . clean($event->getObjectName());
    $description = $event->getTypeId() == 2 ? lang('CAL_FULL_DAY') : lang('CAL_TIME') . ": {$time}";
    tpl_assign('description', $description);
    $att_form = '';
    if (!$event->isNew() && !$event->isTrashed()) {
        $event_inv = EventInvitations::findById(array('event_id' => $event->getId(), 'contact_id' => logged_user()->getId()));
        if ($event_inv != null) {
            $event->addInvitation($event_inv);
            $event_inv_state = $event_inv->getInvitationState();
            if (!SystemPermissions::userHasSystemPermission(logged_user(), 'can_update_other_users_invitations')) {
                $options = array(option_tag(lang('yes'), 1, $event_inv_state == 1 ? array('selected' => 'selected') : null), option_tag(lang('no'), 2, $event_inv_state == 2 ? array('selected' => 'selected') : null), option_tag(lang('maybe'), 3, $event_inv_state == 3 ? array('selected' => 'selected') : null));
                if ($event_inv_state == 0) {
                    $options[] = option_tag(lang('decide later'), 0, $event_inv_state == 0 ? array('selected' => 'selected') : null);
                }
                $att_form = '<form style="height:100%;background-color:white" class="internalForm" action="' . get_url('event', 'change_invitation_state') . '" method="post">';
                $att_form .= '<table><tr><td style="padding-right:6px;"><b>' . lang('attendance') . '<b></td><td>';
예제 #5
0
    <td class="timeCheck">
      <input type="checkbox" name="item[<?php 
        echo $time->getId();
        ?>
]" />
    </td>
    <td class="timeDateSmall">
<?php 
        if ($time->getDoneDate()->getYear() > DateTimeValueLib::now()->getYear()) {
            ?>
  <?php 
            echo format_date($time->getDoneDate(), 'D j M', 0);
        } else {
            ?>
  <?php 
            echo format_descriptive_date($time->getDoneDate(), 0, 'D j M');
        }
        // if
        ?>
    </td>
    <td class="timeProject">
      <?php 
        if ($time->getProject() instanceof ApplicationDataObject) {
            ?>
        <?php 
            echo clean($time->getProject()->getObjectName());
            ?>
      <?php 
        }
        // if
        ?>
예제 #6
0
        ?>
:</span> <?php 
        echo format_date($task->getDueDate(), null, 0);
        ?>
 @ <?php 
        echo format_time($task->getDuetDate(), null, 0);
        ?>
</div>
<?php 
    } else {
        ?>
      <div class="dueDate"><span><?php 
        echo lang('due date');
        ?>
:</span> <?php 
        echo format_descriptive_date($task->getDueDate(), 0);
        ?>
 @ <?php 
        echo format_time($task->getDueDate(), null, 0);
        ?>
</div>
<?php 
    }
    // if
}
// if
?>
	  <?php 
if ($task->getAssignedTo()) {
    ?>
	    <div id="taskAssigned"><?php 
예제 #7
0
        ?>
      <div class="dueDate messageText"><span><?php 
        echo lang('due date');
        ?>
:</span> <?php 
        echo format_date($milestone->getDueDate(), null, 0);
        ?>
</div>
<?php 
    } else {
        ?>
      <div class="dueDate messageText"><span><?php 
        echo lang('due date');
        ?>
:</span> <?php 
        echo format_descriptive_date($milestone->getDueDate(), 0);
        ?>
</div>
<?php 
    }
    // if
}
// if
?>

<?php 
if ($milestone->getGoal() > 0) {
    ?>
      <div class="goal"><span><?php 
    echo lang('goal');
    ?>
예제 #8
0
	  	echo format_descriptive_date($task_list->getStartDate());
	  	if ($task_list->getUseStartTime()) {
	  		echo ", " . format_time($task_list->getStartDate(), user_config_option('time_format_use_24') ? 'G:i' : 'g:i A');
	  	}
	  ?>
	  </div>
	<?php } // if ?>
<?php } // if ?>

<?php if ($task_list->getDueDate() instanceof DateTimeValue) { ?>
	<?php if ($task_list->getDueDate()->getYear() > DateTimeValueLib::now()->getYear()) { ?> 
	  <div class="dueDate"><span class="bold"><?php echo lang('due date') ?>: </span><?php echo format_datetime($task_list->getDueDate(), null, 0) ?></div>
	<?php } else { ?> 
	  <div class="dueDate"><span class="bold"><?php echo lang('due date') ?>: </span>
	  <?php 
	  	echo format_descriptive_date($task_list->getDueDate());
	  	if ($task_list->getUseDueTime()) {
	  		echo ", " . format_time($task_list->getDueDate(), user_config_option('time_format_use_24') ? 'G:i' : 'g:i A');
	  	}
	  ?>
	  </div>
	<?php } ?>
<?php } ?>
		
<?php if ($task_list->getObjectSubtype() > 0) {
		$subType = ProjectCoTypes::findById($task_list->getObjectSubtype());
		if ($subType instanceOf ProjectCoType ) {
			echo "<div><span class='bold'>" . lang('object type') . ":</span> " . $subType->getName() . "</div>";
		}
	  }
?>
예제 #9
0
 /**
  * Return paged project files
  *
  * @param Project $project
  * @param ProjectFolder $folder
  * @param boolean $hide_private Don't show private files
  * @param string $order Order files by name or by posttime (desc)
  * @param integer $page Current page
  * @param integer $files_per_page Number of files that will be showed per single page
  * @param boolean $group_by_order Group files by order field
  * @return array
  */
 static function getProjectFiles(Project $project, $folder = null, $hide_private = false, $order = null, $page = null, $files_per_page = null, $group_by_order = false)
 {
     trace(__FILE__, 'getProjectFiles()');
     if ($order == self::ORDER_BY_POSTTIME) {
         $order_by = '`created_on` DESC';
     } else {
         $order_by = '`filename`';
     }
     // if
     // #PAGE# is reserved as a placeholder
     //if (!($page == '#PAGE#')) {
     if ((int) $page < 1) {
         $page = 1;
     }
     if ((int) $files_per_page < 1) {
         $files_per_page = 10;
     }
     //} // if
     $folder_ids = array();
     if ($folder instanceof ProjectFolder && $folder->getProjectId() == $project->getId()) {
         if ($hide_private) {
             $conditions = array('`project_id` = ? AND `folder_id` = ? AND `is_private` = ? AND `is_visible` = ?', $project->getId(), $folder->getId(), false, true);
         } else {
             $conditions = array('`project_id` = ? AND `folder_id` = ? AND `is_visible` = ?', $project->getId(), $folder->getId(), true);
         }
         // if
     } else {
         if ($hide_private) {
             $conditions = array('`project_id` = ? AND `is_private` = ? AND `is_visible` = ?', $project->getId(), false, true);
         } else {
             $conditions = array('`project_id` = ? AND `is_visible` = ?', $project->getId(), true);
         }
         // if
     }
     // if
     list($files, $pagination) = ProjectFiles::paginate(array('conditions' => $conditions, 'order' => $order_by), $files_per_page, $page);
     if ($group_by_order) {
         $grouped_files = array();
         if (is_array($files) && count($files)) {
             $today = DateTimeValueLib::now();
             foreach ($files as $file) {
                 $group_by_str = '';
                 if ($order == self::ORDER_BY_POSTTIME) {
                     $created_on = $file->getCreatedOn();
                     if ($created_on->getYear() == $today->getYear()) {
                         $group_by_str = format_descriptive_date($created_on);
                     } else {
                         $group_by_str = format_date($created_on);
                     }
                     // if
                 } else {
                     $group_by_str = strtoupper(substr_utf($file->getFilename(), 0, 1));
                 }
                 // if
                 if (!isset($grouped_files[$group_by_str]) || !is_array($grouped_files[$group_by_str])) {
                     $grouped_files[$group_by_str] = array();
                 }
                 $grouped_files[$group_by_str][] = $file;
             }
             // foreach
         }
         // if
         $files = is_array($grouped_files) ? $grouped_files : null;
     }
     // if
     return array($files, $pagination);
 }
예제 #10
0
         if ($headers_outputted) {
             echo '<tr><td>' . '<strong>Total</strong>' . '</td><td></td><td></td><td><strong>' . $tt . '</strong></td></tr>';
             echo '</table>';
         }
     }
 }
 if (is_array($task_list->getTasks()) && $tl_time > 0) {
     foreach ($task_list->getTasks() as $task) {
         echo '<h4>' . $task->getText() . '</h4>';
         $ts = ProjectTimes::getTimeByTask($task);
         if (is_array($ts)) {
             $tt = 0;
             echo '<table class="timeLogs blank"><tr><th>Date</th><th>Name</th><th>Details</th><th>Hours</th></tr>';
             foreach ($ts as $t) {
                 echo '<tr>';
                 echo '<td class="timeDate">' . format_descriptive_date($t->getDoneDate(), 0) . '</td>';
                 if ($t->getAssignedTo() instanceof ApplicationDataObject) {
                     echo '<td class="timeUser">' . clean($t->getAssignedTo()->getObjectName()) . '</td>';
                 } else {
                     echo '<td class="timeUser">' . '' . '</td>';
                 }
                 echo '<td class="timeDetails">' . clean($t->getName()) . '</td>';
                 echo '<td class="timeHours">' . $t->getHours() . '</td>';
                 echo '</tr>';
                 $tt += $t->getHours();
             }
             echo '<tr><td>' . '<strong>Total</strong>' . '</td><td></td><td></td><td><strong>' . $tt . '</strong></td></tr>';
             echo '</table>';
         }
     }
 }
예제 #11
0
 if ($last_revision instanceof ProjectFileRevision) {
     $description .= '<div id="fileLastRevision"><span class="propertyName">' . lang('last revision') . ':</span>';
     if ($last_revision->getCreatedBy() instanceof Contact) {
         $description .= lang('file revision info long', $last_revision->getRevisionNumber(), $last_revision->getCreatedBy()->getCardUserUrl(), clean($last_revision->getCreatedBy()->getObjectName()), format_descriptive_date($last_revision->getCreatedOn()));
     } else {
         $description .= lang('file revision info short', $last_revision->getRevisionNumber(), format_descriptive_date($last_revision->getCreatedOn()));
     }
     $description .= "</div>";
 }
 // if
 if ($file->isCheckedOut()) {
     $description .= '<div id="fileCheckedOutBy" class="coViewAction ico-locked">';
     if ($file->getCheckedOutBy() instanceof Contact) {
         $description .= lang('file checkout info long', $file->getCheckedOutBy()->getCardUserUrl(), clean($file->getCheckedOutBy()->getObjectName()), format_descriptive_date($file->getCheckedOutOn()) . ", " . format_time($file->getCheckedOutOn()));
     } else {
         $description .= lang('file checkout info short', format_descriptive_date($file->getCheckedOutOn()) . ", " . format_time($file->getCheckedOutOn()));
     }
     // if
     $description .= "</div>";
 }
 // if
 if (!$file->isTrashed() && !$file->isArchived() && $file->getType() != ProjectFiles::TYPE_WEBLINK) {
     tpl_assign('image', '<div class="coViewIconImage"><img src="' . $file->getTypeIconUrl(false) . '" alt="' . clean($file->getFilename()) . '" /></div>');
 }
 if ($file->isTrashed()) {
     tpl_assign('iconclass', 'ico-large-files-trashed');
 } else {
     if ($file->isArchived()) {
         tpl_assign('iconclass', 'ico-large-files-archived');
     } else {
         tpl_assign('iconclass', $file->getType() != ProjectFiles::TYPE_WEBLINK ? 'ico-large-files' : 'ico-large-webfile');
예제 #12
0
파일: view.php 프로젝트: Jtgadbois/Pedadida
	if($typeofevent=="2") $duration = lang('CAL_FULL_DAY');
	elseif($typeofevent=="3"){
		$time = lang('CAL_NOT_SPECIFIED');
		$duration = lang('CAL_NOT_SPECIFIED');
	}
	elseif($typeofevent=="4") $duration = lang('CAL_NOT_SPECIFIED');
	
	$permission = ProjectEvents::findById($id)->canEdit(logged_user());
	
?>
<div style="padding:7px;">
<div class="event" style="height:100%;">

<?php
	
	$title = format_descriptive_date($event->getStart()) . ' - ' . clean($event->getObjectName());
	$description = $event->getTypeId() == 2 ? lang('CAL_FULL_DAY') : lang('CAL_TIME').": $time" ;
  	tpl_assign('description', $description);

	$att_form = '';
  	if (!$event->isNew() && !$event->isTrashed()) {
		$event_inv = EventInvitations::findById(array('event_id' => $event->getId(), 'contact_id' => logged_user()->getId()));
		if ($event_inv != null) {
			$event->addInvitation($event_inv);
			$event_inv_state = $event_inv->getInvitationState();
			$options = array(
				option_tag(lang('yes'), 1, ($event_inv_state == 1)?array('selected' => 'selected'):null),
				option_tag(lang('no'), 2, ($event_inv_state == 2)?array('selected' => 'selected'):null),
				option_tag(lang('maybe'), 3, ($event_inv_state == 3)?array('selected' => 'selected'):null)
			);
			if ($event_inv_state == 0) {
예제 #13
0
    <?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() ?>
            <?php if ($task->getAssignedTo()):?>
            <span class="assignedTo"><?php echo clean($task->getAssignedTo()->getObjectName()) ?></span>
            <?php endif ?>
            </div>
            <?php if (!is_null($task->getDueDate())) { ?>
            <div class="dueDate"><span><?php echo lang('due date') ?>:</span> <?php echo ($task->getDueDate()->getYear() > DateTimeValueLib::now()->getYear()) ? format_date($task->getDueDate(), null, 0) : format_descriptive_date($task->getDueDate(), 0) ?></div>
            <?php } // if ?>


            <?php
            $task_options = array();
            if ($can_reorder_tasks) { $task_options[] = '<span class="reorder"><img src="'.get_image_url('icons/arrow-sort.png').'" /></span>'; }
            if ($task->canEdit(logged_user())) {
              $task_options[] = '<a href="' . $task->getEditUrl() . '"><img width="16" height="16" src="' . get_image_url('icons/pencil.png') . '" alt="'.lang('edit') .'" title="'.lang('edit').'" /></a>';
            } // if
            if ($task->canDelete(logged_user())) {
              $task_options[] = '<a href="' . $task->getDeleteUrl() . '"><img src="'.get_image_url('icons/delete.png'). '" alt="'. lang('delete') . '" title="'.lang('delete').'" /></a>';
            } // if
            if ($task->canView(logged_user())) {
              $task_options[] = '<a href="' . $task->getViewUrl($on_list_page) . '"><img src="'.get_image_url('icons/comment_add.png').'" alt="' . lang('view') . '" title="" /></a>';
            } // if
예제 #14
0
            add_page_action(lang('copy milestone'), get_url("milestone", "copy_milestone", array("id" => $milestone->getId())), 'ico-copy');
            if (can_manage_templates(logged_user())) {
                add_page_action(lang('add to a template'), get_url("template", "add_to", array("manager" => 'ProjectMilestones', "id" => $milestone->getId())), 'ico-template');
            }
        }
    }
    ?>

<div style="padding:7px">
<div class="milestone">
<?php 
    $content = '';
    if ($milestone->getDueDate()->getYear() > DateTimeValueLib::now()->getYear()) {
        $content = '<div class="dueDate"><b>' . lang('due date') . ':</b> ' . format_date($milestone->getDueDate(), null, 0) . '</div>';
    } else {
        $content = '<div class="dueDate"><b>' . lang('due date') . ':</b> ' . format_descriptive_date($milestone->getDueDate(), 0) . '</div>';
    }
    // if
    if ($milestone->getDescription()) {
        $content .= '<fieldset><legend>' . lang('description') . '</legend>' . escape_html_whitespace(convert_to_links(clean($milestone->getDescription()))) . '</fieldset>';
    }
    $openSubtasks = $milestone->getOpenSubTasks();
    if (is_array($openSubtasks)) {
        //		$content .= '<p>' . lang('task lists') . ':</p><ul>';
        //show open sub task list
        $content .= '<br/><table style="border:1px solid #717FA1;width:100%; padding-left:10px;"><tr><th style="padding-left:10px;padding-top:4px;padding-bottom:4px;background-color:#E8EDF7;font-size:120%;font-weight:bolder;color:#717FA1;width:100%;">' . lang("view open tasks") . '</th></tr><tr><td style="padding-left:10px;">
			  <div class="openTasks">
			  <table class="blank">';
        foreach ($openSubtasks as $task) {
            $content .= '<tr>';
            // Checkboxes
예제 #15
0
                echo $object->getObjectUrl();
                ?>
" style="font-size:120%;"><?php 
                echo $object_name;
                ?>
</a>
		<?php 
            }
            // if
            ?>
		</td>
		<td style="padding:6px;vertical-align:middle" align=right><?php 
            if ($object instanceof MailContent) {
                echo lang("created by on short", $object->getSenderUrl(), clean($object->getSenderName()), format_descriptive_date($object->getReceivedDate()));
            } else {
                echo lang("modified by on short", $object->getUpdatedByCardUrl(), $object->getUpdatedBy() instanceof User ? clean($object->getUpdatedByDisplayName()) : clean($object->getCreatedByDisplayName()), format_descriptive_date($object->getObjectUpdateTime()));
            }
            ?>
</td>
		</tr>
		<?php 
            foreach ($srrow['context'] as $context) {
                // Draw context
                if ($context['context'] != '' && $context['column_name'] != 'title' && $context['column_name'] != 'name' && $context['column_name'] != 'firstname' && $context['column_name'] != 'lastname' && $context['column_name'] != 'subject' && $context['column_name'] != 'filename') {
                    ?>
		<tr style="vertical-align:middle" class="<?php 
                    echo $alt ? "searchAltRow" : 'searchRow';
                    ?>
">
		<td></td><td colspan=2 style="padding:6px;padding-top:0px">
			<b><?php 
예제 #16
0
<?php 
if ($last_revision instanceof ProjectFileRevision) {
    ?>
      <div id="fileLastRevision"><span class="propertyName"><?php 
    echo lang('last revision');
    ?>
:</span> 
<?php 
    if ($last_revision->getCreatedBy() instanceof User) {
        ?>
      <?php 
        echo lang('file revision info long', $last_revision->getRevisionNumber(), $last_revision->getCreatedBy()->getCardUrl(), clean($last_revision->getCreatedBy()->getDisplayName()), format_descriptive_date($last_revision->getCreatedOn()));
    } else {
        ?>
      <?php 
        echo lang('file revision info short', $last_revision->getRevisionNumber(), format_descriptive_date($last_revision->getCreatedOn()));
    }
    // if
    ?>
      </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');
예제 #17
0
            echo format_datetime($task_list->getStartDate(), null, 0);
            ?>
</div>
	  <?php 
        } else {
            ?>
 
	 		<div class="member-path-dim-block startDate"><span class="bold"><?php 
            echo lang('start date');
            ?>
: </span><?php 
            $tm = null;
            if (!$task_list->getUseDueTime()) {
                $tm = 0;
            }
            echo format_descriptive_date($task_list->getStartDate(), $tm);
            if ($task_list->getUseDueTime()) {
                echo " " . lang('by time') . " " . format_time($task_list->getStartDate(), user_config_option('time_format_use_24') ? 'G:i' : 'g:i A');
            }
            ?>
</div>
	  <?php 
        }
    }
    ?>
		 
		 <div class="member-path-dim-block" style="font-weight:bold"><?php 
    if (isset($status)) {
        echo $status;
    }
    ?>