Example #1
0
 public static function buildPagerConditions(&$q, $criteria)
 {
     $conditions = $criteria[0];
     $values = $criteria[1];
     $joins = $criteria[2];
     self::buildAreaIdPagerConditions($q, $joins);
     // join with site / book / article tables only if needed
     if (isset($joins['join_site'])) {
         Site::buildSitePagerConditions($q, $joins, true);
     }
     // join with summit tables only if needed
     if (isset($joins['join_summit'])) {
         Summit::buildSummitPagerConditions($q, $joins, false, false, 'm.associations', 'st');
     }
     // join with hut tables only if needed
     if (isset($joins['join_hut'])) {
         Hut::buildHutPagerConditions($q, $joins, false, false, 'm.associations', 'ht');
     }
     // join with parking tables only if needed
     if (isset($joins['join_parking'])) {
         Parking::buildParkingPagerConditions($q, $joins, false, false, 'm.associations', 'pt');
     }
     // join with outing tables only if needed
     if (isset($joins['join_user'])) {
         $joins['join_outing'] = true;
         $joins['post_outing'] = true;
     }
     if (isset($joins['join_outing'])) {
         Outing::buildOutingPagerConditions($q, $joins, false, true, 'm.LinkedAssociation', 'to');
         if (isset($joins['join_user'])) {
             User::buildUserPagerConditions($q, $joins, false, false, 'lo.MainMainAssociation', 'uo');
         }
     }
     // join with image tables only if needed
     if (isset($joins['join_image_id']) || isset($joins['join_image']) || isset($joins['join_image_i18n']) || isset($joins['join_itag_id'])) {
         Image::buildImagePagerConditions($q, $joins, false, 'pi');
     }
     if (!empty($conditions)) {
         $q->addWhere(implode(' AND ', $conditions), $values);
     }
 }
Example #2
0
 public static function buildPagerConditions(&$q, $criteria)
 {
     $conditions = $criteria[0];
     $values = $criteria[1];
     $joins = $criteria[2];
     self::buildAreaIdPagerConditions($q, $joins);
     // join with users tables only if needed
     if (isset($joins['join_user'])) {
         User::buildUserPagerConditions($q, $joins, true);
     }
     // join with image tables only if needed
     if (isset($joins['join_image'])) {
         Image::buildImagePagerConditions($q, $joins, false, 'ui', true);
     }
     // join with outings tables only if needed
     if (isset($joins['join_route']) || isset($joins['join_summit'])) {
         $joins['join_outing'] = true;
         $joins['post_outing'] = true;
     }
     if (isset($joins['join_outing'])) {
         Outing::buildOutingPagerConditions($q, $joins, false, true, 'm.LinkedAssociation', 'uo');
         if (isset($joins['join_summit'])) {
             $joins['join_route'] = true;
             $joins['post_route'] = true;
         }
         if (isset($joins['join_route'])) {
             Route::buildRoutePagerConditions($q, $joins, false, false, 'lo.MainMainAssociation', 'ro');
             if (isset($joins['join_summit'])) {
                 Summit::buildSummitPagerConditions($q, $joins, false, false, 'lr.MainAssociation', 'sr');
             }
         }
         // join with geo-associations linked to outings
         self::joinOnLinkedDocMultiRegions($q, $joins, array(), false, 'oarea', null, 'lo', 'go');
     }
     if (!empty($conditions)) {
         $q->addWhere(implode(' AND ', $conditions), $values);
     }
 }
