reBirth 3
Тупой ips вынудил таки влезать в код...
Чтобы установить все идеально из хука, придется:
./ips_kernel/classDb.php :: compileUpdateString
else if ( $this->force_data_type[ $k ] == 'nochange' ) { $return_string .= $k . "=" . $v; }
./admin/applications/core/modules_admin/applications/hooks.php :: installHook
foreach( $xml->fetchElements('hookextras_database_update') as $node ) { foreach( $xml->fetchElements('update', $node) as $_table ) { $table = $xml->fetchElementsFromRecord( $_table ); $database['update'][] = array( 'table' => $table['table'], 'field' => $table['field'], 'newvalue' => $table['newvalue'], 'oldvalue' => $table['oldvalue'], 'where' => $table['where'], 'datatype' => $table['datatype'], ); } }
if( count($database['update']) ) { foreach( $database['update'] as $update ) { if($update['datatype']) $this->DB->force_data_type[$update['field']]=$update['datatype']; $this->DB->return_die = true; $this->DB->update( $update['table'], array( $update['field'] => $update['newvalue'] ), html_entity_decode( $update['where'], ENT_QUOTES ) ); $this->DB->return_die = false; $updateQueries++; $extra_data['database']['update'][] = $update; } }
4 комментария
Рекомендуемые комментарии