Пример #1
0
 function preformSearch()
 {
     $sql = $this->buildQuery();
     $SweetDB_query = new SweetDB_query();
     $SweetDB_query->setupTextArea($sql);
     $queryArray = $SweetDB_query->runQuery($sql, 50);
     $this->sugar_smarty->assign("ACTIONS", $queryArray['actions']);
     $this->sugar_smarty->assign("QUERY_TIME", $queryArray['query_time']);
     $SweetDB_query->drawTableData($sql, $queryArray);
     $this->sugar_smarty->assign('EDIT_COMMAND', 'edit');
     $this->sugar_smarty->assign('DELETE_COMMAND', 'delete');
     $this->sugar_smarty->display("custom/modules/Administration/SweetDBAdmin/tpls/SweetDBQuery.tpl");
 }
Пример #2
0
 function copyTable()
 {
     $tableselect = $this->getRequestVar('tableselect');
     $newTableName = $this->getRequestVar('newTableName');
     $copythis = $this->getRequestVar('copythis');
     $noDeletedRecords = $this->getRequestVar('noDeletedRecords');
     $ReplaceIDs = $this->getRequestVar('ReplaceIDs', '0');
     $switchToNewTable = $this->getRequestVar('switchToNewTable', '0');
     $copyLimit = $this->getRequestVar('copyLimit', '0');
     //first copy the table if that is required
     if ($copythis == 'structure' || $copythis == 'all') {
         $sql = $GLOBALS['db']->dropTableNameSQL($newTableName);
         $result = $GLOBALS['db']->query($sql, false);
         $sql = "CREATE TABLE {$newTableName} LIKE {$tableselect}";
         $result = $GLOBALS['db']->query($sql, false);
     }
     //Now populate with data if that is required
     if ($copythis == 'data1' || $copythis == 'data2' || $copythis == 'all') {
         $additionalClauses = array();
         if ($noDeletedRecords) {
             $additionalClauses[] = "WHERE deleted=0";
         }
         if (is_numeric($copyLimit)) {
             $additionalClauses = "LIMIT {$copyLimit}";
         }
         $sqlEnd = ' ' . implode(' ', $additionalClauses);
         $sql = "INSERT INTO {$newTableName} SELECT * FROM {$tableselect}{$sqlEnd}";
         $result = $GLOBALS['db']->query($sql, false);
     }
     //now rewrite the IDs if required
     if ($ReplaceIDs) {
         $this->assembleList();
         $tables = $this->tableArray;
         $cols = $tables[$tableselect];
         $id = '';
         if (isset($cols['id'])) {
             $id = 'id';
         }
         if (isset($cols['id_c'])) {
             $id = 'id_c';
         }
         if (isset($cols['email_id'])) {
             $id = 'email_id';
         }
         $sql = "SELECT {$id} FROM {$newTableName}";
         $result = $GLOBALS['db']->query($sql);
         while ($hash = $GLOBALS['db']->fetchByAssoc($result)) {
             $newID = create_guid();
             $sql = "UPDATE {$newTableName} SET {$id}='{$newID}' WHERE {$id}='{$hash[$id]}'";
             $update = $GLOBALS['db']->query($sql);
         }
     }
     if (file_exists('cache/SweetDB_tableArray.php')) {
         unlink('cache/SweetDB_tableArray.php');
     }
     $SweetDB_query = new SweetDB_query();
     if ($switchToNewTable) {
         $_REQUEST['sql'] = "SELECT * FROM {$newTableName}";
     }
     $SweetDB_query->display_query();
 }
Пример #3
0
 function display_indexes()
 {
     $indexes = $this->get_indicies($this->getTable());
     $i = 0;
     $rows = array();
     foreach ($indexes as $name => $data) {
         $fields = implode(', ', $data['fields']);
         $rows[$i] = array('id' => $data['name'], 'type' => $data['type'], 'fields' => $fields);
         $i++;
     }
     $queryArray['data'] = $rows;
     $queryArray['actions'] = true;
     $queryArray['header'] = array('Name', 'Type', 'Fields');
     $queryArray['main'] = '';
     $queryArray['extra_controls'] = "Select table to query:";
     $tableNameOptions = $this->getFullTableOptions();
     $queryArray['extra_controls'] .= "<select name=tableselect onchange=\"chooseNewTable('indexes');\">";
     $queryArray['extra_controls'] .= $tableNameOptions;
     $add_index_link = "index.php?module=Administration&action=SweetDBAdmin&skip=0&sql=&command=add_index&currentTable={$this->getTable()}";
     $queryArray['extra_controls'] .= "</select>&nbsp;<input type=button name=add value='Add Index' onclick='document.location=\"{$add_index_link}\"'>";
     $this->sugar_smarty->assign("ACTIONS", $queryArray['actions']);
     $sql = "HIDE";
     $SweetDB_query = new SweetDB_query();
     $SweetDB_query->setupTextArea($sql);
     $SweetDB_query->drawTableData($sql, $queryArray);
     $this->sugar_smarty->assign('EDIT_COMMAND', 'edit_index');
     $this->sugar_smarty->assign('DELETE_COMMAND', 'delete_index');
     $this->sugar_smarty->display("custom/modules/Administration/SweetDBAdmin/tpls/SweetDBQuery.tpl");
 }
