Beiträge: 2.042
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? ![Wink Wink](https://www.mybb.de/forum/images/smilies/wink.gif)
Seit man beim Lesen nicht aufpasst und insert mit update verwechselt.
Beiträge: 2.296
Themen: 34
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.772
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.296
Themen: 34
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.772
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.
![Wink Wink](https://www.mybb.de/forum/images/smilies/wink.gif)
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.296
Themen: 34
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.
![Rolleyes Rolleyes](https://www.mybb.de/forum/images/smilies/rolleyes.gif)
Ich ändere und teste heute Abend.
Vielen Dank soweit!
Beiträge: 2.296
Themen: 34
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.772
Themen: 269
Registriert seit: 20.09.2005
Wunderbar.
![Smile Smile](https://www.mybb.de/forum/images/smilies/smile.gif)
Danke für die Rückmeldung.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.