require '../../../system/config.php'; // nastaveni systemovych promennych pro admin sekci
require '../../../system/db_connect.php'; // pripojeni k databazi
require '../../../system/sessions.php'; // nastartovani session
require '../../../system/functions.php'; // nacteni nadefinovanych funkci
require '../../../system/functions_output.php'; // nacteni nadefinovanych funkci pro vystup
require '../../../system/var_check.php'; // oslashovani promennych v $_POST a $_GET
/* VYKONNA CAST SKRIPTU */
$lang = load_lng_terms($_SESSION['lng']);
$title = $lang['cestovni_agentura'];
$sql = listingQuery( $_GET['type'] );
$objType = $sql['type'];
$total = mysql_num_rows( MSQ_utf( $sql['select'] . $sql['from'] ) );
# Paging
if ( $total ) {
$to_page = $conf_page_listing;
$page = $_GET['page']
? $_GET['page']
: ($page ? $page : 1);
$max = (int) ceil($total / $to_page);
$limit_start = ($page - 1) * $to_page;
$result = MSQ_utf( $sql['select'] . $sql['from'] . " LIMIT $limit_start, $to_page" );
echo mysql_error();
$listing_title = array(
'state' => $lang['qm_01'],
'region' => $lang['qm_02'],
'resort' => $lang['qm_03'],
'villa' => $lang['qm_04'],
'hotel' => $lang['qm_05'],
'apartment' => $lang['qm_06'],
'resorts' => $lang['qm_07']
);
while ( $row = mysql_fetch_assoc($result) ) {
$listing .= object_preview( $row, $objType );
}
$out_body = '
' . $listing_title[$objType] . '
';
$out_body .= paging($page, $max);
$out_body .= '';
$out_body .= $listing;
$out_body .= paging($page, $max);
$title = $listing_title[$objType] . ' | ' . $lang['cestovni_agentura'];
}
function listingQuery ( $listType ) {
switch ( $listType ) {
case 'region':
$sql['type'] = 'region';
$sql['select'] = "
SELECT DISTINCT
stl.state_id, stl.state_name
, rgl.region_id, rgl.region_name, rgl.region_desc
, ( SELECT ob.obj_id
FROM c_resort `rs` INNER JOIN c_object `ob` USING (resort_id)
WHERE rs.region_id = rg.region_id AND ob.obj_hidden = 0
LIMIT 1
) `obj_id`
";
$sql['from'] = "
FROM
c_state `st`
LEFT JOIN c_state_lng `stl` ON stl.state_id = st.state_id AND stl.lng_id = {$_SESSION['lng']}
, c_region `rg`
LEFT JOIN c_region_lng `rgl` ON rgl.region_id = rg.region_id AND rgl.lng_id = {$_SESSION['lng']}
WHERE
st.state_id = rg.state_id
HAVING
`obj_id` IS NOT NULL
ORDER BY
st.state_order
, stl.state_name
, rg.region_order
, rgl.region_name
";
break;
case 'resort':
$sql['type'] = 'resort';
$sql['select'] = "
SELECT DISTINCT
stl.state_id, stl.state_name
, rgl.region_id, rgl.region_name, rgl.region_desc
, rsl.resort_id, rsl.resort_name, rsl.resort_desc
, g.p_id, g.p_x_small, g.p_y_small, g.uniline_img_id, g.url_xl, g.url_l, g.url_m
, gl.p_alt
, ( SELECT ob.obj_id FROM c_object `ob` WHERE ob.resort_id = rs.resort_id AND ob.obj_hidden = 0 LIMIT 1 ) `obj_id`
";
$sql['from'] = "
FROM
c_state `st`
LEFT JOIN c_state_lng `stl` ON stl.state_id = st.state_id AND stl.lng_id = {$_SESSION['lng']}
, c_region `rg`
LEFT JOIN c_region_lng `rgl` ON rgl.region_id = rg.region_id AND rgl.lng_id = {$_SESSION['lng']}
, c_resort `rs`
LEFT JOIN c_resort_lng `rsl` ON rsl.resort_id = rs.resort_id AND rsl.lng_id = {$_SESSION['lng']}
LEFT JOIN c_gallery_bind `gb` ON gb.bind_id = rs.resort_id AND gb.bind_order = 1 AND gb.bind_type = 2
LEFT JOIN c_gallery `g` ON g.p_id = gb.p_id
LEFT JOIN c_gallery_lng `gl` ON gl.p_id = g.p_id AND gl.p_lng = {$_SESSION['lng']}
WHERE
st.state_id = rg.state_id
AND rg.region_id = rs.region_id
GROUP BY
rsl.resort_id
HAVING
`obj_id` IS NOT NULL
ORDER BY
st.state_order
, rg.region_order
, rs.resort_order
";
break;
case 'apartment':
$obj_type = 1;
$sql['type'] = 'apartment';
case 'villa':
$obj_type = $obj_type ? $obj_type : 3;
$sql['type'] = $sql['type'] ? $sql['type'] : 'villa';
case 'hotel':
$obj_type = $obj_type ? $obj_type : array( 2, 5 );
$sql['type'] = $sql['type'] ? $sql['type'] : 'hotel';
case 'resorts': # NENI TO RESORT JAKO LETOVISKO
$obj_type = $obj_type ? $obj_type : 6;
$sql['type'] = $sql['type'] ? $sql['type'] : 'resorts';
$sql['select'] = "
SELECT DISTINCT
stl.state_id, stl.state_name
, rgl.region_id, rgl.region_name, rgl.region_desc
, rsl.resort_id, rsl.resort_name, rsl.resort_desc
, ob.obj_id, ob.obj_type
, obl.obj_name, obl.obj_desc
";
$sql['from'] = "
FROM
c_state `st`
LEFT JOIN c_state_lng `stl` ON stl.state_id = st.state_id AND stl.lng_id = {$_SESSION['lng']}
, c_region `rg`
LEFT JOIN c_region_lng `rgl` ON rgl.region_id = rg.region_id AND rgl.lng_id = {$_SESSION['lng']}
, c_resort `rs`
LEFT JOIN c_resort_lng `rsl` ON rsl.resort_id = rs.resort_id AND rsl.lng_id = {$_SESSION['lng']}
, c_object `ob`
LEFT JOIN c_object_lng `obl` ON obl.obj_id = `ob`.obj_id AND obl.lng_id = {$_SESSION['lng']}
WHERE
st.state_id = rg.state_id
AND rg.region_id = rs.region_id
AND rs.resort_id = ob.resort_id
AND ob.obj_hidden = 0"
. ( is_array( $obj_type )
? ' AND ob.obj_type IN (' . implode(', ', $obj_type) . ')'
: ' AND ob.obj_type = ' . $obj_type
)
. ' ORDER BY
st.state_order
, rg.region_order
, rs.resort_order
, ob.obj_order
';
break;
default:
$sql['type'] = 'state';
$sql['select'] = "
SELECT DISTINCT
stl.state_id, stl.state_name
, ( SELECT ob.obj_id
FROM c_region `rg` INNER JOIN c_resort `rs` USING (region_id) INNER JOIN c_object `ob` USING (resort_id)
WHERE rg.state_id = st.state_id AND ob.obj_hidden = 0
LIMIT 1
) `obj_id`
";
$sql['from'] = "
FROM
c_state `st`
LEFT JOIN c_state_lng `stl` ON stl.state_id = st.state_id AND stl.lng_id = {$_SESSION['lng']}
HAVING
`obj_id` IS NOT NULL
ORDER BY
st.state_order
, stl.state_name
";
break;
}
# dump($sql);
return $sql;
}
/* ZOBRAZOVACI CAST SKRIPTU */
require '../../../system/page_start.php'; // hlavicka stranky
require '../../../system/page_body.php'; // telo stranky
require '../../../system/page_end.php'; // paticka stranky vcetne uzavreni spojeni s databazi
?>