Перейти к контенту

Дневник программиста

  • записей
    60
  • комментариев
    309
  • просмотра
    226 854

reBirth 3


Arhar

3 171 просмотр

Тупой 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 комментария


Рекомендуемые комментарии

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.