Bonjour,
Suite à une demande spéciale sur le forum Joomlapolis, le développeur m'a fournit un code PHP permettant de nettoyer le contenu d'un mur (CB Activity) dans une période donnée en jours basé sur la date du post de l'utilisateur par une Action Automatique (CB Auto Actions).
Le système marche remarquablement bien et le partage ici :
CB - Auto Actions
Global
Triggers: None
Type: Code
User: Automatic
Access: Super Utilisateur
Action
Method: PHP
J'ai crée plusieurs Actions Automatiques avec différents FIELD_ID. 4 pour être précis.
A ce stade, je suis en mesure de nettoyer les 4 murs en cliquant sur les 4 URL internes.
J'aimerais automatiser ces nettoyages !
Je souhaite mettre en place, dans l'idéal, juste une tâche CRON qui pourrait :
- > Exécuter les 4 Actions Automatiques, en accès Super Utilisateur, un jour précis et différent dans les 12 mois de l'année.
Par Exemple, le 10 Janvier, le 12 Février, le 9 Mars, le 15 Avril, le 11 Mai ect... jusqu'à décembre.
Ce qui nous fait 12 dates d'exécution de la tâche CRON différentes.
-----------------------------------------------------
Les questions que je me pose sont :
Est-t-il possible de créer une tâche CRON qui va exécuter le nettoyage des 4 murs ou faut il en réaliser 4 distinctes ?
Est-t-il possible de programmer 12 dates différentes réparties dans l'année pour exécuter ces nettoyages ?
-----------------------------------------------------
J'ai réussi à mettre en place une tâche CRON pour réaliser les backup avec Akeeba mais ici c'est une autre paire de manches pour mes compétences..
Pourriez vous m'aider s'il vous plaît ? Me dire si c'est possible et m'aiguiller dans la marche à suivre ?
Je vous remercie par avance,
Julien
Suite à une demande spéciale sur le forum Joomlapolis, le développeur m'a fournit un code PHP permettant de nettoyer le contenu d'un mur (CB Activity) dans une période donnée en jours basé sur la date du post de l'utilisateur par une Action Automatique (CB Auto Actions).
Le système marche remarquablement bien et le partage ici :
CB - Auto Actions
Global
Triggers: None
Type: Code
User: Automatic
Access: Super Utilisateur
Action
Method: PHP
Code:
global $_CB_database; $asset = 'profile.%.field.[B]FIELD_ID[/B]'; $duration = '-[B]NOMBRE_DE_JOURS[/B] DAYS'; $query = 'SELECT *' . "\n FROM " . $_CB_database->NameQuote( '#__comprofiler_plugin_activity' ) . "\n WHERE " . $_CB_database->NameQuote( 'asset' ) . " LIKE " . $_CB_database->Quote( $asset ) . "\n AND " . $_CB_database->NameQuote( 'date' ) . " <= " . $_CB_database->Quote( \CBLib\Application\Application::date( 'now', 'UTC' )->modify( $duration )->format( 'Y-m-d H:i:s' ) ); $_CB_database->setQuery( $query ); $activities = $_CB_database->loadObjectList( null, '\CB\Plugin\Activity\Table\ActivityTable', array( $_CB_database ) ); foreach ( $activities as $activity ) { $activity->delete(); }
A ce stade, je suis en mesure de nettoyer les 4 murs en cliquant sur les 4 URL internes.
J'aimerais automatiser ces nettoyages !
Je souhaite mettre en place, dans l'idéal, juste une tâche CRON qui pourrait :
- > Exécuter les 4 Actions Automatiques, en accès Super Utilisateur, un jour précis et différent dans les 12 mois de l'année.
Par Exemple, le 10 Janvier, le 12 Février, le 9 Mars, le 15 Avril, le 11 Mai ect... jusqu'à décembre.
Ce qui nous fait 12 dates d'exécution de la tâche CRON différentes.
-----------------------------------------------------
Les questions que je me pose sont :
Est-t-il possible de créer une tâche CRON qui va exécuter le nettoyage des 4 murs ou faut il en réaliser 4 distinctes ?
Est-t-il possible de programmer 12 dates différentes réparties dans l'année pour exécuter ces nettoyages ?
-----------------------------------------------------
J'ai réussi à mettre en place une tâche CRON pour réaliser les backup avec Akeeba mais ici c'est une autre paire de manches pour mes compétences..
Pourriez vous m'aider s'il vous plaît ? Me dire si c'est possible et m'aiguiller dans la marche à suivre ?
Je vous remercie par avance,
Julien
Commentaire