/** * Generate the cache file * */ function generateCache($cacheFile = 'cache.css') { $cssArray = array("layout.css", "common2.css", "htmlelements.css", "creativecommons.css", "forum.css", "calendar.css", "cms.css", "stepmenu.css", "switchmenu.css", "colorboxes.css", "manageblocks.css", "facebox.css", "modernbrickmenu.css", "jquerytags.css", "overlappingtabs.css", "login.css", "navigationmenu.css", "modulespecific.css", "cssdropdownmenu.css", "sexybuttons.css", "chisimbacanvas.css", "filemanager.css"); //load up all of the CSS files into an array $cssFiles = glob("*.css"); $counter = 1; foreach ($cssArray as $cssFile) { if (file_exists($cssFile)) { $css = file_get_contents($cssFile); $css = optimize($css); if ($counter == 1) { // Create it or overwrite it the first time around file_put_contents($cacheFile, $css); } else { // Append after the first one file_put_contents($cacheFile, $css, FILE_APPEND); } } $counter++; } }
} rmdir($dir); // now delete empty backup folder echo "<div class='cntr'>\r\n <body onload='JumpBottom()'>\r\n \t <p class='odrow bd cntr'>Backup File '{$file}' deleted.</p>\r\n \t <p class='evrow cntr'>\r\n \t <a class='bkbtn' href='admin.php?f=database' title='Go back to Database'>Complete this process</a></p></div>\r\n </div>\r\n </div>\r\n </body>\r\n </html>\r\n "; die(''); } // List current database tables $stats = mysql_query("SHOW TABLE STATUS FROM {$database} LIKE '{$mysql_table_prefix}%'"); $num_tables = mysql_num_rows($stats); if ($num_tables != 0) { echo "<br />\r\n \t<table width='98%'>\r\n \t<tr>\r\n \t\t<td class='headline' colspan='6'>\r\n \t\t<div class='headline cntr'>Main Table Overview: <span class='odrow'>'{$database}'</span> </div>\r\n \t\t</td>\r\n \t</tr>\r\n \t<tr>\r\n \t\t<td width='20%' class='tblhead'>Table</td>\r\n \t\t<td width='20%' class='tblhead'>Rows</td>\r\n \t\t<td width='25%' class='tblhead'>Created on</td>\r\n \t\t<td width='15%' class='tblhead'>Data Size kB</td>\r\n \t\t<td width='19%' class='tblhead'>Index Size kB</td>\r\n \t</tr>\r\n \t"; $bgcolor = 'odrow'; $i = 0; while ($rows = mysql_fetch_array($stats)) { echo "<tr class='{$bgcolor} cntr'>\r\n <td>" . $rows["Name"] . "</td>\r\n <td >" . $rows['Rows'] . "</td>\r\n <td>" . $rows['Create_time'] . "</td>\r\n <td>" . number_format($rows['Data_length'] / 1024, 1) . "</td>\r\n <td>" . number_format($rows['Index_length'] / 1024, 1) . "</td>\r\n </tr>\r\n "; $i++; if ($bgcolor == 'odrow') { $bgcolor = 'evrow'; } else { $bgcolor = 'odrow'; } } echo "</table>\r\n \t<form name='optimize' id='dbform2' method='post' action='admin.php'>\r\n \t\t<p class='tblhead'>\r\n \t\t<input type='hidden' name='f' value='database'\r\n \t\t/>\r\n \t\t<span class='bd'>Repair and optimize current database</span>\r\n \t\t<input class='sbmt' type='submit' name='send2' value='Optimize' title='Attempt to minimize database'\r\n \t\t/>\r\n \t\t</p>\r\n \t</form>\r\n \t"; } else { echo "<p class='odrow cntr'>\r\n <span class='warn bd'>Warning: Database contains no tables</p>\r\n \t"; } //Enter here to repair and optimize database if ($send2 == "Optimize") { optimize($database); echo "<p class='odrow cntr'>\r\n <span class='bd'>Completed!</span> {$i} tables processed.<br />\r\n Current database '{$database}' repaired and optimized.</p>\r\n \t"; }
unlink("" . $tmp_dir . "/thread_ids.txt"); if ($multi_indexer > "1") { sleep(30); // wait until all multithreded indexer will be aborted } echo "<br />\n <div class='submenu'> </div>\n <p class='odrow cntr'><span class='bd'>Indaxation aborted!</span>\n <br />\n Database '" . $database . "' repaired and optimized.\n <br />\n Now containing all data until indexing was cancelled.\n </p>\n <br />\n "; $back = ''; cleanKeywords($back); // delete all keywords not associated with any link cleanLinks($back); // delete all links not associated with any site echo "<div class='submenu cntr'> </div>"; // preventive repair the active database, as the index procedure was aborted. $flush = 1; // in any case repair, optimize & flush the db after index was aborted $i = optimize($flush) - 1; } if (!isset($f)) { $f = 2; } else { $url = str_replace("-_-", "&", $url); // decrypt the & character $url = str_replace("_-_", "+", $url); // decrypt the + character } $site_funcs = array(22 => "default", 21 => "default", 4 => "default", 19 => "default", 1 => "default", 2 => "default", "add_site" => "default", 20 => "default", 28 => "default", 30 => "default", 40 => "default", 45 => "default", 50 => "default", 51 => "default", "edit_site" => "default", 5 => "default"); $stat_funcs = array("statistics" => "default", "delete_log" => "default"); $settings_funcs = array("settings" => "default", 41 => "default"); $index_funcs = array("index" => "default"); $clean_funcs = array("clean" => "default", 15 => "default", 16 => "default", 17 => "default", 23 => "default"); $cat_funcs = array(11 => "default", 10 => "default", "categories" => "default", "edit_cat" => "default", "delete_cat" => "default", "add_cat" => "default", 7 => "default");
include_once dirname(__FILE__) . "/framework/class.unix.inc"; include_once dirname(__FILE__) . "/framework/frame.class.inc"; if (preg_match("#--verbose#", implode(" ", $argv))) { $GLOBALS["DEBUG"] = true; $GLOBALS["VERBOSE"] = true; } if (posix_getuid() != 0) { die("Cannot be used in web server mode\n\n"); } $unix = new unix(); if ($argv[1] == "--cron") { set_cron(); die; } if ($argv[1] == "--optimize") { optimize(); die; } function set_cron() { $targetfile = "/etc/cron.d/MysqlOptimize"; @unlink($targetfile); $sock = new sockets(); $unix = new unix(); $EnableMysqlOptimize = $sock->GET_INFO("EnableMysqlOptimize"); if (!is_numeric($EnableMysqlOptimize)) { $EnableMysqlOptimize = 0; } if ($GLOBALS["VERBOSE"]) { echo "EnableMysqlOptimize = {$EnableMysqlOptimize}\n"; }
switch ($mode) { case 'backup': $pagetitle = $LANG_DB_BACKUP['new_backup']; if (SEC_checkToken()) { $display .= dobackup(); } break; case 'delete': $pagetitle = $LANG_DB_BACKUP['last_ten_backups']; if (SEC_checkToken()) { $display .= deletebackups(); } break; case 'optimize': $pagetitle = $LANG_DB_BACKUP['optimize_title']; $display .= optimize(); $list_backups = false; break; case 'dooptimize': $startwith = ''; if (isset($_GET['startwith'])) { $startwith = COM_applyFilter($_GET['startwith']); } $pagetitle = $LANG_DB_BACKUP['optimize_title']; if (!empty($startwith) || SEC_checkToken()) { $failures = 0; if (isset($_GET['failures'])) { $failures = COM_applyFilter($_GET['failures'], true); } $num_errors = dooptimize($startwith, $failures); if ($num_errors == 0) {
function repair_all() { $unix = new unix(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $timefile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time"; if ($GLOBALS["VERBOSE"]) { echo "repair_all Loading done...\nTimeFile:{$timefile}\n"; } $unix = new unix(); if (system_is_overloaded()) { mysql_admin_events("Overloaded system, aborting task", __FILE__, __LINE__); return; } $pid = @file_get_contents($pidfile); if (!$GLOBALS["FORCE"]) { if ($pid < 100) { $pid = null; } if ($unix->process_exists($pid, basename(__FILE__))) { if ($GLOBALS["VERBOSE"]) { echo "Already executed pid {$pid}\n"; } return; } $timeexec = $unix->file_time_min($timefile); if ($timeexec < 120) { if ($GLOBALS["VERBOSE"]) { echo "{$timeexec} <> 120...\n"; } return; } } $q = new mysql(); $myisamchk = $unix->find_program("myisamchk"); $sql = "SHOW TABLE STATUS FROM `artica_backup`"; $q = new mysql(); $MYSQL_DATA_DIR = $unix->MYSQL_DATA_DIR(); $results = $q->QUERY_SQL($sql, "artica_backup"); while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $TableName = $ligne["Name"]; $ligne2 = mysql_fetch_array($q->QUERY_SQL("ANALYZE TABLE {$TableName}", "artica_backup")); $comment = $ligne["Comment"]; echo "{$TableName}: {$ligne2["Msg_type"]} - {$ligne2["Msg_text"]} ({$comment})\n{$myisamchk} --safe-recover {$MYSQL_DATA_DIR}/artica_backup/{$TableName}.MYI\n"; if ($TableName == "squid_caches_center") { $ligne2["Msg_type"] = "error"; } if ($ligne2["Msg_type"] == "error") { if (is_file("{$MYSQL_DATA_DIR}/artica_backup/{$TableName}.MYI")) { mysql_admin_events("Repair: {$MYSQL_DATA_DIR}/artica_backup/{$TableName}.MYI", __FUNCTION__, __FILE__, __LINE__); shell_exec("{$myisamchk} --safe-recover {$MYSQL_DATA_DIR}/artica_backup/{$TableName}.MYI"); } continue; } echo "{$TableName} -> {$comment}\n"; if (trim($comment) == null) { continue; } } $sql = "SHOW TABLE STATUS FROM `artica_events`"; $results = $q->QUERY_SQL($sql, "artica_events"); while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $TableName = $ligne["Name"]; $comment = $ligne["Comment"]; $ligne2 = mysql_fetch_array($q->QUERY_SQL("ANALYZE TABLE {$TableName}", "artica_events")); $comment = $ligne["Comment"]; echo "{$TableName}: {$ligne2["Msg_type"]} - {$ligne2["Msg_text"]} ({$comment})\n"; if ($ligne2["Msg_type"] == "error") { if (is_file("{$MYSQL_DATA_DIR}/artica_events/{$TableName}.MYI")) { mysql_admin_events("Repair: {$MYSQL_DATA_DIR}/artica_events/{$TableName}.MYI", __FUNCTION__, __FILE__, __LINE__); shell_exec("{$myisamchk} --safe-recover {$MYSQL_DATA_DIR}/artica_events/{$TableName}.MYI"); } continue; } if (trim($comment) == null) { continue; } if (preg_match("#Incorrect key file for table#", $comment)) { if (is_file("{$MYSQL_DATA_DIR}/artica_events/{$TableName}.MYI")) { mysql_admin_events("Repair: {$MYSQL_DATA_DIR}/artica_events/{$TableName}.MYI", __FUNCTION__, __FILE__, __LINE__); shell_exec("{$myisamchk} --safe-recover {$MYSQL_DATA_DIR}/artica_events/{$TableName}.MYI"); } } } $sock = new sockets(); $WORKDIR = $sock->GET_INFO("SquidStatsDatabasePath"); if ($WORKDIR == null) { $WORKDIR = "/opt/squidsql"; } if (is_dir($WORKDIR)) { $q = new mysql_squid_builder(); $sql = "SHOW TABLE STATUS FROM `squidlogs`"; $results = $q->QUERY_SQL($sql); while ($ligne = @mysql_fetch_array($results, MYSQL_ASSOC)) { $TableName = trim($ligne["Name"]); if ($TableName == null) { continue; } $comment = $ligne["Comment"]; $ligne2 = mysql_fetch_array($q->QUERY_SQL("ANALYZE TABLE {$TableName}", "squidlogs")); if ($ligne2["Msg_type"] == "error") { if (is_file("{$MYSQL_DATA_DIR}/squidsql/{$TableName}.MYI")) { mysql_admin_events("Repair: {$MYSQL_DATA_DIR}/squidsql/{$TableName}.MYI", __FUNCTION__, __FILE__, __LINE__); shell_exec("{$myisamchk} --safe-recover {$MYSQL_DATA_DIR}/squidsql/{$TableName}.MYI"); } } if (preg_match("#Incorrect key file for table#", $comment)) { if (is_file("{$MYSQL_DATA_DIR}/squidsql/{$TableName}.MYI")) { mysql_admin_events("Repair: {$MYSQL_DATA_DIR}/squidsql/{$TableName}.MYI", __FUNCTION__, __FILE__, __LINE__); shell_exec("{$myisamchk} --safe-recover {$MYSQL_DATA_DIR}/squidsql/{$TableName}.MYI"); } } } } else { echo "{$WORKDIR} no such dir\n"; } optimize(true); }
function do_optimization() { $result = array(); $settings = array(); $default_optimizer = new css_optimizer(); foreach (array('remove_comments', 'compress', 'optimize', 'extra_optimize', 'remove_ie_hacks') as $prop) { $settings[$prop] = !empty($_POST) ? isset($_POST[$prop]) : $default_optimizer->{$prop}; } $settings['prefixes'] = empty($_POST) ? 'all' : implode(',', array_keys(isset($_POST['prefix']) ? $_POST['prefix'] : array())); $result['settings'] = $settings; $result['errors'] = ''; if (!empty($_POST['source'])) { $result['source'] = $_POST['source']; $start = microtime(true); $result['css'] = optimize($result['source'], $settings, $settings['errors']); $result['execution_time'] = microtime(true) - $start; } return $result; }
} printf("<p><span class='red'> Script execution aborted. <br /></span>"); printf("<p><strong>Invalid query string, which caused the SQL error:</strong></p>"); echo "<p> {$sql_query} </p>"; exit; } $tables = $stats->field_count; if ($tables) { echo "\n <br /><br /><br />\n <table width='98%'>\n <tr>\n <td class='headline' colspan='6'>\n <div class='headline cntr'>Table Overview of database " . $db . ": <span class='odrow'>'" . $database . "'</span> </div>\n </td>\n </tr>\n </table>\n <table width='98%'>\n <tr>\n <td width='20%' class='tblhead'>Table</td>\n <td width='20%' class='tblhead'>Rows</td>\n <td width='25%' class='tblhead'>Created</td>\n <td width='15%' class='tblhead'>Data Size kB</td>\n <td width='19%' class='tblhead'>Index Size kB</td>\n </tr>\n "; $bgcolor = 'odrow'; $i = -1; while ($rows = $stats->fetch_array(MYSQLI_ASSOC)) { echo " <tr class='{$bgcolor} cntr'>\n <td>" . $rows['Name'] . "</td>\n <td>" . $rows['Rows'] . "</td>\n <td>" . $rows['Create_time'] . "</td>\n <td>" . number_format($rows['Data_length'] / 1024, 1) . "</td>\n <td>" . number_format($rows['Index_length'] / 1024, 1) . "</td>\n </tr>\n "; $i++; if ($bgcolor == 'odrow') { $bgcolor = 'evrow'; } else { $bgcolor = 'odrow'; } } echo " </table>\n <form name='optimize' id='optimize' method='post' action='admin.php'>\n <p class='tblhead'>\n <input type='hidden' name='f' value='database' />\n <input type='hidden' name='db' value='" . $db . "' />\n <span class='bd'>Repair and optimize current database</span>\n <input class='sbmt' type='submit' name='send2' value='Optimize' title='Attempt to minimize database' />\n </p>\n </form>\n "; } else { echo "<p class='odrow cntr'>\n <span class='warn bd'>Warning: Database contains no tables</p>\n "; } //Enter here to repair and optimize database if ($send2 == "Optimize") { optimize($clear); echo "<p class='odrow cntr'>\n <span class='bd'>Completed!</span> " . $i . " tables processed.<br />\n Current database '" . $database . "' repaired and optimized.</p>\n "; } echo " <div class='clear'></div>\n <a class='navup' href='admin.php?db=" . $db . "&f=database&del=99' title='Jump to Page Top'>Top</a>\n <br /><br />\n </div>\n </body>\n </html>\n "; die('');
function do_optimization() { $data = array(); if (empty($_POST)) { //Default settings $data['settings'] = Tinyfier_CSS_Tool::default_settings(); } else { //User settings $data['settings'] = array('compress' => isset($_POST['compress']), 'optimize' => isset($_POST['optimize']), 'extra_optimize' => isset($_POST['extra_optimize']), 'ie_compatible' => isset($_POST['ie_compatible']), 'prefix' => array()); foreach (array('webkit', 'mozilla', 'opera', 'microsoft') as $type) { $data['settings']['prefix'][$type] = isset($_POST['prefix'][$type]); } } $data['errors'] = ''; if (!isset($_POST['source'])) { return $data; } $data['source'] = $_POST['source']; $start = microtime(true); $data['css'] = optimize($_POST['source'], $data['settings'], $data['errors']); $data['execution_time'] = microtime(true) - $start; return $data; }
} // List current database tables $pstr = TABLE_PREFIX; if (!empty($pstr)) { $stats = mysql_query("SHOW TABLE STATUS FROM " . $db->default['database'] . " LIKE '" . TABLE_PREFIX . "%'"); } else { $stats = mysql_query("SHOW TABLE STATUS FROM " . $db->default['database']); } $num_tables = mysql_num_rows($stats); if ($num_tables != 0) { echo "<br />\r\n \t<table width='98%'>\r\n \t<tr>\r\n \t\t<td class='headline' colspan='6'>\r\n \t\t<div class='headline cntr'>Main Table Overview: <span class='odrow'>" . $db->default['database'] . "</span> </div>\r\n \t\t</td>\r\n \t</tr>\r\n \t<tr>\r\n \t\t<td width='20%' class='tblhead'>Table</td>\r\n \t\t<td width='20%' class='tblhead'>Rows</td>\r\n \t\t<td width='25%' class='tblhead'>Created on</td>\r\n \t\t<td width='15%' class='tblhead'>Data Size kB</td>\r\n \t\t<td width='19%' class='tblhead'>Index Size kB</td>\r\n \t</tr>\r\n \t"; $bgcolor = 'odrow'; $i = 0; while ($rows = mysql_fetch_array($stats)) { echo "<tr class='{$bgcolor} cntr'>\r\n <td>" . $rows["Name"] . "</td>\r\n <td >" . $rows['Rows'] . "</td>\r\n <td>" . $rows['Create_time'] . "</td>\r\n <td>" . number_format($rows['Data_length'] / 1024, 1) . "</td>\r\n <td>" . number_format($rows['Index_length'] / 1024, 1) . "</td>\r\n </tr>\r\n "; $i++; if ($bgcolor == 'odrow') { $bgcolor = 'evrow'; } else { $bgcolor = 'odrow'; } } echo "</table>\r\n \t<form name='optimize' id='dbform2' method='post' action='" . WEBROOT_DIR . "/admin/'>\r\n \t\t<p class='tblhead'>\r\n \t\t<input type='hidden' name='f' value='database'\r\n \t\t/>\r\n \t\t<span class='bd'>Repair and optimize current database</span>\r\n \t\t<input class='sbmt' type='submit' name='send2' value='Optimize' title='Attempt to minimize database'\r\n \t\t/>\r\n \t\t</p>\r\n \t</form>\r\n \t"; } else { echo "<p class='odrow cntr'>\r\n <span class='warn bd'>Warning: Database contains no tables</p>\r\n \t"; } //Enter here to repair and optimize database if ($send2 == "Optimize") { optimize($db->default['database']); echo "<p class='odrow cntr'>\r\n <span class='bd'>Completed!</span> {$i} tables processed.<br />\r\n Current database, " . $db->default['database'] . ", repaired and optimized.</p>\r\n \t"; }