/** * Smarty {seo_rewrite module=""} function plugin * * Type: function * Name: SEO REWRITE METAS * Date: JUNY 29, 2011 * Update 25/07/2011 * Purpose: * Examples: {seo_rewrite config_param=['level'=>'3','idmetas'=>'1','default'=>''] category="" subcategory="" record=""} * Output: * @link * @author Gerits Aurelien * @version 1.1 * @param array * @param Smarty * @return string */ function smarty_function_seo_rewrite($params, $template) { if (!isset($params['config_param'])) { trigger_error("config_param: missing 'config_param' parameter"); return; } if (is_array($params['config_param'])) { $tabs = $params['config_param']; } $record = $params['record']; $category = $params['category']; $subcategory = $params['subcategory']; if (isset($_GET['magixmod'])) { $magixmod = magixcjquery_filter_var::clean($_GET['magixmod']); } $filename = substr($_SERVER['SCRIPT_NAME'], 1); $position = strpos($filename, '.'); $attribute = substr($filename, 0, $position); if ($attribute == 'plugins') { $module = $attribute . ':' . $magixmod; } else { $module = $attribute; } $iniseo = new frontend_controller_seo($module, $tabs['level'], $tabs['idmetas'], frontend_model_template::current_Language()); if ($iniseo->replace_var_rewrite($record, $category, $subcategory) != null) { return $iniseo->replace_var_rewrite($record, $category, $subcategory); } else { if (!isset($tabs['default'])) { trigger_error("default: missing 'default' parameter"); return; } else { return $tabs['default']; } } }
/** * function construct */ function __construct() { $FilterRequest = new magixcjquery_filter_request(); $CleanUrl = new magixcjquery_url_clean(); if ($FilterRequest->isGet('getnews')) { $this->idNews = magixcjquery_filter_var::clean($_GET['getnews']); } if ($FilterRequest->isGet('getdate')) { $this->dateNews = $_GET['getdate']; } $this->idPagination = 1; if ($FilterRequest->isGet('page') and is_numeric($_GET['page'])) { $this->idPagination = intval($_GET['page']); } if ($FilterRequest->isGet('tag')) { $this->idTag = $CleanUrl->make2tagString($_GET['tag']); } }
/** * Combine function trim and strip_tag for input * * @param string $str * @return string */ public static function inputTagClean($str) { return magixcjquery_filter_var::trimText(magixcjquery_filter_var::clean($str)); }
/** * URL cleanup * * @param string $str URL to tidy * @param boolean $keep_slashes Keep slashes in URL * @param boolean $keep_spaces Keep spaces in URL * @return string */ public static function tidyMakeClean($str, $keep_slashes = true, $keep_spaces = false) { $str = magixcjquery_filter_var::clean($str); $str = str_replace(array('?', '&', '#', '=', '+', '<', '>', '"', '%'), '', $str); $str = str_replace("'", ' ', $str); $str = preg_replace('/[\\s]+/', ' ', magixcjquery_filter_var::trimText($str)); if (!$keep_slashes) { $str = str_replace('/', '-', $str); } if (!$keep_spaces) { $str = str_replace(' ', '-', $str); } $str = preg_replace('/[-]+/', '-', $str); # Remove path changes in URL $str = preg_replace('%^/%', '', $str); $str = preg_replace('%\\.+/%', '', $str); return $str; }