Revision 2076
Added by darkviper almost 12 years ago
- some fixes in admin/users
- some fixes in admin/pages
| sections.php | ||
|---|---|---|
| 35 | 35 |
$debug = true; // to show position |
| 36 | 36 |
If(!defined('DEBUG')) { define('DEBUG',$debug);}
|
| 37 | 37 |
// Create new admin object |
| 38 |
if(!class_exists('admin', false)){ include(WB_PATH.'/framework/class.admin.php'); }
|
|
| 38 |
// if(!class_exists('admin', false)){ include(WB_PATH.'/framework/class.admin.php'); }
|
|
| 39 | 39 |
$admin = new admin('Pages', 'pages_view', false);
|
| 40 |
|
|
| 41 | 40 |
// Include the WB functions file |
| 42 | 41 |
if(!function_exists('directory_list')) { require(WB_PATH.'/framework/functions.php'); }
|
| 43 | 42 |
$mLang = Translate::getinstance(); |
| 44 | 43 |
$mLang->enableAddon('admin\pages');
|
| 45 |
|
|
| 44 |
$oDb = WbDatabase::getInstance(); |
|
| 46 | 45 |
$action = 'show'; |
| 47 | 46 |
// Get page id |
| 48 | 47 |
$requestMethod = '_'.strtoupper($_SERVER['REQUEST_METHOD']); |
| ... | ... | |
| 64 | 63 |
if($admin->get_permission('pages_delete') == false)
|
| 65 | 64 |
{
|
| 66 | 65 |
$admin->print_header(); |
| 67 |
$admin->print_error($module.' '.strtolower($MESSAGE['PAGES_INSUFFICIENT_PERMISSIONS']),$backlink);
|
|
| 66 |
$admin->print_error($module.' '.mb_strtolower($mLang->MESSAGE_PAGES_INSUFFICIENT_PERMISSIONS, 'UTF-8'), $backlink);
|
|
| 68 | 67 |
} |
| 69 | 68 |
|
| 70 | 69 |
if( ( !($section_id = intval($admin->checkIDKEY('section_id', 0, $_SERVER['REQUEST_METHOD'])) )) )
|
| 71 | 70 |
{
|
| 72 | 71 |
if($admin_header) { $admin->print_header(); }
|
| 73 |
$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$backlink);
|
|
| 72 |
$admin->print_error($mlang->MESSAGE_GENERIC_SECURITY_ACCESS,$backlink);
|
|
| 74 | 73 |
} |
| 75 | 74 |
|
| 76 | 75 |
$action = 'show'; |
| 77 |
$sql = 'SELECT `module` FROM `'.TABLE_PREFIX.'sections` ';
|
|
| 78 |
$sql .= 'WHERE `section_id` ='.$section_id;
|
|
| 79 |
if( ( ($modulname = $database->get_one($sql)) == $module) && ($section_id > 0 ) ) {
|
|
| 76 |
$sql = 'SELECT `module` FROM `'.$oDb->TablePrefix.'sections` '
|
|
| 77 |
. 'WHERE `section_id` ='.$section_id;
|
|
| 78 |
if ((($modulname = $oDb->getOne($sql)) == $module) && ($section_id > 0 ) ) {
|
|
| 80 | 79 |
// Include the modules delete file if it exists |
| 81 | 80 |
if(file_exists(WB_PATH.'/modules/'.$modulname.'/delete.php')) |
| 82 | 81 |
{
|
| 83 | 82 |
require(WB_PATH.'/modules/'.$modulname.'/delete.php'); |
| 84 | 83 |
} |
| 85 |
$sql = 'DELETE FROM `'.TABLE_PREFIX.'sections` ';
|
|
| 86 |
$sql .= 'WHERE `section_id` ='.(int)$section_id.' LIMIT 1';
|
|
| 87 |
if( !$database->query($sql) ) {
|
|
| 84 |
$sql = 'DELETE FROM `'.$oDb->TablePrefix.'sections` '
|
|
| 85 |
. 'WHERE `section_id` ='.(int)$section_id.' LIMIT 1';
|
|
| 86 |
if (!$oDb->doQuery($sql)) {
|
|
| 88 | 87 |
if($admin_header) { $admin->print_header(); }
|
| 89 |
$admin->print_error($database->get_error(),$backlink);
|
|
| 90 |
} else {
|
|
| 88 |
$admin->print_error($oDb->get_error(),$backlink);
|
|
| 89 |
} else {
|
|
| 91 | 90 |
require_once(WB_PATH.'/framework/class.order.php'); |
| 92 |
$order = new order(TABLE_PREFIX.'sections', 'position', 'section_id', 'page_id');
|
|
| 91 |
$order = new order($oDb->TablePrefix.'sections', 'position', 'section_id', 'page_id');
|
|
| 93 | 92 |
$order->clean($page_id); |
| 94 |
$format = $mLang->TEXT_SECTION.' %d %s %s '.strtolower( $mLang->TEXT_DELETED);
|
|
| 95 |
$message = sprintf ($format,$section_id,strtoupper($modulname),strtolower($mLang->TEXT_SUCCESS));
|
|
| 93 |
$format = $mLang->TEXT_SECTION.' %d %s %s '.mb_strtolower($mLang->TEXT_DELETED, 'UTF-8');
|
|
| 94 |
$message = sprintf ($format,$section_id, mb_strtoupper($modulname, 'UTF-8'),mb_strtolower($mLang->TEXT_SUCCESS, 'UTF-8'));
|
|
| 96 | 95 |
if($admin_header) { $admin->print_header(); }
|
| 97 | 96 |
$admin_header = false; |
| 98 | 97 |
unset($_POST); |
| ... | ... | |
| 100 | 99 |
} |
| 101 | 100 |
} else {
|
| 102 | 101 |
if($admin_header) { $admin->print_header(); }
|
| 103 |
$admin->print_error($module.' '.strtolower($mLang->TEXT_NOT_FOUND),$backlink);
|
|
| 102 |
$admin->print_error($module.' '.mb_strtolower($mLang->TEXT_NOT_FOUND, 'UTF-8'),$backlink);
|
|
| 104 | 103 |
} |
| 105 | 104 |
|
| 106 | 105 |
break; |
| ... | ... | |
| 108 | 107 |
if($admin->get_permission('pages_add') == false)
|
| 109 | 108 |
{
|
| 110 | 109 |
$admin->print_header(); |
| 111 |
$admin->print_error($module.' '.strtolower($MESSAGE['PAGES_INSUFFICIENT_PERMISSIONS']),$backlink);
|
|
| 110 |
$admin->print_error($module.' '.mb_strtolower($mLang->MESSAGE_PAGES_INSUFFICIENT_PERMISSIONS, 'UTF-8'),$backlink);
|
|
| 112 | 111 |
} |
| 113 | 112 |
if (!$admin->checkFTAN()) |
| 114 | 113 |
{
|
| 115 | 114 |
$admin->print_header(); |
| 116 |
$admin->print_error($MESSAGE['GENERIC_SECURITY_ACCESS'],$backlink);
|
|
| 115 |
$admin->print_error($mLang->MESSAGE_GENERIC_SECURITY_ACCESS,$backlink);
|
|
| 117 | 116 |
} |
| 118 | 117 |
$action = 'show'; |
| 119 | 118 |
$module = preg_replace('/\W/', '', $module ); // fix secunia 2010-91-4
|
| 120 | 119 |
require_once(WB_PATH.'/framework/class.order.php'); |
| 121 | 120 |
// Get new order |
| 122 |
$order = new order(TABLE_PREFIX.'sections', 'position', 'section_id', 'page_id');
|
|
| 121 |
$order = new order($oDb->TablePrefix.'sections', 'position', 'section_id', 'page_id');
|
|
| 123 | 122 |
$position = $order->get_new($page_id); |
| 124 | 123 |
// Insert module into DB |
| 125 |
$sql = 'INSERT INTO `'.TABLE_PREFIX.'sections` SET ';
|
|
| 126 |
$sql .= '`page_id` = '.(int)$page_id.', ';
|
|
| 127 |
$sql .= '`module` = \''.$module.'\', ';
|
|
| 128 |
$sql .= '`position` = '.(int)$position.', ';
|
|
| 129 |
$sql .= '`block` = \'1\', ';
|
|
| 130 |
$sql .= '`publ_start` = \'0\',';
|
|
| 131 |
$sql .= '`publ_end` = \'0\' ';
|
|
| 124 |
$sql = 'INSERT INTO `'.$oDb->TablePrefix.'sections` '
|
|
| 125 |
. 'SET `page_id` = '.(int)$page_id.', '
|
|
| 126 |
. '`module` = \''.$module.'\', '
|
|
| 127 |
. '`position` = '.(int)$position.', '
|
|
| 128 |
. '`block` = \'1\', '
|
|
| 129 |
. '`publ_start` = \'0\', '
|
|
| 130 |
. '`publ_end` = \'0\'';
|
|
| 132 | 131 |
|
| 133 |
if($database->query($sql)) {
|
|
| 132 |
if($oDb->doQuery($sql)) {
|
|
| 134 | 133 |
// Get the section id |
| 135 |
$section_id = $database->get_one("SELECT LAST_INSERT_ID()");
|
|
| 134 |
$section_id = $oDb->getOne('SELECT LAST_INSERT_ID()');
|
|
| 136 | 135 |
// Include the selected modules add file if it exists |
| 137 | 136 |
if(file_exists(WB_PATH.'/modules/'.$module.'/add.php')) |
| 138 | 137 |
{
|
| 139 | 138 |
require(WB_PATH.'/modules/'.$module.'/add.php'); |
| 140 | 139 |
} |
| 141 |
} elseif ($database->is_error()) {
|
|
| 140 |
} elseif ($oDb->is_error()) {
|
|
| 142 | 141 |
if($admin_header) { $admin->print_header(); }
|
| 143 |
$admin->print_error($database->get_error());
|
|
| 142 |
$admin->print_error($oDb->get_error());
|
|
| 144 | 143 |
} |
| 145 | 144 |
break; |
| 146 | 145 |
default: |
| ... | ... | |
| 152 | 151 |
|
| 153 | 152 |
if($admin_header) { $admin->print_header(); }
|
| 154 | 153 |
// Get perms |
| 155 |
$sql = 'SELECT `admin_groups`,`admin_users` FROM `'.TABLE_PREFIX.'pages` '; |
|
| 156 |
$sql .= 'WHERE `page_id` = '.$page_id; |
|
| 157 |
$results = $database->query($sql); |
|
| 158 |
|
|
| 159 |
$results_array = $results->fetchRow(); |
|
| 160 |
$old_admin_groups = explode(',', $results_array['admin_groups']);
|
|
| 161 |
$old_admin_users = explode(',', $results_array['admin_users']);
|
|
| 162 |
$in_old_group = FALSE; |
|
| 163 |
foreach($admin->get_groups_id() as $cur_gid) |
|
| 164 |
{
|
|
| 165 |
if (in_array($cur_gid, $old_admin_groups)) |
|
| 166 |
{
|
|
| 167 |
$in_old_group = TRUE; |
|
| 168 |
} |
|
| 169 |
} |
|
| 170 |
if((!$in_old_group) && !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) |
|
| 171 |
{
|
|
| 154 |
$sql = 'SELECT `admin_groups`,`admin_users` FROM `'.$oDb->TablePrefix.'pages` ' |
|
| 155 |
. 'WHERE `page_id` = '.$page_id; |
|
| 156 |
$oPage = $oDb->doQuery($sql); |
|
| 157 |
$aPageRights = $oPage->fetchRow(MYSQL_ASSOC); |
|
| 158 |
// Get user permisions |
|
| 159 |
if (!$admin->ami_group_member($aPageRights['admin_groups']) && !$admin->is_group_match($admin->get_user_id(), $aPageRights['admin_users'])) {
|
|
| 172 | 160 |
$admin->print_header(); |
| 173 |
$admin->print_error($MESSAGE['PAGES_INSUFFICIENT_PERMISSIONS']); |
|
| 174 |
} |
|
| 175 |
|
|
| 161 |
$admin->print_error($mLang->MESSAGE_PAGES_INSUFFICIENT_PERMISSIONS); |
|
| 162 |
} |
|
| 163 |
// $old_admin_groups = explode(',', $results_array['admin_groups']);
|
|
| 164 |
// $old_admin_users = explode(',', $results_array['admin_users']);
|
|
| 165 |
// $in_old_group = FALSE; |
|
| 166 |
// foreach($admin->get_groups_id() as $cur_gid) |
|
| 167 |
// {
|
|
| 168 |
// if (in_array($cur_gid, $old_admin_groups)) |
|
| 169 |
// {
|
|
| 170 |
// $in_old_group = TRUE; |
|
| 171 |
// } |
|
| 172 |
// } |
|
| 173 |
// if((!$in_old_group) && !is_numeric(array_search($admin->get_user_id(), $old_admin_users))) |
|
| 174 |
// {
|
|
| 175 |
// $admin->print_header(); |
|
| 176 |
// $admin->print_error($mLang->MESSAGE_PAGES_INSUFFICIENT_PERMISSIONS); |
|
| 177 |
// } |
|
| 176 | 178 |
// Get page details |
| 177 |
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'pages` ';
|
|
| 179 |
$sql = 'SELECT * FROM `'.$oDb->TablePrefix.'pages` ';
|
|
| 178 | 180 |
$sql .= 'WHERE `page_id` = '.$page_id; |
| 179 |
$results = $database->query($sql);
|
|
| 181 |
$results = $oDb->doQuery($sql);
|
|
| 180 | 182 |
|
| 181 |
if($database->is_error())
|
|
| 183 |
if($oDb->is_error())
|
|
| 182 | 184 |
{
|
| 183 | 185 |
// $admin->print_header(); |
| 184 |
$admin->print_error($database->get_error());
|
|
| 186 |
$admin->print_error($oDb->get_error());
|
|
| 185 | 187 |
} |
| 186 | 188 |
if($results->numRows() == 0) |
| 187 | 189 |
{
|
| 188 | 190 |
// $admin->print_header(); |
| 189 |
$admin->print_error($MESSAGE['PAGES_NOT_FOUND']);
|
|
| 191 |
$admin->print_error($mLang->MESSAGE_PAGES_NOT_FOUND);
|
|
| 190 | 192 |
} |
| 191 | 193 |
$results_array = $results->fetchRow(); |
| 192 | 194 |
|
| ... | ... | |
| 215 | 217 |
{
|
| 216 | 218 |
require($template_location); |
| 217 | 219 |
} |
| 218 |
// check block settings from template/info.php |
|
| 219 |
if(isset($block) && is_array($block) && sizeof($block) > 0) {
|
|
| 220 |
if(isset($block[0])) {
|
|
| 221 |
throw new AppException('Invalid index 0 for $block[] in '.str_replace(WB_PATH,'',$template_location).'. '
|
|
| 222 |
. 'The list must start with $block[1]. Please correct it!');
|
|
| 223 |
}
|
|
| 224 |
foreach($block as $iIndex=>$sBlockTitle) {
|
|
| 225 |
if(trim($sBlockTitle) == '' ) {
|
|
| 226 |
$block[$iIndex] = $mLang->TEXT_BLOCK.'_'.$iIndex;
|
|
| 227 |
}
|
|
| 228 |
}
|
|
| 229 |
}else {
|
|
| 230 |
// Make our own menu list
|
|
| 231 |
$block = array(1, $mLang->TEXT_MAIN);
|
|
| 232 |
}
|
|
| 220 |
// check block settings from template/info.php
|
|
| 221 |
if(isset($block) && is_array($block) && sizeof($block) > 0) {
|
|
| 222 |
if(isset($block[0])) {
|
|
| 223 |
throw new AppException('Invalid index 0 for $block[] in '.str_replace(WB_PATH,'',$template_location).'. '
|
|
| 224 |
. 'The list must start with $block[1]. Please correct it!');
|
|
| 225 |
}
|
|
| 226 |
foreach($block as $iIndex=>$sBlockTitle) {
|
|
| 227 |
if(trim($sBlockTitle) == '' ) {
|
|
| 228 |
$block[$iIndex] = $mLang->TEXT_BLOCK.'_'.$iIndex;
|
|
| 229 |
}
|
|
| 230 |
}
|
|
| 231 |
}else {
|
|
| 232 |
// Make our own menu list
|
|
| 233 |
$block = array(1 => $mLang->TEXT_MAIN);
|
|
| 234 |
}
|
|
| 233 | 235 |
/*-- load css files with jquery --*/ |
| 234 | 236 |
// include jscalendar-setup |
| 235 | 237 |
$jscal_use_time = true; // whether to use a clock, too |
| ... | ... | |
| 257 | 259 |
'MENU_TITLE' => ($results_array['menu_title']), |
| 258 | 260 |
'TEXT_CURRENT_PAGE' => $mLang->TEXT_CURRENT_PAGE, |
| 259 | 261 |
'TEXT_LAST_MODIFIED' => $mLang->TEXT_LAST_UPDATED_BY, |
| 260 |
'HEADING_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
|
|
| 261 |
'HEADING_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
|
|
| 262 |
'HEADING_MANAGE_SECTIONS' => $mLang->HEADING_MANAGE_SECTIONS,
|
|
| 263 |
'HEADING_MODIFY_PAGE' => $mLang->HEADING_MODIFY_PAGE,
|
|
| 262 | 264 |
'TEXT_CHANGE_SETTINGS' => $mLang->TEXT_CHANGE_SETTINGS, |
| 263 | 265 |
'TEXT_ADD_SECTION' => $mLang->TEXT_ADD_SECTION, |
| 264 | 266 |
'TEXT_SECTION' => $mLang->TEXT_SECTION, |
| 265 | 267 |
'TEXT_ID' => 'ID', |
| 266 | 268 |
'TEXT_TYPE' => $mLang->TEXT_TYPE, |
| 267 | 269 |
'TEXT_BLOCK' => $mLang->TEXT_BLOCK, |
| 268 |
'TEXT_PUBL_START_DATE' => $TEXT{'PUBL_START_DATE'},
|
|
| 270 |
'TEXT_PUBL_START_DATE' => $mLang->TEXT_PUBL_START_DATE,
|
|
| 269 | 271 |
'TEXT_PUBL_END_DATE' => $mLang->TEXT_PUBL_END_DATE, |
| 270 | 272 |
'TEXT_ACTIONS' => $mLang->TEXT_ACTIONS, |
| 271 | 273 |
'MODIFIED_BY' => $user['display_name'], |
| ... | ... | |
| 320 | 322 |
); |
| 321 | 323 |
// setting trash only if more than one section exists |
| 322 | 324 |
$tpl->set_block('section_block', 'delete_block', 'delete');
|
| 323 |
if( $bSectionCanDelete = ($database->get_one('SELECT COUNT(*) FROM `'.TABLE_PREFIX.'sections` WHERE `page_id`='.$page_id))!=1 ) {
|
|
| 325 |
$sql = 'SELECT COUNT(*) FROM `'.$oDb->TablePrefix.'sections` ' |
|
| 326 |
. 'WHERE `page_id`='.$page_id; |
|
| 327 |
$bSectionCanDelete = ($oDb->getOne($sql) > 1); |
|
| 328 |
$sql = 'SELECT `section_id`,`module`,`position`,`block`,`publ_start`,`publ_end` ' |
|
| 329 |
. 'FROM `'.$oDb->TablePrefix.'sections` ' |
|
| 330 |
. 'WHERE `page_id` = '.$page_id.' ' |
|
| 331 |
. 'ORDER BY `position` ASC'; |
|
| 332 |
$query_sections = $oDb->doQuery($sql); |
|
| 333 |
$num_sections = $query_sections->numRows(); |
|
| 334 |
while ($section = $query_sections->fetchRow(MYSQL_ASSOC)) {
|
|
| 335 |
if (!is_numeric(array_search($section['module'], $module_permissions))) {
|
|
| 336 |
// Get the modules real name |
|
| 337 |
$sql = 'SELECT `name` FROM `'.$oDb->TablePrefix.'addons` ' |
|
| 338 |
. 'WHERE `directory` = "'.$section['module'].'"'; |
|
| 339 |
if (!$oDb->getOne($sql) || !file_exists(WB_PATH.'/modules/'.$section['module'])) {
|
|
| 340 |
$edit_page = '<span class="module_disabled">'.$section['module'].'</span>'; |
|
| 341 |
} else {
|
|
| 342 |
$edit_page = ''; |
|
| 343 |
} |
|
| 344 |
$sSectionIdPrefix = ( defined( 'SEC_ANCHOR' ) && ( SEC_ANCHOR != '' ) ? SEC_ANCHOR : 'Sec'); |
|
| 345 |
$edit_page_0 = '<a id="sid'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$results_array['page_id']; |
|
| 346 |
$edit_page_1 = ($sSectionIdPrefix!='') ? '#'.$sSectionIdPrefix.$section['section_id'].'">' : '">'; |
|
| 347 |
$edit_page_1 .= $section['module'].'</a>'; |
|
| 348 |
if (SECTION_BLOCKS) {
|
|
| 349 |
if ($edit_page == '') {
|
|
| 350 |
if (defined('EDIT_ONE_SECTION') && EDIT_ONE_SECTION) {
|
|
| 351 |
$edit_page = $edit_page_0.'&wysiwyg='.$section['section_id'].$edit_page_1; |
|
| 352 |
} else {
|
|
| 353 |
$edit_page = $edit_page_0.$edit_page_1; |
|
| 354 |
} |
|
| 355 |
} |
|
| 356 |
$input_attribute = 'input_normal'; |
|
| 357 |
$tpl->set_var(array( |
|
| 358 |
'STYLE_DISPLAY_SECTION_BLOCK' => ' style="visibility:visible;"', |
|
| 359 |
'NAME_SIZE' => 300, |
|
| 360 |
'INPUT_ATTRIBUTE' => $input_attribute, |
|
| 361 |
'VAR_SECTION_ID' => $section['section_id'], |
|
| 362 |
'VAR_SECTION_IDKEY' => $admin->getIDKEY($section['section_id']), |
|
| 363 |
// 'VAR_SECTION_IDKEY' => $section['section_id'], |
|
| 364 |
'VAR_POSITION' => $section['position'], |
|
| 365 |
'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page, |
|
| 366 |
'SELECT' => '', |
|
| 367 |
'SET_NONE_DISPLAY_OPTION' => '' |
|
| 368 |
) |
|
| 369 |
); |
|
| 370 |
// Add block options to the section_list |
|
| 371 |
$tpl->clear_var('block_list');
|
|
| 372 |
foreach ($block AS $number => $name) {
|
|
| 373 |
$tpl->set_var('NAME', htmlentities(strip_tags($name)));
|
|
| 374 |
$tpl->set_var('VALUE', $number);
|
|
| 375 |
$tpl->set_var('SIZE', 1);
|
|
| 376 |
if ($section['block'] == $number) {
|
|
| 377 |
$tpl->set_var('SELECTED', ' selected="selected"');
|
|
| 378 |
} else {
|
|
| 379 |
$tpl->set_var('SELECTED', '');
|
|
| 380 |
} |
|
| 381 |
$tpl->parse('block_list', 'block_block', true);
|
|
| 382 |
} |
|
| 383 |
} else {
|
|
| 384 |
if ($edit_page == '') {
|
|
| 385 |
$edit_page = $edit_page_0.'#wb_'.$edit_page_1; |
|
| 386 |
} |
|
| 387 |
$input_attribute = 'input_normal'; |
|
| 388 |
reset($block); |
|
| 389 |
$tpl->set_var(array( |
|
| 390 |
'STYLE_DISPLAY_SECTION_BLOCK' => ' style="visibility:hidden;"', |
|
| 391 |
'NAME_SIZE' => 300, |
|
| 392 |
'INPUT_ATTRIBUTE' => $input_attribute, |
|
| 393 |
'VAR_SECTION_ID' => $section['section_id'], |
|
| 394 |
'VAR_SECTION_IDKEY' => $admin->getIDKEY($section['section_id']), |
|
| 395 |
// 'VAR_SECTION_IDKEY' => $section['section_id'], |
|
| 396 |
'VAR_POSITION' => $section['position'], |
|
| 397 |
'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page, |
|
| 398 |
'NAME' => htmlentities(strip_tags(key($block))), |
|
| 399 |
'VALUE' => 1, |
|
| 400 |
'SET_NONE_DISPLAY_OPTION' => '<option> </option>' |
|
| 401 |
) |
|
| 402 |
); |
|
| 403 |
} |
|
| 404 |
// Insert icon and images |
|
| 405 |
$tpl->set_var(array( |
|
| 406 |
'CLOCK_16_PNG' => 'clock_16.png', |
|
| 407 |
'CLOCK_DEL_16_PNG' => 'clock_del_16.png', |
|
| 408 |
'DELETE_16_PNG' => 'delete_16.png' |
|
| 409 |
) |
|
| 410 |
); |
|
| 411 |
// set calendar start values |
|
| 412 |
if ($section['publ_start']==0) {
|
|
| 413 |
$tpl->set_var('VALUE_PUBL_START', '');
|
|
| 414 |
} else {
|
|
| 415 |
$tpl->set_var('VALUE_PUBL_START', date($jscal_format, $section['publ_start']+TIMEZONE));
|
|
| 416 |
} |
|
| 417 |
// set calendar start values |
|
| 418 |
if ($section['publ_end']==0) {
|
|
| 419 |
$tpl->set_var('VALUE_PUBL_END', '');
|
|
| 420 |
} else {
|
|
| 421 |
$tpl->set_var('VALUE_PUBL_END', date($jscal_format, $section['publ_end']+TIMEZONE));
|
|
| 422 |
} |
|
| 423 |
// Insert icons up and down |
|
| 424 |
if ($section['position'] != 1 ) {
|
|
| 425 |
$tpl->set_var( |
|
| 426 |
'VAR_MOVE_UP_URL', |
|
| 427 |
'<a href="'.ADMIN_URL.'/pages/move_up.php?page_id='.$page_id.'&section_id='.$section['section_id'].'"> |
|
| 428 |
<img src="'.THEME_URL.'/images/up_16.png" alt="{TEXT_MOVE_UP}" />
|
|
| 429 |
</a>' ); |
|
| 430 |
} else {
|
|
| 431 |
$tpl->set_var(array( |
|
| 432 |
'VAR_MOVE_UP_URL' => '' |
|
| 433 |
) |
|
| 434 |
); |
|
| 435 |
} |
|
| 436 |
if ($section['position'] != $num_sections ) {
|
|
| 437 |
$tpl->set_var( |
|
| 438 |
'VAR_MOVE_DOWN_URL', |
|
| 439 |
'<a href="'.ADMIN_URL.'/pages/move_down.php?page_id='.$page_id.'&section_id='.$section['section_id'].'"> |
|
| 440 |
<img src="'.THEME_URL.'/images/down_16.png" alt="{TEXT_MOVE_DOWN}" />
|
|
| 441 |
</a>' ); |
|
| 442 |
} else {
|
|
| 443 |
$tpl->set_var(array( |
|
| 444 |
'VAR_MOVE_DOWN_URL' => '' |
|
| 445 |
) |
|
| 446 |
); |
|
| 447 |
} |
|
| 448 |
} else { continue; }
|
|
| 449 |
$tpl->set_var(array( |
|
| 450 |
'DISPLAY_DEBUG' => ' style="visibility:visible;"', |
|
| 451 |
'TEXT_SID' => 'SID', |
|
| 452 |
'DEBUG_COLSPAN_SIZE' => 9 |
|
| 453 |
) |
|
| 454 |
); |
|
| 455 |
if ($debug) {
|
|
| 456 |
$tpl->set_var(array( |
|
| 457 |
'DISPLAY_DEBUG' => ' style="visibility:visible;"', |
|
| 458 |
'TEXT_PID' => 'PID', |
|
| 459 |
'TEXT_SID' => 'SID', |
|
| 460 |
'POSITION' => $section['position'] |
|
| 461 |
) |
|
| 462 |
); |
|
| 463 |
} else {
|
|
| 464 |
$tpl->set_var(array( |
|
| 465 |
'DISPLAY_DEBUG' => ' style="display:none;"', |
|
| 466 |
'TEXT_PID' => '', |
|
| 467 |
'POSITION' => '' |
|
| 468 |
) |
|
| 469 |
); |
|
| 470 |
} |
|
| 471 |
if ($bSectionCanDelete) {
|
|
| 472 |
$tpl->parse('delete', 'delete_block', false);
|
|
| 473 |
} else {
|
|
| 474 |
$tpl->parse('delete', '', false);
|
|
| 475 |
} |
|
| 476 |
$tpl->parse('section_list', 'section_block', true);
|
|
| 324 | 477 |
} |
| 325 | 478 |
|
| 326 |
$sql = 'SELECT `section_id`,`module`,`position`,`block`,`publ_start`,`publ_end` '; |
|
| 327 |
$sql .= 'FROM `'.TABLE_PREFIX.'sections` '; |
|
| 328 |
$sql .= 'WHERE `page_id` = '.$page_id.' '; |
|
| 329 |
$sql .= 'ORDER BY `position` ASC'; |
|
| 330 |
$query_sections = $database->query($sql); |
|
| 331 |
|
|
| 332 |
if($query_sections->numRows() > 0) |
|
| 333 |
{
|
|
| 334 |
$num_sections = $query_sections->numRows(); |
|
| 335 |
while($section = $query_sections->fetchRow(MYSQL_ASSOC)) |
|
| 336 |
{
|
|
| 337 |
if(!is_numeric(array_search($section['module'], $module_permissions))) |
|
| 338 |
{
|
|
| 339 |
// Get the modules real name |
|
| 340 |
$sql = 'SELECT `name` FROM `'.TABLE_PREFIX.'addons` '; |
|
| 341 |
$sql .= 'WHERE `directory` = "'.$section['module'].'"'; |
|
| 342 |
if(!$database->get_one($sql) || !file_exists(WB_PATH.'/modules/'.$section['module'])) |
|
| 343 |
{
|
|
| 344 |
$edit_page = '<span class="module_disabled">'.$section['module'].'</span>'; |
|
| 345 |
}else |
|
| 346 |
{
|
|
| 347 |
$edit_page = ''; |
|
| 348 |
} |
|
| 349 |
$sSectionIdPrefix = ( defined( 'SEC_ANCHOR' ) && ( SEC_ANCHOR != '' ) ? SEC_ANCHOR : 'Sec'); |
|
| 350 |
$edit_page_0 = '<a id="sid'.$section['section_id'].'" href="'.ADMIN_URL.'/pages/modify.php?page_id='.$results_array['page_id']; |
|
| 351 |
$edit_page_1 = ($sSectionIdPrefix!='') ? '#'.$sSectionIdPrefix.$section['section_id'].'">' : '">'; |
|
| 352 |
$edit_page_1 .= $section['module'].'</a>'; |
|
| 353 |
if(SECTION_BLOCKS) |
|
| 354 |
{
|
|
| 355 |
if($edit_page == '') |
|
| 356 |
{
|
|
| 357 |
if(defined('EDIT_ONE_SECTION') && EDIT_ONE_SECTION)
|
|
| 358 |
{
|
|
| 359 |
$edit_page = $edit_page_0.'&wysiwyg='.$section['section_id'].$edit_page_1; |
|
| 360 |
} else {
|
|
| 361 |
$edit_page = $edit_page_0.$edit_page_1; |
|
| 362 |
} |
|
| 363 |
} |
|
| 364 |
$input_attribute = 'input_normal'; |
|
| 365 |
$tpl->set_var(array( |
|
| 366 |
'STYLE_DISPLAY_SECTION_BLOCK' => ' style="visibility:visible;"', |
|
| 367 |
'NAME_SIZE' => 300, |
|
| 368 |
'INPUT_ATTRIBUTE' => $input_attribute, |
|
| 369 |
'VAR_SECTION_ID' => $section['section_id'], |
|
| 370 |
'VAR_SECTION_IDKEY' => $admin->getIDKEY($section['section_id']), |
|
| 371 |
// 'VAR_SECTION_IDKEY' => $section['section_id'], |
|
| 372 |
'VAR_POSITION' => $section['position'], |
|
| 373 |
'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page, |
|
| 374 |
'SELECT' => '', |
|
| 375 |
'SET_NONE_DISPLAY_OPTION' => '' |
|
| 376 |
) |
|
| 377 |
); |
|
| 378 |
// Add block options to the section_list |
|
| 379 |
$tpl->clear_var('block_list');
|
|
| 380 |
foreach($block AS $number => $name) |
|
| 381 |
{
|
|
| 382 |
$tpl->set_var('NAME', htmlentities(strip_tags($name)));
|
|
| 383 |
$tpl->set_var('VALUE', $number);
|
|
| 384 |
$tpl->set_var('SIZE', 1);
|
|
| 385 |
if($section['block'] == $number) |
|
| 386 |
{
|
|
| 387 |
$tpl->set_var('SELECTED', ' selected="selected"');
|
|
| 388 |
} else {
|
|
| 389 |
$tpl->set_var('SELECTED', '');
|
|
| 390 |
} |
|
| 391 |
$tpl->parse('block_list', 'block_block', true);
|
|
| 392 |
} |
|
| 393 |
} else {
|
|
| 394 |
if($edit_page == '') |
|
| 395 |
{
|
|
| 396 |
$edit_page = $edit_page_0.'#wb_'.$edit_page_1; |
|
| 397 |
} |
|
| 398 |
$input_attribute = 'input_normal'; |
|
| 399 |
$tpl->set_var(array( |
|
| 400 |
'STYLE_DISPLAY_SECTION_BLOCK' => ' style="visibility:hidden;"', |
|
| 401 |
'NAME_SIZE' => 300, |
|
| 402 |
'INPUT_ATTRIBUTE' => $input_attribute, |
|
| 403 |
'VAR_SECTION_ID' => $section['section_id'], |
|
| 404 |
'VAR_SECTION_IDKEY' => $admin->getIDKEY($section['section_id']), |
|
| 405 |
// 'VAR_SECTION_IDKEY' => $section['section_id'], |
|
| 406 |
'VAR_POSITION' => $section['position'], |
|
| 407 |
'LINK_MODIFY_URL_VAR_MODUL_NAME' => $edit_page, |
|
| 408 |
'NAME' => htmlentities(strip_tags($block[1])), |
|
| 409 |
'VALUE' => 1, |
|
| 410 |
'SET_NONE_DISPLAY_OPTION' => '<option> </option>' |
|
| 411 |
) |
|
| 412 |
); |
|
| 413 |
} |
|
| 414 |
// Insert icon and images |
|
| 415 |
$tpl->set_var(array( |
|
| 416 |
'CLOCK_16_PNG' => 'clock_16.png', |
|
| 417 |
'CLOCK_DEL_16_PNG' => 'clock_del_16.png', |
|
| 418 |
'DELETE_16_PNG' => 'delete_16.png' |
|
| 419 |
) |
|
| 420 |
); |
|
| 421 |
// set calendar start values |
|
| 422 |
if($section['publ_start']==0) |
|
| 423 |
{
|
|
| 424 |
$tpl->set_var('VALUE_PUBL_START', '');
|
|
| 425 |
} else {
|
|
| 426 |
$tpl->set_var('VALUE_PUBL_START', date($jscal_format, $section['publ_start']+TIMEZONE));
|
|
| 427 |
} |
|
| 428 |
// set calendar start values |
|
| 429 |
if($section['publ_end']==0) |
|
| 430 |
{
|
|
| 431 |
$tpl->set_var('VALUE_PUBL_END', '');
|
|
| 432 |
} else {
|
|
| 433 |
$tpl->set_var('VALUE_PUBL_END', date($jscal_format, $section['publ_end']+TIMEZONE));
|
|
| 434 |
} |
|
| 435 |
// Insert icons up and down |
|
| 436 |
if($section['position'] != 1 ) |
|
| 437 |
{
|
|
| 438 |
$tpl->set_var( |
|
| 439 |
'VAR_MOVE_UP_URL', |
|
| 440 |
'<a href="'.ADMIN_URL.'/pages/move_up.php?page_id='.$page_id.'&section_id='.$section['section_id'].'"> |
|
| 441 |
<img src="'.THEME_URL.'/images/up_16.png" alt="{TEXT_MOVE_UP}" />
|
|
| 442 |
</a>' ); |
|
| 443 |
} else {
|
|
| 444 |
$tpl->set_var(array( |
|
| 445 |
'VAR_MOVE_UP_URL' => '' |
|
| 446 |
) |
|
| 447 |
); |
|
| 448 |
} |
|
| 449 |
if($section['position'] != $num_sections ) {
|
|
| 450 |
$tpl->set_var( |
|
| 451 |
'VAR_MOVE_DOWN_URL', |
|
| 452 |
'<a href="'.ADMIN_URL.'/pages/move_down.php?page_id='.$page_id.'&section_id='.$section['section_id'].'"> |
|
| 453 |
<img src="'.THEME_URL.'/images/down_16.png" alt="{TEXT_MOVE_DOWN}" />
|
|
| 454 |
</a>' ); |
|
| 455 |
} else {
|
|
| 456 |
$tpl->set_var(array( |
|
| 457 |
'VAR_MOVE_DOWN_URL' => '' |
|
| 458 |
) |
|
| 459 |
); |
|
| 460 |
} |
|
| 461 |
|
|
| 462 |
} else {
|
|
| 463 |
continue; |
|
| 464 |
} |
|
| 465 |
|
|
| 466 |
$tpl->set_var(array( |
|
| 467 |
'DISPLAY_DEBUG' => ' style="visibility:visible;"', |
|
| 468 |
'TEXT_SID' => 'SID', |
|
| 469 |
'DEBUG_COLSPAN_SIZE' => 9 |
|
| 470 |
) |
|
| 471 |
); |
|
| 472 |
if($debug) |
|
| 473 |
{
|
|
| 474 |
$tpl->set_var(array( |
|
| 475 |
'DISPLAY_DEBUG' => ' style="visibility:visible;"', |
|
| 476 |
'TEXT_PID' => 'PID', |
|
| 477 |
'TEXT_SID' => 'SID', |
|
| 478 |
'POSITION' => $section['position'] |
|
| 479 |
) |
|
| 480 |
); |
|
| 481 |
} else {
|
|
| 482 |
$tpl->set_var(array( |
|
| 483 |
'DISPLAY_DEBUG' => ' style="display:none;"', |
|
| 484 |
'TEXT_PID' => '', |
|
| 485 |
'POSITION' => '' |
|
| 486 |
) |
|
| 487 |
); |
|
| 488 |
} |
|
| 489 |
if($bSectionCanDelete) {
|
|
| 490 |
$tpl->parse('delete', 'delete_block', false);
|
|
| 491 |
} else {
|
|
| 492 |
$tpl->parse('delete', '', false);
|
|
| 493 |
} |
|
| 494 |
$tpl->parse('section_list', 'section_block', true);
|
|
| 495 |
} |
|
| 496 |
|
|
| 497 |
} |
|
| 498 |
|
|
| 499 | 479 |
// now add the calendars -- remember to to set the range to [1970, 2037] if the date is used as timestamp! |
| 500 | 480 |
// the loop is simply a copy from above. |
| 501 |
$sql = 'SELECT `section_id`,`module` FROM `'.TABLE_PREFIX.'sections` ';
|
|
| 502 |
$sql .= 'WHERE page_id = '.$page_id.' ';
|
|
| 503 |
$sql .= 'ORDER BY `position` ASC';
|
|
| 504 |
$query_sections = $database->query($sql);
|
|
| 481 |
$sql = 'SELECT `section_id`,`module` FROM `'.$oDb->TablePrefix.'sections` '
|
|
| 482 |
. 'WHERE page_id = '.$page_id.' '
|
|
| 483 |
. 'ORDER BY `position` ASC';
|
|
| 484 |
$query_sections = $oDb->doQuery($sql);
|
|
| 505 | 485 |
|
| 506 |
if($query_sections->numRows() > 0) |
|
| 507 |
{
|
|
| 486 |
if ($query_sections->numRows() > 0) {
|
|
| 508 | 487 |
$num_sections = $query_sections->numRows(); |
| 509 |
while($section = $query_sections->fetchRow()) |
|
| 510 |
{
|
|
| 488 |
while ($section = $query_sections->fetchRow()) {
|
|
| 511 | 489 |
// Get the modules real name |
| 512 |
$sql = 'SELECT `name` FROM `'.TABLE_PREFIX.'addons` '; |
|
| 513 |
$sql .= 'WHERE `directory` = "'.$section['module'].'"'; |
|
| 514 |
$module_name = $database->get_one($sql); |
|
| 515 |
|
|
| 516 |
if(!is_numeric(array_search($section['module'], $module_permissions))) |
|
| 517 |
{
|
|
| 490 |
$sql = 'SELECT `name` FROM `'.$oDb->TablePrefix.'addons` ' |
|
| 491 |
. 'WHERE `directory` = "'.$section['module'].'"'; |
|
| 492 |
$module_name = $oDb->getOne($sql); |
|
| 493 |
if (!is_numeric(array_search($section['module'], $module_permissions))) {
|
|
| 518 | 494 |
$tpl->set_var(array( |
| 519 | 495 |
'jscal_ifformat' => $jscal_ifformat, |
| 520 | 496 |
'jscal_firstday' => $jscal_firstday, |
| ... | ... | |
| 525 | 501 |
'trigger_end' => 'trigger_stop'.$section['section_id'] |
| 526 | 502 |
) |
| 527 | 503 |
); |
| 528 |
if(isset($jscal_use_time) && $jscal_use_time==TRUE) {
|
|
| 504 |
if (isset($jscal_use_time) && $jscal_use_time==TRUE) {
|
|
| 529 | 505 |
$tpl->set_var(array( |
| 530 | 506 |
'showsTime' => "true", |
| 531 | 507 |
'timeFormat' => "24" |
| 532 | 508 |
) |
| 533 | 509 |
); |
| 534 |
} else {
|
|
| 510 |
} else {
|
|
| 535 | 511 |
$tpl->set_var(array( |
| 536 | 512 |
'showsTime' => "false", |
| 537 | 513 |
'timeFormat' => "24" |
| ... | ... | |
| 544 | 520 |
} |
| 545 | 521 |
|
| 546 | 522 |
// Work-out if we should show the "Add Section" form |
| 547 |
$sql = 'SELECT `section_id` FROM `'.TABLE_PREFIX.'sections` ';
|
|
| 548 |
$sql .= 'WHERE `page_id` = '.$page_id.' AND `module` = "menu_link"';
|
|
| 549 |
$query_sections = $database->query($sql);
|
|
| 523 |
$sql = 'SELECT `section_id` FROM `'.$oDb->TablePrefix.'sections` '
|
|
| 524 |
. 'WHERE `page_id` = '.$page_id.' AND `module` = "menu_link"';
|
|
| 525 |
$query_sections = $oDb->doQuery($sql);
|
|
| 550 | 526 |
$tpl->set_var('TEXT_PLEASE_SELECT', $mLang->TEXT_NONE);
|
| 551 |
if($query_sections->numRows() == 0) |
|
| 552 |
{
|
|
| 527 |
if ($query_sections->numRows() == 0) {
|
|
| 553 | 528 |
$tpl->set_var('TEXT_PLEASE_SELECT', $mLang->TEXT_PLEASE_SELECT);
|
| 554 | 529 |
// Modules list |
| 555 |
$sql = 'SELECT `name`,`directory`,`type` FROM `'.TABLE_PREFIX.'addons` '; |
|
| 556 |
$sql .= 'WHERE `type` = "module" AND `function` = "page" AND `directory` != "menu_link" '; |
|
| 557 |
$sql .= 'ORDER BY `name`'; |
|
| 558 |
$result = $database->query($sql); |
|
| 559 |
// if(DEBUG && $database->is_error()) { $admin->print_error($database->get_error()); }
|
|
| 560 |
|
|
| 561 |
if($result->numRows() > 0) |
|
| 562 |
{
|
|
| 563 |
while ($module = $result->fetchRow()) |
|
| 564 |
{
|
|
| 530 |
$sql = 'SELECT `name`,`directory`,`type` FROM `'.$oDb->TablePrefix.'addons` ' |
|
| 531 |
. 'WHERE `type` = "module" AND `function` = "page" AND `directory` != "menu_link" ' |
|
| 532 |
. 'ORDER BY `name`'; |
|
| 533 |
$result = $oDb->doQuery($sql); |
|
| 534 |
// if(DEBUG && $oDb->is_error()) { $admin->print_error($oDb->get_error()); }
|
|
| 535 |
if ($result->numRows() > 0) {
|
|
| 536 |
while ($module = $result->fetchRow()) {
|
|
| 565 | 537 |
// Check if user is allowed to use this module echo $module['directory'],'<br />'; |
| 566 |
if(!is_numeric(array_search($module['directory'], $module_permissions))) |
|
| 567 |
{
|
|
| 538 |
if (!is_numeric(array_search($module['directory'], $module_permissions))) {
|
|
| 568 | 539 |
$tpl->set_var('VALUE', $module['directory']);
|
| 569 | 540 |
$tpl->set_var('NAME', $module['name']);
|
| 570 |
if($module['directory'] == 'wysiwyg') |
|
| 571 |
{
|
|
| 541 |
if ($module['directory'] == 'wysiwyg') {
|
|
| 572 | 542 |
$tpl->set_var('SELECTED', ' selected="selected"');
|
| 573 | 543 |
} else {
|
| 574 | 544 |
$tpl->set_var('SELECTED', '');
|
| ... | ... | |
| 582 | 552 |
} |
| 583 | 553 |
// Insert language text and messages |
| 584 | 554 |
$tpl->set_var(array( |
| 585 |
'TEXT_MANAGE_SECTIONS' => $HEADING['MANAGE_SECTIONS'],
|
|
| 555 |
'TEXT_MANAGE_SECTIONS' => $mLang->HEADING_MANAGE_SECTIONS,
|
|
| 586 | 556 |
'TEXT_ARE_YOU_SURE' => $mLang->TEXT_ARE_YOU_SURE, |
| 587 | 557 |
'TEXT_TYPE' => $mLang->TEXT_TYPE, |
| 588 | 558 |
'TEXT_ADD' => $mLang->TEXT_ADD, |
| 589 | 559 |
'TEXT_SAVE' => $mLang->TEXT_SAVE, |
| 590 |
'TEXTLINK_MODIFY_PAGE' => $HEADING['MODIFY_PAGE'],
|
|
| 560 |
'TEXTLINK_MODIFY_PAGE' => $mLang->HEADING_MODIFY_PAGE,
|
|
| 591 | 561 |
'TEXT_CALENDAR' => $mLang->TEXT_CALENDAR, |
| 592 | 562 |
'TEXT_DELETE_DATE' => $mLang->TEXT_DELETE_DATE, |
| 593 | 563 |
'TEXT_ADD_SECTION' => $mLang->TEXT_ADD_SECTION, |
| ... | ... | |
| 598 | 568 |
$tpl->parse('main', 'main_block', false);
|
| 599 | 569 |
$tpl->pparse('output', 'page');
|
| 600 | 570 |
// include the required file for Javascript admin |
| 601 |
if(file_exists(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php')) |
|
| 602 |
{
|
|
| 571 |
if(file_exists(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php')) {
|
|
| 603 | 572 |
include(WB_PATH.'/modules/jsadmin/jsadmin_backend_include.php'); |
| 604 | 573 |
} |
| 605 | 574 |
break; |
| 606 | 575 |
endswitch; |
| 607 |
|
|
| 608 | 576 |
// Print admin footer |
| 609 | 577 |
$admin->print_footer(); |
Also available in: Unified diff