Z której wersji CSEO korzystasz? Był to znany bug, ale został naprawiony.
Otwórz admin/sources/classes/class_taskmanager.php i znajdź:
/**
* Ensure app exists and is enabled
*
* @param array Task Data
* @return array Task Data
*/
private function _checkAppEnabled( $this_task )
{
if ( ! $task['task_application'] OR ! ipsRegistry::$applications[ $task['task_application'] ]['app_enabled'] )
{
/* Best update them all */
$_apps = array();
foreach( ipsRegistry::$applications as $appDir => $appData )
{
if ( $appData['app_enabled'] )
{
$_apps[] = "'" . $appDir . "'";
}
}
$this->DB->update( 'task_manager', array( 'task_enabled' => 0 ), 'task_application NOT IN (' . implode( ',', $_apps ) . ')' );
/* Fetch task again */
$this_task = $this->DB->buildAndFetch( array( 'select' => '*',
'from' => 'task_manager',
'where' => 'task_enabled = 1 AND task_next_run <= '.$this->time_now,
'order' => 'task_next_run ASC',
'limit' => array(0,1) ) );
}
return $this_task;
}
Zamień na:
/**
* Ensure app exists and is enabled
*
* @param array Task Data
* @return array Task Data
*/
private function _checkAppEnabled( $task )
{
if ( ! $task['task_application'] OR ! ipsRegistry::$applications[ $task['task_application'] ]['app_enabled'] )
{
/* Best update them all */
$_apps = array();
foreach( ipsRegistry::$applications as $appDir => $appData )
{
if ( $appData['app_enabled'] )
{
$_apps[] = "'" . $appDir . "'";
}
}
$this->DB->update( 'task_manager', array( 'task_enabled' => 0 ), 'task_application NOT IN (' . implode( ',', $_apps ) . ')' );
/* Fetch task again */
$this_task = $this->DB->buildAndFetch( array( 'select' => '*',
'from' => 'task_manager',
'where' => 'task_enabled = 1 AND task_next_run <= '.$this->time_now,
'order' => 'task_next_run ASC',
'limit' => array(0,1) ) );
}
return $task;
}
Zapisz i wyślij.
Otwórz admin/sources/base/ipsRegistry.php i znajdź:
foreach( $app_cache as $_app_dir => $_app_data )
{
if ( IPS_AREA == 'public' && ! $_app_data['app_public_title'] )
{
continue;
}
$_app_data['app_public_title'] = ( $_app_data['app_public_title'] ) ? $_app_data['app_public_title'] : $_app_data['app_title'];
self::$applications[ $_app_dir ] = $_app_data;
}
Zamień na:
foreach( $app_cache as $_app_dir => $_app_data )
{
if ( !IPS_IS_TASK AND ( IPS_AREA == 'public' && ! $_app_data['app_public_title'] ) )
{
continue;
}
$_app_data['app_public_title'] = ( $_app_data['app_public_title'] ) ? $_app_data['app_public_title'] : $_app_data['app_title'];
self::$applications[ $_app_dir ] = $_app_data;
}
Zapisz i wyślij.
Na koniec uruchom następujące zapytanie pamiętając o prefiksie):
update task_manager SET task_enabled=1 where task_application='communityseo';
Oczywiście zrób backup tych plików przed ich modyfikacją