Exemplo n.º 1
1
 /**
  * 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;
 }
Exemplo n.º 2
0
 /**
  * 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;
 }
Exemplo n.º 3
0
 /**
  * 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;
 }
Exemplo n.º 4
0
 /**
  * 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;
     }
 }
Exemplo n.º 5
0
 /**
  * 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;
 }
Exemplo n.º 6
0
 /**
  * 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;
 }