MyBB.de Forum

Normale Version: Task wird nicht ausgeführt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
(29.03.2021, 14:16)StefanT schrieb: [ -> ]
(29.03.2021, 13:24)doylecc schrieb: [ -> ]Dieser Teil aus dem geposteten Code:
PHP-Code:
        $new_task['nextrun'] = fetch_next_run($new_task);

        $db->insert_query('tasks'$new_task); 

setzt das nicht den gleichen "nextrun" Wert für alle vorhandenen Tasks, da es keine WHERE Bedingung enthält?
Seit wann braucht man bei insert Bedingungen? Wink

Seit man beim Lesen nicht aufpasst und insert mit update verwechselt.  Toungue
Hier nun meine Task-Datei.
Kann mich jemand über meine geistige Umnachtung aufklären? Big Grin 

PHP-Code:
function task_sn_backupcleaner($task) {
    global $mybb$lang$config;
    $lang->load('sn_backupcleaner');

    if(!defined('MYBB_ADMIN_DIR'))
    {
        if(!isset(
$config['admin_dir']))
        {
            
$config['admin_dir'] = "admin";
        }

        
define('MYBB_ADMIN_DIR'MYBB_ROOT.$config['admin_dir']);
    }
    
    
// Check if folder is writable
    
if(!is_writable(MYBB_ADMIN_DIR."/backups"))
    {
        add_task_log($task$lang->sn_backupcleaner_cantwrite);
    
             
        
$ba_files MYBB_ADMIN_DIR."/backups/*.sql.gz";
        $backup_file glob($ba_files);
        
$ba_count 0;
        
$ba_min $mybb->settings['backupcleaner_keep'];
        $ba_age_max $mybb->settings['backupcleaner_delay'];
    
    
// delete every file in the array which is >= $ba_age_max days and keep files = $ba_min    
    
if(count($backup_file) > $ba_min)
    {
        foreach(
$backup_file as $ba)
        {
        if(
is_file($ba) && time() - filectime($ba) >= $ba_age_max*24*60*60)
        {
        
$ba_count++;    
        
unlink($ba);
        }
        }
        
add_task_log($task$lang->sprintf($lang->sn_backupcleaner_ran$ba_count));
    }    

Kann es sein, dass es die Sprachdatei nur im admin-Ordner liegt?

Abgesehen davon ist es merkwürdig, dass du die Schreibrechte prüfst, das Skript bei fehlenden Rechten aber einfach weiterläuft. Da fehlt wahrscheinlich eine else-Bedingung.
Richtig, der else-Abzweig feht. Es muss natürlich abgebrochen werden, wenn nicht beschreibbar.
Das muss ich nacharbeiten. Wink
Ja die Sprachdatei liegt nur im Admin-Verzeichnis. Habe ich hier einen Denkfehler bzw. sollte das die Ursache sein?

Danke im Voraus!
(30.03.2021, 10:08)Schnapsnase schrieb: [ -> ]Ja die Sprachdatei liegt nur im Admin-Verzeichnis. Habe ich hier einen Denkfehler bzw. sollte das die Ursache sein?
Genau das meinte ich mit unterschiedlichen Pfaden. Wink Die task.php, die die Aufgaben automatisch aufruft, liegt im Hauptverzeichnis. Entsprechend wird die Sprachdatei auch im Hauptverzeichnis des Sprachpakets gesucht.
Boa Stefan,
an der Stelle hätte ich wohl bis zur Verzweiflung gesucht.
Ist natürlich logisch, aber hatte ich absolut nicht auf dem Schirm, da ja auch nirgendwo ein Fehler erscheint. Rolleyes
Ich ändere und teste heute Abend.

Vielen Dank soweit!
Kleines Update:

Sprachdateien hinzugefügt.
Else-Abzweig korrigiert.

Das Plugin funktioniert jetzt, wie es soll.

Danke Stefan!! Wink
Wunderbar. Smile Danke für die Rückmeldung.
Seiten: 1 2 3