Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Thursday, November 12, 2026

Diff for Metafox/functions.inc.php between version 1.129 and 1.130

version 1.129, 2014/07/07 07:55:17 version 1.130, 2015/01/20 15:20:16
Line 17 
Line 17 
  * http://platon.sk/projects/Metafox/   * http://platon.sk/projects/Metafox/
  */   */
   
 /* $Platon: Metafox/functions.inc.php,v 1.128 2014-02-19 13:19:05 igor Exp $ */  /* $Platon: Metafox/functions.inc.php,v 1.129 2014-07-07 07:55:17 igor Exp $ */
   
 function ezin_eval($evalcode) /* {{{ */  function ezin_eval($evalcode) /* {{{ */
 {  {
Line 2523  function ezin_get_htmlmap($lang = null)
Line 2523  function ezin_get_htmlmap($lang = null)
         return $cache_ar['content'];          return $cache_ar['content'];
 }  }
   
   /*
    * Admin API
    */
   function ezin_admin_init_app($apps_dir) {
           if (!file_exists($apps_dir)) {
                   return false;
           }
           global $_ezin_admin;
           $apps_dirs = scandir($apps_dir);
           if (is_array($apps_dirs)) foreach($apps_dirs as $app_dir) {
                   $app_init_file = $apps_dir.'/'.$app_dir.'/init.inc.php';
                   if (!in_array($app_dir, array('.','..'))
                           && is_dir($apps_dir.'/'.$app_dir)
                           && file_exists($app_init_file)
                           && is_readable($app_init_file))
                   {
                           $_ezin_admin['appsdir_curr'] = $apps_dir;
                           $_ezin_admin['app_curr'] = $app_dir;
                           require_once $app_init_file;
                   }
           }
   }
   
   function ezin_admin_db_check($title, $test, $test_output, $fix) {
           global $_ezin_admin;
           if (!is_array($_ezin_admin['db_check'])) {
                   $_ezin_admin['db_check'] = array();
           }
           $_ezin_admin['db_check'][] = array(
                   'app' => $_ezin_admin['app_curr'],
                   'title' => $title,
                   'test' => $test,
                   'test_output' => $test_output,
                   'fix' => $fix,
           );
   }
   
   function ezin_admin_db_check_run() {
           global $_ezin_admin;
           global $ezin_sys;
           global $ezin_db_handle;
           if (!is_array($_ezin_admin['db_check'])) {
                   $_ezin_admin['db_check'] = array();
           }
           $ret = array();
           foreach ($_ezin_admin['db_check'] as $check) {
                   $result = @mysql_query($check['test'], $ezin_db_handle)
                           or ezin_db_error('ezin_admin_db_check_run() [1]');
                   $row = mysql_fetch_array($result, MYSQL_NUM);
                   @mysql_free_result($result);
                   if ($row === false
                           || (is_array($row)
                                   && $row[0] != $check['test_output']))
                   {
                           @mysql_query($check['fix'], $ezin_db_handle)
                                   or ezin_db_error('ezin_admin_db_check_run() [2]');
                           // TEST again
                           $result = @mysql_query($check['test'], $ezin_db_handle)
                                   or ezin_db_error('ezin_admin_db_check_run() [1]');
                           $row = mysql_fetch_array($result, MYSQL_NUM);
                           @mysql_free_result($result);
                           if ($row === false
                                   || (is_array($row)
                                           && $row[0] != $check['test_output']))
                           {
                                   $result = -1; // Test after fix FAILED
                           } else {
                                   $result = 2; // Test after fix SUCCESSFUL
                           }
                   } else {
                           $result = 1; // TEST OK
                   }
                   $ret[] = array(
                           'app' => $check['app'],
                           'title' => $check['title'],
                           'result' => $result,
                   );
           }
           return $ret;
   }
   
   function ezin_admin_menu_add($action, $caption, $link, $inc_file, $column, $after_action = null, $visible = true) {
           global $_ezin_admin;
           if (!is_array($_ezin_admin['menu'])) {
                   $_ezin_admin['menu'] = array();
           }
           if (!is_array($_ezin_admin['menu_hashes'])) {
                   $_ezin_admin['menu_hashes'] = array();
           }
           $menu_hash = $action.'/'.$link;
           if (in_array($menu_hash, $_ezin_admin['menu_hashes'])) {
                   echo 'Error: Duplicate menu links "'.$menu_hash.'"';
                   return false;
           }
           $_ezin_admin['menu_hashes'][] = $menu_hash;
           $_ezin_admin['menu'][] = array(
                   'action'        => $action,
                   'caption'       => $caption,
                   'link'          => $link,
                   'inc_file'      => $inc_file,
                   'column'        => $column,
                   'after_action'  => $after_action,
                   'visible'       => $visible,
                   'apps_dir'      => $_ezin_admin['appsdir_curr'],
                   'app_dir'       => $_ezin_admin['app_curr'],
           );
   }
   
   function ezin_admin_menu_get() {
           global $_ezin_admin;
           if (!is_array($_ezin_admin['menu'])) {
                   $_ezin_admin['menu'] = array();
           }
           return $_ezin_admin['menu'];
   }
   
   function ezin_admin_menu_info($app, $link) {
           global $_ezin_admin;
           if (!is_array($_ezin_admin['menu'])) {
                   $_ezin_admin['menu'] = array();
           }
           foreach ($_ezin_admin['menu'] as $menu) {
                   if ($menu['app_dir'] == $app
                           && $menu['link'] == $link)
                   {
                           return $menu;
                   }
           }
           return false;
   }
   
   function ezin_admin_app_url($app, $link) {
           $info = ezin_admin_menu_info($app, $link);
           if ($info == false) {
                   return false;
           }
           global $ezin_cfg, $ezin_sys;
           return $ezin_cfg['url'].$ezin_sys['dir']['admin'].'/app/'.$info['app_dir'].'/'.$info['link'].'/';
   }
   
 /* Modeline for ViM {{{  /* Modeline for ViM {{{
  * vim: set ts=4:   * vim: set ts=4:
  * vim600: fdm=marker fdl=0 fdc=0:   * vim600: fdm=marker fdl=0 fdc=0:

Legend:
Removed from v.1.129  
changed lines
  Added in v.1.130

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top