Пример #1
0
 function info($file, $key = false)
 {
     self::$file_info = array();
     $array = explode(".", $file);
     self::$file_info['size'] = @filesize($file);
     self::$file_info['type'] = arrays::lastValue($array);
     self::$file_info['name'] = str_replace('.' . self::$file_info['type'], '', $file);
     self::$file_info['image'] = false;
     if (self::$file_info['type'] == 'JPG' || self::$file_info['type'] == 'jpg' || self::$file_info['type'] == 'gif' || self::$file_info['type'] == 'png') {
         self::$file_info['image'] = true;
     }
     if (!$key) {
         return self::$file_info;
     } else {
         return self::$file_info[$key];
     }
 }
Пример #2
0
 function edit()
 {
     events::observe('save', 'pages', 'savePage');
     events::observer();
     if (events::detect('save')) {
         return true;
     }
     if (events::detect('restore')) {
         self::restoreVersion(events::get('restore'));
     }
     admin::components('tabs', 'validator', 'upload');
     if (settings::get('pages', 'redactor')) {
         admin::components('redactor');
         s::section('redactor');
     }
     $page_id = admin::get('id');
     appPages::getPagesSelect(ADMIN_SITE_ID, $page_id);
     appPages::getParentPages(ADMIN_SITE_ID, true);
     appTemplates::getTmpls(ADMIN_SITE_ID);
     db::table('pages');
     db::where('page_id', $page_id);
     $row = db::assoc();
     s::set('page_link', '<a href="' . self::getUrl($row['page_folder']) . '">Посмотреть страницу на сайте</a>');
     if ($row['page_dynamic'] == '1') {
         $row['page_folder'] = '';
     } else {
         if ($row['page_folder'] != '/') {
             $row['page_folder'] = string::clearBoth($row['page_folder']);
             $arr = explode('/', $row['page_folder']);
             $row['page_folder'] = arrays::lastValue($arr);
         }
     }
     f::set('page_content', $row['page_content'], 0);
     f::set($row);
     s::set('page_id', $page_id);
     db::table('pages_files');
     db::where('page_id', $page_id);
     $r = db::select();
     while ($a = mysql_fetch_assoc($r)) {
         $a['file_type'] = files::getFileIco($a['file_type']);
         s::roll('page_files', $a);
     }
     /*
     	Load versions
     */
     db::table('pages_versions');
     db::where('page_id', $page_id);
     db::order('version_date', 'DESC');
     $res = db::select();
     $versions = array();
     while ($row = mysql_fetch_assoc($res)) {
         $versions[$row['version_date']][$row['content_id']] = array('version_id' => $row['version_id'], 'content_id' => $row['content_id'], 'version_content' => $row['version_content']);
     }
     foreach ($versions as $k => $v) {
         s::roll('versions', array('date' => dt::date2print('%H:%i:%s %d.%m.%Y', $k), 'version_date' => $k, 'id' => md5($k)));
         foreach ($v as $d => $f) {
             $f['version_content'] = htmlspecialchars('{non}' . $f['version_content'] . '{/non}');
             s::roll('versions_' . md5($k), $f);
         }
     }
 }
Пример #3
0
Файл: web.php Проект: rigidus/ea
 public function loadPageData()
 {
     $arr_t = self::$page_tree;
     unset($arr_t[0], $arr_t[1]);
     $arr = array();
     $arr[0] = self::$page_tree[0];
     $arr[1] = self::$page_tree[1];
     $i = 2;
     foreach ($arr_t as $k => $v) {
         $v = string::clearBoth($v);
         $t = explode('/', $v);
         $count = count($t);
         $tt = array();
         $g = array();
         // start matrix
         for ($z = 1; $z <= $count; $z++) {
             $g = $t;
             $g[$z] = str_replace($t[$z], '[dynamic]', $t[$z]);
             $tt = implode('/', $g);
             $arr[$i] = '/' . string::clearBoth($tt) . '/';
             $i++;
         }
         $matrix = array();
         $x = 1;
         $y = 2;
         for ($z = 0; $z < $count * 2; $z++) {
             $m = $x + $y;
             if ($m < $count) {
                 $matrix[] = array($x, $m);
                 $y++;
             } elseif ($m == $count) {
                 $x++;
                 $y = 2;
             }
         }
         foreach ($matrix as $u => $r) {
             $g = $t;
             $g[$r[0]] = str_replace($t[$r[0]], '[dynamic]', $t[$r[0]]);
             $g[$r[1]] = str_replace($t[$r[1]], '[dynamic]', $t[$r[1]]);
             $tt = implode('/', $g);
             $arr[$i] = '/' . string::clearBoth($tt) . '/';
             $i++;
         }
         // end matrix
     }
     $list_path = "";
     foreach ($arr as $v) {
         if (!empty($v)) {
             $list_path .= "'" . $v . "',";
         }
     }
     $list_path = ereg_replace(",\$", "", $list_path);
     db::table('pages');
     db::join('templates', 'pages', 'tmpl_id');
     db::where('page_folder', $list_path, 'IN');
     db::where('site_id', SITE_ID, '=', 'pages');
     db::order('page_level');
     $res = db::select();
     $t_pages = array();
     $path_pages = array();
     if (db::rows() > 0) {
         while ($row = mysql_fetch_assoc($res)) {
             $t_pages[] = $row;
         }
     }
     $max_level = arrays::maxKey($t_pages, 'page_level');
     $new_array = arrays::sliceByKey($t_pages, $max_level, 'page_level');
     $tested = array();
     $et = explode('/', string::clearBoth(URI_SELF));
     /*
     	Data of current page
     */
     if ($new_array) {
         foreach ($new_array as $k => $v) {
             $folder = explode('/', string::clearBoth($v['page_folder']));
             $tested[$k] = 0;
             foreach ($folder as $d => $f) {
                 if (isset($et[$d])) {
                     if ($f == $et[$d]) {
                         $tested[$k]++;
                     }
                 }
             }
         }
         $path_pages[] = self::$page = $t_pages[arrays::maxValueKey($tested)];
     } else {
         $path_pages[] = self::$page = arrays::lastValue($t_pages);
     }
     $t_pages = array_reverse($t_pages);
     $parent = self::$page['page_parent'];
     if ($parent != 0) {
         foreach ($t_pages as $k => $v) {
             if ($v['page_id'] != $parent && $v['page_folder'] != '/') {
                 unset($t_pages[$k]);
             } else {
                 $path_pages[] = $v;
                 $parent = $v['page_parent'];
             }
         }
     }
     self::$pages = array_reverse($path_pages);
     unset($t_pages, $path_pages);
 }