/** * Returns User Profile Link * @author Howard R <*****@*****.**> * @static * @param int $user_id * @param int $target_id * @return string */ public static function get_profile_link($user_id = '', $target_id = 0) { /** fetch currenr user data if user id is empty **/ if (trim($user_id) == '') { $user_id = self::get_cur_user_id(); } $user_data = self::get_user($user_id); $home_type = wpl_global::get_wp_option('show_on_front', 'posts'); $home_id = wpl_global::get_wp_option('page_on_front', 0); if (!$target_id) { $target_id = wpl_request::getVar('wpltarget', 0); } if ($target_id) { $url = wpl_global::add_qs_var('uid', $user_id, wpl_sef::get_page_link($target_id)); if ($home_type == 'page' and $home_id == $target_id) { $url = wpl_global::add_qs_var('wplview', 'profile_show', $url); } } else { $url = wpl_sef::get_wpl_permalink(true); $nosef = wpl_sef::is_permalink_default(); $wpl_main_page_id = wpl_sef::get_wpl_main_page_id(); if ($nosef or $home_type == 'page' and $home_id == $wpl_main_page_id) { $url = wpl_global::add_qs_var('wplview', 'profile_show', $url); $url = wpl_global::add_qs_var('uid', $user_id, $url); } else { $url .= urlencode($user_data->data->user_login) . '/'; } } return $url; }
/** * Adds WPL rewrite rukes * @author Howard <*****@*****.**> * @param array $rules * @return array */ public function wpl_insert_rewrite_rules($rules) { $wpl_rules = wpl_sef::get_main_rewrite_rule(); $newrules = array(); foreach ($wpl_rules as $wpl_rule) { $newrules[$wpl_rule['regex']] = $wpl_rule['url']; } return $newrules + $rules; }
/** * Returns Property Edit Link * @author Howard <*****@*****.**> * @static * @param int $property_id * @return boolean|string */ public static function get_property_edit_link($property_id = 0) { /** first validation **/ if (!$property_id) { return false; } $target_id = wpl_request::getVar('wpltarget', 0); if ($target_id) { $url = wpl_global::add_qs_var('pid', $property_id, wpl_sef::get_page_link($target_id)); } else { $url = wpl_global::add_qs_var('pid', $property_id, wpl_global::get_wpl_admin_menu('wpl_admin_add_listing')); } return $url; }
/** * Checke proeprty alias and 301 redirect the page to the correct link * @author Howard <*****@*****.**> * @param int $proeprty_id */ public function check_property_link($proeprty_id) { $wpl_qs = urldecode(wpl_global::get_wp_qvar('wpl_qs')); /** check property alias for avoiding duplicate content **/ $called_alias = $wpl_qs; $column = 'alias'; $field_id = wpl_flex::get_dbst_id($column, wpl_property::get_property_kind($proeprty_id)); $field = wpl_flex::get_field($field_id); if (isset($field->multilingual) and $field->multilingual and wpl_global::check_multilingual_status()) { $column = wpl_addon_pro::get_column_lang_name($column, wpl_global::get_current_language(), false); } $property_alias = $proeprty_id . '-' . urldecode(wpl_db::get($column, 'wpl_properties', 'id', $proeprty_id)); if (trim($property_alias) != '' and $called_alias != $property_alias) { $url = wpl_sef::get_wpl_permalink(true) . '/' . urlencode($property_alias); header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $url); exit; } }
/** * Returns WPL main page ID * @author Howard R <*****@*****.**> * @static * @return int */ public static function get_wpl_main_page_id() { $main_permalink = wpl_global::get_setting('main_permalink'); if (!is_numeric($main_permalink)) { $main_permalink = wpl_sef::get_post_id($main_permalink); } /** Multilingual **/ if (wpl_global::check_multilingual_status()) { $lang_permalink = wpl_addon_pro::get_lang_main_page(); if ($lang_permalink) { $main_permalink = $lang_permalink; } } return $main_permalink; }
/** * Returns RSS link of property listing * @author Steve A. <*****@*****.**> * @static * @return string|boolean */ public static function get_property_rss_link() { $nosef = wpl_sef::is_permalink_default(); $home_type = wpl_global::get_wp_option('show_on_front', 'posts'); $home_id = wpl_global::get_wp_option('page_on_front', 0); $wpl_main_page_id = wpl_sef::get_wpl_main_page_id(); if ($nosef or $home_type == 'page' and $home_id == $wpl_main_page_id) { $url = wpl_sef::get_wpl_permalink(true); $url = wpl_global::add_qs_var('wplview', 'features', $url); $url = wpl_global::add_qs_var('wpltype', 'rss', $url); } else { $url = wpl_sef::get_wpl_permalink(true) . 'features/rss'; } return $url; }