Beispiel #1
0
 function updatezoneAction()
 {
     $articleID = $this->_getParam('articleID');
     $newpositionID = $this->_getParam('newpositionID');
     $newzoneID = $this->_getParam('newzoneID');
     $newpositionID = $this->_getParam('newpositionID');
     $newsletterArticleSelect = new NewsletterArticles();
     $select = $newsletterArticleSelect->select();
     $select->where('NA_ID = ?', $articleID);
     $newsletterArticleData = $newsletterArticleSelect->fetchRow($select);
     $releaseID = $newsletterArticleData['NA_ReleaseID'];
     $oldzoneID = $newsletterArticleData['NA_ZoneID'];
     $oldpositionID = $newsletterArticleData['NA_PositionID'];
     //update zone
     $newsletterArticleData['NA_ZoneID'] = $newzoneID;
     $newsletterArticleData->save();
     // update position (old zone)
     $newsletterArticlePosition = new NewsletterArticles();
     $where = 'NA_PositionID > ' . $oldpositionID;
     $where .= ' AND NA_ReleaseID = ' . $releaseID;
     $where .= ' AND NA_ZoneID = ' . $oldzoneID;
     $newsletterArticlePosition->update(array('NA_PositionID' => new Zend_Db_Expr('NA_PositionID - 1 ')), $where);
     // update position (new zone)
     $where = 'NA_PositionID >= ' . $newpositionID;
     $where .= ' AND NA_ReleaseID = ' . $releaseID;
     $where .= ' AND NA_ZoneID = ' . $newzoneID;
     $newsletterArticlePosition->update(array('NA_PositionID' => new Zend_Db_Expr('NA_PositionID + 1 ')), $where);
     // update position article
     $newsletterArticleData['NA_PositionID'] = $newpositionID;
     $newsletterArticleData->save();
     $this->getHelper('viewRenderer')->setNoRender();
 }