示例#1
0
 function get_search_params($sm, $in_params)
 {
     $params = array();
     if (!empty($in_params['search_limit'])) {
         $params['search_limit'] = $in_params['search_limit'];
     } else {
         $params['search_limit'] = 10;
     }
     $params['search_options'] = array();
     if (isset($in_params['search_options']) && is_array($in_params['search_options']) && !empty($in_params['search_options'])) {
         $params['search_options'] = $in_params['search_options'];
     }
     if (defined('VIVVO_ADMIN_MODE')) {
         if (isset($in_params['search_status']) && $in_params['search_status'] != '') {
             $params['search_options']['search_status'] = $in_params['search_status'];
         }
     } else {
         $params['search_options']['search_created_filter'] = 1;
         if (isset($in_params['search_status']) && $in_params['search_status'] != 0) {
             $params['search_options']['search_status'] = $in_params['search_status'];
         } else {
             $params['search_options']['search_status_limit'] = 1;
         }
     }
     if (!empty($in_params['search_id'])) {
         $params['search_options']['search_id'] = $in_params['search_id'];
     }
     if (!empty($in_params['search_cid'])) {
         $params['search_options']['search_cid'] = $in_params['search_cid'];
     }
     if (!empty($in_params['search_exclude_cid'])) {
         $params['search_options']['search_exclude_cid'] = $in_params['search_exclude_cid'];
     }
     if (!empty($in_params['search_author'])) {
         $params['search_options']['search_author'] = $in_params['search_author'];
     }
     if (isset($in_params['search_author_exact_name']) && $in_params['search_author_exact_name'] == 1) {
         $params['search_options']['search_author_exact_name'] = $in_params['search_author_exact_name'];
     }
     if (!empty($in_params['search_query'])) {
         $params['search_options']['search_query'] = $in_params['search_query'];
     }
     if (isset($in_params['search_title_only']) && $in_params['search_title_only'] == 1) {
         $params['search_options']['search_title_only'] = $in_params['search_title_only'];
     }
     if (!empty($in_params['search_search_date'])) {
         $params['search_options']['search_search_date'] = $in_params['search_search_date'];
     }
     if (isset($in_params['search_before_after']) && $in_params['search_before_after'] == 1) {
         $params['search_options']['search_before_after'] = $in_params['search_before_after'];
     }
     if (!empty($in_params['search_by_date'])) {
         $params['search_options']['search_by_date'] = $in_params['search_by_date'];
     }
     if (!empty($in_params['search_by_year'])) {
         $params['search_options']['search_by_year'] = $in_params['search_by_year'];
     }
     if (!empty($in_params['search_by_month'])) {
         $params['search_options']['search_by_month'] = $in_params['search_by_month'];
     }
     if (!empty($in_params['search_by_day'])) {
         $params['search_options']['search_by_day'] = $in_params['search_by_day'];
     }
     if (!empty($in_params['search_tag'])) {
         $params['search_options']['search_tag'] = $in_params['search_tag'];
     }
     if (!empty($in_params['search_tag_name'])) {
         $params['search_options']['search_tag_name'] = $in_params['search_tag_name'];
     }
     if (!empty($in_params['search_tag_id'])) {
         $params['search_options']['search_tag_id'] = $in_params['search_tag_id'];
     }
     if (!empty($in_params['search_all_tag_ids'])) {
         $params['search_options']['search_all_tag_ids'] = $in_params['search_all_tag_ids'];
     }
     if (isset($in_params['search_tags_group_id'])) {
         $params['search_options']['search_tags_group_id'] = $in_params['search_tags_group_id'];
     }
     if (isset($in_params['search_topic_id'])) {
         $params['search_options']['search_tags_group_id'] = $in_params['search_topic_id'];
     }
     if (!empty($in_params['search_topic'])) {
         $params['search_options']['search_topic'] = $in_params['search_topic'];
     }
     if (!empty($in_params['search_user_id'])) {
         $params['search_options']['search_user_id'] = $in_params['search_user_id'];
     }
     if (!empty($in_params['search_related'])) {
         $params['search_options']['search_related'] = $in_params['search_related'];
     }
     if (!empty($in_params['search_rss_feed'])) {
         $params['search_options']['search_rss_feed'] = $in_params['search_rss_feed'];
     }
     if (!empty($in_params['search_user_group_id'])) {
         $params['search_options']['search_user_group_id'] = $in_params['search_user_group_id'];
     }
     if (!empty($in_params['search_not_user_group_id'])) {
         $params['search_options']['search_not_user_group_id'] = $in_params['search_not_user_group_id'];
     }
     if (!empty($in_params['search_schedule_id'])) {
         $params['search_options']['search_schedule_id'] = $in_params['search_schedule_id'];
     }
     if (!empty($in_params['search_schedule_duration'])) {
         $params['search_options']['search_schedule_duration'] = $in_params['search_schedule_duration'];
     }
     if (!empty($in_params['search_schedule_year'])) {
         $params['search_options']['search_schedule_year'] = $in_params['search_schedule_year'];
     }
     if (!empty($in_params['search_schedule_id_in'])) {
         $params['search_options']['search_schedule_id_in'] = $in_params['search_schedule_id_in'];
     }
     if (!empty($in_params['search_schedule_duration_in'])) {
         $params['search_options']['search_schedule_duration_in'] = $in_params['search_schedule_duration_in'];
     }
     if (!empty($in_params['search_schedule_year_in'])) {
         $params['search_options']['search_schedule_year_in'] = $in_params['search_schedule_year_in'];
     }
     if (!empty($in_params['search_schedule_id_not_in'])) {
         $params['search_options']['search_schedule_id_not_in'] = $in_params['search_schedule_id_not_in'];
     }
     if (!empty($in_params['search_schedule_duration_not_in'])) {
         $params['search_options']['search_schedule_duration_not_in'] = $in_params['search_schedule_duration_not_in'];
     }
     if (!empty($in_params['search_schedule_year_not_in'])) {
         $params['search_options']['search_schedule_year_not_in'] = $in_params['search_schedule_year_not_in'];
     }
     if (!empty($in_params['search_schedule_duration_lt'])) {
         $params['search_options']['search_schedule_duration_lt'] = $in_params['search_schedule_duration_lt'];
     }
     if (!empty($in_params['search_schedule_duration_lte'])) {
         $params['search_options']['search_schedule_duration_lte'] = $in_params['search_schedule_duration_lte'];
     }
     if (!empty($in_params['search_schedule_duration_gt'])) {
         $params['search_options']['search_schedule_duration_gt'] = $in_params['search_schedule_duration_gt'];
     }
     if (!empty($in_params['search_schedule_duration_gte'])) {
         $params['search_options']['search_schedule_duration_gte'] = $in_params['search_schedule_duration_gte'];
     }
     if (!empty($in_params['search_schedule_year_lt'])) {
         $params['search_options']['search_schedule_year_lt'] = $in_params['search_schedule_year_lt'];
     }
     if (!empty($in_params['search_schedule_year_lte'])) {
         $params['search_options']['search_schedule_year_lte'] = $in_params['search_schedule_year_lte'];
     }
     if (!empty($in_params['search_schedule_year_gt'])) {
         $params['search_options']['search_schedule_year_gt'] = $in_params['search_schedule_year_gt'];
     }
     if (!empty($in_params['search_schedule_year_gte'])) {
         $params['search_options']['search_schedule_year_gte'] = $in_params['search_schedule_year_gte'];
     }
     if (!empty($in_params['search_schedule_minute'])) {
         $params['search_options']['search_schedule_minute'] = $in_params['search_schedule_minute'];
     }
     if (!empty($in_params['search_schedule_hour'])) {
         $params['search_options']['search_schedule_hour'] = $in_params['search_schedule_hour'];
     }
     if (!empty($in_params['search_schedule_dom'])) {
         $params['search_options']['search_schedule_dom'] = $in_params['search_schedule_dom'];
     }
     if (!empty($in_params['search_schedule_month'])) {
         $params['search_options']['search_schedule_month'] = $in_params['search_schedule_month'];
     }
     if (!empty($in_params['search_schedule_dow'])) {
         $params['search_options']['search_schedule_dow'] = $in_params['search_schedule_dow'];
     }
     if (!empty($in_params['search_schedule_date'])) {
         $params['search_options']['search_schedule_date'] = $in_params['search_schedule_date'];
     }
     if (!empty($in_params['search_exclude_id'])) {
         $params['search_options']['search_exclude_id'] = $in_params['search_exclude_id'];
     }
     if (!empty($in_params['search_sort_by'])) {
         $params['search_sort_by'] = $in_params['search_sort_by'];
     } else {
         $params['search_sort_by'] = 'order_num';
     }
     if (isset($in_params['search_order']) && !empty($in_params['search_order'])) {
         $params['search_order'] = $in_params['search_order'];
     } else {
         $params['search_order'] = 'descending';
     }
     if (isset($this) && is_a($this, 'Articles_list')) {
         if (!isset($in_params['search_options']) || !is_array($in_params['search_options']) || empty($in_params['search_options'])) {
             $params['search_options']['generic_search'] = $this->generic_get_search_params($sm, VIVVO_DB_PREFIX . $this->_sql_table, $in_params);
         }
     } else {
         if (!isset($in_params['search_options']) || !is_array($in_params['search_options']) || empty($in_params['search_options'])) {
             $params['search_options']['generic_search'] = Articles_list::generic_get_search_params($sm, VIVVO_DB_PREFIX . 'articles', $in_params);
         }
     }
     if (isset($in_params['pg'])) {
         $cur_page = (int) $in_params['pg'];
     }
     if (empty($cur_page)) {
         $cur_page = 1;
     }
     $params['pg'] = $cur_page;
     $params['offset'] = ($cur_page - 1) * $params['search_limit'];
     if (empty($params['offset'])) {
         $params['offset'] = 0;
     }
     if (!empty($in_params['cache'])) {
         $params['cache'] = $in_params['cache'];
     }
     return $params;
 }