Beiträge: 2.041
Themen: 10
Registriert seit: 28.06.2007
MyBB-Version: 1.8.x
(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?
Seit man beim Lesen nicht aufpasst und insert mit update verwechselt.
Beiträge: 2.245
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
Hier nun meine Task-Datei.
Kann mich jemand über meine geistige Umnachtung aufklären?
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));
}
}
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
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.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 2.245
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
Richtig, der else-Abzweig feht. Es muss natürlich abgebrochen werden, wenn nicht beschreibbar.
Das muss ich nacharbeiten.
Ja die Sprachdatei liegt nur im Admin-Verzeichnis. Habe ich hier einen Denkfehler bzw. sollte das die Ursache sein?
Danke im Voraus!
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
(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.
Die task.php, die die Aufgaben automatisch aufruft, liegt im Hauptverzeichnis. Entsprechend wird die Sprachdatei auch im Hauptverzeichnis des Sprachpakets gesucht.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 2.245
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
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.
Ich ändere und teste heute Abend.
Vielen Dank soweit!
Beiträge: 2.245
Themen: 33
Registriert seit: 25.05.2018
MyBB-Version: 1.8.38
Kleines Update:
Sprachdateien hinzugefügt.
Else-Abzweig korrigiert.
Das Plugin funktioniert jetzt, wie es soll.
Danke Stefan!!
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Wunderbar.
Danke für die Rückmeldung.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.