* @package TestLink * @copyright 2005,2011 TestLink community * @link http://www.teamst.org/index.php * **/ require_once "../../config.inc.php"; require_once "common.php"; require_once "csv.inc.php"; require_once "xml.inc.php"; testlinkInitPage($db); $templateCfg = templateConfiguration(); $args = init_args($db); checkRights($db, $_SESSION['currentUser'], $args); switch ($args->doAction) { case "do_export": $op = do_export($db, $smarty, $args); break; } $keyword = new tlKeyword(); $gui = new stdClass(); $gui->tproject_id = $args->tproject_id; $gui->exportTypes = $keyword->getSupportedSerializationInterfaces(); $gui->action_descr = lang_get('export_keywords'); $gui->main_descr = lang_get('testproject') . TITLE_SEP . $args->tproject_name; $gui->export_filename = is_null($args->export_filename) ? $args->tproject_name . '-keywords.xml' : $args->export_filename; $smarty = new TLSmarty(); $smarty->assign('gui', $gui); $smarty->display($templateCfg->template_dir . $templateCfg->default_template); function init_args(&$dbHandler) { $_REQUEST = strings_stripSlashes($_REQUEST);
$page = $_REQUEST['p'] + 0; if ($_REQUEST['refresh'] && $DB['db'] && !$SQLq) { $SQLq = "show tables"; } if (db_connect('nodie')) { $time_start = microtime_float(); if ($_REQUEST['phpinfo']) { ob_start(); phpinfo(); $sqldr = ob_get_clean(); } else { if ($DB['db']) { if ($_REQUEST['shex']) { print_export(); } elseif ($_REQUEST['doex']) { do_export(); } elseif ($_REQUEST['shim']) { print_import(); } elseif ($_REQUEST['doim']) { do_import(); } elseif ($_REQUEST['dosht']) { do_sht(); } elseif (!$_REQUEST['refresh'] || preg_match('/^select|show|explain/', $SQLq)) { do_sql($SQLq); } #perform non-selet SQL only if not refresh (to avoid dangerous delete/drop) } else { $err_msg = "Select DB first"; } } $time_all = ceil((microtime_float() - $time_start) * 10000) / 10000;
$use_separator = varset($separator_char[intval($_POST['ban_separator'])], $separator_char[1]); $use_quote = varset($quote_char[intval($_POST['ban_quote'])], $quote_char[2]); $type_list = ''; if (is_array($_POST['ban_types'])) { $validBanTypes = banlistManager::getValidReasonList(); $spacer = ''; foreach ($_POST['ban_types'] as $b) { $b = trim($b); if (is_numeric($b) && in_array($b, $validBanTypes)) { $type_list .= $spacer . $b; $spacer = ','; } } } $filename = 'banlist_' . strftime("%Y%m%d_%H%M%S") . '.csv'; if ($error_string = do_export($filename, $type_list, $format_array, $use_separator, $use_quote)) { // Need to report an error here echo "Error report: {$error_string}<br />"; } banlist_adminlog('06', 'File: ' . $filename . '<br />' . $error_string); function do_export($filename, $type_list = '', $format_array, $sep = ',', $quot = '"') { $sql = e107::getDb(); $export_text = ''; $qry = "SELECT * FROM `#banlist` "; if ($type_list != '') { $qry .= " WHERE`banlist_bantype` IN ({$type_list})"; } if (!$sql->db_Select_gen($qry)) { return 'No data: ' . $qry; }
if($argv[1]=="--export"){ ini_set('html_errors',0);ini_set('display_errors', 1);ini_set('error_reporting', E_ALL);ini_set('error_prepend_string','');ini_set('error_append_string',''); $GLOBALS["VERBOSE"]=true; do_export();exit; } $usersmenus=new usersMenus(); if(!$usersmenus->AsDansGuardianAdministrator){ $tpl=new templates(); $alert=$tpl->_ENGINE_parse_body('{ERROR_NO_PRIVS}'); echo "alert('$alert')"; die(); } if(isset($_GET["export-rules"])){popup();exit;} if(isset($_GET["do-export"])){do_export();exit;} js(); function js(){ $page=CurrentPageName(); $tpl=new templates(); $ACLNAME=null; $title_text="{export_rules}"; if(is_numeric($_GET["single-id"])){ if($_GET["single-id"]>0){ $q=new mysql_squid_builder(); $ligne=mysql_fetch_array($q->QUERY_SQL("SELECT aclname FROM webfilters_sqacls WHERE ID='{$_GET["single-id"]}'")); $ACLNAME=" :".utf8_encode($ligne["aclname"]); $title_text="{export_rule}";
function process_tinyadm() { global $db; @session_start(); remove_magic_quotes(); if (!isset($_SESSION['user'])) { $_SESSION['user'] = ''; } if (!isset($_SESSION['password'])) { $_SESSION['password'] = ''; } if (!isset($_SESSION['database'])) { $_SESSION['database'] = ''; } if (!isset($_SESSION['table'])) { $_SESSION['table'] = ''; } if (!isset($_SESSION['last_sql'])) { $_SESSION['last_sql'] = ''; } if (!isset($_SESSION['sql_history'])) { $_SESSION['sql_history'] = array(); } $act = get_var('act'); if ($act == 'login') { setcookie('tinymy_user', get_var('user'), time() + 5184000); // 2 months $_SESSION['user'] = addslashes(get_var('user')); $_SESSION['password'] = addslashes(get_var('password')); } $db = new sqldb($_SESSION['user'], $_SESSION['password'], $_SESSION['database']); if (!$db->is_connected()) { return draw_login_form(); } if ($act == 'login') { // switch to default databas if (get_cookie('tinymy_database')) { $_SESSION['database'] = get_cookie('tinymy_database'); } } switch ($act) { case 'sel_db': $_SESSION['database'] = get_var('d'); $_SESSION['table'] = ''; setcookie('tinymy_database', get_var('d'), time() + 5184000); // 2 months redirect_self(); exit; case 'use_history': $idx = (int) get_var('idx'); if (isset($_SESSION['sql_history'][$idx])) { $_SESSION['database'] = $_SESSION['sql_history'][$idx]['db']; $_SESSION['last_sql'] = $_SESSION['sql_history'][$idx]['sql']; } redirect_self(); exit; case 'sel_table': $_SESSION['table'] = get_var('table'); break; case 'do_export': ob_end_clean(); // we need to pass through the following output from export immediately, without caching do_export(); break; case 'logout': session_unset(); session_destroy(); redirect_self(); exit; case 'exec_sql': history_add(get_var('sql')); } ob_start(); // menu needs to be created after the possible sql has executed echo '<div id="content">'; if ($act != 'export' && $act != 'do_export') { draw_sqlarea(); } switch ($act) { case 'history': draw_history(); break; case 'export': draw_export(); break; case 'sel_db': break; case 'sel_table': case 'show_structure': h('<p style="margin-bottom: 8px;"><a href="?act=show_contents">Show contents of %s</a></p>', $_SESSION['table']); exec_sql_internal(sprintf('desc `%s`', mysqli_escape_string($db->conn_id, $_SESSION['table']))); exec_sql_singlerow(sprintf('show create table `%s`', mysqli_escape_string($db->conn_id, $_SESSION['table']))); break; case 'show_contents': h('<p style="margin-bottom: 8px;"><a href="?act=show_structure">Show structure of %s</a></p>', $_SESSION['table']); $res = mysqli_query($db->conn_id, sprintf("select count(*) from `%s`", mysqli_escape_string($db->conn_id, $_SESSION['table']))); if (!$res) { $db->error(); // } else { list($reccount) = mysqli_fetch_row($res); pager($reccount); exec_sql_internal(sprintf('select * from `%s` %s', mysqli_escape_string($db->conn_id, $_SESSION['table']), pager_limits())); } case 'exec_sql': exec_sql(); // in case the query changed the database, switch to it $cur_database = $db->get_current_database(); if ($cur_database != $_SESSION['database']) { $_SESSION['database'] = $cur_database; setcookie('tinymy_database', $cur_database, time() + 5184000); // 2 months } break; } echo '</div>'; // content $content = ob_get_contents(); ob_end_clean(); // menu needs to be created after all the sql has executed draw_db_menu(); echo $content; }
//get initial values $SQLq=trim($_REQUEST['q']); $page=$_REQUEST['p']+0; if ($_REQUEST['refresh'] && $DB['db'] && preg_match('/^show/',$SQLq) ) $SQLq=$SHOW_T; if (db_connect('nodie')){ $time_start=microtime_float(); if ($_REQUEST['phpinfo']){ ob_start();phpinfo();$sqldr='<div style="font-size:130%">'.ob_get_clean().'</div>'; }else{ if ($DB['db']){ if ($_REQUEST['shex']){ print_export(); }elseif ($_REQUEST['doex']){ check_xss();do_export(); }elseif ($_REQUEST['shim']){ print_import(); }elseif ($_REQUEST['doim']){ check_xss();do_import(); }elseif ($_REQUEST['dosht']){ check_xss();do_sht(); }elseif (!$_REQUEST['refresh'] || preg_match('/^select|show|explain|desc/i',$SQLq) ){ if ($SQLq)check_xss(); do_sql($SQLq);#perform non-select SQL only if not refresh (to avoid dangerous delete/drop) } }else{ if ( $_REQUEST['refresh'] ){ check_xss();do_sql($SHOW_D); }elseif ($_REQUEST['crdb']){ check_xss();do_sql('CREATE DATABASE `'.$_REQUEST['new_db'].'`');do_sql($SHOW_D);