Example #1
0
 public static function updateContentGroupVersionOther(Model $model, $version)
 {
     // undelete
     if ($version == VersionType::PUBLISHING) {
         return;
     }
     // publish from new content
     if ($version == VersionType::PUBLISHED && $model->getVersion() == VersionType::PENDING) {
         return;
     }
     // delete pending or published content
     if ($version == VersionType::DELETED && in_array($model->getVersion(), [VersionType::PENDING, VersionType::PUBLISHED])) {
         return;
     }
     $query = 'UPDATE cms_content
         SET version = ?
         WHERE app_id != ? AND version = ? AND content_group = ? AND module_id = ?';
     // publish from modified content
     if ($version == VersionType::PUBLISHED && $model->getVersion() == VersionType::PUBLISHING) {
         $params = [VersionType::OLD, $model->getAppId(), VersionType::UPDATING, $model->getContentGroup(), $model->getModuleId()];
         // delete from publishing content
     } else {
         if ($version == VersionType::DELETED && $model->getVersion() == VersionType::PUBLISHING) {
             $params = [VersionType::PUBLISHED, $model->getAppId(), VersionType::UPDATING, $model->getContentGroup(), $model->getModuleId()];
             // delete from updating content
         } else {
             if ($version == VersionType::DELETED && $model->getVersion() == VersionType::UPDATING) {
                 $params = [VersionType::PENDING, $model->getAppId(), VersionType::PUBLISHING, $model->getContentGroup(), $model->getModuleId()];
             }
         }
     }
     $db = new Util\Data();
     return $db->execute($query, $params);
 }