コード例 #1
0
ファイル: template.php プロジェクト: RomanaBW/BwPostman
 /**
  * Method to remove one or more templates
  * --> is called by the archive-controller
  *
  * @access	public
  *
  * @param	array $pks      template IDs
  *
  * @return	boolean
  *
  * @since 1.1.0
  */
 public function delete(&$pks)
 {
     $app = JFactory::getApplication();
     // Access check.
     foreach ($pks as $i) {
         if (!BwPostmanHelper::allowDelete($i, 0, 'template')) {
             return false;
         }
     }
     if (count($pks)) {
         JArrayHelper::toInteger($pks);
         $lists_table = JTable::getInstance('templates', 'BwPostmanTable');
         // Delete all entries from the templates-table
         foreach ($pks as $id) {
             if (!$lists_table->delete($id)) {
                 $app->enqueueMessage(JText::_('COM_BWPOSTMAN_ARC_ERROR_REMOVING_TPLS_NO_TPL_DELETED'), 'error');
                 return false;
             }
         }
     }
     return true;
 }
コード例 #2
0
ファイル: campaign.php プロジェクト: RomanaBW/BwPostman
 /**
  * Method to remove one or more campaigns and if the user want also the assigned newsletters
  * --> is called by the archive-controller
  *
  * @access	public
  *
  * @param	array &$pks     Campaign IDs
  *
  * @return	boolean
  */
 public function delete(&$pks)
 {
     $jinput = JFactory::getApplication()->input;
     $remove_nl = $jinput->get('remove_nl', false);
     // Access check.
     foreach ($pks as $i) {
         if (!BwPostmanHelper::allowDelete($i, 0, 'campaign')) {
             return false;
         }
     }
     if (count($pks)) {
         JArrayHelper::toInteger($pks);
         // Delete campaigns from campaigns-table
         $cams_table = JTable::getInstance('campaigns', 'BwPostmanTable');
         foreach ($pks as $id) {
             if (!$cams_table->delete($id)) {
                 return false;
             }
         }
         // Remove_nl = 1 if the user want to delete the assigned newsletters
         if ($remove_nl) {
             // Delete newsletter from newsletters-table
             $nl_table = JTable::getInstance('newsletters', 'BwPostmanTable');
             $_db = $this->getDbo();
             $query = $_db->getQuery(true);
             $query->select($_db->quoteName('id'));
             $query->from($_db->quoteName('#__bwpostman_newsletters'));
             $query->where($_db->quoteName('campaign_id') . ' IN (' . implode(',', $pks) . ')');
             $_db->setQuery($query);
             $nl_ids = $_db->loadColumn();
             foreach ($nl_ids as $id) {
                 if (!$nl_table->delete($id)) {
                     return false;
                 }
             }
         }
     }
     return true;
 }
コード例 #3
0
ファイル: mailinglist.php プロジェクト: RomanaBW/BwPostman
 /**
  * Method to remove one or more mailinglists
  * --> is called by the archive-controller
  *
  * @access	public
  *
  * @param	array &$pks     Mailinglist IDs
  *
  * @return	boolean
  */
 public function delete(&$pks)
 {
     $app = JFactory::getApplication();
     // Access check.
     foreach ($pks as $i) {
         if (!BwPostmanHelper::allowDelete($i, 0, 'mailinglist')) {
             return false;
         }
     }
     if (count($pks)) {
         JArrayHelper::toInteger($pks);
         $_db = $this->getDbo();
         $lists_table = JTable::getInstance('mailinglists', 'BwPostmanTable');
         // Delete all entries from the mailinglists-table
         foreach ($pks as $id) {
             if (!$lists_table->delete($id)) {
                 $app->enqueueMessage(JText::_('COM_BWPOSTMAN_ARC_ERROR_REMOVING_MLS_NO_ML_DELETED'), 'error');
                 return false;
             }
         }
         // Delete all entries from the subscribers_mailinglists-table
         $query = $_db->getQuery(true);
         $query->delete();
         $query->from($_db->quoteName('#__bwpostman_subscribers_mailinglists'));
         $query->where('mailinglist_id IN (' . implode(',', $pks) . ')');
         $_db->setQuery($query);
         if (!$_db->query()) {
             $app->enqueueMessage(JText::_('COM_BWPOSTMAN_ARC_ERROR_REMOVING_MLS_NO_SUBS_DELETED'), 'warning');
         }
         // Delete all entries from the newsletters_mailinglists-table
         $query = $_db->getQuery(true);
         $query->delete();
         $query->from($_db->quoteName('#__bwpostman_newsletters_mailinglists'));
         $query->where('mailinglist_id IN (' . implode(',', $pks) . ')');
         $_db->setQuery($query);
         if (!$_db->query()) {
             $app->enqueueMessage(JText::_('COM_BWPOSTMAN_ARC_ERROR_REMOVING_MLS_NO_MLS_DELETED'), 'warning');
         }
     }
     return true;
 }
コード例 #4
0
ファイル: subscriber.php プロジェクト: RomanaBW/BwPostman
 /**
  * Method to remove one or more subscribers/test-recipients
  * --> is called by the archive-controller
  *
  * @access	public
  *
  * @param	array $pks      Subscriber/Test-recipient IDs
  *
  * @return	boolean
  */
 public function delete(&$pks)
 {
     // Access check.
     foreach ($pks as $i) {
         if (!BwPostmanHelper::allowDelete($i, 0, 'subscriber')) {
             return false;
         }
     }
     if (count($pks)) {
         JArrayHelper::toInteger($pks);
         $_db = $this->getDbo();
         // Delete subscriber from subscribers-table
         if (!parent::delete($pks)) {
             $this->setError($_db->getErrorMsg());
             return false;
         }
         // Delete subscribed mailinglists from subscribers_mailinglists-table
         $query = $_db->getQuery(true);
         $query->delete();
         $query->from($_db->quoteName('#__bwpostman_subscribers_mailinglists'));
         $query->where('subscriber_id IN (' . implode(',', $pks) . ')');
         $_db->setQuery($query);
         if (!$_db->query()) {
             $this->setError($_db->getErrorMsg());
             return false;
         }
     }
     return true;
 }
コード例 #5
0
ファイル: newsletter.php プロジェクト: RomanaBW/BwPostman
 /**
  * Method to remove one or more newsletters from the newsletters-table
  * --> is called by the archive-controller
  *
  * @access	public
  *
  * @param	array   $pks        Newsletter IDs
  *
  * @return	boolean
  */
 public function delete(&$pks)
 {
     // Access check.
     foreach ($pks as $i) {
         $data = self::getItem($i);
         if (!BwPostmanHelper::allowDelete($i, $data->created_by, 'newsletter')) {
             return false;
         }
     }
     if (count($pks)) {
         JArrayHelper::toInteger($pks);
         // Delete newsletter from newsletters-table
         $nl_table = JTable::getInstance('newsletters', 'BwPostmanTable');
         foreach ($pks as $id) {
             if (!$nl_table->delete($id)) {
                 return false;
             }
         }
         // Delete assigned mailinglists from newsletters_mailinglists-table
         $lists_table = JTable::getInstance('newsletters_mailinglists', 'BwPostmanTable');
         foreach ($pks as $id) {
             if (!$lists_table->delete($id)) {
                 return false;
             }
         }
     }
     return true;
 }