public function onSetupRoutes() { // preview InfinitasRouter::connect('/s/p/*', array('plugin' => 'short_urls', 'controller' => 'short_urls', 'action' => 'preview')); // redirect InfinitasRouter::connect('/s/*', array('plugin' => 'short_urls', 'controller' => 'short_urls', 'action' => 'view')); }
/** * This happens after a find happens. * * @param object $Model Model about to be saved. * @return boolean true if save should proceed, false otherwise * @access public */ public function afterFind($Model, $data) { // skip finds with more than one result. $skip = $Model->findQueryType == 'neighbors' || $Model->findQueryType == 'count' || empty($data) || isset($data[0][0]['count']) || isset($data[0]) && count($data) > 1 || !isset($data[0][$Model->alias][$Model->primaryKey]); if ($skip) { return $data; } if (isset($this->__settings[$Model->alias]['session_tracking']) && $this->__settings[$Model->alias]['session_tracking']) { $this->__session[$Model->alias] = CakeSession::read('Viewable.' . $Model->alias); } $user_id = AuthComponent::user('id'); $view['ViewCount'] = array('user_id' => $user_id > 0 ? $user_id : 0, 'model' => Inflector::camelize($Model->plugin) . '.' . $Model->name, 'foreign_key' => $data[0][$Model->alias][$Model->primaryKey], 'referer' => str_replace(InfinitasRouter::url('/'), '/', $Model->__referer)); $location = EventCore::trigger($this, 'GeoLocation.getLocation'); $location = current($location['getLocation']); foreach ($location as $k => $v) { $view['ViewCount'][$k] = $v; } $view['ViewCount']['year'] = date('Y'); $view['ViewCount']['month'] = date('m'); $view['ViewCount']['day'] = date('j'); $view['ViewCount']['day_of_year'] = date('z'); $view['ViewCount']['week_of_year'] = date('W'); $view['ViewCount']['hour'] = date('G'); // no leading 0 $view['ViewCount']['city'] = $view['ViewCount']['city'] ? $view['ViewCount']['city'] : 'Unknown'; /** * http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_dayofweek * sunday is 1, php uses 0 */ $view['ViewCount']['day_of_week'] = date('w') + 1; $Model->ViewCount->unBindModel(array('belongsTo' => array('GlobalCategory'))); $Model->ViewCount->create(); $Model->ViewCount->save($view); return $data; }
public function onSetupRoutes($event) { // dashboard InfinitasRouter::connect('/admin/mail', array('plugin' => 'emails', 'controller' => 'mail_systems', 'action' => 'dashboard', 'admin' => true)); // mail render InfinitasRouter::connect('/admin/mail/:slug/:account/:email', array('plugin' => 'emails', 'controller' => 'mail_systems', 'action' => 'get_mail', 'admin' => true), array('pass' => array('slug', 'account', 'email'))); // view InfinitasRouter::connect('/admin/inbox/:slug/:account/:email/:subject', array('plugin' => 'emails', 'controller' => 'mail_systems', 'action' => 'view', 'admin' => true), array('pass' => array('slug', 'account', 'email'))); // inbox InfinitasRouter::connect('/admin/inbox/:slug/:account', array('plugin' => 'emails', 'controller' => 'mail_systems', 'action' => 'index', 'admin' => true), array('pass' => array('slug', 'account'))); }
public function onSetupRoutes() { // infinitas is not installed $databaseConfig = APP . 'Config' . DS . 'database.php'; InfinitasRouter::connect('/install/finish/*', array('plugin' => 'installer', 'controller' => 'install', 'action' => 'finish')); InfinitasRouter::connect('/install/:step', array('plugin' => 'installer', 'controller' => 'install', 'action' => 'index'), array('pass' => array('step'))); if (!file_exists($databaseConfig) || filesize($databaseConfig) == 0) { if (!file_exists($databaseConfig)) { $file = fopen($databaseConfig, 'w'); fclose($file); } Configure::write('Session.save', 'php'); InfinitasRouter::connect('/', array('plugin' => 'installer', 'controller' => 'install', 'action' => 'index')); InfinitasRouter::connect('/*', array('plugin' => 'installer', 'controller' => 'install', 'action' => 'index')); } return true; }
public function onSetupRoutes() { /** * frontend urls */ InfinitasRouter::connect('/profile', array('plugin' => 'users', 'controller' => 'users', 'action' => 'view')); InfinitasRouter::connect('/login', array('plugin' => 'users', 'controller' => 'users', 'action' => 'login')); InfinitasRouter::connect('/logout', array('plugin' => 'users', 'controller' => 'users', 'action' => 'logout')); InfinitasRouter::connect('/register', array('plugin' => 'users', 'controller' => 'users', 'action' => 'register')); InfinitasRouter::connect('/activate-account', array('plugin' => 'users', 'controller' => 'users', 'action' => 'activate')); InfinitasRouter::connect('/forgot-password', array('plugin' => 'users', 'controller' => 'users', 'action' => 'forgot_password')); InfinitasRouter::connect('/reset-password', array('plugin' => 'users', 'controller' => 'users', 'action' => 'reset_password')); /** * admin urls */ InfinitasRouter::connect('/admin/users/users/index', array('plugin' => 'users', 'controller' => 'users', 'action' => 'index', 'admin' => true, 'prefix' => 'admin')); InfinitasRouter::connect('/admin/users', array('plugin' => 'users', 'controller' => 'users', 'action' => 'dashboard', 'admin' => true, 'prefix' => 'admin')); InfinitasRouter::connect('/admin/login', array('plugin' => 'users', 'controller' => 'users', 'action' => 'login', 'admin' => true, 'prefix' => 'admin')); InfinitasRouter::connect('/admin/logout', array('plugin' => 'users', 'controller' => 'users', 'action' => 'logout', 'admin' => true, 'prefix' => 'admin')); }
<?php App::uses('InfinitasRouter', 'Routes.Routing'); App::uses('Router', 'Routing'); InfinitasRouter::connect('/comment/*', array('plugin' => 'comments', 'controller' => 'infinitas_comments', 'action' => 'comments')); InfinitasRouter::setup(); $prefixes = Router::prefixes(); $plugins = CakePlugin::loaded(); App::uses('PluginShortRoute', 'Routing/Route'); foreach ($plugins as $key => $value) { $plugins[$key] = Inflector::underscore($value); } $pluginPattern = implode('|', $plugins); $match = array('plugin' => $pluginPattern); $shortParams = array('routeClass' => 'PluginShortRoute', 'plugin' => $pluginPattern); foreach ($prefixes as $prefix) { $params = array('prefix' => $prefix, $prefix => true); $indexParams = $params + array('action' => 'index'); InfinitasRouter::connect("/{$prefix}/:plugin", $indexParams, $shortParams); InfinitasRouter::connect("/{$prefix}/:plugin/:controller", $indexParams, $match); InfinitasRouter::connect("/{$prefix}/:plugin/:controller/dashboard", $params + array('action' => 'dashboard'), $match); InfinitasRouter::connect("/{$prefix}/:plugin/:controller/:action/*", $params, $match); } InfinitasRouter::connect('/:plugin', array('action' => 'index'), $shortParams); InfinitasRouter::connect('/:plugin/:controller', array('action' => 'index'), $match); InfinitasRouter::connect('/:plugin/:controller/:action/*', array(), $match); $namedConfig = InfinitasRouter::namedConfig(); if ($namedConfig['rules'] === false) { InfinitasRouter::connectNamed(true); } unset($namedConfig, $params, $indexParams, $prefix, $prefixes, $shortParams, $match, $pluginPattern, $plugins, $key, $value);
public function onSetupRoutes($event, $data = null) { InfinitasRouter::connect('/admin/contents', array('plugin' => 'contents', 'controller' => 'global_contents', 'action' => 'dashboard', 'admin' => true, 'prefix' => 'admin')); }
public function onSetupRoutes($event, $data = null) { InfinitasRouter::connect('/admin/newsletter', array('admin' => true, 'prefix' => 'admin', 'plugin' => 'newsletter', 'controller' => 'newsletters', 'action' => 'dashboard')); }
public function onSetupRoutes() { InfinitasRouter::connect('/admin/server_status', array('plugin' => 'server_status', 'controller' => 'server_status', 'action' => 'dashboard', 'admin' => true, 'prefix' => 'admin')); }
public function onSetupRoutes() { InfinitasRouter::connect('/admin', array('plugin' => 'management', 'controller' => 'management', 'action' => 'dashboard', 'prefix' => 'admin', 'admin' => 1)); InfinitasRouter::connect('/admin/management', array('plugin' => 'management', 'controller' => 'management', 'action' => 'site', 'admin' => true, 'prefix' => 'admin')); }
/** * @brief save a maker for a later redirect * * @access public * * This will set a session var for the current page * * @return void */ public function saveRedirectMarker() { $var = $this->lastPageRedirectVar(); $lastPage = $this->Session->read($var); if (!$lastPage && InfinitasRouter::url($lastPage) != $this->referer()) { $this->Session->write($var, $this->referer()); } }
/** * Slug urls. * * Use this method to figure out what vars are needed for the * controller / action pair you need to get to. You will get some data, * normally in the form of Model::find(first) that you can use. * */ public function onSlugUrl($event, $data = null, $type = null) { if (empty($data) || $type == null) { return false; } $plugin = str_replace('Events', '', get_class($this)); $data = Set::flatten($data); $urlConfig = Configure::read($plugin . '.slugUrl.' . $type); if (!$urlConfig) { throw new Exception(sprintf('Configuration for url types "%s.%s" not found', $plugin, $type)); } $url = !empty($urlConfig['url']) ? $urlConfig['url'] : array(); unset($urlConfig['url']); $url['plugin'] = Inflector::underscore($plugin); $urlParams = array(); foreach ($urlConfig as $key => $value) { if (!empty($data[$key])) { $urlParams[$value] = $data[$key]; } } return InfinitasRouter::bestMatch($url, $urlParams); }
public function onSetupRoutes() { InfinitasRouter::connect('/feeds/subscribe/:slug', array('plugin' => 'feed', 'controller' => 'feeds', 'action' => 'view', 'ext' => 'rss'), array('pass' => 'slug')); InfinitasRouter::connect('/feeds/view/:slug', array('plugin' => 'feed', 'controller' => 'feeds', 'action' => 'view', 'ext' => ''), array('pass' => 'slug')); }
public function onSetupRoutes($event, $data = null) { InfinitasRouter::connect('/admin/view_counter', array('plugin' => 'view_counter', 'controller' => 'view_counter_views', 'action' => 'dashboard', 'admin' => true)); }
/** * create the items in the list. * * @param array $array part of the tree * @param string $model the alias of the model being used * * @return part of the formated tree. */ private function __buildDropdownMenu($array = array(), $model = '') { if (empty($array['MenuItem']) || ($model = '')) { $this->errors[] = 'nothing passed to generate'; return false; } $currentCss = $suffix = ''; if ($this->_menuLevel == 0) { $suffix = '0'; } $isSeperator = $array['MenuItem']['name'] == '--' ? true : false; if ($isSeperator) { $array['MenuItem']['item'] = ''; } $linkName = __($array['MenuItem']['name']); if (!empty($array['children'])) { $linkName = '<span>' . $linkName . '</span>'; } $class = 'pureCssMenui' . $suffix; if ($isSeperator) { $class .= ' seperator'; } $this->_menuData .= '<li class="' . $class . '">'; if (!$isSeperator) { $menuLink = $this->url($array); if ($menuLink == $this->here || is_array($menuLink) && ($menuLink['controller'] == $this->request->params['controller'] || $menuLink['plugin'] == $this->request->params['plugin'])) { $currentCss = ' current'; $this->_currentCssDone = true; } if (!empty($currentCss) && $this->_currentCssDone === false && Router::url($menuLink) == $this->here) { $currentCss = ' current'; $this->_currentCssDone = true; } $this->_menuData .= $this->Html->link($linkName, InfinitasRouter::url($menuLink), array('class' => 'pureCssMenui' . $suffix . $currentCss, 'escape' => false)); if (!empty($array['children'])) { $this->_menuData .= '<ul class="pureCssMenum">'; foreach ($array['children'] as $k => $v) { $this->_menuLevel = 1; $this->__buildDropdownMenu($v, $model); } $this->_menuData .= '</ul>'; } $this->_menuData .= '</a>'; } else { $this->_menuData .= $linkName; } $this->_menuData .= '</li>'; }
public function onSetupRoutes() { InfinitasRouter::connect('/sitemap', array('plugin' => 'webmaster', 'controller' => 'site_maps', 'action' => 'index', 'ext' => 'xml')); }
public function onSetupRoutes() { InfinitasRouter::connect('/admin/content-locked', array('plugin' => 'locks', 'controller' => 'locks', 'action' => 'locked', 'admin' => true, 'prefix' => 'admin')); }