public static function formatDatestamp($datestamp) { $datestamp = glz_localeDate2default($datestamp); $datestamp = org_glizy_oaipmh_OaiPmh::date2UTCdatestamp($datestamp); if (!org_glizy_oaipmh_OaiPmh::checkDateFormat($datestamp)) { if (__Config::get('oaipmh.granularity') == 'YYYY-MM-DD') { return '2002-01-01'; } else { return '2002-01-01T00:00:00Z'; } } else { return $datestamp; } }
function _updateDetail($values = NULL) { // TODO // forse il loadFromArray può essere spostato in save() if (!is_null($values)) { $this->loadFromArray($values); } $values = $this->_collectFieldsValues(); $tempFields = array(); $tempInsertField = array(); $queryParams = array(); foreach ($this->_fieldsList as $k => $v) { if ($v['type'] == AR_TYPE_VIRTUAL || (!isset($v['detailTable']) || $v['detailTable'] === false)) { continue; } if (isset($v['defaultUpdateValue'])) { $values[$k] = $v['defaultUpdateValue']; if ($values[$k] == 'NOW()' && ($v['type'] == AR_TYPE_DATE || $v['type'] == AR_TYPE_DATETIME)) { $values[$k] = $this->_createInsertDate($v['type']); } } if ($v['type'] == AR_TYPE_DATE || $v['type'] == AR_TYPE_DATETIME) { if (empty($values[$k])) { $values[$k] = $this->_createEmptyDate($v['type']); } else { $values[$k] = glz_localeDate2default($values[$k]); } } $queryParams[] = is_null($values[$k]) ? '' : $values[$k]; $tempFields[] = $k; $tempInsertField[] = '?'; } $queryParams[] = $this->getDetailId(); $sql = 'UPDATE ' . $this->_tablesName['detailTable'] . ' SET '; $sql .= implode('= ?,', $tempFields) . '= ? '; $sql .= ' WHERE ' . $this->_tableDetailPrimaryKey . ' = ?'; $rs = $this->_execute($sql, $queryParams); if ($rs) { return true; } else { // TODO // visualizzare errore // $e = ADODB_Pear_Error(); // echo '<p>',$e->message,'</p>'; return false; } }
function loadTree($forceReload = false) { if ($forceReload) { $this->init(); } $emptyMenu = serialize($this->getEmptyMenu()); $siteId = org_glizy_ObjectValues::get('org.glizy', 'siteId'); $application =& org_glizy_ObjectValues::get('org.glizy', 'application'); $languageId = $application->getLanguageId(); $speakingUrl = __Config::get('glizycms.speakingUrl') === true; $this->_siteMapArray = $this->cache->get(__METHOD__ . $siteId . '_' . $languageId, array(), function () use($emptyMenu, $application, $speakingUrl) { $siteMapArray = array(); $isAdmin = $application->isAdmin(); $user = $application->getCurrentUser(); $showDraft = false; $showDraft = isset($_GET['draft']) && $_GET['draft'] == '1'; $languageId = method_exists($application, 'getEditingLanguageId') ? $application->getEditingLanguageId() : $application->getLanguageId(); // TODO // carica le versioni dei vari men� // per poter disabilitare i men� che hanno solo la versione bozza // $menuVersion = array(); // $it = &org_glizy_ObjectFactory::createModelIterator('org.glizy.models.ContentVersion', 'all', array('filters' => array( 'contentversion_status' => 'DRAFT', 'contentversion_FK_language_id' => $languageId ) ) ); // while ( $it->hasMore() ) // { // $arC = &$it->current(); // $it->next(); // $menuVersion[ $arC->contentversion_FK_menu_id ] = false; // } // $it = &org_glizy_ObjectFactory::createModelIterator('org.glizy.models.ContentVersion', 'all', array('filters' => array( 'contentversion_status' => 'PUBLISHED', 'contentversion_FK_language_id' => $languageId ) ) ); // while ( $it->hasMore() ) // { // $arC = &$it->current(); // $it->next(); // $menuVersion[ $arC->contentversion_FK_menu_id ] = true; // } // // $isAdmin = org_glizy_ObjectValues::get('org.glizy', 'admin', false); // $hidePrivatePage = org_glizy_Config::get( 'HIDE_PRIVATE_PAGE', true ); // TODO chiamare il proxy $menus = org_glizy_ObjectFactory::createModelIterator('org.glizycms.core.models.Menu'); $menus->load('getAllMenu', array('params' => array('languageId' => $languageId))); foreach ($menus as $ar) { if (is_null($ar->menu_parentId)) { continue; } $menu = unserialize($emptyMenu); $menu['id'] = $ar->menu_id; $menu['parentId'] = $ar->menu_parentId; $menu['pageType'] = $ar->menu_pageType; $menu['isVisible'] = $ar->menudetail_isVisible == 1 ? true : false; $menu['title'] = $ar->menudetail_title; //str_replace( "\n", " ", $ar->title ); $menu['titleLink'] = $ar->menudetail_titleLink; $menu['linkDescription'] = $ar->menudetail_linkDescription; $menu['depth'] = 1; $menu['childNodes'] = array(); $menu['isLocked'] = $ar->menu_isLocked == '1'; $menu['url'] = $ar->menu_url; $menu['cssClass'] = $ar->menu_cssClass; // solo admin $menu['order'] = $ar->menu_order; $menu['type'] = $ar->menu_type; $menu['creationDate'] = glz_localeDate2default($ar->menu_creationDate); $menu['modificationDate'] = glz_localeDate2default($ar->menu_modificationDate); $menu['hasComment'] = $ar->menu_hasComment; $menu['printPdf'] = $ar->menu_printPdf; //$menu['extendsPermissions'] = $ar->menu_extendsPermissions; $menu['nodeObj'] = NULL; if ($speakingUrl && !$menu['url'] && $ar->speakingurl_value) { $menu['url'] = $ar->language_code . '/' . $ar->speakingurl_value; } $siteMapArray[$menu["id"]] = $menu; } return $siteMapArray; }); $this->_makeChilds(); }
function _update($values = NULL) { $values = $this->_collectFieldsValues(false, false); $queryParams = array(); foreach ($this->_fieldsList as $k => $v) { if ($v['type'] == AR_TYPE_VIRTUAL) { continue; } if (array_key_exists('defaultUpdateValue', $v)) { $values[$k] = $v['defaultUpdateValue']; if ($values[$k] == 'NOW()' && ($v['type'] == AR_TYPE_DATE || $v['type'] == AR_TYPE_DATETIME)) { $values[$k] = $this->_createInsertDate($v['type']); } } if ($v['type'] == AR_TYPE_DATE || $v['type'] == AR_TYPE_DATETIME) { if (empty($values[$k])) { $values[$k] = $this->_createEmptyDate($v['type']); } else { $values[$k] = glz_localeDate2default($values[$k]); } } if ($v['type'] == AR_TYPE_INTEGER) { if ($values[$k] === true) { $values[$k] = 1; } else { if ($values[$k] === false) { $values[$k] = 0; } } } if (is_null($values[$k]) && array_key_exists('null', $v) && $v['null'] == false) { $values[$k] = ''; } $queryParams[] = $values[$k]; } $queryParams[] = $this->getId(); // TODO // controllare che l'ID sia valido $rs =& $this->_execute($this->_getSqlString('UPDATE'), $queryParams); if ($rs) { return true; } else { // TODO // visualizzare errore // $e = ADODB_Pear_Error(); // echo '<p>',$e->message,'</p>'; return false; } }