source: extensions/linked_pages/admin.php @ 17926

Revision 17926, 4.5 KB checked in by mistic100, 7 years ago (diff)

next release is 1.0.1

Line 
1<?php
2if(!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
3 
4global $template, $page, $conf;
5
6if (strpos($_GET['tab'], 'album-') !== false)
7{
8  $_GET['cat_id'] = substr($_GET['tab'], 6);
9}
10else
11{
12  die('Hacking attempt!');
13}
14
15// +-----------------------------------------------------------------------+
16// | Basic checks                                                          |
17// +-----------------------------------------------------------------------+
18check_status(ACCESS_ADMINISTRATOR);
19
20check_input_parameter('cat_id', $_GET, false, PATTERN_ID);
21
22$admin_album_base_url = get_root_url().'admin.php?page=album-'.$_GET['cat_id'];
23$self_url = LINKEDPAGES_ADMIN.'-album-'.$_GET['cat_id'];
24
25
26// +-----------------------------------------------------------------------+
27// | Init                                                                  |
28// +-----------------------------------------------------------------------+
29$query = '
30SELECT *
31  FROM '.CATEGORIES_TABLE.'
32  WHERE id = '.$_GET['cat_id'].'
33;';
34$category = pwg_db_fetch_assoc(pwg_query($query));
35
36if (!isset($category['id']))
37{
38  die("unknown album");
39}
40
41include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
42$tabsheet = new tabsheet();
43$tabsheet->set_id('album');
44$tabsheet->select('linked_pages');
45$tabsheet->assign();
46
47load_language('plugin.lang', AP_PATH);
48$languages = get_languages();
49
50
51// +-----------------------------------------------------------------------+
52// | Save pages                                                            |
53// +-----------------------------------------------------------------------+
54if (isset($_POST['save_pages']))
55{
56  $query = '
57DELETE FROM '.LINKEDPAGES_TABLE.'
58  WHERE category_id = '.$_GET['cat_id'].'
59;';
60  pwg_query($query);
61 
62  if (isset($_POST['position']))
63  {
64    $inserts = array();
65    foreach ($_POST['position'] as $page_id => $pos)
66    {
67      array_push($inserts, array(
68        'category_id' => $_GET['cat_id'],
69        'page_id' => $page_id,
70        'pos' => $pos,
71        ));
72    }
73   
74    mass_inserts(
75      LINKEDPAGES_TABLE, 
76      array('category_id','page_id','pos'), 
77      $inserts
78      );
79  }
80 
81  array_push($page['infos'], l10n('Information data registered in database'));
82}
83
84// +-----------------------------------------------------------------------+
85// | Get pages                                                             |
86// +-----------------------------------------------------------------------+
87$query = '
88SELECT
89    lp.*,
90    ap.lang,
91    ap.title,
92    ap.standalone,
93    ap.permalink
94  FROM '.LINKEDPAGES_TABLE.' AS lp
95    INNER JOIN '.ADD_PAGES_TABLE.' AS ap
96    ON lp.page_id = ap.id
97  WHERE category_id = '.$_GET['cat_id'].'
98  ORDER BY lp.pos
99';
100$result = pwg_query($query);
101
102$cat_pages = array();
103while ($row = pwg_db_fetch_assoc($result))
104{
105  $row['U_PAGE'] = make_index_url(array('section'=>'page')).'/'.(isset($row['permalink']) ? $row['permalink'] : $row['page_id']);
106  $row['title'] = trigger_event('AP_render_title', $row['title']);
107  $row['language'] = @$languages[$row['lang']];
108  $cat_pages[$row['page_id']] = $row;
109}
110$template->assign('cat_pages', $cat_pages);
111
112$query = '
113SELECT
114    id,
115    lang,
116    title,
117    standalone,
118    permalink
119  FROM '.ADD_PAGES_TABLE.'
120  '.(!empty($conf['AP']['homepage']) ? 'WHERE id != '.$conf['AP']['homepage'] : null).'
121  ORDER BY title ASC
122;';
123$result = pwg_query($query);
124
125while ($row = pwg_db_fetch_assoc($result))
126{
127  if (array_key_exists($row['id'], $cat_pages))
128  {
129    $row['disabled'] = 'disabled="disabled"';
130  }
131  $row['U_PAGE'] = make_index_url(array('section'=>'page')).'/'.(isset($row['permalink']) ? $row['permalink'] : $row['id']);
132  $row['title'] = trigger_event('AP_render_title', $row['title']);
133  $row['language'] = @$languages[$row['lang']];
134  $template->append('pages', $row);
135}
136
137
138// +-----------------------------------------------------------------------+
139// | Template                                                             |
140// +-----------------------------------------------------------------------+
141$template->assign(array(
142  'F_ACTION' => $self_url,
143  'CATEGORIES_NAV' => get_cat_display_name_cache(
144    $category['uppercats'],
145    LINKEDPAGES_ADMIN.'-album-'
146    ),
147  'LINKEDPAGES_PATH'=> get_root_url() . LINKEDPAGES_PATH,
148  ));
149 
150$template->set_filename('linked_pages_content', realpath(LINKEDPAGES_PATH . 'template/admin_album.tpl'));
151$template->assign_var_from_handle('ADMIN_CONTENT', 'linked_pages_content');
152
153?>
Note: See TracBrowser for help on using the repository browser.