Exemple #1
0
 /**
  * Remove specified entries
  *
  * @param integer|array $ids Mailing history entries identifiers
  *
  * @return boolean
  */
 public function removeEntries($ids)
 {
     global $zdb, $hist;
     $list = array();
     if (is_numeric($ids)) {
         //we've got only one identifier
         $list[] = $ids;
     } else {
         $list = $ids;
     }
     if (is_array($list)) {
         try {
             foreach ($list as $id) {
                 $mailing = new Mailing(null, $id);
                 $mailing->removeAttachments();
             }
             $zdb->connection->beginTransaction();
             //delete members
             $delete = $zdb->delete(self::TABLE);
             $delete->where->in(self::PK, $list);
             $zdb->execute($delete);
             //commit all changes
             $zdb->connection->commit();
             //add an history entry
             $hist->add(_T("Delete mailing entries"));
             return true;
         } catch (\Exception $e) {
             $zdb->connection->rollBack();
             Analog::log('Unable to delete selected mailing history entries |' . $e->getMessage(), Analog::ERROR);
             return false;
         }
     } else {
         //not numeric and not an array: incorrect.
         Analog::log('Asking to remove mailing entries, but without ' . 'providing an array or a single numeric value.', Analog::WARNING);
         return false;
     }
 }
             $filters->account_status_filter = Members::ACTIVE_ACCOUNT;
             $m = new Members($filters);
             $members = $m->getList(true);
             $mailing = new Core\Mailing($members !== false ? $members : null);
         } else {
             if (count($filters->selected) == 0 && !isset($_GET['mailing_new']) && !isset($_GET['reminder'])) {
                 Analog::log('[mailing_adherents.php] No member selected for mailing', Analog::WARNING);
                 if (isset($profiler)) {
                     $profiler->stop();
                 }
                 header('location:gestion_adherents.php');
                 die;
             }
             $m = new Members();
             $members = $m->getArrayList($filters->selected, null, false, true, null, false, false, true);
             $mailing = new Core\Mailing($members !== false ? $members : null);
         }
     }
 }
 if (isset($_POST['mailing_go']) || isset($_POST['mailing_reset']) || isset($_POST['mailing_confirm']) || isset($_POST['mailing_save'])) {
     if (trim($_POST['mailing_objet']) == '') {
         $error_detected[] = _T("Please type an object for the message.");
     } else {
         $mailing->subject = $_POST['mailing_objet'];
     }
     if (trim($_POST['mailing_corps']) == '') {
         $error_detected[] = _T("Please enter a message.");
     } else {
         $mailing->message = $_POST['mailing_corps'];
     }
     $mailing->html = isset($_POST['mailing_html']) ? true : false;