public static function buildListCriteria($params_list) { $criteria = $conditions = $values = $joins = $joins_order = array(); $criteria[0] = array(); // conditions $criteria[1] = array(); // values $criteria[2] = array(); // joins $criteria[3] = array(); // joins for order // criteria for disabling personal filter self::buildPersoCriteria($conditions, $values, $joins, $params_list, 'images'); // orderby criteria $orderby_list = c2cTools::getRequestParameterArray(array('orderby', 'orderby2', 'orderby3')); self::buildOrderCondition($joins_order, $orderby_list, array('inam'), array('image_i18n', 'join_image')); self::buildOrderCondition($joins_order, $orderby_list, array('odate'), array('outing', 'join_outing')); self::buildOrderCondition($joins_order, $orderby_list, array('oid'), array('post_outing', 'join_outing')); self::buildOrderCondition($joins, $orderby_list, array('oid', 'odate'), array('post_outing', 'join_outing')); // area criteria self::buildAreaCriteria($criteria, $params_list, 'i'); // return if no criteria if (isset($joins['all']) || empty($params_list)) { $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; } // image criteria $has_name = Image::buildImageListCriteria($criteria, $params_list, true); self::buildConditionItem($conditions, $values, $joins, $params_list, 'Join', '', 'join', ''); if ($has_name === 'no_result') { return $has_name; } // document criteria self::buildConditionItem($conditions, $values, $joins, $params_list, 'List', 'lid.main_id', 'docs', 'doc'); self::buildConditionItem($conditions, $values, $joins, $params_list, 'List', 'ldc.linked_id', 'dtags', 'dtag'); // summit criteria $has_name = Summit::buildSummitListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // hut criteria $has_name = Hut::buildHutListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // parking criteria $has_name = Parking::buildParkingListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // route criteria $has_name = Route::buildRouteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // site criteria $has_name = Site::buildSiteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // outing criteria $has_name = Outing::buildOutingListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // user criteria self::buildConditionItem($conditions, $values, $joins, $params_list, 'List', 'hm.user_id', 'users', 'user_id'); // TODO here we should restrict to initial uploader (ticket #333) self::buildConditionItem($conditions, $values, $joins, $params_list, 'List', 'lou.main_id', 'ousers', array('ouser_id', 'join_outing', 'post_outing')); $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; }
public static function buildListCriteria($params_list) { $criteria = $conditions = $values = $joins = $joins_order = array(); $criteria[0] = array(); // conditions $criteria[1] = array(); // values $criteria[2] = array(); // joins $criteria[3] = array(); // joins for order // criteria for disabling personal filter self::buildPersoCriteria($conditions, $values, $joins, $params_list, 'areas'); // orderby criteria $orderby_list = c2cTools::getRequestParameterArray(array('orderby', 'orderby2', 'orderby3')); self::buildOrderCondition($joins_order, $orderby_list, array('anam'), array('area_i18n', 'join_area')); // return if no criteria if (isset($joins['all']) || empty($params_list)) { $criteria[0] = $conditions; $criteria[1] = $values; $criteria[2] = $joins; $criteria[3] = $joins_order; return $criteria; } // area / article criteria $has_name = Area::buildAreaListCriteria($criteria, $params_list, true); if ($has_name === 'no_result') { return $has_name; } // outing criteria $has_name = Outing::buildOutingListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // summit criteria $has_name = Summit::buildSummitListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // hut criteria $has_name = Hut::buildHutListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // parking criteria $has_name = Parking::buildParkingListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // route criteria $has_name = Route::buildRouteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // site criteria $has_name = Site::buildSiteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // product criteria $has_name = Product::buildProductListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // user criteria $has_name = User::buildUserListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // image criteria $has_name = Image::buildImageListCriteria($criteria, $params_list, false); if ($has_name === 'no_result') { return $has_name; } $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; }
public static function buildListCriteria($params_list) { $criteria = $conditions = $values = $joins = $joins_order = array(); $criteria[0] = array(); // conditions $criteria[1] = array(); // values $criteria[2] = array(); // joins $criteria[3] = array(); // joins for order // criteria for enabling/disabling personal filter self::buildPersoCriteria($conditions, $values, $joins, $params_list, 'outings'); // orderby criteria $orderby_list = c2cTools::getRequestParameterArray(array('orderby', 'orderby2', 'orderby3')); self::buildOrderCondition($joins_order, $orderby_list, array('onam'), array('outing_i18n', 'join_outing')); self::buildOrderCondition($joins_order, $orderby_list, array('lat', 'lon'), array('summit', 'join_summit')); //FIXME : Don't work : $outings_sort_route_criteria = sfConfig::get('app_outings_sort_route_criteria'); $outings_sort_route_criteria = array('fac', 'time', 'ralt', 'dhei', 'grat', 'erat', 'prat', 'frat', 'arat', 'irat', 'mrat', 'trat', 'sexpo', 'lrat', 'srat', 'hrat', 'wrat'); self::buildOrderCondition($joins_order, $orderby_list, $outings_sort_route_criteria, array('route', 'join_route')); // area criteria self::buildAreaCriteria($criteria, $params_list, 'o'); // return if no criteria if (isset($joins['all']) || empty($params_list)) { $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; } // outing / article criteria $has_name = Outing::buildOutingListCriteria($criteria, $params_list, true); if ($has_name === 'no_result') { return $has_name; } // summit criteria $has_name = Summit::buildSummitListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // hut criteria $has_name = Hut::buildHutListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // parking criteria $has_name = Parking::buildParkingListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // route criteria $has_name = Route::buildRouteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // site criteria $has_name = Site::buildSiteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // user criteria $has_name = User::buildUserListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // image criteria $has_name = Image::buildImageListCriteria($criteria, $params_list, false); if ($has_name === 'no_result') { return $has_name; } $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; }
public static function buildListCriteria($params_list) { $criteria = $conditions = $values = $joins = $joins_order = array(); $criteria[0] = array(); // conditions $criteria[1] = array(); // values $criteria[2] = array(); // joins $criteria[3] = array(); // joins for order // criteria for disabling personal filter self::buildPersoCriteria($conditions, $values, $joins, $params_list, 'users'); // criteria to hide users whithout public profile if (!sfContext::getInstance()->getUser()->isConnected()) { $conditions[] = 'upd.is_profile_public IS TRUE'; $joins['user_pd'] = true; $joins['join_user'] = true; if (isset($joins['all'])) { unset($joins['all']); } } // orderby criteria $orderby_list = c2cTools::getRequestParameterArray(array('orderby', 'orderby2', 'orderby3')); self::buildOrderCondition($joins_order, $orderby_list, array('unam'), array('user_i18n', 'join_user')); self::buildOrderCondition($joins_order, $orderby_list, array('ufnam'), array('user_pd', 'join_user')); // area criteria self::buildAreaCriteria($criteria, $params_list, 'u'); self::buildConditionItem($conditions, $values, $joins, $params_list, 'MultiId', array('go', 'linked_id'), 'oareas', 'oarea'); if (isset($joins['oarea'])) { $joins['join_outing'] = true; $joins['post_outing'] = true; } // return if no criteria if (isset($joins['all']) || empty($params_list)) { $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; } // user criteria $has_name = User::buildUserListCriteria($criteria, $params_list, true); self::buildConditionItem($conditions, $values, $joins, $params_list, 'Join', '', 'ijoin', '', 'image'); if ($has_name === 'no_result') { return $has_name; } // outing criteria $has_name = Outing::buildOutingListCriteria($criteria, $params_list, false, 'linked_id'); if ($has_name === 'no_result') { return $has_name; } // route criteria $has_name = Route::buildRouteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // summit criteria $has_name = Summit::buildSummitListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // image criteria $has_name = Image::buildImageListCriteria($criteria, $params_list, false, 'document_id'); if ($has_name === 'no_result') { return $has_name; } $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; }
public static function buildListCriteria($params_list) { $criteria = $conditions = $values = $joins = $joins_order = array(); $criteria[0] = array(); // conditions $criteria[1] = array(); // values $criteria[2] = array(); // joins $criteria[3] = array(); // joins for order // criteria for disabling personal filter self::buildPersoCriteria($conditions, $values, $joins, $params_list, 'articles'); // orderby criteria $orderby_list = c2cTools::getRequestParameterArray(array('orderby', 'orderby2', 'orderby3')); self::buildOrderCondition($joins_order, $orderby_list, array('cnam'), array('article_i18n', 'join_article')); // area criteria self::buildAreaCriteria($criteria, $params_list, 'a'); // return if no criteria if (isset($joins['all']) || empty($params_list)) { $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; } // article criteria $has_name = Article::buildArticleListCriteria($criteria, $params_list, true); if ($has_name === 'no_result') { return $has_name; } // linked document criteria self::buildConditionItem($conditions, $values, $joins, $params_list, 'List', 'lcd.main_id', 'cdocs', 'cdoc'); // summit criteria $has_name = Summit::buildSummitListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // hut criteria $has_name = Hut::buildHutListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // parking criteria $has_name = Parking::buildParkingListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // route criteria $has_name = Route::buildRouteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // site criteria $has_name = Site::buildSiteListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // outing criteria $has_name = Outing::buildOutingListCriteria($criteria, $params_list, false, 'main_id'); if ($has_name === 'no_result') { return $has_name; } // book criteria $has_name = Book::buildBookListCriteria($criteria, $params_list, false, 'c', 'main_id'); if ($has_name === 'no_result') { return $has_name; } // image criteria $has_name = Image::buildImageListCriteria($criteria, $params_list, false); if ($has_name === 'no_result') { return $has_name; } // user criteria self::buildConditionItem($conditions, $values, $joins, $params_list, 'MultiId', array('u', 'main_id'), 'users', 'user_id'); $criteria[0] = array_merge($criteria[0], $conditions); $criteria[1] = array_merge($criteria[1], $values); $criteria[2] += $joins; $criteria[3] += $joins_order; return $criteria; }