function get_missing_columns($config_columns, $table, $xhprofModelObj) { $table_columns = get_table_columns($table, $xhprofModelObj); if (empty($table_columns)) { echo "table columns are empty!!"; } $config_missing_columns = array_diff(array_keys($config_columns), $table_columns); $missing_columns = array(); foreach ($config_missing_columns as $col) { $missing_columns[$col] = $config_columns[$col]; } return $missing_columns; }
function runquery_altertable($sql) { global $db; $tablepre = UC_DBTABLEPRE; $dbcharset = UC_DBCHARSET; $updatesqls = parse_alter_table_sql($sql); foreach ($updatesqls as $updatesql) { $successed = TRUE; if (is_array($updatesql) && !empty($updatesql[0])) { list($table, $action, $field, $sql) = $updatesql; if (empty($field) && !empty($sql)) { $query = "ALTER TABLE {$tablepre}{$table} "; if ($action == 'INDEX') { $successed = $db->query("{$query} {$sql}", "SILENT"); } elseif ($action == 'UPDATE') { $successed = $db->query("UPDATE {$tablepre}{$table} SET {$sql}", 'SILENT'); } } elseif ($tableinfo = get_table_columns($tablepre . $table)) { $fieldexist = isset($tableinfo[$field]) ? 1 : 0; $query = "ALTER TABLE {$tablepre}{$table} "; if ($action == 'MODIFY') { $query .= $fieldexist ? "MODIFY {$field} {$sql}" : "ADD {$field} {$sql}"; $successed = $db->query($query, 'SILENT'); } elseif ($action == 'CHANGE') { $field2 = trim(substr($sql, 0, strpos($sql, ' '))); $field2exist = isset($tableinfo[$field2]); if ($fieldexist && ($field == $field2 || !$field2exist)) { $query .= "CHANGE {$field} {$sql}"; } elseif ($fieldexist && $field2exist) { $db->query("ALTER TABLE {$tablepre}{$table} DROP {$field2}", 'SILENT'); $query .= "CHANGE {$field} {$sql}"; } elseif (!$fieldexist && $fieldexist2) { $db->query("ALTER TABLE {$tablepre}{$table} DROP {$field2}", 'SILENT'); $query .= "ADD {$sql}"; } elseif (!$fieldexist && !$field2exist) { $query .= "ADD {$sql}"; } $successed = $db->query($query); } elseif ($action == 'ADD') { $query .= $fieldexist ? "CHANGE {$field} {$field} {$sql}" : "ADD {$field} {$sql}"; $successed = $db->query($query); } elseif ($action == 'DROP') { if ($fieldexist) { $successed = $db->query("{$query} DROP {$field}", "SILENT"); } $successed = TRUE; } } else { $successed = 'TABLE NOT EXISTS'; } } } return $successed; }
function core_dimensions_update_8_9() { $mail_ot = ObjectTypes::findByName('mail'); $users = Contacts::getAllUsers(); foreach ($users as $user) { /* @var $user Contact */ if ($user->isAdminGroup()) { continue; } $role_id = $user->getUserType(); $sys_perm = SystemPermissions::findOne(array('conditions' => 'permission_group_id=' . $user->getPermissionGroupId())); // check max system permissions $max_role_system_permissions = MaxSystemPermissions::findOne(array('conditions' => 'permission_group_id = ' . $role_id)); if ($max_role_system_permissions instanceof MaxSystemPermission) { $sys_perm_cols = get_table_columns(TABLE_PREFIX . "system_permissions"); foreach ($sys_perm_cols as $col) { $max_val = $max_role_system_permissions->getColumnValue($col); if (!$max_val) { $sys_perm->setColumnValue($col, 0); } } $sys_perm->save(); } // don't allow to write emails for collaborators and guests $user_type_name = $user->getUserTypeName(); if (!in_array($user_type_name, array('Super Administrator', 'Administrator', 'Manager', 'Executive'))) { if ($mail_ot instanceof ObjectType) { DB::executeAll("UPDATE " . TABLE_PREFIX . "contact_member_permissions SET can_write=0, can_delete=0 WHERE object_type_id=" . $mail_ot->getId() . " AND permission_group_id=" . $user->getPermissionGroupId()); } } } }
/** * Return array of object columns * * @access public * @param void * @return array */ function getColumns() { return get_table_columns(self::instance()->getTableName()); }
$languages = xtc_get_languages(); if ($action == 'insert') { if (!xtc_not_null($customers_status_id)) { $next_id_query = xtc_db_query("SELECT MAX(customers_status_id) AS customers_status_id FROM " . TABLE_CUSTOMERS_STATUS . ""); $next_id = xtc_db_fetch_array($next_id_query); $customers_status_id = $next_id['customers_status_id'] + 1; // Check if table exists and delete it first xtc_db_query("DROP TABLE IF EXISTS personal_offers_by_customers_status_" . $customers_status_id); // We want to create a personal offer table corresponding to each customers_status xtc_db_query("CREATE TABLE personal_offers_by_customers_status_" . $customers_status_id . " (price_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, products_id int NOT NULL, quantity int, personal_offer decimal(15,4))"); //Check if table column exists if (!get_table_columns(TABLE_PRODUCTS, 'group_permission_' . $customers_status_id)) { xtc_db_query("ALTER TABLE " . TABLE_PRODUCTS . " ADD group_permission_" . $customers_status_id . " TINYINT( 1 ) NOT NULL"); } //Check if table column exists if (!get_table_columns(TABLE_CATEGORIES, 'group_permission_' . $customers_status_id)) { xtc_db_query("ALTER TABLE " . TABLE_CATEGORIES . " ADD group_permission_" . $customers_status_id . " TINYINT( 1 ) NOT NULL"); } $products_query = xtc_db_query("SELECT price_id, products_id, quantity, personal_offer FROM personal_offers_by_customers_status_" . $customers_base_status . ""); while ($products = xtc_db_fetch_array($products_query)) { $product_data_array = array('price_id' => xtc_db_prepare_input($products['price_id']), 'products_id' => xtc_db_prepare_input($products['products_id']), 'quantity' => xtc_db_prepare_input($products['quantity']), 'personal_offer' => xtc_db_prepare_input($products['personal_offer'])); xtc_db_perform('personal_offers_by_customers_status_' . $customers_status_id, $product_data_array); } } for ($i = 0; $i < sizeof($languages); $i++) { $customers_status_name_array = $_POST['customers_status_name']; $language_id = $languages[$i]['id']; $insert_sql_data = array('customers_status_id' => xtc_db_prepare_input($customers_status_id), 'customers_status_name' => xtc_db_prepare_input($customers_status_name_array[$language_id]), 'language_id' => xtc_db_prepare_input($language_id)); $sql_array = xtc_array_merge($sql_data_array, $insert_sql_data); xtc_db_perform(TABLE_CUSTOMERS_STATUS, $sql_array); }
} else { if ($action == "create_min_url") { $url = $_GET['url']; $type = $_GET['type']; create_min_url($url, $type); } else { if ($action == "get_table") { $key = $_GET['key']; $id_cloud = $_GET['id_cloud']; get_table($key, $id_cloud); } else { if ($action == "get_table_columns") { $key = $_GET['key']; $id_cloud = $_GET['id_cloud']; $name_table = $_GET['name_table']; get_table_columns($key, $id_cloud, $name_table); } else { if ($action == "get_elements_table") { $key = $_GET['key']; $id_cloud = $_GET['id_cloud']; $name_table = $_GET['name_table']; get_table_elements($key, $id_cloud, $name_table); } else { if ($action == "create_table") { $key = $_GET['key']; $id_cloud = $_GET['id_cloud']; $json = $_POST['content']; create_table($key, $id_cloud, $json); } else { if ($action == "direct_download") { $uid = $_GET['uid'];