Dans cette section, vous trouverez des exemples couvrant une variété d'options de gestion des emplois. Ces exemples devraient vous donner une idée de la façon d'utiliser le script PHP dans MyQ. Vous pouvez également substituer les propriétés et les méthodes des exemples pour les utiliser comme éléments de base de scripts plus complexes.

  • Actions basées sur le nombre de pages
    Déplacez les travaux comportant un nombre plus élevé de pages couleur vers une file d'attente monochrome.
    if ($this->colorCount>20) {$this->moveToQueue("ForceMonochrome");}
    Supprimez les travaux comportant un grand nombre de pages.
    if ($this->pageCount>500) {$this->delete();}

  • Actions en fonction de l'ampleur du travail
    Déplacez les travaux volumineux vers une file d'attente dédiée.
    if ($this->dataSize>1000000) {$this->moveToQueue("LargeJobs");}
    Supprimer les travaux surdimensionnés.
    if ($this->dataSize>5000000) {$this->delete();}

  • Actions basées sur le format du papier
    Déplacez les travaux au format de papier a3 vers une file d'attente dédiée.
    if ($this->paper===6) {$this->moveToQueue("LargePaperFormat");}

  • Actions basées sur le propriétaire du travail
    Déplacer les travaux d'un certain propriétaire vers une file d'attente dédiée.
    if ($this->owner->name==="eliot.kate") {$this->moveToQueue("EliotKate");}
    Changez le propriétaire de la tâche.
    if ($this->owner->name==="eliot.kate")
    {$this->owner=MyQ()->getUserByUserName("simon.kate");}

  • Actions basées sur la propriété duplex
    Déplacez les tâches duplex vers une file d'attente duplex.
    if ($this->duplex) {$this->moveToQueue("Duplex");}
    Déplacer les travaux simplex vers une file d'attente simplex.
    if ($this->duplex===false) {$this->moveToQueue("Simplex");}

  • Actions basées sur la propriété de la couleur
    Déplacez les travaux de couleur vers une file d'attente de couleur.
    if ($this->color) {$this->moveToQueue("Color");}

  • Actions basées sur le nom du travail ou l'application source
    Déplacez les travaux imprimés en MS Word vers une file d'attente dédiée.
    si (strpos($this->name, "Microsoft Word")!==false)
    {$this->moveToQueue("MSWord");}
    Supprimez les travaux envoyés depuis Facebook.
    if (strpos($this->name, 'Facebook')!==false) {$this->delete();}

  • Actions basées sur les droits sur une file d'attente
    Déplacez les travaux des utilisateurs qui ne sont pas autorisés à imprimer dans une file d'attente vers une autre file d'attente.
    si ($this->owner->canPrintToQueue(Color)===false)
    {$this->moveToQueue(Monochrome);}

  • Actions basées sur l'appartenance à un groupe
    Déplacer les travaux envoyés par les membres d'un groupe vers une file d'attente dédiée
    if ($this->owner->hasGroup(Clerks)){$this->moveToQueue(Clerks);}

  • Actions basées sur la PDL du poste
    Déplacer tous les travaux envoyés dans un certain PDL vers une file d'attente dédiée.
    if ($this->lang===0){$this->moveToQueue(UnknownPDL);}

  • Envoi de messages de journal personnalisés à MyQ
    Envoyer un message d'information sur le journal à MyQ Log
    MyQ()->logInfo("Ce message apparaît dans le journal de MyQ.") ;

  • Actions complexes

    • Si le nombre de pages multiplié par le nombre de copies dépasse un certain nombre, supprimer le travail et en informer l'utilisateur.
      // obtenir le nombre de pages et le nombre de copies
      $pages_number = $this->pageCount ; $copies_number = $this->copies ;
      // si le total (pagescopies) dépasse 500, supprimer le travail et avertir son propriétaire.
      si ( $pages_number $copies_number>500)
      {$this->delete() ; $this->owner->sendNotification("error", "Job refused", "Cannot
      travaux d'impression dépassant 500 pages.") ;
      }

    • Envoyez les travaux de couleur vers une file d'attente dédiée ; si le propriétaire du travail n'a pas de droits sur cette file d'attente, supprimez le travail et informez l'utilisateur.
      // si le travail est en couleur, effectuer l'action suivante
      if ($this->color) {
      // si le propriétaire a des droits sur la file d'attente, déplacer le travail vers la file d'attente Color.
      if ($this->owner->canPrintToQueue("Color")) {
      $this->moveToQueue("Color") ; }
      // s'il n'a pas de droits sur la file d'attente, supprimez le travail et informez l'utilisateur.
      else {
      $this->owner->sendNotification("error", "Job refused", "Color printing denied") ;
      $this->delete() ; }}