Changeset 9310 for extensions/AdditionalPages/admin/add_page.inc.php
- Timestamp:
- Feb 19, 2011, 11:13:22 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/AdditionalPages/admin/add_page.inc.php
r9275 r9310 5 5 if (!isset($edited_page)) 6 6 { 7 $edited_page = array();8 $edited_page['id'] = 0;9 $edited_page['homepage'] = false;10 7 $page_title = l10n('ap_create'); 8 $default_user = get_default_user_info(true); 9 $edited_page = array( 10 'id' => 0, 11 'title' => '', 12 'permalink' => '', 13 'homepage' => false, 14 'standalone' => false, 15 'level' => $default_user['level'], 16 'users' => array('guest', 'generic', 'normal', 'admin', 'webmaster'), 17 'groups' => array(), 18 'content' => '', 19 ); 11 20 } 12 21 … … 47 56 if ($conf['additional_pages']['user_perm']) 48 57 { 49 $user_access = !empty($_POST['users']) ? '"'.implode(',', $_POST['users']).'"' : '" admin"';58 $user_access = !empty($_POST['users']) ? '"'.implode(',', $_POST['users']).'"' : '""'; 50 59 } 51 60 … … 61 70 users = '.$user_access.', 62 71 groups = '.$group_access.', 72 level = '.$_POST['level'].', 63 73 permalink = '.$permalink.', 64 74 standalone = '.$standalone.' … … 71 81 $query = 'SELECT MAX(ABS(pos)) AS pos FROM ' . ADD_PAGES_TABLE . ';'; 72 82 list($position) = array_from_query($query, 'pos'); 73 83 74 84 $query = ' 75 INSERT INTO ' . ADD_PAGES_TABLE . ' ( pos , lang , title , content , users , groups , permalink, standalone) 76 VALUES ('.($position+1).' , '.$language.' , "'.$_POST['title'].'" , "'.$_POST['ap_content'].'" , '.$user_access.' , '.$group_access.' , '.$permalink.' , '.$standalone.');'; 85 INSERT INTO '.ADD_PAGES_TABLE.' ( pos , lang , title , content , users , groups , level , permalink, standalone) 86 VALUES ( 87 '.($position+1).', 88 '.$language.', 89 "'.$_POST['title'].'", 90 "'.$_POST['ap_content'].'", 91 '.$user_access.', 92 '.$group_access.', 93 '.$_POST['level'].', 94 '.$permalink.', 95 '.$standalone.' 96 );'; 77 97 pwg_query($query); 78 98 $edited_page['id'] = mysql_insert_id(); … … 90 110 mkgetdir($conf['local_data_dir'].'/additional_pages_backup', MKGETDIR_DEFAULT&~MKGETDIR_DIE_ON_ERROR); 91 111 $sav_file = @fopen($conf['local_data_dir'].'/additional_pages_backup/' . $edited_page['id'] . '.txt', "w"); 92 @fwrite($sav_file, "Title: ".$_POST['title']." 93 Permalink: ".$_POST['permalink']." 94 Language: ".$_POST['lang']." 95 96 " . $_POST['ap_content']); 112 @fwrite($sav_file, "Title: ".$_POST['title']."\nPermalink: ".$_POST['permalink']."\nLanguage: ".$_POST['lang']."\n\n" . $_POST['ap_content']); 97 113 @fclose($sav_file); 98 114 … … 105 121 106 122 $edited_page['title'] = stripslashes($_POST['title']); 107 $edited_page['permalink'] = $_POST['permalink'];123 $edited_page['permalink'] = stripslashes($_POST['permalink']); 108 124 $edited_page['lang'] = $_POST['lang']; 109 125 $edited_page['content'] = stripslashes($_POST['ap_content']); 110 $edited_page['groups'] = !empty($_POST['groups']) ? trim($group_access, '"') : ''; 111 $edited_page['users'] = !empty($_POST['users']) ? trim($user_access, '"') : ''; 126 $edited_page['groups'] = !empty($_POST['groups']) ? $_POST['groups'] : array(); 127 $edited_page['users'] = !empty($_POST['users']) ? $_POST['users'] : array(); 128 $edited_page['level'] = $_POST['level']; 112 129 $edited_page['homepage'] = isset($_POST['homepage']); 113 130 $edited_page['standalone'] = isset($_POST['standalone']); … … 129 146 'SELECTED' => $selected)); 130 147 131 // Selection des groupes148 // Groups options 132 149 if ($conf['additional_pages']['group_perm']) 133 150 { 134 include_once(AP_PATH . 'admin/functions_groups.php'); 135 $groups = !empty($edited_page['groups']) ? explode(',', $edited_page['groups']) : array(); 136 $template->assign('GROUPSELECTION', get_html_groups_selection(get_all_groups(), 'groups', $groups)); 137 } 138 139 // Selection des utilisateurs 151 $query = 'SELECT id, name FROM '.GROUPS_TABLE.' ORDER BY name ASC;'; 152 $result = pwg_query($query); 153 $groups = array(); 154 while ($row = pwg_db_fetch_assoc($result)) 155 { 156 $groups[$row['id']] = $row['name']; 157 } 158 $template->assign(array( 159 'groups' => $groups, 160 'selected_groups' => $edited_page['groups'], 161 ) 162 ); 163 } 164 165 // Users options 140 166 if ($conf['additional_pages']['user_perm']) 141 167 { 142 $selected_users = array('guest', 'generic', 'normal'); 143 if (isset($_GET['edit']) and isset($edited_page['users'])) 144 { 145 $selected_users = explode(',', $edited_page['users']); 146 } 147 148 $template->assign('user_perm', array( 149 'GUEST' => in_array('guest', $selected_users) ? 'checked="checked"' : '', 150 'GENERIC' => in_array('generic', $selected_users) ? 'checked="checked"' : '', 151 'NORMAL' => in_array('normal', $selected_users) ? 'checked="checked"' : '' 168 $users_id = array('guest', 'generic', 'normal', 'admin', 'webmaster'); 169 $users = array(); 170 foreach ($users_id as $id) 171 { 172 $users[$id] = l10n('user_status_'.$id); 173 } 174 $template->assign(array( 175 'users' => $users, 176 'selected_users' => $edited_page['users'], 152 177 ) 153 178 ); 154 179 } 155 180 156 // Chargement des données pour l'édition 157 if ($page['tab'] == 'edit_page') 158 { 181 // User level options 182 if ($conf['additional_pages']['level_perm']) 183 { 184 foreach ($conf['available_permission_levels'] as $level) 185 { 186 $level_options[$level] = l10n(sprintf('Level %d', $level)); 187 } 159 188 $template->assign(array( 160 'NAME' => $edited_page['title'], 161 'PERMALINK' => $edited_page['permalink'], 162 'HOMEPAGE' => $edited_page['homepage'], 163 'STANDALONE' => $edited_page['standalone'], 164 'CONTENT' => $edited_page['content'])); 165 } 166 167 // Parametrage du template 168 $template->assign('AP_TITLE', $page_title); 189 'level_perm' => $level_options, 190 'level_selected' => $edited_page['level'] 191 ) 192 ); 193 } 194 195 // template output 196 $template->assign(array( 197 'AP_TITLE' => $page_title, 198 'NAME' => $edited_page['title'], 199 'PERMALINK' => $edited_page['permalink'], 200 'HOMEPAGE' => $edited_page['homepage'], 201 'STANDALONE' => $edited_page['standalone'], 202 'CONTENT' => $edited_page['content'])); 169 203 170 204 $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/template/add_page.tpl');
Note: See TracChangeset
for help on using the changeset viewer.