|
From: Jon O. <jon...@us...> - 2005-08-21 21:41:01
|
Update of /cvsroot/mxbb/core/includes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2254/includes Modified Files: mx_functions_admincp.php Log Message: updating... Index: mx_functions_admincp.php =================================================================== RCS file: /cvsroot/mxbb/core/includes/mx_functions_admincp.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** mx_functions_admincp.php 20 Aug 2005 18:19:11 -0000 1.1 --- mx_functions_admincp.php 21 Aug 2005 21:40:51 -0000 1.2 *************** *** 303,308 **** define('MX_PAGE_COLUMN_TYPE' , 8); define('MX_PAGE_BLOCK_TYPE' , 9); ! define('MX_PAGE_TEMPLATE_TYPE' , 10); ! define('MX_PAGE_TEMPLATE_COLUMN_TYPE' , 11); // Action --- 303,309 ---- define('MX_PAGE_COLUMN_TYPE' , 8); define('MX_PAGE_BLOCK_TYPE' , 9); ! define('MX_PAGE_PRIVATE_TYPE' , 10); ! define('MX_PAGE_TEMPLATE_TYPE' , 11); ! define('MX_PAGE_TEMPLATE_COLUMN_TYPE' , 12); // Action *************** *** 316,321 **** // Flow control ! define('MX_ADMIN_DEBUG' , false); ! define('MX_ADMIN_SILENT' , true); // --- 317,321 ---- // Flow control ! define('MX_ADMIN_DEBUG' , true); // *************** *** 547,551 **** --- 547,598 ---- mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); } + + // $page_id = intval($id); + + $page_id_new = $mx_request_vars->post('page_id_new', MX_TYPE_INT, 0); + $page_name = $mx_request_vars->post('page_name', MX_TYPE_ANY, ''); + $page_desc = $mx_request_vars->post('page_desc', MX_TYPE_ANY, ''); + $page_icon = $mx_request_vars->post('menuicon', MX_TYPE_NO_TAGS, ''); + $page_header = $mx_request_vars->post('page_header', MX_TYPE_NO_TAGS, ''); + $page_graph_border = $mx_request_vars->post('page_graph_border', MX_TYPE_NO_TAGS, ''); + $auth_view = $mx_request_vars->post('auth_view', MX_TYPE_INT, 0); + $sql = "INSERT INTO " . PAGE_TABLE . " ( page_id, page_name, page_desc, page_icon, page_graph_border, auth_view, page_header ) + VALUES ( '$page_id_new' , '$page_name', '$page_desc', '$page_icon', '$page_graph_border', '$auth_view', '$page_header' )"; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't insert page information", '', __LINE__, __FILE__, $sql); + } + + // + // Page templates + // + $use_template = $mx_request_vars->post('use_template', MX_TYPE_INT, 0); + + if( $use_template > 1 ) + { + $sql = " SELECT * FROM " . COLUMN_TEMPLATES . " WHERE page_template_id = " . $use_template; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't get list of Columns for this template", '', __LINE__, __FILE__, $sql); + } + + $row = $db->sql_fetchrowset($result); + + for( $row_count = 0; $row_count < count($row); $row_count++ ) + { + $sql1 = "INSERT INTO " . COLUMN_TABLE . " (column_title, column_order, column_size, page_id) + VALUES ( '" . $row[$row_count]['column_title'] . "', '" . $row[$row_count]['column_order'] . "', '" . $row[$row_count]['column_size'] . "', '$page_id_new' )"; + if( !($result = $db->sql_query($sql1)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't insert page information", '', __LINE__, __FILE__, $sql); + } + } + } + + // + // Update cache + // + //update_session_cache($next_id); } $message = $lang['AdminCP_status'] . ": " . $lang['Page'] . ' (' . htmlspecialchars(trim($HTTP_POST_VARS['page_name'])) . ') ' . $lang['was_inserted']; *************** *** 561,564 **** --- 608,631 ---- mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); } + + $sql = "SELECT MAX(column_order) AS max_order FROM " . COLUMN_TABLE; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't get order number from column table", "", __LINE__, __FILE__, $sql); + } + $row = $db->sql_fetchrow($result); + + $max_order = $row['max_order']; + $next_order = $max_order + 10; + + // + // There is no problem having duplicate page names so we won't check for it. + // + $sql = "INSERT INTO " . COLUMN_TABLE . " (column_title, column_order, column_size, page_id) + VALUES ('" . $HTTP_POST_VARS['column_title'] . "', $next_order, '" . $HTTP_POST_VARS['column_size'] . "', $page_id)"; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't insert row in column table", "", __LINE__, __FILE__, $sql); + } } *************** *** 575,578 **** --- 642,659 ---- mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); } + + list($column_id) = each($HTTP_POST_VARS['addblock']); + + $block_id = $HTTP_POST_VARS['block_id'][$column_id]; + + $sql = "INSERT INTO " . COLUMN_BLOCK_TABLE . " (column_id, block_id, block_order) + VALUES ( $column_id, $block_id, 9999 )"; + + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't add new block", "", __LINE__, __FILE__, $sql); + } + + $this->move('block', $column_id, $page_id); } *************** *** 588,591 **** --- 669,681 ---- { mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); + } + + $template_name = $HTTP_POST_VARS['templatename']; + + $sql = "INSERT INTO " . PAGE_TEMPLATES . " ( template_name ) VALUES ( '$template_name' )"; + + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't add new template", "", __LINE__, __FILE__, $sql); } *************** *** 603,606 **** --- 693,717 ---- mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); } + + $sql = "SELECT MAX(column_order) AS max_order FROM " . COLUMN_TEMPLATES; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't get order number from column template table", "", __LINE__, __FILE__, $sql); + } + $row = $db->sql_fetchrow($result); + + $max_order = $row['max_order']; + $next_order = $max_order + 10; + + // + // There is no problem having duplicate page names so we won't check for it. + // + $sql = "INSERT INTO " . COLUMN_TEMPLATES . " (column_title, column_order, column_size, page_template_id) + VALUES ('" . $HTTP_POST_VARS['column_title'] . "', $next_order, '" . $HTTP_POST_VARS['column_size'] . "', $page_template_id)"; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't insert row in column table", "", __LINE__, __FILE__, $sql); + } + } *************** *** 914,927 **** break; - case MX_BLOCK_SETTINGS_TYPE: - - if ( !MX_ADMIN_DEBUG ) - { - - } - $message = $lang['AdminCP_status'] . ": " . $lang['Page'] . ' (' . htmlspecialchars(trim($HTTP_POST_VARS['page_name'])) . ') ' . $lang['was_updated']; - - break; - case MX_PAGE_TYPE: --- 1025,1028 ---- *************** *** 933,936 **** --- 1034,1077 ---- } + // $page_id = intval($id); + + $page_id_new = $mx_request_vars->post('page_id_new', MX_TYPE_INT, 0); + $page_name = $mx_request_vars->post('page_name', MX_TYPE_ANY, ''); + $page_desc = $mx_request_vars->post('page_desc', MX_TYPE_ANY, ''); + $page_icon = $mx_request_vars->post('menuicon', MX_TYPE_NO_TAGS, ''); + $page_header = $mx_request_vars->post('page_header', MX_TYPE_NO_TAGS, ''); + $page_graph_border = $mx_request_vars->post('page_graph_border', MX_TYPE_NO_TAGS, ''); + $auth_view = $mx_request_vars->post('auth_view', MX_TYPE_INT, 0); + + if( $page_id != $page_id_new ) + { + $sql = "UPDATE " . COLUMN_TABLE . " + SET page_id = " . $page_id_new . " + WHERE page_id = " . $page_id; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't update page information", '', __LINE__, __FILE__, $sql); + } + } + + $sql = "UPDATE " . PAGE_TABLE . " + SET page_id = '$page_id_new', + page_name = '$page_name', + page_desc = '$page_desc', + page_icon = '$page_icon', + page_header = '$page_header', + page_graph_border = '$page_graph_border', + auth_view = '$auth_view' + WHERE page_id = $page_id"; + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die( GENERAL_ERROR, "Couldn't update page information", '', __LINE__, __FILE__, $sql); + } + + // + // Update cache + // + //update_session_cache($block_id); + } $message = $lang['AdminCP_status'] . ": " . $lang['Page'] . ' (' . htmlspecialchars(trim($HTTP_POST_VARS['page_name'])) . ') ' . $lang['was_updated']; *************** *** 946,949 **** --- 1087,1100 ---- mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); } + + $sql = "UPDATE " . COLUMN_TABLE . " + SET column_title = '" . str_replace("\'", "''", $HTTP_POST_VARS['column_title']) . "', + column_size = '" . str_replace("\'", "''", $HTTP_POST_VARS['column_size']) . "' + WHERE column_id = " . intval($HTTP_POST_VARS['column_id']); + + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't update block information", "", __LINE__, __FILE__, $sql); + } } *************** *** 952,956 **** break; ! case MX_PAGE_BLOCK_TYPE: if ( !MX_ADMIN_DEBUG ) --- 1103,1107 ---- break; ! case MX_PAGE_PRIVATE_TYPE: if ( !MX_ADMIN_DEBUG ) *************** *** 959,963 **** { mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); ! } } --- 1110,1127 ---- { mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); ! } ! ! $cat_id = intval( $HTTP_GET_VARS['cat_id'] ); ! $view_groups = @implode(',', $HTTP_POST_VARS['view']); ! $moderator_groups = @implode(',', $HTTP_POST_VARS['moderator']); ! ! $sql = "UPDATE " . PAGE_TABLE . " ! SET auth_view_group = '$view_groups', auth_moderator_group = '$moderator_groups' ! WHERE page_id = '$cat_id'"; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, 'Could not update Page config table', '', __LINE__, __FILE__, $sql); ! } ! } *************** *** 965,969 **** break; ! case MX_PAGE_TEMPLATE_TYPE: --- 1129,1133 ---- break; ! case MX_PAGE_TEMPLATE_TYPE: *************** *** 987,991 **** { mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); ! } } --- 1151,1166 ---- { mx_message_die( GENERAL_ERROR, $lang['error_no_field'] ); ! } ! ! $sql = "UPDATE " . COLUMN_TEMPLATES . " ! SET column_title = '" . str_replace("\'", "''", $HTTP_POST_VARS['column_title']) . "', ! column_size = '" . str_replace("\'", "''", $HTTP_POST_VARS['column_size']) . "' ! WHERE column_template_id = " . intval($HTTP_POST_VARS['column_template_id']); ! ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't update block information", "", __LINE__, __FILE__, $sql); ! } ! } *************** *** 1230,1234 **** if( $parent ) { ! //$sql = "DELETE FROM " . PARAMETER_TABLE . " WHERE function_id = " . $id; } else --- 1405,1440 ---- if( $parent ) { ! ! ! $sql = "SELECT column_id FROM " . COLUMN_TABLE . " WHERE page_id = " . $page_id; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't get list of Column", '', __LINE__, __FILE__, $sql); ! } ! ! while( $row = $db->sql_fetchrow($result) ) ! { ! $sql = "DELETE FROM " . COLUMN_BLOCK_TABLE . " ! WHERE column_id = " . $row['column_id']; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete column/block information", '', __LINE__, __FILE__, $sql); ! } ! } ! ! $sql = "DELETE FROM " . COLUMN_TABLE . " WHERE page_id = " . $page_id; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete page information", '', __LINE__, __FILE__, $sql); ! } ! ! $sql = "DELETE FROM " . PAGE_TABLE . " WHERE page_id = " . $page_id; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete page information", '', __LINE__, __FILE__, $sql); ! } ! ! ! } else *************** *** 1262,1266 **** if( $parent ) { ! //$sql = "DELETE FROM " . PARAMETER_TABLE . " WHERE function_id = " . $id; } else --- 1468,1484 ---- if( $parent ) { ! ! $sql = "DELETE FROM " . COLUMN_BLOCK_TABLE . " WHERE column_id = " . intval($HTTP_GET_VARS['column_id']); ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete column/block information", "", __LINE__, __FILE__, $sql); ! } ! ! $sql = "DELETE FROM " . COLUMN_TABLE . " WHERE column_id = " . intval($HTTP_GET_VARS['column_id']); ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete column information", "", __LINE__, __FILE__, $sql); ! } ! } else *************** *** 1294,1298 **** if( $parent ) { ! //$sql = "DELETE FROM " . PARAMETER_TABLE . " WHERE function_id = " . $id; } else --- 1512,1527 ---- if( $parent ) { ! ! $block_id = ( isset($HTTP_POST_VARS['block_id']) ) ? $HTTP_POST_VARS['block_id'] : $HTTP_GET_VARS['block_id']; ! $column_id = ( isset($HTTP_POST_VARS['column_id']) ) ? $HTTP_POST_VARS['column_id'] : $HTTP_GET_VARS['column_id']; ! $block_order = ( isset($HTTP_POST_VARS['block_order']) ) ? $HTTP_POST_VARS['block_order'] : $HTTP_GET_VARS['block_order']; ! ! $sql = "DELETE FROM " . COLUMN_BLOCK_TABLE . " WHERE block_id = $block_id AND column_id = $column_id AND block_order = $block_order"; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete the block information", "", __LINE__, __FILE__, $sql); ! } ! ! } else *************** *** 1326,1330 **** if( $parent ) { ! //$sql = "DELETE FROM " . PARAMETER_TABLE . " WHERE function_id = " . $id; } else --- 1555,1572 ---- if( $parent ) { ! ! $sql = "DELETE FROM " . PAGE_TEMPLATES . " WHERE page_template_id = " . intval($HTTP_GET_VARS['page_template_id']); ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete page template information", "", __LINE__, __FILE__, $sql); ! } ! ! $sql = "DELETE FROM " . COLUMN_TEMPLATES . " WHERE page_template_id = " . intval($HTTP_GET_VARS['page_template_id']); ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete column information", "", __LINE__, __FILE__, $sql); ! } ! ! } else *************** *** 1358,1362 **** if( $parent ) { ! //$sql = "DELETE FROM " . PARAMETER_TABLE . " WHERE function_id = " . $id; } else --- 1600,1610 ---- if( $parent ) { ! ! $sql = "DELETE FROM " . COLUMN_TEMPLATES . " WHERE column_template_id = " . intval($HTTP_GET_VARS['column_template_id']); ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't delete column information", "", __LINE__, __FILE__, $sql); ! } ! } else *************** *** 1406,1410 **** { ! } $message = $lang['AdminCP_status'] . ": " . $lang['Column'] . ' ' . $lang['was_moved']; --- 1654,1671 ---- { ! $column_id = intval($HTTP_GET_VARS['column_id']); ! $move = intval($HTTP_GET_VARS['move']); ! ! $sql = "UPDATE " . COLUMN_TABLE . " ! SET column_order = column_order + $move ! WHERE column_id = $column_id"; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't change column order", "", __LINE__, __FILE__, $sql); ! } ! ! $this->move('column', 0, $page_id); ! $show_index = true; ! } $message = $lang['AdminCP_status'] . ": " . $lang['Column'] . ' ' . $lang['was_moved']; *************** *** 1416,1420 **** if ( !MX_ADMIN_DEBUG ) { ! } --- 1677,1725 ---- if ( !MX_ADMIN_DEBUG ) { ! ! $move = intval($HTTP_GET_VARS['move']); ! $column_id = intval($HTTP_GET_VARS['column_id']); ! $block_id = intval($HTTP_GET_VARS['block_id']); ! $block_order = intval($HTTP_GET_VARS['block_order']); ! ! $sql = "UPDATE " . COLUMN_BLOCK_TABLE . " ! SET block_order = block_order + $move ! WHERE column_id = $column_id ! AND block_id = $block_id ! AND block_order = $block_order"; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't change column order", "", __LINE__, __FILE__, $sql); ! } ! ! $this->move('block', $column_id, $page_id); ! $show_index = true; ! ! ! } ! $message = $lang['AdminCP_status'] . ": " . $lang['Block'] . ' ' . $lang['was_moved']; ! ! break; ! ! case MX_PAGE_TEMPLATE_COLUMN_TYPE: ! ! if ( !MX_ADMIN_DEBUG ) ! { ! ! // ??????????? ! $column_id = intval($HTTP_GET_VARS[column_id]); ! $move = intval($HTTP_GET_VARS['move']); ! ! $sql = "UPDATE " . COLUMN_TEMPLATES . " ! SET column_order = column_order + $move ! WHERE column_id = $column_id"; ! if( !($result = $db->sql_query($sql)) ) ! { ! mx_message_die(GENERAL_ERROR, "Couldn't change column order", "", __LINE__, __FILE__, $sql); ! } ! ! $this->move('column', 0, $template_id); ! $show_index = true; ! } *************** *** 1441,1445 **** if ( !MX_ADMIN_DEBUG ) { ! } --- 1746,1754 ---- if ( !MX_ADMIN_DEBUG ) { ! ! // ???? ! $column_id = intval($HTTP_GET_VARS[column_id]); ! sync('block', intval($HTTP_GET_VARS[block_id])); ! $show_index = true; } *************** *** 1639,1642 **** --- 1948,2012 ---- return $output_message; } + + function move($mode, $column = 0, $page_id) + { + global $db; + + switch( $mode ) + { + case 'column': + $table = COLUMN_TABLE; + $idfield = 'column_id'; + $orderfield = 'column_order'; + $columnfield = 'page_id'; + $column = 0; + break; + + case 'block': + $table = COLUMN_BLOCK_TABLE; + $idfield = 'block_id'; + $orderfield = 'block_order'; + $columnfield = 'column_id'; + break; + + default: + mx_message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__); + break; + } + + $sql = "SELECT * FROM $table"; + + if( $column != 0 ) + { + $sql .= " WHERE $columnfield = $column"; + } + else + { + $sql .= " WHERE page_id = $page_id "; + } + $sql .= " ORDER BY $orderfield ASC"; + + if( !($result = $db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't get list of Column", "", __LINE__, __FILE__, $sql); + } + + $i = 10; + $inc = 10; + + while( $row = $db->sql_fetchrow($result) ) + { + $sql = "UPDATE $table + SET $orderfield = $i + WHERE $idfield = " . $row[$idfield] . " + AND $columnfield = $column"; + if( !($db->sql_query($sql)) ) + { + mx_message_die(GENERAL_ERROR, "Couldn't update order fields", "", __LINE__, __FILE__, $sql); + } + $i += 10; + } + } + function _getMaxId($table_name, $table_key) |