protected static function validInput(array &$data) { if (!isset($data['prefix']) or !is_string($data['prefix'])) { return FALSE; } $data['prefix'] = $data['prefix']; $data['regex'] = $data['prefix'] . '/' . self::REGEXP; $data['class'] = __CLASS__; $data['controller'] = self::CONTROLLER; return parent::validInput($data); }
protected static function validInput(array &$data) { if (!parent::validInput($data) or !isset($data['nodeid']) or !is_numeric($data['nodeid'])) { return FALSE; } $node = vB_Library::instance('node')->getNodeBare($this->arguments['nodeid']); if (empty($node) or !empty($node['errors'])) { return FALSE; } $this->title = $node['title']; }
protected static function validInput(array &$data) { if (!isset($data['pageid']) or !is_numeric($data['pageid']) or !isset($data['prefix'])) { return FALSE; } $data['regex'] = $data['prefix'] . '/' . self::REGEXP; $data['class'] = __CLASS__; $data['controller'] = 'page'; $data['action'] = 'index'; $data['arguments'] = serialize(array('pageid' => $data['pageid'], 'tab' => '$tab')); return parent::validInput($data); }
protected static function validInput(array &$data) { if (!isset($data['contentid']) or !is_numeric($data['contentid']) or !isset($data['prefix']) or !isset($data['action'])) { return FALSE; } $data['regex'] = $data['prefix']; $data['class'] = __CLASS__; $data['controller'] = 'search'; $data['arguments'] = ''; //serialize(array('pageid' => $data['contentid'])); return parent::validInput($data); }
protected static function validInput(array &$data) { if (!parent::validInput($data) or !isset($data['nodeid']) or !is_numeric($data['nodeid'])) { return FALSE; } $data['pageid'] = intval($data['pageid']); $data['prefix'] = $data['prefix']; $data['regex'] = $data['prefix'] . '/' . self::REGEXP; $data['arguments'] = serialize(array('nodeid' => '$nodeid', 'pageid' => $data['pageid'])); $data['class'] = __CLASS__; $data['controller'] = 'page'; $data['action'] = 'index'; // this field will be used to delete the route when deleting the channel (contains channel id) unset($data['pageid']); return parent::validInput($data); }
protected static function validInput(array &$data) { if (!isset($data['pageid']) or !is_numeric($data['pageid']) or !isset($data['prefix'])) { return false; } $data['regex'] = $data['prefix'] . '/' . self::REGEXP; $data['class'] = __CLASS__; $data['controller'] = 'page'; $data['action'] = 'index'; $arguments = unserialize($data['arguments']); if (!$arguments) { return false; } $arguments['pageid'] = $data['pageid']; $data['arguments'] = serialize($arguments); $result = parent::validInput($data); return $result; }
protected static function validInput(array &$data) { // ignore page number unset($data['pagenum']); if (isset($data['channelid'])) { $data['nodeid'] = $data['channelid']; unset($data['channelid']); } if (!isset($data['nodeid']) or !is_numeric($data['nodeid']) or !isset($data['pageid']) or !is_numeric($data['pageid'])) { return FALSE; } $data['nodeid'] = intval($data['nodeid']); $data['pageid'] = intval($data['pageid']); if (!isset($data['prefix'])) { $newChannel = vB_Library::instance('node')->getNodeBare($data['nodeid']); //use urlident if we have it. if (empty($data['urlident'])) { $url = self::createPrefix($newChannel['parentid'], $newChannel['title'], false); } else { $url = self::createPrefix($newChannel['parentid'], $newChannel['urlident'], true); } $data['prefix'] = $url; } // special case, when prefix is empty (it's a home page route), the page shouldn't have a leading / if ($data['prefix'] === '') { $data['regex'] = '(?:page(?P<pagenum>[0-9]+))?'; } else { $data['regex'] = preg_quote($data['prefix']) . '(?:/page(?P<pagenum>[0-9]+))?'; } $data['class'] = __CLASS__; $data['controller'] = 'page'; $data['action'] = 'index'; $data['arguments'] = serialize(array('channelid' => $data['nodeid'], 'nodeid' => $data['nodeid'], 'pagenum' => '$pagenum', 'pageid' => $data['pageid'])); // this field will be used to delete the route when deleting the channel (contains channel id) $data['contentid'] = $data['nodeid']; unset($data['nodeid']); unset($data['pageid']); return parent::validInput($data); }
protected static function validInput(array &$data) { if (!isset($data['contentid']) or !is_numeric($data['contentid']) or !isset($data['prefix'])) { return FALSE; } $data['regex'] = $data['prefix']; $data['class'] = __CLASS__; /************************************************************************************************************/ /** TODO: This class is being used for search routes since rev 58051 (fix for VBV-176) which doesn't * seem correct since they use a different controller and action. * This is a temporal fix to prevent overwriting the controller and action, but eventually we'll need * to use a different route class. I prefer the route class to always set the controller and action. */ if (!isset($data['controller'])) { $data['controller'] = 'page'; } if (!isset($data['action'])) { $data['action'] = 'index'; } /************************************************************************************************************/ //in this case the contentid is the pageid $data['arguments'] = serialize(array('pageid' => $data['contentid'])); return parent::validInput($data); }
protected static function validInput(array &$data) { // ignore page number unset($data['pagenum']); if (!isset($data['channelid']) or !is_numeric($data['channelid']) or !isset($data['pageid']) or !is_numeric($data['pageid'])) { return FALSE; } $data['channelid'] = intval($data['channelid']); $data['pageid'] = intval($data['pageid']); if (!isset($data['prefix'])) { $channelUrl = self::getChannelURL($data['channelid']); if ($channelUrl and $channelUrl[0] == '/') { $channelUrl = substr($channelUrl, 1); } $data['prefix'] = $channelUrl; $data['regex'] = preg_quote($channelUrl) . '/' . self::REGEXP; $data['arguments'] = serialize(array('nodeid' => '$nodeid', 'pagenum' => '$pagenum', 'contentpagenum' => '$contentpagenum', 'channelid' => $data['channelid'], 'pageid' => $data['pageid'])); } else { if (!isset($data['nodeid'])) { // when modifying the url for a conversation page, we need to store the conversation node id return FALSE; } // We have conversation route that's getting a special URL. Ex: /mySpecialTopic instead of /channelX/nodeId-topicTitle $data['regex'] = preg_quote($data['prefix']) . self::CUSTOM_URL_REGEXP; // omit appending '/' since the regex begins with it $data['arguments'] = serialize(array('nodeid' => $data['nodeid'], 'customUrl' => true, 'pagenum' => '$pagenum', 'contentpagenum' => '$contentpagenum', 'channelid' => $data['channelid'], 'pageid' => $data['pageid'])); unset($data['nodeid']); } $data['class'] = __CLASS__; $data['controller'] = 'page'; $data['action'] = 'index'; // this field will be used to delete the route when deleting the channel (contains channel id) $data['contentid'] = $data['channelid']; unset($data['channelid']); unset($data['pageid']); return parent::validInput($data); }