source: extensions/rv_gmaps/trunk/mapl.php @ 18669

Last change on this file since 18669 was 18669, checked in by rvelices, 12 years ago

rv_gmaps set nb_image_page (for other plugin)

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Author Date Id Revision
File size: 6.0 KB
Line 
1<?php
2if ( !defined('PHPWG_ROOT_PATH') )
3  define('PHPWG_ROOT_PATH','../../');
4
5include_once( PHPWG_ROOT_PATH.'include/common.inc.php' );
6include_once( dirname(__FILE__) .'/include/functions.php');
7include_once( dirname(__FILE__) .'/include/functions_map.php');
8
9check_status(ACCESS_GUEST);
10if (!isset($rvm_dir))
11  access_denied( 'Plugin not installed' );
12
13rvm_load_language();
14
15$section = '';
16if ( $conf['question_mark_in_urls']==false and
17     isset($_SERVER["PATH_INFO"]) and !empty($_SERVER["PATH_INFO"]) )
18{
19  $section = $_SERVER["PATH_INFO"];
20  $section = str_replace('//', '/', $section);
21  if ( !isset($page['root_path']) )
22  {
23    $path_count = count( explode('/', $section) );
24    $page['root_path'] = PHPWG_ROOT_PATH.str_repeat('../', $path_count-1);
25  }
26}
27else
28{
29  foreach ($_GET as $key=>$value)
30  {
31    if (!strlen($value)) $section=$key;
32    break;
33  }
34}
35$page['meta_robots']['noindex']=1;
36
37// deleting first "/" if displayed
38$tokens = explode(
39  '/',
40  preg_replace('#^/#', '', $section)
41  );
42$next_token = 0;
43$result = rvm_parse_blowup_url($tokens, $next_token);
44$page = array_merge( $page, $result );
45
46$order_by=null;
47if ( isset($page['ll']) )
48  $where_sql = rvm_ll_to_sql($page['ll'], $order_by);
49else
50  $where_sql = rvm_bounds_to_sql( $page['box'] );
51
52$img_fields = ' i.id';
53
54$was_flat = @$page['flat'];
55$page['flat']=true;
56rvm_build_section_items($img_fields, $where_sql, RVM_BUILD_HASH, $order_by);
57$page['items']=array_keys($page['items']);
58if (!$was_flat) unset($page['flat']);
59
60$template->set_filename( 'map', dirname(__FILE__).'/template/mapl.tpl');
61
62if (!empty($page['items']))
63{
64/* GENERATE THE CATEGORY LIST *************************************************/
65$where_sql = 'i.id IN ('.implode(',', $page['items'] ).')';
66$where_sql .= get_sql_condition_FandF(
67        array( 'forbidden_categories' => 'category_id' ),
68        ' AND'
69      );
70$query = '
71SELECT DISTINCT c.id, c.name, c.permalink, COUNT(DISTINCT i.id) counter
72  FROM '.IMAGES_TABLE.' i INNER JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON i.id=image_id
73    INNER JOIN '.CATEGORIES_TABLE.' c ON c.id=category_id
74  WHERE '.$where_sql.'
75  GROUP BY category_id
76  ORDER BY counter DESC
77  LIMIT 0,5
78;';
79$result = pwg_query($query);
80$categories=array();
81while ($row=mysql_fetch_assoc($result))
82  array_push($categories, $row);
83$categories = add_level_to_tags($categories);
84
85foreach( $categories as $category)
86{
87  $template->append(
88    'related_categories', array(
89      'U_MAP' => rvm_make_map_index_url( array( 'category' => $category ) ),
90      'URL' => make_index_url( array( 'category' => $category ) ),
91      'NAME' => trigger_event('render_element_description', $category['name']),
92      'TITLE' => l10n_dec( '%d photo', '%d photos', $category['counter'] ),
93      'CLASS' => 'tagLevel'.$category['level']
94    )
95    );
96}
97
98/* GENERATE THE TAG LIST ******************************************************/
99$tags = get_common_tags( $page['items'], $conf['content_tag_cloud_items_number'], null);
100$tags = add_level_to_tags($tags);
101function counter_compare($a, $b)
102{
103  $d = $a['counter'] - $b['counter'];
104  if ($d==0)
105    return strcmp($a['name'], $b['name']);
106  return -$d;
107}
108usort($tags, 'counter_compare');
109foreach ($tags as $tag)
110{
111  $template->append(
112    'related_tags',
113    array_merge( $tag,
114      array(
115        'U_MAP' => rvm_make_map_index_url( array( 'tags' => array($tag) ) ),
116        'URL' => make_index_url( array( 'tags' => array($tag) ) ),
117        'TITLE' => l10n_dec( '%d photo', '%d photos', $tag['counter'] ),
118      )
119    )
120  );
121}
122} // end !empty items
123
124
125$title = '<a target="_top" title="'.sprintf( l10n('go to %s'),$page['title']).'" href="'.duplicate_index_url( array('start'=>0) ).'">'.$page['title'].'</a>';
126if ( count($page['items']) > 0)
127  $title.=' ['.count($page['items']).']';
128
129$template->assign(
130  array(
131    'PLUGIN_ROOT_URL' => get_absolute_root_url(false).'plugins/'.$rvm_dir,
132    'TITLE'   => $title,
133    'U_HOME'  => make_index_url(),
134    'U_KML'   => rvm_duplicate_kml_index_url( array('flat'=>1), array('start') ),
135    'KML_LINK_TITLE' => sprintf( l10n('opens %s in Google Earth'), strip_tags($page['title']) ),
136  )
137  );
138
139$url = rvm_duplicate_blowup_url(array('start'=>0));
140$page['nb_image_page'] = $user['nb_image_page'];
141if ($page['nb_image_page'] < 30)
142        $page['nb_image_page'] *= 2;
143
144$navbar = create_navigation_bar($url, count( $page['items'] ), $page['start'], $page['nb_image_page']);
145$template->assign('navbar', $navbar);
146
147$page['items'] = array_slice(
148  $page['items'],
149  $page['start'],
150  $page['nb_image_page']
151  );
152
153$pictures = array();
154if (count($page['items']) > 0)
155{
156  $rank_of = array_flip($page['items']);
157
158  $query = '
159SELECT *
160  FROM '.IMAGES_TABLE.'
161  WHERE id IN ('.implode(',', $page['items']).')
162;';
163  $result = pwg_query($query);
164  while ($row = pwg_db_fetch_assoc($result))
165  {
166    $row['rank'] = $rank_of[ $row['id'] ];
167    $pictures[] = $row;
168  }
169  usort($pictures, 'rank_compare');
170  unset($rank_of);
171}
172
173foreach ($pictures as $img)
174{
175  $page_url = duplicate_picture_url(
176        array(
177          'image_id' => $img['id'],
178          'image_file' => $img['file'],
179          'flat' => 1,
180        ),
181        array('start')
182      );
183  $name = render_element_name($img);
184  $desc = render_element_description($img);
185
186  $tpl_thumbnails_var[] = array_merge( $img, array(
187                'NAME' => $name,
188    'TN_ALT' => htmlspecialchars(strip_tags($name)),
189    'TN_TITLE' => get_thumbnail_title($img, $name, $desc),
190    'URL' => $page_url,
191    'DESCRIPTION' => $desc,
192    'src_image' => new SrcImage($img),
193    ) );
194}
195$template->assign( array(
196  'derivative_params' => trigger_event('get_index_derivative_params', ImageStdParams::get_by_type( pwg_get_session_var('index_deriv', IMG_THUMB) ) ),
197  'SHOW_THUMBNAIL_CAPTION' => false,
198        'thumbnails' => $tpl_thumbnails_var,
199    ) );
200$template->set_filename('index_thumbnails', 'thumbnails.tpl');
201$template->assign_var_from_handle('THUMBNAILS', 'index_thumbnails');
202
203$title = $page['title'];
204$page['body_id'] = 'theMapListPage';
205
206include(PHPWG_ROOT_PATH.'include/page_header.php');
207$template->parse('map');
208include(PHPWG_ROOT_PATH.'include/page_tail.php');
209
210?>
Note: See TracBrowser for help on using the repository browser.