/** * List media files in the media dir * @return Array - array of file objects */ function listMedia() { $icfConfig = new IcfConfig(); $objectMapper = new ObjectMapper(); $objectArray = $objectMapper->findByClassId($icfConfig->cfg_media_class_id); return $this->listFiles($objectArray, "MEDIA", $icfConfig->cfg_site_mediaPathFs); }
/** * Gets the object associated to this ObjectFolder * @return Object - an instance of Object class */ function getObject() { if ($this->object == null) { $objectMapper = new ObjectMapper(); $this->object = $objectMapper->get($this->objectID); } return $this->object; }
/** * Gets the Object child * @return Object - object instance */ function getChild() { if (is_null($this->child) == true) { $objectMapper = new ObjectMapper(); $this->child = $objectMapper->get($this->getChildID()); } return $this->child; }
public function eagerFetching(DbFetcher $oQuery, ObjectMapper $oParentMapper, $sPrefix, $aParams = array(), $aLocalParams = array()) { if (isset($this->aParams['ToModuleAlias'])) { Core::import('Modules.' . $this->aParams['ToModuleAlias']); } $oMapper = Manager::getInstance()->getMapper($this->aParams['ToMapperAlias']); //echo '<pre>', print_r($oMapper, true), '</pre>'; die(); $aContainer = $oMapper->getContainer(); if ($oMapper) { $oParentFields = $oParentMapper->getFields(); $oQuery->addJoinTable($aContainer['TableName'], $sPrefix . '_' . $this->getAlias(), DbFetcher::JOIN_LEFT, $sPrefix . '.' . $oParentFields->get($this->getField())->getField() . ' = ' . $sPrefix . '_' . $this->getAlias() . '.id'); $oFields = $oMapper->getFields(); foreach ($oFields as $alias => $field) { if ($field->getType() != 'Object' && $field->getField()) { $oQuery->addSelectField($sPrefix . '_' . $this->getAlias() . '.' . $field->getField(), $sPrefix . '_' . $this->getAlias() . '_' . $field->getField()); } } // Условия выборки if (isset($aLocalParams['Criteria']) && is_object($aLocalParams['Criteria'])) { $oQuery->addCriteria(call_user_func(array($aLocalParams['Criteria'], 'renderWhere'))); } if (isset($aLocalParams['Criteria']) && is_array($aLocalParams['Criteria']) && count($aLocalParams['Criteria']) > 0) { $oCriteria = new CriteriaGroup(Criteria::TYPE_AND); foreach ($aLocalParams['Criteria'] as $k => $itm) { if (is_object($itm)) { $oCriteria->addElement($itm); } else { if (is_array($itm)) { $oCriteria->addElement(new CriteriaElement($k, $itm['Type'], $itm['Value'])); } else { $oCriteria->addElement(new CriteriaElement($k, '=', $itm)); } } } $oQuery->addCriteria($oMapper->parseFindCriteria($oCriteria->renderWhere(), $sPrefix . '_' . $this->getAlias())); } if (isset($aLocalParams['Criteria']) && is_string($aLocalParams['Criteria'])) { $oQuery->addCriteria($oMapper->parseFindCriteria($aLocalParams['Criteria'], $sPrefix . '_' . $this->getAlias())); } // Сортировка if (isset($aLocalParams['Order']) && is_array($aLocalParams['Order']) && count($aLocalParams['Order']) > 0) { foreach ($aLocalParams['Order'] as $k => $itm) { $oQuery->addOrder($oMapper->parseFindField($k, $sPrefix . '_' . $this->getAlias()), $itm); } } if (isset($aLocalParams['With']) && is_array($aLocalParams['With']) && count($aLocalParams['With'])) { // TODO: Вложенные JOINы } } return $oQuery; }
public function beforeSave($object) { if ($object->isNew() && !$object->getPostDate()) { $object->setPostDate(date("Y-m-d H:i:s")); } return parent::beforeSave($object); }
/** * Constructs HomeController, executing the method given as parameter * * @param $method Name of the method to execute * @param &tpl Template method implementation */ function HomeController($method = null, $icfTemplating) { $this->tpl = $icfTemplating->getTpl(); $this->text = $icfTemplating->getText(); // Title of the page $this->tpl->assign('pageTitle', $this->text['home']); // Pending contents $objectMapper = new ObjectMapper(); $objects = $objectMapper->findPending(); $objectsCount = count($objects); $this->controllerData["pending"] = $objectsCount; // Allowed classes to add $session = new Session(); $baseClassMapper = new BaseClassMapper(); $classArray = $baseClassMapper->findByPermission(Action::ADD_OBJECTS_ACTION(), $session->getSessionUser()); $this->tpl->assign("classArray", $classArray); switch ($method) { default: $this->show_view(); } }
/** * Shows the home view */ function show_view() { // Sets the title $this->tpl->assign('pageTitle', $this->text['pending']); // Add items to toolbar $toolbar =& $this->icfTemplating->getToolbar(); $ti = new icfToolbarItem(); $ti->setName("publishButton"); $ti->setTitle($this->text["publish"]); $ti->setUrl("#"); $ti->setImage("/images/publish.png"); $ti->setImage2("/images/publish_f2.png"); $ti->setOnclick("publishButton_onClick()"); $toolbar->addToolbarItem($ti); // Set toolbar $this->icfTemplating->setToolbar($toolbar); // Get the pending objects $objectMapper = new ObjectMapper(); $objects = $objectMapper->findPending(); $this->controllerData["objects"] = $objects; $this->tpl->assign("controllerData", $this->controllerData); $this->tpl->display("pending.tpl.php"); }
function testDelete() { $mapper = new ObjectMapper(); $object = new Object(); $object->__class_name = 'Object'; $this->db->insert('sys_class', array('id' => $class_id = 5, 'name' => $object->__class_name)); $this->db->insert('sys_object', array('oid' => $id1 = 1, 'class_id' => $class_id)); $this->db->insert('sys_object', array('oid' => $id2 = 2, 'class_id' => $class_id)); $object->set('oid', $id1); $object->set('class_id', $class_id); $mapper->delete($object); $rs =& $this->db->select('sys_class'); $classes = $rs->getArray(); $this->assertEqual(sizeof($classes), 1); $rs =& $this->db->select('sys_object'); $objects = $rs->getArray(); $this->assertEqual(sizeof($objects), 1); $this->assertEqual($objects[0]['oid'], $id2); $this->assertEqual($objects[0]['class_id'], $class_id); }
/** * Gets the objects in this folder */ function getObjects() { if ($this->objects == null) { $objectMapper = new ObjectMapper(); $this->objects = $objectMapper->findByFolder($this->getId()); } return $this->objects; }
/** * Updates an object * @param $object Object to update, must have its ID set */ function update(&$object) { // Fill object Fulltext index $fullTextIndex = $this->generateFullTextIndex($object); $object->setFullTextIndex($fullTextIndex); // Coordinate transaction $icfDatabase = new IcfDatabase(); $conn = $icfDatabase->dbOpen(); $conn->StartTrans(); // Update object $objectMapper = new ObjectMapper(); $objectMapper->setConnection($conn); $objectMapper->update($object); // Recreate attributes $objectAttributeMapper = new ObjectAttributeMapper(); $objectAttributeMapper->setConnection($conn); $objectAttributeMapper->deleteByObjectId($object->getId()); $objectAttributeArray =& $object->getAttributes(); foreach ($objectAttributeArray as $objectAttribute) { $objectAttribute->setObjectID($object->getId()); $objectAttributeMapper->save($objectAttribute); } // Recreate folders $objectFolderMapper = new ObjectFolderMapper(); $objectFolderMapper->setConnection($conn); $objectFolderMapper->deleteByObjectId($object->getId()); $objectFolderArray =& $object->getObjectFolders(); foreach ($objectFolderArray as $objectFolder) { $objectFolder->setObjectID($object->getId()); $objectFolderMapper->save($objectFolder); } // Recreate relationships $objectRelationMapper = new ObjectRelationMapper(); $objectRelationMapper->setConnection($conn); $objectRelationMapper->deleteByParentId($object->getId()); $objectRelationArray =& $object->getObjectRelations(); foreach ($objectRelationArray as $objectRelation) { /* @var $objectRelation ObjectRelation */ $objectRelation->setParentID($object->getId()); $objectRelationMapper->save($objectRelation); } // Close transaction $conn->completeTrans(); $icfDatabase->dbClose($conn); }
/** * Updates the object sent by HTTP */ function update() { $save = false; $object = $this->collectObject($this->object); // If there was an error, do not try to save if ($object == null) { $this->showUpdateView(true); return; } $saveIt = true; $om = new ObjectMapper(); $prevObject = $om->get($object->getId()); if ($object->getIsPublished() != $prevObject->getIsPublished()) { //check publishing permissions $canPublish = $object->canDoAction(null, Action::PUBLISH_OBJECTS_ACTION()); if (!$canPublish) { $saveIt = false; } } if ($saveIt) { // Update !! $objectService = ObjectServiceFactory::newInstance($object->getClass()); $objectService->update($object); // Everything went all right, display view $this->redirectToReferer(); } else { //send error message $controllerMessage = new ControllerMessage($this->text["notenoughpermissionstopublish"], ControllerMessage::getErrorType()); array_push($this->controllerMessageArray, $controllerMessage); $this->showView(true); return; } }
protected function getMappedResult() { $objectMapper = new ObjectMapper(); $result = $this->getDirectResult(); return $objectMapper->mapDataToEntity($this->entity, $result); }
/** * Gets the objects associated to this class. Be careful with this method, you * should only use it if the number of objects is minimmum. * @return Array - instances of Object class */ function getObjects() { if (is_null($this->objects)) { $objectMapper = new ObjectMapper(); $this->objects = $objectMapper->findByClassId($this->getId(), true); } return $this->objects; }
$folderClassMapper = new FolderClassMapper(); $objectMapper = new ObjectMapper(); // Gets all folders for selected class for the folder combo $foldersClasses = $folderClassMapper->findByClassId($id); $folders = array(); $titles = array(); foreach ($foldersClasses as $folderClass) { $folder = $folderClass->getFolder(); $text = $folder->getId() . "|" . $folder->getPathway(); array_push($folders, $text); array_push($titles, $folder->getPathway()); } $folders = $objectMapper->quicksortObjectByTitle($folders, $titles); $json = new JSON(); echo $json->encode($folders); } } if ($_GET['action'] == 'hasPublishingPermissions') { $id = $_GET['id']; if (is_numeric($id)) { $objectMapper = new ObjectMapper(); $object = $objectMapper->get($id); $rv = $object->canDoAction(null, Action::PUBLISH_OBJECTS_ACTION()); $json = new JSON(); echo $json->encode($rv); } } ?>