/** * Remove this page from archive * * @param void * @return null */ function unarchive() { if ($this->active_page->isNew()) { $this->httpError(HTTP_ERR_NOT_FOUND); } // if if (!$this->active_page->canEdit($this->logged_user)) { $this->httpError(HTTP_ERR_FORBIDDEN); } // if if ($this->request->isSubmitted()) { $this->active_page->setIsArchived(false); $save = $this->active_page->save(); if ($save && !is_error($save)) { if ($this->request->isApiCall()) { $this->serveData($this->active_page, 'page'); } else { flash_success('Page ":name" has been archived', array('name' => $this->active_page->getName())); } // if } else { if ($this->request->isApiCall()) { $this->serveData($save); } else { flash_error('Failed to archive ":name" page', array('name' => $this->active_page->getName())); } // if } // if $this->redirectToUrl($this->active_page->getViewUrl()); } else { $this->httpError(HTTP_ERR_BAD_REQUEST); } // if }
/** * Set parent page * * @param Page $page * @return null */ function setPage($page) { $this->setPageId($page->getId()); if ($this->isNew()) { $this->setName($page->old_name ? $page->old_name : $page->getName()); $this->setBody($page->old_body ? $page->old_body : $page->getBody()); $this->setVersion($page->getRevisionNum()); } // if }
/** * @param page Page * @return PageDto */ public function mapPageToDto(Page $page) { $pageDto = new PageDto(); $pageDto->setId($page->getId()); $pageDto->setTitle($page->getTitle()); $pageDto->setName($page->getName()); $pageDto->setDescription($page->getDescription()); $pageDto->setPosition($page->getPosition()); return $pageDto; }
/** * Populate options array with options recursivly * * @param Page $page * @param integer $value * @param User $user * @param Page $skip * @param array $options * @param string $indent * @return null */ function smarty_function_select_page_populate_options($page, $value, $user, $skip, &$options, $indent = '') { if (instance_of($skip, 'Page') && $skip->getId() == $page->getId()) { return; } // if $attributes = $value == $page->getId() ? array('selected' => true) : null; $options[] = option_tag($indent . $page->getName(), $page->getId(), $attributes); $subpages = $page->getSubpages($user->getVisibility()); if (is_foreachable($subpages)) { foreach ($subpages as $subpage) { smarty_function_select_page_populate_options($subpage, $value, $user, $skip, $options, $indent . '- '); } // foreach } // if }
/** * Render Page Version * * @param void * @return null */ function version() { if (!instance_of($this->active_page, 'Page')) { $this->httpError(HTTP_ERR_NOT_FOUND, null, true, $this->request->isApiCall()); } // if if (!$this->active_page->canView($this->logged_user)) { $this->httpError(HTTP_ERR_FORBIDDEN, null, true, $this->request->isApiCall()); } // if $version = PageVersions::findByPage($this->active_page, $this->request->get('version')); if (!instance_of($version, 'PageVersion')) { $this->httpError(HTTP_ERR_NOT_FOUND, null, true, $this->request->isApiCall()); } // if $this->addBreadcrumb($this->active_page->getName(), mobile_access_module_get_view_url($this->active_page)); $this->addBreadcrumb(lang('Version #:version', array('version' => $version->getVersion()))); $this->smarty->assign(array('page_back_url' => mobile_access_module_get_view_url($this->active_page), 'version' => $version)); }
/** * Get "copy code" for page. * * @param Page $page * @return array */ public static function getPageCode(Page $page) { $pages = array(); foreach ($page->getChildren() as $child) { $pages[] = self::getPageCode($child); } return array("id" => $page->getPageId(), "uid" => $page->getUid(), "name" => $page->getName(), "url" => $page->getUrl(), "visible" => $page->getVisible(), "enabled" => $page->getEnabled(), "include_in_index" => $page->getIncludeInIndex(), "redirect_method" => $page->getRedirectMethod(), "redirect_page" => $page->getRedirectPage() ? $page->getRedirectPage()->getUrl() : null, "redirect_url" => $page->getRedirectUrl(), "model_route" => $page->getModelRoute(), "meta" => self::getMetadataCode($page), "image" => $page->getImage(), "langcode" => $page->getLangcode(), "generator" => $page->getGenerator(), "encoding" => $page->getEncoding(), "revision" => $page->getActivePageRevision() ? self::getPageRevisionCode($page->getActivePageRevision()) : null, "modified" => $page->getLastModified(), "pages" => $pages); }
<?php require_once getRootPath() . "/classes/core/Page.php"; if (array_key_exists("node", $_REQUEST)) { $strNode = stripslashes($_REQUEST["node"]); } else { $strNode = "/home"; } $objPage = new Page($strNode); $objContentType = $objPage->getContentTypeObject(); $strType = $objContentType->getName(); $strName = $objPage->getName(); $aryTypes = ContentType::getContentTypes(); $aryFields = $objContentType->getFields(); if (!isset($aryInvalid)) { $aryInvalid = array(); } $blnActive = $objPage->getActive();
</li> </ul> </div> <div class="row"> <div class="box col-md-12"> <div class="box-inner"> <div class="box-header well" data-original-title=""> <h2><i class="glyphicon glyphicon-edit"></i> Add Page </h2> </div> <div class="box-content"> <?php $id = Request::get("id"); if (is_numeric($id) && $id > 0) { $pageObj = new Page(); $pageObj->set("page_id", $id); $result = $pageObj->getName(); if (count($result)) { $row = $result[0]; $page_id = $row['page_id']; $page_name = $row['name']; $category_id = $row['category_id']; $url = $row['url']; $top_description = $row['top_description']; $bottom_description = $row['bottem_description']; $keyword = $row['Keyword']; $title = $row['title']; $description = $row['description']; $author = $row['author']; $modified = $row['modified_by']; $access_type = $row['access_type']; $page_status = $row['active'];
function getHomeTabContent($user_id = '', $tickets_due_flag = '') { require_once SMARTY_PATH . '/plugins/modifier.html_excerpt.php'; if (empty($user_id)) { $user_id = $this->getId(); } $link = mysql_connect(DB_HOST, DB_USER, DB_PASS); mysql_select_db(DB_NAME, $link); $query = "select setting_value from healingcrystals_user_settings where user_id='" . $user_id . "' and setting_type='HOMETAB_LAYOUT'"; $result = mysql_query($query); if (mysql_num_rows($result)) { $info = mysql_fetch_assoc($result); $layout_type = $info['setting_value']; } else { $layout_type = 'summary'; } //possible values for tickets_due_flag: 'due' or 'all' if (empty($tickets_due_flag)) { $tickets_due_flag = 'due'; } $query = ''; if ($tickets_due_flag == 'due') { $query = "SELECT a.id, a.type, b.user_id, c.reminder_date, IF(c.reminder_date is null, a.due_on, IF(a.due_on<=c.reminder_date, a.due_on, c.reminder_date)) as old_date\n FROM healingcrystals_project_objects a\n inner join healingcrystals_assignments b on a.id=b.object_id\n left outer join healingcrystals_project_object_misc c on (a.id=c.object_id)\n where a.state='" . STATE_VISIBLE . "' and b.user_id='" . $user_id . "' and b.is_owner='1' and\n (a.type='Task' or a.type='Ticket') and (a.completed_on is null or a.completed_on='') and\n ((c.reminder_date is not null and c.reminder_date<>'0000-00-00' and c.reminder_date<=now()) or (a.due_on is not null and a.due_on<=now()) )\n order by b.user_id, IFNULL(a.priority, '0') desc, old_date"; } elseif ($tickets_due_flag == 'all') { $query = "SELECT a.id, a.type, b.user_id\n FROM healingcrystals_project_objects a\n inner join healingcrystals_assignments b on a.id=b.object_id\n left outer join healingcrystals_project_object_misc c on (a.id=c.object_id)\n where a.state='" . STATE_VISIBLE . "' and b.user_id='" . $user_id . "' and b.is_owner='1' and\n (a.type='Task' or a.type='Ticket') and (a.completed_on is null or a.completed_on='') and\n a.due_on is not null\n order by b.user_id, IFNULL(a.priority, '0') desc"; } if (!empty($query)) { $result = mysql_query($query, $link); $tickets_due_info = array(); if (mysql_num_rows($result)) { while ($entry = mysql_fetch_assoc($result)) { $tickets_due_info[] = array('type' => $entry['type'], 'id' => $entry['id'], 'reminder' => $entry['reminder_date']); } } } $query = "(select b.id, d.id as parent_ref , a.date_added as date_value, e.priority as prio, c.name as project_name\n\t\t from healingcrystals_assignments_action_request a\n\t\t inner join healingcrystals_project_objects b on a.comment_id=b.id\n\t\t inner join healingcrystals_project_objects d on b.parent_id=d.id\n\t\t left outer join healingcrystals_project_objects e on d.milestone_id=e.id\n\t\t inner join healingcrystals_projects c on b.project_id=c.id\n\t\t where b.state='" . STATE_VISIBLE . "' and a.user_id='" . $user_id . "' and a.is_action_request='1'\n and d.state='" . STATE_VISIBLE . "' )\n union\n (select '' as id, a.object_id as parent_ref, b.created_on as date_value, e.priority as prio, c.name as project_name\n from healingcrystals_assignments_flag_fyi_actionrequest a\n inner join healingcrystals_project_objects b on a.object_id=b.id\n left outer join healingcrystals_project_objects e on b.milestone_id=e.id\n inner join healingcrystals_projects c on b.project_id=c.id\n where a.user_id='" . $user_id . "' and flag_actionrequest='1' and b.state='" . STATE_VISIBLE . "'\n )\n\t\t order by prio desc, project_name, date_value desc"; //EOF:mod 20111103 #462 $result = mysql_query($query, $link); $action_request_info = array(); if (mysql_num_rows($result)) { while ($entry = mysql_fetch_assoc($result)) { if ($layout_type == 'summary') { if (!array_key_exists((string) $entry['parent_ref'], $action_request_info)) { $action_request_info[(string) $entry['parent_ref']] = array(); } $action_request_info[(string) $entry['parent_ref']][] = $entry['id']; } else { //BOF:mod 20111019 #448 if (empty($entry['id'])) { $action_request_info[] = $entry['parent_ref']; } else { //EOF:mod 20111019 #448 $action_request_info[] = $entry['id']; //BOF:mod 20111019 } //EOF:Mod 20111019 } } } $query = "(select b.id, d.id as parent_ref , a.date_added as date_value, e.priority as prio, c.name as project_name\n\t\t from healingcrystals_assignments_action_request a\n\t\t inner join healingcrystals_project_objects b on a.comment_id=b.id\n\t\t inner join healingcrystals_project_objects d on b.parent_id=d.id\n\t\t left outer join healingcrystals_project_objects e on d.milestone_id=e.id\n\t\t inner join healingcrystals_projects c on b.project_id=c.id\n\t\t where b.state='" . STATE_VISIBLE . "' and a.user_id='" . $user_id . "' and a.is_fyi='1'\n and d.state='" . STATE_VISIBLE . "' )\n union\n (select '' as id, a.object_id as parent_ref, b.created_on as date_value, e.priority as prio, c.name as project_name\n from healingcrystals_assignments_flag_fyi_actionrequest a\n inner join healingcrystals_project_objects b on a.object_id=b.id\n left outer join healingcrystals_project_objects e on b.milestone_id=e.id\n inner join healingcrystals_projects c on b.project_id=c.id\n where a.user_id='" . $user_id . "' and flag_fyi='1' and b.state='" . STATE_VISIBLE . "'\n )\n\t\t order by prio desc, project_name, date_value desc"; //EOF:mod 20111103 #462 $result = mysql_query($query, $link); $info = array(); if (mysql_num_rows($result)) { while ($entry = mysql_fetch_assoc($result)) { if ($layout_type == 'summary') { if (!array_key_exists((string) $entry['parent_ref'], $info)) { $info[(string) $entry['parent_ref']] = array(); } $info[(string) $entry['parent_ref']][] = $entry['id']; } else { //BOF:mod 20111019 #448 if (empty($entry['id'])) { $info[] = $entry['parent_ref']; } else { //EOF:mod 20111019 #448 $info[] = $entry['id']; //BOF:mod 20111019 } //EOF:Mod 20111019 } } } $search_from = time() - 24 * 60 * 60; $query = "SELECT a.id, b.user_id FROM healingcrystals_project_objects a\n inner join healingcrystals_assignments b on a.id=b.object_id\n\t\t where a.state='" . STATE_VISIBLE . "' and b.user_id='" . $user_id . "' and a.type='Ticket' and a.completed_on is not null and\n\t\t a.completed_on >= '" . date('Y-m-d H:i', $search_from) . "' order by b.user_id, a.due_on"; $result = mysql_query($query, $link); $completed_objects = array(); if (mysql_num_rows($result)) { while ($entry = mysql_fetch_assoc($result)) { $query02 = "select max(id) as comment_id from healingcrystals_project_objects where parent_id='" . $entry['id'] . "' and parent_type='Ticket' and type='Comment'"; $result02 = mysql_query($query02); if (mysql_num_rows($result02)) { $comment_info = mysql_fetch_assoc($result02); } $completed_objects[] = array('ticket_id' => $entry['id'], 'last_comment_id' => $comment_info['comment_id']); } } $fyi_updates = array(); $query = "select id, fyi_user_id, object_id from healingcrystals_project_objects_to_fyi_users where fyi_user_id='" . $user_id . "' and user_intimated_on is null"; $result = mysql_query($query); if (mysql_num_rows($result)) { while ($entry = mysql_fetch_assoc($result)) { $fyi_updates[] = $entry['object_id']; } } $fyi_table_start = ' <a name="fyi"></a> <table style="border:1px solid black;"> <tr> <td colspan="4"> </td> </tr>' . (count($info) ? ' <tr> <th colspan="4">FYI Comment(s)</th> </tr> <tr> <td colspan="4"> </td> </tr>' : ''); $fyi_table_end = ' </table>'; $action_request_table_start = ' <a name="action_request"></a> <table style="border:1px solid black;"> <tr> <td colspan="4"> </td> </tr>' . (count($action_request_info) ? ' <tr> <th colspan="4">Action Request Comment(s)</th> </tr> <tr> <td colspan="4"> </td> </tr>' : ''); $action_request_table_end = ' </table>'; $completed_objects_table_start = ' <a name="closed_tickets"></a> <table style="border:1px solid black;"> <tr> <td colspan="2"> </td> </tr>' . (count($completed_objects) ? ' <tr> <th colspan="2">Recently Closed Tickets</th> </tr> <tr> <td colspan="2"> </td> </tr>' : ''); $completed_objects_table_end = ' </table>'; $fyi_updates_table_start = ' <table style="border:1px solid black;"> <tr> <td colspan="2"> </td> </tr>' . (count($fyi_updates) ? ' <tr> <th colspan="2">FYI Updates</th> </tr> <tr> <td colspan="2"> </td> </tr>' : ''); $fyi_updates_table_end = ' </table>'; $tickets_due_table_start = ' <a name="tickets_due"></a> <table style="border:1px solid black;"> <tr><td colspan="4"> </td></tr> <tr> <th colspan="4"> Due Tickets & Tasks: <div style="float:right;font-weight:normal;"> <table cellspacing="0" cellpadding="0"> <tr> <td valign="middle"> <input type="radio" onclick="location.href=\'' . assemble_url('goto_home_tab') . '&due_flag=due\'" name="objects_due" value="due" style="width:20px;" ' . ($tickets_due_flag == 'due' ? ' checked="true"' : '') . ' /> </td> <td valign="middle">Show Due Dates/Reminders</td> <td valign="middle"> </td> <td valign="middle"> <input type="radio" onclick="location.href=\'' . assemble_url('goto_home_tab') . '&due_flag=all\'" name="objects_due" value="all" style="width:20px;" ' . ($tickets_due_flag == 'all' ? ' checked="true"' : '') . ' /> </td> <td valign="middle">Show All Tickets & Tasks</td> </tr> </table> </div> </th> </tr> <tr><td colspan="4"> </td></tr> <tr> <th align="left">Type</th> <th align="left">Name</th> <th align="left">Priority</th> <th align="left">' . ($tickets_due_flag == 'due' ? 'Due on / Reminder' : 'Due on') . '</th> </tr>'; $tickets_due_table_end = ' </table>'; $tickets_due_content = ''; if ($tickets_due_info && is_array($tickets_due_info)) { foreach ($tickets_due_info as $entry) { $type = $entry['type']; $obj = new $type($entry['id']); $due_date_val = $obj->getDueOn(); if (!empty($due_date_val)) { $due_date = date('F d, Y', strtotime($obj->getDueOn())); } else { $due_date = '--'; } if (!empty($entry['reminder']) && $entry['reminder'] != '0000-00-00') { $reminder_date = date('F d, Y', strtotime($entry['reminder'])); } else { $reminder_date = '--'; } if ($tickets_due_flag == 'due') { $date_string = $due_date . ' / ' . $reminder_date; } else { $date_string = $due_date; } $tickets_due_content .= ' <tr> <td>' . $type . '</td> <td> <a target="_blank" href="' . $obj->getViewUrl() . '"> <span class="homepageobject">' . strip_tags($obj->getName()) . '</span> </a> </td> <td>' . $obj->getFormattedPriority() . '</td> <td> ' . $date_string . '</td> </tr>'; unset($obj); } } else { $tickets_due_content .= ' <tr> <td colspan="4">No Records to Display</td> </tr>'; } $fyi_comments_unvisited = 0; $content = ''; if ($info && is_array($info)) { if ($layout_type == 'summary') { foreach ($info as $ticket_id => $comments) { //BOF:mod 20111019 #448 if (!empty($comments[0])) { //EOF:mod 20111019 #448 $temp_obj = new Comment($comments[0]); $parenttype = $temp_obj->getParentType(); //BOF:mod 20111019 #448 } else { $temp_obj = new ProjectObject($ticket_id); $parenttype = $temp_obj->getType(); } //EOF:mod 20111019 #448 $parentobj = new $parenttype($ticket_id); $comment_links = ''; //$comment_info = ''; $count = 0; //$max_chars = 1000; foreach ($comments as $comment_id) { $count++; //BOF:mod 20111019 #448 if (!empty($comment_id)) { //EOF:mod 20111019 #448 $temp_obj = new Comment($comment_id); $is_unvisited = $this->link_unvisited($temp_obj->getId()); if ($is_unvisited) { $fyi_comments_unvisited++; } $comment_links .= '<a target="_blank" href="' . $temp_obj->getViewUrl() . '" class="anc01' . (!$is_unvisited ? '_visited' : '') . '">#' . $count . '</a> '; //BOF:mod 20111019 #448 } else { $is_unvisited = $this->link_unvisited($temp_obj->getId()); if ($is_unvisited) { $fyi_comments_unvisited++; } $comment_links .= '<a target="_blank" href="' . $parentobj->getViewUrl() . '" class="anc01' . (!$is_unvisited ? '_visited' : '') . '">#' . $count . '</a> '; } //EOF:mod 20111019 #448 } $content .= ' <tr> <td vlaign="top" class="comment_link" colspan="4"> <a target="_blank" href="' . $parentobj->getViewUrl() . '"> <span class="homepageobject">' . $parentobj->getName() . '</span> </a> ' . $comment_links . '<span id="fyi_' . $parentobj->getId() . '"><img id="icon_plus" src="' . ROOT_URL . '/assets/images/icons/icon_plus.png" hspace="0" vspace="0" border="0" style="cursor:pointer;" /></span> </td> </tr>'; } } else { foreach ($info as $comment_id) { //BOF:mod 20111019 #448 $temp_obj = new ProjectObject($comment_id); $temp_type = $temp_obj->getType(); if ($temp_type == 'Comment') { //EOF:mod 20111019 #448 $obj = new Comment($comment_id); //BOF:mod 20111019 #448 $is_comment_obj = true; } else { $obj = new $temp_type($comment_id); $is_comment_obj = false; } //EOF:mod 20111019 #448 $is_unvisited = $this->link_unvisited($obj->getId()); if ($is_unvisited) { $fyi_comments_unvisited++; } $created_by_id = $obj->getCreatedById(); $created_by_user = new User($created_by_id); $created_on = strtotime($obj->getCreatedOn()); $created_on = date('m-d-y', $created_on); $projectobj = new Project($obj->getProjectId()); $parenttype = $obj->getParentType(); //BOF:mod 20111019 #448 if ($is_comment_obj) { //EOF:mod 20111019 #448 $parentobj = new $parenttype($obj->getParentId()); //BOF:mod 20111019 #448 } else { $parentobj = $obj; } //EOF:mod 20111019 #448 $milestone_id = $parentobj->getMilestoneId(); if (!empty($milestone_id)) { $milestoneobj = new Milestone($milestone_id); } $assigneesstring = ''; list($assignees, $owner_id) = $parentobj->getAssignmentData(); foreach ($assignees as $assignee) { $assigneeobj = new User($assignee); $assigneesstring .= '<a target="_blank" href="' . $assigneeobj->getViewUrl() . '">' . $assigneeobj->getName() . '</a>, '; unset($assigneeobj); } if (!empty($assigneesstring)) { $assigneesstring = substr($assigneesstring, 0, -2); } $dueon = date('F d, Y', strtotime($parentobj->getDueOn())); if ($dueon == 'January 01, 1970') { $dueon = '--'; } if ($milestoneobj) { $priority = $milestoneobj->getPriority(); if (!empty($priority) || $priority == '0') { $priority = $milestoneobj->getFormattedPriority(); } else { $priority = '--'; } } else { $priority = '--'; } $max_chars = 1000; $temp = $obj->getFormattedBody(true, true); $comment_body = $temp; $content .= ' <tr> <td valign="top" width="150">Ticket</td> <td valign="top"> <a target="_blank" href="' . $parentobj->getViewUrl() . '">' . $parentobj->getName() . '</a> </td> </tr> <tr> <td valign="top">Team » Project</td> <td valign="top"> <a target="_blank" href="' . $projectobj->getOverviewUrl() . '">' . $projectobj->getName() . '</a> » ' . ($milestoneobj ? '<a target="_blank" href="' . $milestoneobj->getViewUrl() . '">' . $milestoneobj->getName() . '</a>' : '--') . '</td> </tr> <tr> <td valign="top">Project Priority</td> <td valign="top">' . $priority . '</td> </tr> <tr> <td valign="top">Due on</td> <td valign="top">' . $dueon . '</td> </tr>' . (!empty($assigneesstring) ? '<tr> <td valign="top">Assignees</td> <td valign="top">' . $assigneesstring . '</td> </tr>' : '<tr><td colpan="2"></td></tr>') . '<tr> <td valign="top">' . ($is_comment_obj ? 'Comment' : 'Created') . ' by<br/>' . $created_by_user->getName() . '<br/><br/><br/><a target="_blank" href="' . $obj->getViewUrl() . '" class="anc02' . (!$is_unvisited ? '_visited' : '') . '">[view ' . ($is_comment_obj ? 'comment' : 'object') . ']</a><br/>' . $created_on . '<br/><br/><br/><a class="mark_as_read" href="' . ($is_comment_obj ? assemble_url('project_comment_fyi_read', array('project_id' => $obj->getProjectId(), 'comment_id' => $obj->getId())) : assemble_url('project_object_fyi_read', array('project_id' => $obj->getProjectId())) . '&object_id=' . $obj->getId() . '&project_id=' . $obj->getProjectId()) . '">Mark this Notification<br/>as Read</a></td> <td valign="top" style="max-width:500px;"><div style="overflow:auto;">' . $obj->getBody() . '</div></td> </tr> <tr><td colspan="2" style="border-bottom:1px dotted #000000;"> </td></tr> <tr><td colspan="2"> </td></tr>'; } } unset($obj); unset($projectobj); unset($parentobj); unset($milestone_id); unset($milestoneobj); unset($assignees); unset($owner_id); } $action_request_content = ''; $action_request_comments_unvisited = 0; if ($action_request_info && is_array($action_request_info)) { if ($layout_type == 'summary') { foreach ($action_request_info as $ticket_id => $comments) { //BOF:mod 20111019 #448 if (!empty($comments[0])) { //EOF:mod 20111019 #448 $temp_obj = new Comment($comments[0]); $parenttype = $temp_obj->getParentType(); //BOF:mod 20111019 #448 } else { $temp_obj = new ProjectObject($ticket_id); $parenttype = $temp_obj->getType(); } //EOF:mod 20111019 #448 $parentobj = new $parenttype($ticket_id); $comment_links = ''; //$comment_info = ''; $count = 0; //$max_chars = 1000; foreach ($comments as $comment_id) { $count++; //BOF:mod 20111019 #448 if (!empty($comment_id)) { //EOF:mod 20111019 #448 $temp_obj = new Comment($comment_id); $is_unvisited = $this->link_unvisited($temp_obj->getId()); if ($is_unvisited) { $action_request_comments_unvisited++; } $comment_links .= '<a target="_blank" href="' . $temp_obj->getViewUrl() . '" class="anc01' . (!$is_unvisited ? '_visited' : '') . '">#' . $count . '</a> '; //BOF:mod 20111019 #448 } else { $is_unvisited = $this->link_unvisited($temp_obj->getId()); if ($is_unvisited) { $action_request_comments_unvisited++; } $comment_links .= '<a target="_blank" href="' . $parentobj->getViewUrl() . '" class="anc01' . (!$is_unvisited ? '_visited' : '') . '">#' . $count . '</a> '; } //EOF:mod 20111019 #448 } $action_request_content .= ' <tr> <td vlaign="top" class="comment_link" colspan="4"> <a target="_blank" href="' . $parentobj->getViewUrl() . '"> <span class="homepageobject">' . $parentobj->getName() . '</span> </a> ' . $comment_links . '<span id="action_' . $parentobj->getId() . '"><img id="icon_plus" src="' . ROOT_URL . '/assets/images/icons/icon_plus.png" hspace="0" vspace="0" border="0" style="cursor:pointer;" /></span> </td> </tr>'; } } else { foreach ($action_request_info as $comment) { //BOF:mod 20111019 #448 $temp_obj = new ProjectObject($comment); $temp_type = $temp_obj->getType(); if ($temp_type == 'Comment') { //EOF:mod 20111019 #448 $obj = new Comment($comment); //BOF:mod 20111019 #448 $is_comment_obj = true; } else { $obj = new $temp_type($comment); $is_comment_obj = false; } //EOF:mod 20111019 #448 $is_unvisited = $this->link_unvisited($obj->getId()); if ($is_unvisited) { $action_request_comments_unvisited++; } $created_by_id = $obj->getCreatedById(); $created_by_user = new User($created_by_id); $created_on = strtotime($obj->getCreatedOn()); $created_on = date('m-d-y', $created_on); $projectobj = new Project($obj->getProjectId()); $parenttype = $obj->getParentType(); //BOF:mod 20111019 #448 if ($is_comment_obj) { //EOF:mod 20111019 #448 $parentobj = new $parenttype($obj->getParentId()); //BOF:mod 20111019 #448 } else { $parentobj = $obj; } //EOF:mod 20111019 #448 $milestone_id = $parentobj->getMilestoneId(); if (!empty($milestone_id)) { $milestoneobj = new Milestone($milestone_id); } $assigneesstring = ''; list($assignees, $owner_id) = $parentobj->getAssignmentData(); foreach ($assignees as $assignee) { $assigneeobj = new User($assignee); $assigneesstring .= '<a target="_blank" href="' . $assigneeobj->getViewUrl() . '">' . $assigneeobj->getName() . '</a>, '; unset($assigneeobj); } if (!empty($assigneesstring)) { $assigneesstring = substr($assigneesstring, 0, -2); } $dueon = date('F d, Y', strtotime($parentobj->getDueOn())); if ($dueon == 'January 01, 1970') { $dueon = '--'; } if ($milestoneobj) { $priority = $milestoneobj->getPriority(); if (!empty($priority) || $priority == '0') { $priority = $milestoneobj->getFormattedPriority(); } else { $priority = '--'; } } else { $priority = '--'; } $max_chars = 1000; $temp = $obj->getFormattedBody(true, true); $comment_body = $temp; /*$comment_body = trim(str_excerpt(smarty_modifier_html_excerpt($temp), $max_chars)); if (strlen($temp)>$max_chars){ $show_read_link = true; } else { $show_read_link = false; }*/ $action_request_content .= ' <tr> <td valign="top" width="150">Ticket</td> <td valign="top"> <a target="_blank" href="' . $parentobj->getViewUrl() . '">' . $parentobj->getName() . '</a> </td> </tr> <tr> <td valign="top">Team » Project</td> <td valign="top"><a target="_blank" href="' . $projectobj->getOverviewUrl() . '">' . $projectobj->getName() . '</a> » ' . ($milestoneobj ? '<a target="_blank" href="' . $milestoneobj->getViewUrl() . '">' . $milestoneobj->getName() . '</a>' : '--') . '</td> </tr> <tr> <td valign="top">Project Priority</td> <td valign="top">' . $priority . '</td> </tr> <tr> <td valign="top">Due on</td> <td valign="top">' . $dueon . '</td> </tr>' . (!empty($assigneesstring) ? '<tr> <td valign="top">Assignees</td> <td valign="top">' . $assigneesstring . '</td> </tr>' : '<tr><td colspan="2"></td></tr>') . '<tr> <td valign="top">' . ($is_comment_obj ? 'Comment' : 'Created') . ' by<br/>' . $created_by_user->getName() . '<br/><br/><br/><a target="_blank" href="' . $obj->getViewUrl() . '" class="anc02' . (!$is_unvisited ? '_visited' : '') . '">[view ' . ($is_comment_obj ? 'comment' : 'object') . ']</a><br/>' . $created_on . '<br/><br/><br/><a class="mark_as_complete" href="' . ($is_comment_obj ? assemble_url('project_comment_action_request_completed', array('project_id' => $obj->getProjectId(), 'comment_id' => $obj->getId())) : assemble_url('project_object_action_request_completed', array('project_id' => $obj->getProjectId())) . '&object_id=' . $obj->getId() . '&project_id=' . $obj->getProjectId()) . '">Mark Action Request Complete</a></td> <td valign="top" style="max-width:500px;"><div style="overflow:auto;">' . $obj->getBody() . '</div></td> </tr> <tr><td colspan="2" style="border-bottom:1px dotted #000000;"> </td></tr> <tr><td colspan="2"> </td></tr>'; } } unset($obj); unset($projectobj); unset($parentobj); unset($milestone_id); unset($milestoneobj); unset($assignees); unset($owner_id); } $completed_objects_content = ''; if ($completed_objects && is_array($completed_objects)) { foreach ($completed_objects[(string) $userid] as $entry) { $obj = new Ticket($entry['ticket_id']); $projectobj = new Project($obj->getProjectId()); $milestone_id = $obj->getMilestoneId(); if (!empty($milestone_id)) { $milestoneobj = new Milestone($milestone_id); } $assigneesstring = ''; list($assignees, $owner_id) = $obj->getAssignmentData(); foreach ($assignees as $assignee) { $assigneeobj = new User($assignee); $assigneesstring .= '<a target="_blank" href="' . $assigneeobj->getViewUrl() . '">' . $assigneeobj->getName() . '</a>, '; unset($assigneeobj); } if (!empty($assigneesstring)) { $assigneesstring = substr($assigneesstring, 0, -2); } $completedon = date('F d, Y', strtotime($obj->getCompletedOn())); if (!empty($entry['last_comment_id'])) { $commentobj = new Comment($entry['last_comment_id']); $last_comment_body = '<br>' . $commentobj->getBody(); unset($commentobj); } else { $last_comment_body = '<br>None'; } $completed_objects_content .= ' <tr> <td valign="top" width="150">' . $obj->getType() . '</td> <td valign="top"><a target="_blank" href="' . $obj->getViewUrl() . '"><span class="homepageobject">' . $obj->getName() . '</span></a></td> </tr> <tr> <td valign="top">Team » Project</td> <td valign="top"><a target="_blank" href="' . $projectobj->getOverviewUrl() . '"><span class="homepageobject">' . $projectobj->getName() . '</span></a> » ' . ($milestoneobj ? '<a target="_blank" href="' . $milestoneobj->getViewUrl() . '"><span class="homepageobject">' . $milestoneobj->getName() . '</span></a>' : '--') . '</td> </tr> <tr> <td valign="top">Completed on</td> <td valign="top">' . $completedon . '</td> </tr>' . (!empty($assigneesstring) ? '<tr> <td valign="top">Assignees</td> <td valign="top">' . $assigneesstring . '</td> </tr>' : '') . '<tr> <td valign="top"> </td> <td valign="top" style="max-width:500px;"><div style="overflow:auto;">' . $obj->getBody() . '</div></td> </tr> <tr><td colspan="2"> </td></tr> <tr> <td valign="top"> </td> <td valign="top"><b>Last comment associated with the ticket:</b><br>' . $last_comment_body . '</td> </tr> <tr><td colspan="2" style="border-bottom:1px dotted #000000;"> </td></tr> <tr><td colspan="2"> </td></tr>'; unset($obj); unset($projectobj); unset($milestone_id); unset($milestoneobj); unset($assignees); unset($owner_id); } } $fyi_updates_content = ''; if ($fyi_updates && is_array($fyi_updates)) { foreach ($fyi_updates[(string) $userid] as $object_id) { $baseobj = new ProjectObject($object_id); $type = $baseobj->getType(); switch ($baseobj->getType()) { case 'Page': $obj = new Page($object_id); break; } if ($obj) { $projectobj = new Project($obj->getProjectId()); $milestone_id = $obj->getMilestoneId(); if (!empty($milestone_id)) { $milestoneobj = new Milestone($milestone_id); } $subscribers = $obj->getSubscribers(); foreach ($subscribers as $subscriber) { $subscriberstring .= '<a target="_blank" href="' . $subscriber->getViewUrl() . '">' . $subscriber->getName() . '</a>, '; } if (!empty($subscriberstring)) { $subscriberstring = substr($subscriberstring, 0, -2); } $fyi_updates_content .= ' <tr> <td valign="top" width="150">' . $obj->getType() . '</td> <td valign="top"><a target="_blank" href="' . $obj->getViewUrl() . '"><span class="homepageobject">' . $obj->getName() . '</span></a></td> </tr> <tr> <td valign="top">Team » Project</td> <td valign="top"><a target="_blank" href="' . $projectobj->getOverviewUrl() . '"><span class="homepageobject">' . $projectobj->getName() . '</span></a> » ' . ($milestoneobj ? '<a target="_blank" href="' . $milestoneobj->getViewUrl() . '"><span class="homepageobject">' . $milestoneobj->getName() . '</span></a>' : '--') . '</td> </tr>' . (!empty($subscriberstring) ? '<tr> <td valign="top">Subscribers</td> <td valign="top">' . $subscriberstring . '</td> </tr>' : '') . '<tr> <td valign="top"> </td> <td valign="top" style="max-width:500px;"><div style="overflow:auto;">' . $obj->getBody() . '</div></td> </tr> <tr><td colspan="2" style="border-bottom:1px dotted #000000;"> </td></tr> <tr><td colspan="2"> </td></tr>'; } unset($obj); unset($projectobj); unset($milestoneobj); } } $home_tab_content = ''; if (!empty($tickets_due_content)) { $home_tab_content .= $tickets_due_table_start . $tickets_due_content . $tickets_due_table_end . '<br/><br/>'; $goto_links .= '<a href="#tickets_due">Go to Due Tickets & Tasks</a><br/>'; } if (!empty($action_request_content)) { $home_tab_content .= $action_request_table_start . $action_request_content . $action_request_table_end . '<br/><br/>'; $goto_links .= '<a href="#action_request">Go to Action Request Comment(s)</a><br/>'; } if (!empty($content)) { $home_tab_content .= $fyi_table_start . $content . $fyi_table_end . '<br/><br/>'; $goto_links .= '<a href="#fyi">Go to FYI Comment(s)</a><br/>'; } if (!empty($fyi_updates_content)) { $home_tab_content .= $fyi_updates_table_start . $fyi_updates_content . $fyi_updates_table_end . '<br/><br/>'; } if (!empty($completed_objects_content)) { $home_tab_content .= $completed_objects_table_start . $completed_objects_content . $completed_objects_table_end; $goto_links .= '<a href="#closed_tickets">Go to Closed Ticket(s)</a><br/>'; } if (!empty($goto_links)) { $goto_links .= '<br/><br/>'; } $goto_links .= '<input type="hidden" id="unvisited_fyi_comments" value="' . $fyi_comments_unvisited . '" /> <input type="hidden" id="unvisited_action_request_comments" value="' . $action_request_comments_unvisited . '" /> <input type="hidden" id="user_id" value="' . $user_id . '" />'; $css = ' <style> td a.anc01_visited, td a.anc02_visited {color:#FF00FF;} body {} span.homepageobject {} table tr {line-height:1.5;}: </style>'; $home_tab_content = $css . $top_message . '<br/><br/>' . $goto_links . $home_tab_content; mysql_close($link); return $home_tab_content; }
/** @test **/ public function it_dynamically_sets_the_table_name_based_on_the_plural_model_name() { $page = new Page(); $this->assertEquals('pages', $page->getName()); }
public function addPage(Page $page) { $this->pages[$page->getName()] = $page; }
/** * Get page properties form. * * @param Page $page * @return Curry_Form */ public static function getPagePropertiesForm(Page $page) { $form = new Curry_Form(array('action' => url('', array("module", "view", "page_id")), 'method' => 'post', 'elements' => array('pid_properties' => array('hidden'), 'name' => array('text', array('label' => 'Name', 'required' => true, 'value' => $page->getName(), 'description' => 'The name of the page is shown in menus. It\'s also used to generate the default title and URL for the page.')), 'url' => array('text', array('label' => 'URL', 'value' => $page->getUrl(), 'description' => 'The URL of the page. Subpages will be based on this URL.')), 'enabled' => array('checkbox', array('label' => 'Active', 'value' => $page->getEnabled(), 'description' => 'Only active pages can be accessed.')), 'visible' => array('checkbox', array('label' => 'Show in menu', 'value' => $page->getVisible(), 'description' => 'Enable this if you want the page to show up in menus.')), 'index' => array('checkbox', array('label' => 'Include in search index', 'value' => $page->getIncludeInIndex(), 'description' => 'Disable this if you dont want the page to be included in search results.'))))); $redirectValue = null; if ($page->getRedirectUrl()) { $redirectValue = "external"; } else { if ($page->getRedirectPageId()) { $redirectValue = $page->getRedirectPageId(); } else { $redirectValue = ""; } } // first-subpage $form->addSubForm(new Curry_Form_SubForm(array('legend' => 'Redirect', 'class' => $page->getRedirectMethod() ? '' : 'advanced', 'elements' => array('method' => array('select', array('label' => 'Method', 'multiOptions' => array('' => '[ None ]', PagePeer::REDIRECT_METHOD_CLONE => 'Clone', PagePeer::REDIRECT_METHOD_PERMANENT => 'Permanent redirect (301)', PagePeer::REDIRECT_METHOD_TEMPORARY => 'Temporary redirect (302)'), 'value' => $page->getRedirectMethod(), 'onchange' => '$("#redirect-page_id").attr("disabled", this.value == "").change();')), 'page_id' => array('select', array('label' => 'Page', 'multiOptions' => array("" => '[ First subpage ]', 'external' => '[ External ]') + PagePeer::getSelect(), 'value' => $redirectValue, 'onchange' => '$("#redirect-url").attr("disabled", $(this).attr("disabled") || this.value != "external");', 'disabled' => !$page->getRedirectMethod() ? 'disabled' : null)), 'url' => array('text', array('label' => 'External URL', 'value' => $page->getRedirectUrl() ? $page->getRedirectUrl() : 'http://', 'disabled' => !$page->getRedirectMethod() || $redirectValue != 'external' ? 'disabled' : null))))), 'redirect'); // Base page $advanced = Curry_Backend_Page::getPagePermission($page, PageAccessPeer::PERM_MODULES); $pageRevision = $page->getPageRevision(); list($basePageElement, $basePreviewElement) = self::getBasePageSelect($page, $pageRevision->getBasePageId(), $advanced); // Template $templates = Curry_Backend_Template::getTemplateSelect(); if ($pageRevision->getInheritRevision()) { $template = $pageRevision->getInheritRevision()->getInheritedProperty('Template', 'Undefined', false); $templates = array('' => '[ Inherited: ' . $template . ' ]') + $templates; } else { $templates = array('' => '[ None ]') + $templates; } $form->addSubForm(new Curry_Form_SubForm(array('legend' => 'Base page', 'class' => 'advanced', 'elements' => array('base_page_id' => $basePageElement, 'base_page_preview' => $basePreviewElement))), 'base_page'); $form->addSubForm(new Curry_Form_SubForm(array('legend' => 'Advanced', 'class' => 'advanced', 'elements' => array('image' => array('previewImage', array('label' => 'Image', 'value' => $page->getImage(), 'description' => 'Select an image to represent the page. This will show up when selecting base page.')), 'template' => array('select', array('label' => 'Page template', 'multiOptions' => $templates, 'value' => (string) $pageRevision->getTemplate(), 'description' => 'Override page template inherited from base page.')), 'langcode' => array('select', array('label' => 'Language', 'value' => $page->getLangcode(), 'multiOptions' => array('' => 'None (Inherit from parent)') + LanguageQuery::create()->find()->toKeyValue('Langcode', 'Name'), 'description' => 'Language of page. Inherited from closest parent if not set.')), 'model_route' => array('text', array('label' => 'Model route', 'value' => $page->getModelRoute(), 'description' => 'The model class used for routing.')), 'cache_lifetime' => array('text', array('label' => 'Cache lifetime', 'value' => $page->getCacheLifetime(), 'description' => 'Full page caching, specified in seconds (0 to disable, -1 for infinity).')), 'generator' => array('text', array('label' => 'Generator', 'value' => $page->getGenerator(), 'placeholder' => \Curry\App::getInstance()['defaultGeneratorClass']))))), 'advanced'); $form->addElement('submit', 'Save'); return $form; }
<div class="jumbotron" style="text-align: center;"> <br/> <br/> <img src="http://excelsion.net/xen/styles/excelsion%20custom/header/banner%20prime.png" class="img-responsive" alt="image" title="image" style="display: inline-block; height: 150px;"> </div> <div class="page-header" style="text-align: center;"> <h1 style="display: inline-block;"><?php echo $page->getTitle(); ?> </h1> </div> <?php $count = FALSE; if (strpos($page->getName(), 'mostwins') !== FALSE) { $count = TRUE; } ?> <div class="row"> <div class="col-md-6 col-md-offset-3"> <table class="table table-striped table-bordered"> <thead> <tr> <th>#</th> <th>Username</th> <th>Tickets</th> <th><?php echo $count ? "Total Wins" : "Winnings"; ?> </th>
public static function delete($page) { // set page order $objPage = new Page($page); $objOrder = new PageOrder(listDeleteAt($page, listLen($page, "/"), "/")); $objOrder->delete($objPage->getName()); $objOrder->save(); // delete page FileSystemHelper::delTree(getPath($page)); }