|
From: Markus P. <mar...@us...> - 2005-04-03 16:45:52
|
Update of /cvsroot/mxbb/core/admin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10908/admin Modified Files: admin_mx_gen_cache.php Log Message: Bug #60 - Fix mx_cache() db2xml function using propietary MySQL code. Also, revised the whole admin_mx_gen_cache.php script: code cleanup, use of mx_request_vars class, moved db2xml_all to includes/mx_cache.php, fixed several problems, including $lang usage, etc. Index: admin_mx_gen_cache.php =================================================================== RCS file: /cvsroot/mxbb/core/admin/admin_mx_gen_cache.php,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** admin_mx_gen_cache.php 6 Mar 2005 01:10:12 -0000 1.13 --- admin_mx_gen_cache.php 3 Apr 2005 16:45:15 -0000 1.14 *************** *** 21,142 **** $no_page_header = true; ! if ( !empty( $setmodules ) ) { ! $filename = basename( __FILE__ ); ! $module['Portal - System']['Generate cache'] = 'admin/' . $filename; ! return; } ! define( 'IN_PORTAL', 1 ); ! $mx_root_path = "../"; // Security and page header ! require( './pagestart.php' ); ! ! if ( isset( $HTTP_POST_VARS['generate'] ) || isset( $HTTP_GET_VARS['generate'] ) ) ! { ! $generate = ( isset( $HTTP_POST_VARS['generate'] ) ) ? $HTTP_POST_VARS['generate'] : $HTTP_GET_VARS['generate']; ! $generate = htmlspecialchars( $generate ); ! } ! else ! { ! $generate = ""; ! } ! /* ! function db2xml( $host, $user, $password, $database, $sql, $xml_file ) ! { ! $create_xml = fopen( $xml_file, "w" ); ! fwrite( $create_xml, "<xml>\r\n<table>\r\n" ); ! $req = mysql_db_query( $database, $sql ); ! while ( $row = mysql_fetch_array( $req ) ) ! { ! fwrite( $create_xml, "<item>\r\n" ); ! for( $j = 0;$line = each( $row );$j++ ) ! { ! if ( $j % 2 ) ! { ! fwrite( $create_xml, "<$line[0]>" . to_text( $line[1] ) . "</$line[0]>\r\n" ); ! } ! } ! fwrite( $create_xml, "</item>\r\n" ); ! } ! fwrite( $create_xml, "</table>\r\n</xml>" ); ! fclose( $create_xml ); ! mysql_free_result( $req ); ! } ! */ - function db2xml_all( $host, $user, $password, $database, $sql, $xml_file ) - { - $req = mysql_db_query( $database, $sql ); - - $block_id_tmp = ''; - $create_xml = ''; - $cache_start = false; - - while ( $row = mysql_fetch_array( $req ) ) - { - if ( $block_id_tmp != $row['block_id'] && $cache_start) - { - fwrite( $create_xml, "</table>\r\n</xml>" ); - fclose( $create_xml ); - } - - if ( $block_id_tmp != $row['block_id'] ) - { - $create_xml = fopen( $xml_file . $row['block_id'] . '.xml', "w" ); - fwrite( $create_xml, "<xml>\r\n<table>\r\n" ); - $cache_start = true; - } - - fwrite( $create_xml, "<item>\r\n" ); - for( $j = 0;$line = each( $row );$j++ ) - { - if ( $j % 2 ) - { - fwrite( $create_xml, "<$line[0]>" . to_text( $line[1] ) . "</$line[0]>\r\n" ); - } - } - fwrite( $create_xml, "</item>\r\n" ); - $block_id_tmp = $row['block_id']; - } - - fwrite( $create_xml, "</table>\r\n</xml>" ); - fclose( $create_xml ); - - mysql_free_result( $req ); - } // Load default template for install ! $template->set_filenames( array( "body" => "admin/admin_message_body.tpl" ) ! ); ! $title = $lang['Generate_mx_cache']; ! // Bug fix ! if ( isset( $HTTP_POST_VARS['generate'] ) || isset( $HTTP_GET_VARS['generate'] ) ) ! { ! $generate = ( isset( $HTTP_POST_VARS['generate'] ) ) ? $HTTP_POST_VARS['generate'] : $HTTP_GET_VARS['generate']; ! $generate = htmlspecialchars( $generate ); ! } ! else ! { ! $generate = ""; ! } ! if ( $generate != 'yes' ) { ! $msg = !empty( $lang['Cache_submit'] ) ? $lang['Cache_submit'] : "generate the cache file?"; ! $msg_explain = !empty( $lang['Cache_explain'] ) ? $lang['Cache_explain'] : "With this option you can generate xml files (cache files) with the portal configuration. These files allow to reduce the number of database queries and improve the portal performance. For the moment this option is not automatic, therefore you must re-generate the cache file after each modification of your portal configuration, otherwise the modifications will not be active."; ! ! $message = $msg_explain . "<br /><br /><br />"; ! $message .= "<FORM ACTION='" . append_sid( PORTAL_URL . 'admin/admin_mx_gen_cache.php' ) . "' METHOD='post'>"; ! $message .= "<INPUT TYPE='hidden' NAME='generate' VALUE='yes'>"; ! $message .= "<INPUT TYPE='submit' NAME='submit' VALUE=\"$msg >>\">"; ! $message .= "</FORM>"; } else --- 21,57 ---- $no_page_header = true; ! if ( !empty($setmodules) ) { ! $module['Portal - System']['Generate cache'] = 'admin/' . basename(__FILE__); return; } ! define('IN_PORTAL', 1); ! $mx_root_path = '../'; // Security and page header ! require('./pagestart.php'); ! // Getting mode of operation ! $generate = ( $mx_request_vars->request('generate', MX_TYPE_INT, 0) == 1 ? true : false ); // Load default template for install ! $template->set_filenames(array( ! 'body' => 'admin/admin_message_body.tpl') ! ); ! // Main procedure ! if ( !$generate ) { ! $message = $lang['Cache_explain'] . '<br /> <br /> <br />'; ! $message .= '<form action="' . append_sid(PORTAL_URL . "admin/admin_mx_gen_cache.$phpEx") . '" method="post">'; ! $message .= '<input type="hidden" name="generate" value="1">'; ! $message .= '<input type="submit" name="submit" value="' . $lang['Cache_submit'] . ' >>" class="liteoption" />'; ! $message .= '</form>'; } else *************** *** 146,194 **** $cache_dir = $mx_root_path . 'cache/'; ! @mkdir( $cache_dir, 0777 ); ! @chmod( $cache_dir, 0777 ); ! if ( !is_writable( $cache_dir ) ) { ! $message = !empty( $lang['Cache_dir_write_protect'] ) ? $lang['Cache_dir_write_protect'] : "Your cache directory is write-protected, unable to generate the cache file"; ! mx_message_die( GENERAL_MESSAGE, $message, '' ); exit; ! } /* // Generate block data $sql = "SELECT blk.block_id ! , blk.block_title ! , blk.block_desc ! , blk.show_block ! , blk.show_title ! , blk.show_stats ! , blk.block_time ! , blk.block_editor_id ! , blk.function_id ! , blk.auth_view ! , blk.auth_edit ! , blk.auth_delete ! , blk.auth_view_group ! , blk.auth_edit_group ! , blk.auth_delete_group ! , blk.auth_moderator_group ! FROM " . BLOCK_TABLE . " blk" ; ! db2xml( $dbhost, $dbuser, $dbpasswd, $dbname, $sql, $cache_dir . "block_config.xml" ); */ ! // Generate block parameter data ! $sql = "SELECT sys.parameter_id ! , sys.block_id ! , par.parameter_name ! , sys.parameter_value ! , sys.bbcode_uid ! FROM " . BLOCK_SYSTEM_PARAMETER_TABLE . " sys, ! " . PARAMETER_TABLE . " par ! WHERE sys.parameter_id = par.parameter_id ! ORDER BY sys.block_id, sys.parameter_id"; ! db2xml_all( $dbhost, $dbuser, $dbpasswd, $dbname, $sql, $cache_dir . "block_" ); /* --- 61,109 ---- $cache_dir = $mx_root_path . 'cache/'; ! @mkdir($cache_dir, 0777); ! @chmod($cache_dir, 0777); ! if ( !is_writable($cache_dir) ) { ! $message = $lang['Cache_dir_write_protect']; ! mx_message_die(GENERAL_MESSAGE, $message, ''); exit; ! } /* // Generate block data $sql = "SELECT blk.block_id ! , blk.block_title ! , blk.block_desc ! , blk.show_block ! , blk.show_title ! , blk.show_stats ! , blk.block_time ! , blk.block_editor_id ! , blk.function_id ! , blk.auth_view ! , blk.auth_edit ! , blk.auth_delete ! , blk.auth_view_group ! , blk.auth_edit_group ! , blk.auth_delete_group ! , blk.auth_moderator_group ! FROM " . BLOCK_TABLE . " blk"; ! db2xml($sql, $cache_dir . 'block_config.xml'); */ ! // Generate block parameter data ! $sql = "SELECT sys.parameter_id, ! sys.block_id, ! par.parameter_name, ! sys.parameter_value, ! sys.bbcode_uid ! FROM " . BLOCK_SYSTEM_PARAMETER_TABLE . " sys, ! " . PARAMETER_TABLE . " par ! WHERE sys.parameter_id = par.parameter_id ! ORDER BY sys.block_id, sys.parameter_id"; ! db2xml_all($sql, $cache_dir . 'block_'); /* *************** *** 200,204 **** " . MODULE_TABLE . " mdl, " . PAGE_TABLE . " pag, ! " . COLUMN_TABLE . " col WHERE blk.function_id = fnc.function_id AND pag.page_id = col.page_id --- 115,119 ---- " . MODULE_TABLE . " mdl, " . PAGE_TABLE . " pag, ! " . COLUMN_TABLE . " col WHERE blk.function_id = fnc.function_id AND pag.page_id = col.page_id *************** *** 208,229 **** ORDER BY col.page_id, column_id, column_order, block_order"; ! db2xml( $dbhost, $dbuser, $dbpasswd, $dbname, $sql, $cache_dir . "page_config.xml" ); */ // Update cache ! update_session_cache( $block_id ); ! ! $message = !empty( $lang['Cache_generate'] ) ? $lang['Cache_generate'] : "Your cache files is generated" ; ! } ! $template->assign_vars( array( 'MESSAGE_TITLE' => ( !empty( $lang[$title] ) ? $lang[$title] : $title ), ! 'MESSAGE_TEXT' => $message ! ) ); ! include_once( './page_header_admin.' . $phpEx ); ! $template->pparse( "body" ); ! include_once( './page_footer_admin.' . $phpEx ); ! exit(); ?> \ No newline at end of file --- 123,143 ---- ORDER BY col.page_id, column_id, column_order, block_order"; ! db2xml($sql, $cache_dir . 'page_config.xml'); */ // Update cache ! update_session_cache($block_id); ! $message = $lang['Cache_generate']; ! } ! $template->assign_vars(array( ! 'MESSAGE_TITLE' => $lang['Generate_mx_cache'], ! 'MESSAGE_TEXT' => $message ! )); ! include_once("./page_header_admin.$phpEx"); ! $template->pparse('body'); ! include_once("./page_footer_admin.$phpEx"); ?> \ No newline at end of file |