Créer une tâche CRON pour exécuter des Actions Automatiques (CB Auto Actions)

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Créer une tâche CRON pour exécuter des Actions Automatiques (CB Auto Actions)

    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

    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();
    }
    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



    Dernière édition par Julien04 à 23/06/2020, 15h15

  • #2
    Suivi de ce topic ici

    Commentaire


    • #3
      Vu les circonstances je ferme cette discussion.
      Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
      Confucius

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X