Merge branch '2015.11' into 2015.11-develop
authorPhilipp Schüle <p.schuele@metaways.de>
Thu, 5 Jan 2017 15:25:53 +0000 (16:25 +0100)
committerPhilipp Schüle <p.schuele@metaways.de>
Thu, 5 Jan 2017 15:25:53 +0000 (16:25 +0100)
Change-Id: I51c524a5541e51ec29438fe92a67ab8407330e3b

1  2 
tine20/Calendar/Model/Event.php
tine20/Calendar/Setup/Update/Release9.php

Simple merge
@@@ -135,18 -74,18 +135,18 @@@ class Calendar_Setup_Update_Release9 ex
              $this->_db->quoteIdentifier('attendee.id') . " AS " . $this->_db->quoteIdentifier('attendee_id') .
              " FROM " . $this->_db->quoteIdentifier(SQL_TABLE_PREFIX . "cal_events") . " AS " . $this->_db->quoteIdentifier('events') .
              " INNER JOIN " . $this->_db->quoteIdentifier(SQL_TABLE_PREFIX . "container") . " AS " . $this->_db->quoteIdentifier('container') . " ON " .
-             $this->_db->quoteIdentifier('events.container_id') . " = " . $this->_db->quoteIdentifier('container.id') . " AND " .
-             $this->_db->quoteIdentifier('container.type') . " = " . $this->_db->quote('personal') .
+             $this->_db->quoteIdentifier('events.container_id') . " = ". $this->_db->quoteIdentifier('container.id') . " AND " .
+             $this->_db->quoteIdentifier('container.type') . " = ". $this->_db->quote('personal') .
              " INNER JOIN " . $this->_db->quoteIdentifier(SQL_TABLE_PREFIX . "accounts") . " AS " . $this->_db->quoteIdentifier('owner') . " ON " .
-             $this->_db->quoteIdentifier('container.owner_id') . " = " . $this->_db->quoteIdentifier('owner.id') .
+             $this->_db->quoteIdentifier('container.owner_id') . " = ". $this->_db->quoteIdentifier('owner.id') .
              " INNER JOIN " . $this->_db->quoteIdentifier(SQL_TABLE_PREFIX . "cal_attendee") . " AS " . $this->_db->quoteIdentifier('attendee') . " ON " .
-             $this->_db->quoteIdentifier('attendee.cal_event_id') . " = " . $this->_db->quoteIdentifier('events.id') . " AND " .
-             $this->_db->quoteIdentifier('attendee.user_id') . " = " . $this->_db->quoteIdentifier('owner.contact_id') . " AND " .
-             $this->_db->quoteIdentifier('attendee.user_type') . " IN (" . $this->_db->quote(array('user', 'groupmember')) . ") AND " .
-             $this->_db->quoteIdentifier('attendee.displaycontainer_id') . " != " . $this->_db->quoteIdentifier('events.container_id')
+             $this->_db->quoteIdentifier('attendee.cal_event_id') . " = ". $this->_db->quoteIdentifier('events.id') . " AND " .
+             $this->_db->quoteIdentifier('attendee.user_id') . " = ". $this->_db->quoteIdentifier('owner.contact_id') . " AND " .
+             $this->_db->quoteIdentifier('attendee.user_type') . " IN (". $this->_db->quote(array('user', 'groupmember')) . ") AND " .
+             $this->_db->quoteIdentifier('attendee.displaycontainer_id') . " != ". $this->_db->quoteIdentifier('events.container_id')
          )->fetchAll(Zend_Db::FETCH_ASSOC);
  
 -        foreach($allBroken as $broken) {
 +        foreach ($allBroken as $broken) {
              $time = Tinebase_DateTime::now()->toString();
  
              $this->_db->query("START TRANSACTION");
                  $this->_db->query(
                      "UPDATE " . $this->_db->quoteIdentifier(SQL_TABLE_PREFIX . "cal_events") .
                      " SET " . $this->_db->quoteIdentifier("seq") . " = (" . $this->_db->quoteIdentifier('seq') . " +1)," .
 -                              $this->_db->quoteIdentifier("last_modified_time") . " = " . $this->_db->quote($time) .
 +                    $this->_db->quoteIdentifier("last_modified_time") . " = " . $this->_db->quote($time) .
                      " WHERE " . $this->_db->quoteIdentifier("id") . " = " . $this->_db->quote($broken['event_id'])
                  );
+                 $quotedIdentifier = $this->_db->quoteIdentifier("content_seq");
                  $this->_db->query(
                      "UPDATE " . $this->_db->quoteIdentifier(SQL_TABLE_PREFIX . "container") .
-                     " SET " . $this->_db->quoteIdentifier("content_seq") . " = (" . $this->_db->quoteIdentifier('content_seq') . " +1)" .
+                     " SET " . $quotedIdentifier . " = " .  new Zend_Db_Expr('(CASE WHEN ' . $quotedIdentifier . ' >= 1 THEN ' . $quotedIdentifier . ' + 1 ELSE 1 END)') .
                      " WHERE " . $this->_db->quoteIdentifier("id") . " = " . $this->_db->quote($broken['container_id'])
                  );
                  $content_seq = Tinebase_Helper::array_value('content_seq', Tinebase_Helper::array_value(0, $this->_db->query(
              $this->_db->query("COMMIT");
          }
  
-         $this->setApplicationVersion('Calendar', '9.8');
+         // if called out of normal update process
 -        if ($this->getApplicationVersion == '9.4') {
 -            $this->setApplicationVersion('Calendar', '9.5');
++        if ($this->getApplicationVersion == '9.7') {
++            $this->setApplicationVersion('Calendar', '9.8');
+         }
      }
  }