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"); }
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(); }
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¤tTable={$this->getTable()}"; $queryArray['extra_controls'] .= "</select> <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"); }
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';
/** * */ 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"); }