Exemplo n.º 1
0
    function deleteNewerSingleDates($metadate_id, $timestamp, $keepIssues = false)
    {
        $count = 0;

        $query = "SELECT termin_id
                  FROM termine
                  WHERE metadate_id = ? AND `date` > ?";
        $statement = DBManager::get()->prepare($query);
        $statement->execute(array($metadate_id, $timestamp));
        while ($termin_id = $statement->fetchColumn()) {
            $termin = new SingleDate($termin_id);
            $termin->delete($keepIssues);
            unset($termin);

            $count += 1;
        }

        $query = "DELETE FROM termine WHERE metadate_id = ? AND `date` > ?";
        $statement = DBManager::get()->prepare($query);
        $statement->execute(array($metadate_id, $timestamp));

        $query = "DELETE FROM ex_termine WHERE metadate_id = ? AND `date` > ?";
        $statement = DBManager::get()->prepare($query);
        $statement->execute(array($metadate_id, $timestamp));

        return $count;
    }
Exemplo n.º 2
0
 /**
  * @deprecated since 3.4 use SeminarCycleDate::removeOutRangedSingleDates($start, $end, $seminar_id)
  * 
  * removes all singleDates which are NOT between $start and $end
  */
 function removeOutRangedSingleDates($start, $end, $seminar_id)
 {
     $query = "SELECT termin_id\n                  FROM termine\n                  WHERE range_id = ? AND (`date` NOT BETWEEN ? AND ?)\n                    AND NOT (metadate_id IS NULL OR metadate_id = '')";
     $statement = DBManager::get()->prepare($query);
     $statement->execute(array($seminar_id, $start, $end));
     $ids = $statement->fetchAll(PDO::FETCH_COLUMN);
     foreach ($ids as $id) {
         $termin = new SingleDate($id);
         $termin->delete();
         unset($termin);
     }
     if (count($ids) > 0) {
         // remove all assigns for the dates in question
         $query = "SELECT assign_id FROM resources_assign WHERE assign_user_id IN (?)";
         $statement = DBManager::get()->prepare($query);
         $statement->execute(array($ids));
         while ($id = $statement->fetchColumn()) {
             AssignObject::Factory($assign_id)->delete();
         }
     }
     // $query = "DELETE FROM termine
     //           WHERE range_id = ? AND (`date` NOT BETWEEN ? AND ?)
     //             AND NOT (metadate_id IS NULL OR metadate_id = '')";
     // $statement = DBManager::get()->prepare($query);
     // $statement->execute(array($seminar_id, $start, $end));
     $query = "DELETE FROM ex_termine\n                  WHERE range_id = ? AND (`date` NOT BETWEEN ? AND ?)\n                    AND NOT (metadate_id IS NULL OR metadate_id = '')";
     $statement = DBManager::get()->prepare($query);
     $statement->execute(array($seminar_id, $start, $end));
 }