public function put($d = array()) { $res = new responseGmp(); $id = $this->_getIDFromReq($d); $d = prepareParamsGmp($d); if (is_numeric($id) && $id) { if (isset($d['active'])) { $d['active'] = is_string($d['active']) && $d['active'] == 'true' || $d['active'] == 1 ? 1 : 0; } //mmm.... govnokod?....))) /* else $d['active'] = 0;*/ if (frameGmp::_()->getTable('modules')->update($d, array('id' => $id))) { $res->messages[] = langGmp::_('Module Updated'); $mod = frameGmp::_()->getTable('modules')->getById($id); $newType = frameGmp::_()->getTable('modules_type')->getById($mod['type_id'], 'label'); $newType = $newType['label']; $res->data = array('id' => $id, 'label' => $mod['label'], 'code' => $mod['code'], 'type' => $newType, 'params' => utilsGmp::jsonEncode($mod['params']), 'description' => $mod['description'], 'active' => $mod['active']); } else { if ($tableErrors = frameGmp::_()->getTable('modules')->getErrors()) { $res->errors = array_merge($res->errors, $tableErrors); } else { $res->errors[] = langGmp::_('Module Update Failed'); } } } else { $res->errors[] = langGmp::_('Error module ID'); } parent::put($d); return $res; }
public function get($d = array()) { parent::get($d); if (empty($this->_allTemplates)) { $directories = utilsGmp::getDirList(GMP_TEMPLATES_DIR); if (!empty($directories)) { foreach ($directories as $code => $dir) { if ($xml = utilsGmp::getXml($dir['path'] . 'settings.xml')) { $this->_allTemplates[$code] = $xml; $this->_allTemplates[$code]->prevImg = GMP_TEMPLATES_PATH . $code . '/screenshot.png'; } } } if (is_dir(utilsGmp::getCurrentWPThemeDir() . 'gmp' . DS)) { if ($xml = utilsGmp::getXml(utilsGmp::getCurrentWPThemeDir() . 'gmp' . DS . 'settings.xml')) { $code = utilsGmp::getCurrentWPThemeCode(); if (strpos($code, '/') !== false) { // If theme is in sub-folder $code = explode('/', $code); $code = trim($code[count($code) - 1]); } $this->_allTemplates[$code] = $xml; if (is_file(utilsGmp::getCurrentWPThemeDir() . 'screenshot.jpg')) { $this->_allTemplates[$code]->prevImg = utilsGmp::getCurrentWPThemePath() . '/screenshot.jpg'; } else { $this->_allTemplates[$code]->prevImg = utilsGmp::getCurrentWPThemePath() . '/screenshot.png'; } } } } if (isset($d['code']) && isset($this->_allTemplates[$d['code']])) { return $this->_allTemplates[$d['code']]; } return $this->_allTemplates; }