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 комментария
Рекомендуемые комментарии