/** * getModelWidgets * @return Model_Widgets * @author Florian Mathis <*****@*****.**> * @version 1.0 */ protected function getModelWidgets() { if (null === $this->objModelWidgets) { /** * autoload only handles "library" compoennts. * Since this is an application model, we need to require it * from its modules path location. */ require_once GLOBAL_ROOT_PATH . $this->core->sysConfig->path->zoolu_modules . 'cms/models/Widgets.php'; $this->objModelWidgets = new Model_Widgets(); $this->objModelWidgets->setLanguageId($this->intLanguageId); } return $this->objModelWidgets; }
/** * deleteAction * @author Daniel Rotter <*****@*****.**> * @version 1.0 */ public function deleteAction() { $this->core->logger->debug('cms->controllers->WidgetController->deleteAction()'); try { $this->getModelWidget(); if ($this->objRequest->isPost() && $this->objRequest->isXmlHttpRequest()) { $this->objModelWidgets->deleteWidgetInstance($this->objRequest->getParam("id")); $this->view->blnShowFormAlert = true; } $this->renderScript('page/form.phtml'); } catch (Exception $exc) { $this->core->logger->err($exc); } }
/** * save * @author Daniel Rotter <*****@*****.**> * @version 1.0 */ public function save() { $this->core->logger->debug('massiveart->generic->data->GenericDataTypeWidget->save()'); try { $this->getModelWidgets()->setLanguageId($this->setup->getLanguageId()); $intUserId = Zend_Auth::getInstance()->getIdentity()->id; $strWidgetInstanceId = 0; $intWidgetVersion = 0; switch ($this->setup->getActionType()) { case $this->core->sysConfig->generic->actions->add: /** * WidgetInstanceId is empty, add Widget itself */ $strWidgetInstanceId = $this->setup->getWidgetInstanceId(); $intWidgetVersion = 1; $intSortPosition = GenericSetup::DEFAULT_SORT_POSITION; /** * check if parent element is rootlevel or folder */ if ($this->setup->getParentId() != '' && $this->setup->getParentId() > 0) { if ($this->setup->getParentTypeId() == '') { $this->setup->setParentTypeId($this->core->sysConfig->parent_types->folder); } $objNaviData = $this->getModelFolders()->loadChildNavigation($this->setup->getParentId()); } else { if ($this->setup->getRootLevelId() != '' && $this->setup->getRootLevelId() > 0) { $this->setup->setParentId($this->setup->getRootLevelId()); } else { $this->core->logger->err('massiveart->generic->data->GenericDataTypeWidget->save(): intRootLevelId is empty!'); } $this->setup->setParentTypeId($this->core->sysConfig->parent_types->rootlevel); $objNaviData = $this->getModelFolders()->loadRootNavigation($this->setup->getRootLevelId()); } $intSortPosition = count($objNaviData); $this->core->logger->debug('$this->setup->getParentId(): ' . $this->setup->getShowInNavigation()); $arrMainData = array('idGenericForms' => $this->setup->getGenFormId(), 'sortPosition' => $intSortPosition, 'idParent' => $this->setup->getParentId(), 'idParentTypes' => $this->setup->getParentTypeId(), 'created' => date('Y-m-d H:i:s'), 'idStatus' => $this->setup->getStatusId(), 'sortTimestamp' => date('Y-m-d H:i:s'), 'creator' => $this->setup->getCreatorId(), 'idWidgets' => $this->setup->getElementTypeId(), 'widgetInstanceId' => $strWidgetInstanceId, 'version' => $intWidgetVersion, 'showInNavigation' => $this->setup->getShowInNavigation(), 'idUsers' => $intUserId); $this->setup->setElementId($this->objModelWidgets->getWidgetInstancesTable()->insert($arrMainData)); $this->insertCoreData('widgetInstance', $strWidgetInstanceId, $intWidgetVersion); break; case $this->core->sysConfig->generic->actions->edit: $objSelect = $this->objModelWidgets->getWidgetInstancesTable()->select(); $objSelect->from('widgetInstances', array('widgetInstanceId', 'version')); $objSelect->where('id = ?', $this->setup->getElementId()); $objRowSet = $this->objModelWidgets->getWidgetInstancesTable()->fetchAll($objSelect); if (count($objRowSet) > 0) { $objWidgetInstances = $objRowSet->current(); $strWidgetInstanceId = $objWidgetInstances->widgetInstanceId; $intWidgetInstanceVersion = $objWidgetInstances->version; $strWhere = $this->objModelWidgets->getWidgetInstancesTable()->getAdapter()->quoteInto('widgetInstanceId = ?', $objWidgetInstances->widgetInstanceId); $strWhere .= $this->objModelWidgets->getWidgetInstancesTable()->getAdapter()->quoteInto(' AND version = ?', $objWidgetInstances->version); $this->objModelWidgets->getWidgetInstancesTable()->update(array('idGenericForms' => $this->setup->getGenFormId(), 'idUsers' => $intUserId, 'creator' => $this->setup->getCreatorId(), 'idStatus' => $this->setup->getStatusId(), 'published' => $this->setup->getPublishDate(), 'changed' => date('Y-m-d H:i:s'), 'showInNavigation' => $this->setup->getShowInNavigation()), $strWhere); $this->updateCoreData('widgetInstance', $objWidgetInstances->widgetInstanceId, $objWidgetInstances->version); } } /** * now save all the special fields */ if (count($this->setup->SpecialFields()) > 0) { foreach ($this->setup->SpecialFields() as $objField) { $objField->setGenericSetup($this->setup); $objField->save($this->setup->getElementId(), 'widget', $strWidgetInstanceId, $intWidgetVersion); } } return $this->setup->getElementId(); } catch (Exception $exc) { $this->core->logger->err($exc); } }