function rollApps() { $tmp = $apps = array(); $file = SYS_ROOT . 'conf/global/apps.ini'; $tmp = ini::parse($file); foreach ($tmp as $k => $v) { $v['app'] = $k; s::roll('apps', $v); } }
function load($app) { $file = APPS . $app . '/settings.ini'; if (defined('ADMIN_SITE_ID')) { $site_id = ADMIN_SITE_ID; } else { $site_id = SITE_ID; } self::$settings[$app] = ini::parse($file, $site_id); if (!self::$settings[$app]) { self::$settings[$app] = ini::parse($file, 1); } }
function installApp() { if ($_FILES['app']['name']) { if ($_FILES['app']['type'] != 'application/zip') { s::set('ERRORS', '<ul><li>Неверный формат архива приложения.</li></ul>'); } else { $arr = explode('.', $_FILES['app']['name']); if (count($arr) < 5) { s::set('ERRORS', '<ul><li>Неверный формат архива приложения.</li></ul>'); } else { define('INSTALL_APP', $arr[0]); define('INSTALL_APP_VERSION', $arr[1] . '.' . $arr[2] . '.' . $arr[3]); files::fullRemoveDir(SYS_ROOT . 'var/tmp/apps/'); $path = SYS_ROOT . 'var/tmp/apps/'; zipfile::read($_FILES['app']['tmp_name']); zipfile::extract($path); $install_file = $path . 'install.php'; if (!file_exists($install_file)) { s::set('ERRORS', '<ul><li>Не найден инсталляционый файл приложения.</li></ul>'); } else { include $install_file; // copy lang files $tmp_lang_dir = SYS_ROOT . 'var/tmp/apps/langs/'; $lang_dir = SYS_ROOT . 'langs/admin/'; if (file_exists($lang_dir)) { $array = files::getFiles($tmp_lang_dir); foreach ($array as $v) { if (!file_exists($lang_dir . $v)) { copy($tmp_lang_dir . $v, $lang_dir . $v); } else { $lang = ini::parse($tmp_lang_dir . $v); ini::parse($lang_dir . $v); ini::add($lang); ini::write(); } } } // copy app files $dir = SYS_ROOT . 'var/tmp/apps/' . INSTALL_APP . '/'; $new_dir = SYS_ROOT . 'apps/' . INSTALL_APP . '/'; files::copyDir($dir, $new_dir); // clear tmp files::fullRemoveDir(SYS_ROOT . 'var/tmp/apps/'); headers::app('manage'); } } } } }
function load($lang, $site_id = false) { if ($site_id) { $file = SYS_ROOT . 'langs/web/' . $site_id . '/' . $lang . '.ini'; } else { $file = SYS_ROOT . 'langs/admin/' . $lang . '.ini'; } $array = ini::parse($file); if ($array) { foreach ($array as $v) { self::$lang = $v; } } else { return false; } }
function loadEngine() { if (self::$sections[0] == string::clearBoth(SYS_DIR)) { self::$engine = 'admin'; } elseif (SYS_DIR == '/') { self::$engine = 'admin'; } if (!self::$engine) { // load boot.ini $ini = ini::parse(SYS_ROOT . 'conf/global/boot.ini'); if ($ini) { self::$engine = arrays::returnValue($ini, self::$sections[0]); } } if (!self::$engine) { self::$engine = 'web'; } define('ENGINE', self::$engine); }
function get($name, $value = false, $lang = false) { if (!self::$biblio) { if (!$lang) { $lang = LANG_INDEX; } self::$biblio = ini::parse(SYS_ROOT . 'data/' . $lang . '/biblio.ini'); } if ($value !== false) { if (isset(self::$biblio[$name][$value])) { return self::$biblio[$name][$value]; } else { return false; } } else { if (isset(self::$biblio[$name])) { return self::$biblio[$name]; } else { return false; } } }
function adminMenu() { $menu = array(); $menu_tmpl = ''; $array = ini::parse(SYS_ROOT . 'conf/admin/menu.ini'); foreach ($array as $k => $v) { $points_t = explode('::', $k); $v['name'] = trim($points_t[1]); if (self::$apps_excl) { if (!isset(self::$apps_excl[$v['app']])) { continue; } } $points[trim($points_t[0])][] = $v; } foreach ($points as $k => $v) { $point_tmpl = ''; foreach ($v as $d => $f) { $class = ''; if ($f['separator'] == '1') { $class = 'separator'; } if (!strstr($f['link'], 'http://')) { $f['link'] = SYS_DIR . string::clearBoth($f['link']) . '/'; } $point_tmpl .= '<li class="' . $class . '"><a href="' . $f['link'] . '">' . $f['name'] . '</a></li>'; } if ($point_tmpl) { $point_class = ''; $menu_tmpl .= '<li class="' . $point_class . '"><a href="javascript:void(null)" class="navs">' . $k . '</a><ul class="sub_menu" style="display: none;">' . $point_tmpl . '</ul></li>'; } } s::set('admin_menu', $menu_tmpl); }
function start() { db::connect(); if (!router::get(1)) { return true; } self::$map = array('mode' => router::get(0), 'app' => router::get(1), 'module' => 'main', 'action' => router::get(2)); if (router::get(3)) { self::set('module', router::get(2)); self::set('action', router::get(3)); } s::set('SYS_PATH', 'http://' . SERVER . SYS_DIR); define('APP', APPS . self::get('app') . '/'); s::set('APP', APP); define('MODULE', APP . self::get('module') . '/'); s::set('MODULE', MODULE); /* Lang items */ if (self::get('mode') == 'webAjax') { web::getSite(); $lang = lang::gets(LANG_INDEX, SITE_ID); /* Authentification webUser */ web::observer(); } else { define('LANG_INDEX', SYS_INDEX); $lang = lang::gets(LANG_INDEX); admin::observer(); if (defined('ADMIN_USER_SITE_ID')) { define('ADMIN_SITE_ID', ADMIN_USER_SITE_ID); s::set('ADMIN_SITE_ID', ADMIN_USER_SITE_ID); $group_rules = ini::parse(SYS_ROOT . 'conf/admin/groups.ini', ADMIN_USER_GROUP_ID); define('RULE', $group_rules['rule']); db::table('admin_sites'); db::where('site_id', ADMIN_USER_SITE_ID); db::limit(1); define('ADMIN_SITE', db::get('site_domain')); s::set('ADMIN_SITE', ADMIN_SITE); } } /* Set params */ params::send(); $tmpl = params::get('tmpl'); $sys = false; if (self::get('mode') == 'adminAjax') { $sys = true; } buffer::init(0, self::get('app'), false, $tmpl); if (self::get('mode') == 'webAjax') { load::handler(self::get('app'), self::get('module'), self::get('action')); } else { load::module(self::get('app'), self::get('module'), self::get('action')); } /* Get plugin action */ ob_start(); /* запуск обработчика с возвратом данных тут два варианта либо данные просто выводим если нет шаблона, а если есть то сначала обрабатываем шаблон если буффер полный выводим информацию из него */ $buffer = buffer::gets(); if ($buffer[0]) { if ($sys) { buffer::$module = self::get('module'); } $section = params::get('section'); echo buffer::get($buffer[0]['app'], $buffer[0]['tmpl'], $buffer[0]['data'], $section, $sys); } $code = ob_get_contents(); ob_clean(); s::$mode = 'code'; s::setTmpl($code, $lang); s::display(); }
function deleteGroup() { $group_id = params::get('group_id'); $array = ini::parse(SYS_ROOT . 'conf/admin/groups.ini'); ini::delete($group_id); ini::write(); }
function delete($conf_name, $section) { ini::parse(SYS_ROOT . 'conf/web/' . $conf_name . '.ini'); ini::delete($section); ini::write(); }