isauth("admin_system"))return not_auth(); include($aclasses_dir.'class_install.php'); if(!isset($query)) $query = ''; switch ( $option ) { case "info" : info_page(); break; case "browse" : browse(); break; case "listdir" : listdir(); break; case "query" : database_page($query); break; case "hacks" : { switch($task) { case "install" : { $install=new Install("hack"); $msg = $install->go(); $limbocore->redir('admin.php?com_option=system&option=hacks'.$msg); break; } default :new_hack(); break; } break; } case "updates" : { switch($task) { case "install" : { switch ($tab_num) { case '1': $limbocore->redir('admin.php?com_option=templates&task=new&web_path='.$cid[0]);break; case '2': $limbocore->redir('admin.php?com_option=language&task=new&web_path='.$cid[0]);break; case '3': $limbocore->redir('admin.php?com_option=components&task=new&web_path='.$cid[0]);break; case '4': $limbocore->redir('admin.php?com_option=modules&task=new&web_path='.$cid[0]);break; case '5': $limbocore->redir('admin.php?com_option=system&option=hacks&web_path='.$cid[0]);break; } break; } default :new_updates(); break; } break; } case "manage" : { switch($task) { case "upload" : Upload :: upload_files($lm_absolute_path."data/backups/"); $limbocore->redir("admin.php?com_option=system&option=manage"); break; case "upload_form" : Upload :: upload_interface("admin.php?com_option=system&option=manage",$lm_absolute_path."data/backup/"); break; case "delete" : foreach($cid as $dfile )unlink ($dfile); $limbocore->redir("admin.php?com_option=system&option=manage"); break; case "restore" : $fp=fopen($cid[0],"r"); $query= fread($fp,filesize($cid[0])); fclose($fp); $conn->qcache=false; $conn->cache=false; // disable chaheing $query_arr = split_sql($query); foreach($query_arr as $query)$conn->Execute($query); $limbocore->redir("admin.php?com_option=system&option=manage"); break; case "backup" :backup_db(); $limbocore->redir("admin.php?com_option=system&option=manage"); break; default: manage_db(); break; } } } function backup_db() { global $conn,$lm_absolute_path,$time; $conn->cache=false; $conn->qcache=false; $conn->dbcoding=false; $tables = $conn->MetaTables(); if(is_array($tables)) { $m_sql=""; foreach( $tables as $table ) { $table_meta=$conn->MetaColumns($table); $m_sql.="DROP TABLE $table;\n\n"; // create table query $sql="CREATE TABLE $table (\n"; $sql.="id int(10) auto_increment"; foreach($table_meta as $key=>$meta) { if( $key=="id" || $key=="lastupd" ) continue ; $sql.=",\n$meta->name "; if(strstr($meta->type,"text")) $sql.=$meta->type; else {$sql.=$meta->type."(".$meta->max_length.")"; if($meta->not_null) $sql.= " NOT NULL"; if($meta->has_default) $sql.= " DEFAULT '".$meta->default_value."'";} } $sql.=",\nPRIMARY KEY (id) \n);\n\n"; $m_sql.=$sql; $rs=$conn->Execute("SELECT * FROM $table"); if($rs && $rs->RecordCount()>0 && $rsa=$rs->GetArray()) { foreach($rsa as $row) { $sql="INSERT INTO $table ("; foreach($row as $key=>$val) { if($key=='lastupd')continue; $sql.="$key,"; } $sql=substr($sql,0,strlen($sql)-1); $sql.=") \nVALUES ("; foreach($row as $key=>$val) { if($key=='lastupd')continue; if(strstr($table_meta[$key]->type,"text") || strstr($table_meta[$key]->type,"char")) { $sql.="'$val',"; } else $sql.="$val,"; } $sql=substr($sql,0,strlen($sql)-1); $sql .=");\n\n"; $m_sql.=$sql; } } } } $m_sql=str_replace("\n","\r\n",$m_sql); $file=$lm_absolute_path."data/backups/".date("d_m_Y_H_i_s",$time).".sql"; $fp=fopen($file,"w"); fwrite($fp,$m_sql,strlen($m_sql)); fclose($fp); } ?>