/** * Creates a link to a milestone item view * * @param string $milestone_slug The milestone slug * @param string $project_slug The project slug. Optional * * @return string $link The link */ public static function getMilestoneRoute($milestone_slug, $project_slug = '') { if (!$project_slug) { $project_slug = PFApplicationHelper::getActiveProjectId(); } $link = 'index.php?option=com_pfmilestones&view=milestone&filter_project=' . $project_slug . '&id=' . $milestone_slug; // Get the id from the slug if (strrpos($milestone_slug, ':') !== false) { $slug_parts = explode(':', $milestone_slug); $milestone_id = (int) $slug_parts[0]; } else { $milestone_id = (int) $milestone_slug; } $needles = array('id' => array($milestone_slug)); $item = PFApplicationHelper::itemRoute($needles, 'com_pfmilestones.milestone'); if (!$item) { $app = JFactory::getApplication(); // Stay on current menu item if we are viewing a milestone list if ($app->input->get('option') == 'com_pfmilestones' && $app->input->get('view') == 'milestones') { $item = PFApplicationHelper::getActiveMenuItemId(); } else { // Find overview menu item $item = PFApplicationHelper::itemRoute(null, 'com_pfmilestones.milestones'); } } if ($item) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to a user item view * * @param string $id The user slug * * @return string $link The link */ public static function getUserRoute($id) { static $dest = null; if (is_null($dest)) { $params = JComponentHelper::getParams('com_projectfork'); $dest = $params->get('user_profile_link'); } $link = null; switch ($dest) { case 'cb': $link = self::getCBRoute($id); break; case 'js': $link = self::getJSRoute($id); break; case 'kunena': $link = self::getKRoute($id); break; } if (!empty($link)) { return $link; } // Default - Projectfork Profile $link = 'index.php?option=com_pfusers&view=user'; $link .= '&id=' . $id; $needles = array('id' => array((int) $id)); if ($item = PFApplicationHelper::itemRoute($needles, 'com_pfusers.user')) { $link .= '&Itemid=' . $item; } elseif ($item = PFApplicationHelper::itemRoute(null, 'com_pfusers.users')) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to the projects overview * * @return string $link The link */ public static function getProjectsRoute() { $link = 'index.php?option=com_pfprojects&view=projects'; if ($item = PFApplicationHelper::itemRoute(null, 'com_pfprojects.projects')) { $link .= '&Itemid=' . $item; } return $link; }
public static function getProjectEditRoute($project) { $link = 'index.php?option=com_pfprojects&task=form.edit&id=' . $project; if ($item = PFApplicationHelper::itemRoute(null, 'com_pfprojects.form')) { $link .= '&Itemid=' . $item; } elseif ($item = PFApplicationHelper::itemRoute(null, 'com_pfprojects.projects')) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to the albums overview * * @return string $link The link */ public static function getAlbumsRoute($project = '') { $link = 'index.php?option=com_pfdesigns&view=albums'; if ($project) { $link .= '&filter_project=' . $project; } if ($item = PFApplicationHelper::itemRoute(null, 'com_pfdesigns.albums')) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to a milestone item view * * @param string $id The milestone slug * @param string $project The project slug. Optional * * @return string $link The link */ public static function getMilestoneRoute($id, $project = '') { $link = 'index.php?option=com_pfmilestones&view=milestone&filter_project=' . $project . '&id=' . $id; $needles = array('id' => array((int) $id)); if ($item = PFApplicationHelper::itemRoute($needles, 'com_pfmilestones.milestone')) { $link .= '&Itemid=' . $item; } elseif ($item = PFApplicationHelper::itemRoute(null, 'com_pfmilestones.milestones')) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to the timesheet overview * * @param string $project The project slug. Optional * * @return string $link The link */ public static function getTimesheetRoute($project = '') { $link = 'index.php?option=com_pftime&view=timesheet'; $link .= '&filter_project=' . $project; $needles = array('filter_project' => array((int) $project)); if ($item = PFApplicationHelper::itemRoute($needles, 'com_pftime.timesheet')) { $link .= '&Itemid=' . $item; } elseif ($item = PFApplicationHelper::itemRoute(null, 'com_pftime.timesheet')) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to a topic item view * * @param string $id The topic slug * @param string $project The project slug. Optional * * @return string $link The link */ public static function getRepliesRoute($id, $project = '') { $link = 'index.php?option=com_pfforum&view=replies'; $link .= '&filter_project=' . $project; $link .= '&filter_topic=' . $id; $needles = array('id' => array((int) $id)); if ($item = PFApplicationHelper::itemRoute($needles, 'com_pfforum.topics')) { $link .= '&Itemid=' . $item; } elseif ($item = PFApplicationHelper::itemRoute(null, 'com_pfforum.topics')) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to a task item view * * @param string $id The task slug * @param string $project The project slug. Optional * @param string $milestone The milestone slug. Optional * @param string $list The list slug. Optional * * @return string $link The link */ public static function getTaskRoute($id, $project = '', $milestone = '', $list = '') { $link = 'index.php?option=com_pftasks&view=task'; $link .= '&filter_project=' . $project; $link .= '&filter_milestone=' . $milestone; $link .= '&filter_tasklist=' . $list; $link .= '&id=' . $id; $needles = array('id' => array((int) $id)); if ($item = PFApplicationHelper::itemRoute($needles, 'com_pftasks.task')) { $link .= '&Itemid=' . $item; } elseif ($item = PFApplicationHelper::itemRoute(null, 'com_pftasks.tasks')) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to the project form * * @param string $project_slug The project slug. Optional * * @return string $link The link */ public static function getProjectEditRoute($project_slug = '') { $link = 'index.php?option=com_pfprojects&task=form.edit&id=' . $project_slug; // Get the form menu item $item = PFApplicationHelper::itemRoute(null, 'com_pfprojects.form'); if (!$item) { $app = JFactory::getApplication(); // Stay on current menu item if we are viewing a project list if ($app->input->get('option') == 'com_pfprojects' && $app->input->get('view') == 'projects') { $item = PFApplicationHelper::getActiveMenuItemId(); } else { // Find overview menu item $item = PFApplicationHelper::itemRoute(null, 'com_pfprojects.projects'); } } if ($item) { $link .= '&Itemid=' . $item; } return $link; }
/** * Creates a link to a note revision list * * @param string $note The note slug * @param string $project The project slug. Optional * @param string $dir The directory slug. Optional * @param string $path The full directory path. Optional * * * @return string $link The link */ public static function getNoteRevisionsRoute($note, $project = '', $dir = '', $path = '') { $path = self::getRepositoryPath($project, $path); $link = 'index.php?option=com_pfrepo&view=noterevisions'; $link .= '&filter_project=' . $project; $link .= '&filter_parent_id=' . $dir; $link .= '&path=' . $path; $link .= '&id=' . $note; $item = PFApplicationHelper::itemRoute(null, 'com_pfrepo.repository'); if ($item) { $link .= '&Itemid=' . $item; } return $link; }