Пример #4
0
require_once 'include/php-sql-parser.php';
require_once 'custom/modules/Administration/SweetDBAdmin/classes/SweetDBClass.php';
require_once 'custom/modules/Administration/SweetDBAdmin/classes/class.indexes.php';
require_once 'custom/modules/Administration/SweetDBAdmin/classes/class.query.php';
require_once 'custom/modules/Administration/SweetDBAdmin/classes/class.search.php';
require_once 'custom/modules/Administration/SweetDBAdmin/classes/class.readLog.php';
require_once 'custom/modules/Administration/SweetDBAdmin/classes/class.crud.php';
require_once 'custom/modules/Administration/SweetDBAdmin/classes/class.table.php';
global $current_user;
global $mod_strings;
global $app_list_strings;
global $app_strings;
global $theme;
$title = getClassicModuleTitle("Administration", array("<a href='../../../modules/Administration/index.php?module=Administration&action=SweetDBAdmin'>{$mod_strings['LBL_MODULE_NAME']}</a>", translate('LBL_SWEETDBADMIN')), FALSE);
//set up classes
$SweetDB_query = new SweetDB_query();
$SweetDB = new SweetDB();
$command = $SweetDB->getRequestVar('command', "query");
$numOfRecords = $SweetDB->getRequestVar('numrecords', 50);
$startRecord = $SweetDB->getRequestVar('startrecord', 0);
$scriptName = $SweetDB->getRequestVar('action', "");
$SweetDB->sugar_smarty->assign("mod", $mod_strings);
$SweetDB->sugar_smarty->assign("app", $app_strings);
$SweetDB->sugar_smarty->assign("NUM_RECORDS", $numOfRecords);
$SweetDB->sugar_smarty->assign("START_RECORD", $startRecord);
$SweetDB->sugar_smarty->assign("SCRIPTNAME", $scriptName);
$SweetDB->sugar_smarty->assign("TABLE", $SweetDB->getTable());
$SweetDB->sugar_smarty->assign("TITLE", $title);
$SweetDB->sugar_smarty->assign("MODULE", getCurrentModule($SweetDB->getTable()));
if (file_exists('cache/SweetDB_sqlHistory.php')) {
    include_once 'cache/SweetDB_sqlHistory.php';
Пример #5
0
 /**
  *
  */
 function save_record()
 {
     $sql = $this->buildSave();
     $SweetDB_query = new SweetDB_query();
     $numOfRecords = $this->getRequestVar('numrecords', 50);
     $queryArray = $SweetDB_query->runQuery($sql, -1);
     $table = $this->getTable();
     if (isset($_REQUEST['id_input'])) {
         $id = $_REQUEST['id_input'];
         $id_field = 'id';
     }
     if (isset($_REQUEST['id_c_input'])) {
         $id = $_REQUEST['id_c_input'];
         $id_field = 'id_c';
     }
     $newQuery = $this->getRequestVar('sql', '');
     if (empty($newQuery)) {
         $newQuery = "SELECT * FROM {$table} WHERE {$id_field}='{$id}'";
     }
     $queryArray2 = $SweetDB_query->runQuery($newQuery, $numOfRecords);
     $queryArray2['affectedRows'] = $queryArray['affectedRows'];
     $SweetDB_query->setupTextArea($sql);
     $this->sugar_smarty->assign("ACTIONS", $queryArray2['actions']);
     $this->sugar_smarty->assign("QUERY_TIME", $queryArray2['query_time']);
     $SweetDB_query->drawTableData($sql, $queryArray2);
     $this->sugar_smarty->assign('EDIT_COMMAND', 'edit');
     $this->sugar_smarty->assign('DELETE_COMMAND', 'delete');
     $this->sugar_smarty->display("custom/modules/Administration/SweetDBAdmin/tpls/SweetDBQuery.tpl");
 }