Ejemplo n.º 1
0
 public static function db_changeset_apply($db_changeset, $flush_delayed = false)
 {
     $result = true;
     if (!is_array($db_changeset) || empty($db_changeset)) {
         return $result;
     }
     foreach ($db_changeset as $table_name => &$table_data) {
         // TODO - delayed changeset
         /*
         if(static::db_transaction_check(false) && !$flush_delayed && ($table_name == 'users' || $table_name == 'planets' || $table_name == 'unit'))
         {
           static::db_changeset_delay($table_name, $table_data);
           continue;
         }
         */
         foreach ($table_data as $record_id => &$conditions) {
             static::db_changeset_condition_compile($conditions, $table_name);
             if ($conditions['action'] != SQL_OP_DELETE && !$conditions[P_FIELDS_STR]) {
                 continue;
             }
             if ($conditions['action'] == SQL_OP_DELETE && !$conditions[P_WHERE_STR]) {
                 continue;
             }
             // Защита от случайного удаления всех данных в таблице
             if ($conditions[P_LOCATION] != LOC_NONE) {
                 //die('spec ops supernova.php line 928 Добавить работу с кэшем юнитов итд');
                 switch ($conditions['action']) {
                     case SQL_OP_DELETE:
                         $result = classSupernova::db_del_record_list($conditions[P_LOCATION], $conditions[P_WHERE_STR]) && $result;
                         break;
                     case SQL_OP_UPDATE:
                         $result = classSupernova::db_upd_record_list($conditions[P_LOCATION], $conditions[P_WHERE_STR], $conditions[P_FIELDS_STR]) && $result;
                         break;
                     case SQL_OP_INSERT:
                         $result = classSupernova::db_ins_record($conditions[P_LOCATION], $conditions[P_FIELDS_STR]) && $result;
                         break;
                     default:
                         die('Неподдерживаемая операция в classSupernova::db_changeset_apply');
                         // case SQL_OP_REPLACE: $result = $result && doquery("REPLACE INTO {{{$table_name}}} SET {$fields}"); break;
                 }
             } else {
                 $result = doquery($conditions[P_QUERY_STR]) && $result;
             }
         }
     }
     return $result;
 }
Ejemplo n.º 2
0
function db_planet_set_by_owner($ui_owner_id, $ss_set)
{
    //if(!($si_owner_id = intval($ui_owner_id)) || !($ss_set = trim($ss_set))) return false;
    if (!($si_owner_id = idval($ui_owner_id)) || !($ss_set = trim($ss_set))) {
        return false;
    }
    return classSupernova::db_upd_record_list(LOC_PLANET, "`id_owner` = {$si_owner_id}", $ss_set);
}
Ejemplo n.º 3
0
function db_user_list_set_ally_deprecated_convert_ranks($ally_id, $i, $rank_id)
{
    return classSupernova::db_upd_record_list(LOC_USER, "`ally_id` = {$ally_id} AND `ally_rank_id`={$rank_id}", "`ally_rank_id` = {$i}");
}