Example #3
0
 public static function buildPagerConditions(&$q, $criteria)
 {
     $conditions = $criteria[0];
     $values = $criteria[1];
     $joins = $criteria[2];
     $route_join = 'm.MainGeoassociations';
     $route_ltype = '';
     $summit_join = 'm.MainGeoassociations';
     $summit_ltype = '';
     $hut_join = 'm.MainGeoassociations';
     $hut_ltype = '';
     $parking_join = 'm.MainGeoassociations';
     $parking_ltype = '';
     $site_join = 'm.MainGeoassociations';
     $site_ltype = '';
     $user_join = 'm.MainGeoassociations';
     $user_ltype = '';
     // join with area tables only if needed
     if (isset($joins['join_area'])) {
         Area::buildAreaPagerConditions($q, $joins, true);
     }
     // join with outing tables only if needed
     if (isset($joins['join_outing'])) {
         Outing::buildOutingPagerConditions($q, $joins, false, false, 'm.MainGeoassociations', '');
         $route_join = 'lo.MainAssociation';
         $route_ltype = 'ro';
         $summit_join = 'lr.MainAssociation';
         $summit_ltype = 'sr';
         $hut_join = 'lr.MainAssociation';
         $hut_ltype = 'hr';
         $parking_join = 'lr.MainAssociation';
         $parking_ltype = 'pr';
         $site_join = 'lo.MainAssociation';
         $site_ltype = 'to';
         $user_join = 'lu.MainAssociations';
         $user_ltype = 'uo';
     }
     // join with route tables only if needed
     if (isset($joins['join_route'])) {
         Route::buildRoutePagerConditions($q, $joins, false, false, $route_join, $route_ltype);
         $summit_join = 'lr.MainAssociation';
         $summit_ltype = 'sr';
         $hut_join = 'lr.MainAssociation';
         $hut_ltype = 'hr';
         $parking_join = 'lr.MainAssociation';
         $parking_ltype = 'pr';
     }
     // join with summit tables only if needed
     if (isset($joins['join_summit'])) {
         Summit::buildSummitPagerConditions($q, $joins, false, false, $summit_join, $summit_ltype);
     }
     // join with hut tables only if needed
     if (isset($joins['join_hut'])) {
         Hut::buildHutPagerConditions($q, $joins, false, false, $hut_join, $hut_ltype);
     }
     // join with parking tables only if needed
     if (isset($joins['join_parking'])) {
         Parking::buildParkingPagerConditions($q, $joins, false, false, $parking_join, $parking_ltype);
     }
     // join with site tables only if needed
     if (isset($joins['join_site'])) {
         Site::buildSitePagerConditions($q, $joins, false, false, $site_join, $site_ltype);
     }
     // join with product tables only if needed
     if (isset($joins['join_product'])) {
         Product::buildProductPagerConditions($q, $joins, false, false, 'm.MainGeoassociations', '');
     }
     // join with user tables only if needed
     if (isset($joins['join_user'])) {
         User::buildUserPagerConditions($q, $joins, false, false, $user_join, $user_ltype);
     }
     // join with image tables only if needed
     if (isset($joins['join_image'])) {
         Image::buildImagePagerConditions($q, $joins, false, '');
     }
     if (!empty($conditions)) {
         $q->addWhere(implode(' AND ', $conditions), $values);
     }
 }
Example #4
0
 public static function buildPagerConditions(&$q, $criteria)
 {
     $conditions = $criteria[0];
     $values = $criteria[1];
     $joins = $criteria[2];
     self::buildAreaIdPagerConditions($q, $joins);
     // join with outing tables only if needed
     if (isset($joins['join_outing'])) {
         Outing::buildOutingPagerConditions($q, $joins, true);
     }
     // join with route tables only if needed
     if (isset($joins['join_summit']) || isset($joins['join_hut']) || isset($joins['join_parking'])) {
         $joins['join_route'] = true;
         $joins['post_route'] = true;
     }
     if (isset($joins['join_route'])) {
         Route::buildRoutePagerConditions($q, $joins, false, false, 'm.associations', 'ro');
         if (isset($joins['join_summit'])) {
             Summit::buildSummitPagerConditions($q, $joins, false, false, 'lr.MainAssociation', 'sr');
         }
         if (isset($joins['join_hut'])) {
             Hut::buildHutPagerConditions($q, $joins, false, false, 'lr.MainAssociation', 'hr');
         }
         if (isset($joins['join_parking'])) {
             Parking::buildParkingPagerConditions($q, $joins, false, false, 'lr.MainAssociation', 'pr');
         }
     }
     // join with site tables only if needed
     if (isset($joins['join_site'])) {
         Site::buildSitePagerConditions($q, $joins, false, false, 'm.associations', 'to');
     }
     // join with user tables only if needed
     if (isset($joins['join_user'])) {
         User::buildUserPagerConditions($q, $joins, false, false, 'm.associations', 'uo');
     }
     // join with image tables only if needed
     if (isset($joins['join_image'])) {
         Image::buildImagePagerConditions($q, $joins, false, 'oi');
     }
     if (!empty($conditions)) {
         $q->addWhere(implode(' AND ', $conditions), $values);
     }
 }