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.95 and 1.96

version 1.95, 2012/05/14 14:53:43 version 1.96, 2012/05/15 17:47:56
Line 17 
Line 17 
  * http://platon.sk/projects/Metafox/   * http://platon.sk/projects/Metafox/
  */   */
   
 /* $Platon: Metafox/functions.inc.php,v 1.94 2012-05-02 12:58:15 igor Exp $ */  /* $Platon: Metafox/functions.inc.php,v 1.95 2012-05-14 14:53:43 igor Exp $ */
   
 function ezin_eval($evalcode) /* {{{ */  function ezin_eval($evalcode) /* {{{ */
 {  {
Line 377  function ezin_handle_special_tags(&$str,
Line 377  function ezin_handle_special_tags(&$str,
                 $rrplc[] = 'strrev(Platon::escape_email(strrev(\'\\2\'), \'hypertext_link\', \'\\1\'))';                  $rrplc[] = 'strrev(Platon::escape_email(strrev(\'\\2\'), \'hypertext_link\', \'\\1\'))';
         } /* }}} */          } /* }}} */
         if (strpos($mask, 'S') !== false) { /* {{{ */          if (strpos($mask, 'S') !== false) { /* {{{ */
                 $sub_url = $link_file_type ? 'section.php?' : '?ezin_section_id=';                  switch($link_file_type) {
                           case 0:
                                   $sub_url = '?ezin_section_id=';
                                   break;
                           case 1:
                                   $sub_url = 'section.php?';
                                   break;
                           case 2:
                                   $sub_url = '';
                                   break;
                   }
                 $opentag = ezin_str_rev_args(strrev('<section-link'),'\s+','([^<>\s]+)','([^<>]*?)','>');                  $opentag = ezin_str_rev_args(strrev('<section-link'),'\s+','([^<>\s]+)','([^<>]*?)','>');
                 $rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</section-link>'), $opentag);                  $rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</section-link>'), $opentag);
                 $rpttr[] = sprintf('|%s|i', $opentag);                  $rpttr[] = sprintf('|%s|i', $opentag);
Line 385  function ezin_handle_special_tags(&$str,
Line 395  function ezin_handle_special_tags(&$str,
                 $rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>'));                  $rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>'));
         } /* }}} */          } /* }}} */
         if (strpos($mask, 'A') !== false) { /* {{{ */          if (strpos($mask, 'A') !== false) { /* {{{ */
                 $sub_url = $link_file_type ? 'article.php?' : '?ezin_article_id=';                  switch($link_file_type) {
                           case 0:
                                   $sub_url = '?ezin_article_id=';
                                   break;
                           case 1:
                                   $sub_url = 'article.php?';
                                   break;
                           case 2:
                                   $sub_url = '';
                                   break;
                   }
                 $opentag = ezin_str_rev_args(strrev('<article-link'),'\s+','([^<>\s]+)','([^<>]*?)','>');                  $opentag = ezin_str_rev_args(strrev('<article-link'),'\s+','([^<>\s]+)','([^<>]*?)','>');
                 $rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</article-link>'), $opentag);                  $rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</article-link>'), $opentag);
                 $rpttr[] = sprintf('|%s|i', $opentag);                  $rpttr[] = sprintf('|%s|i', $opentag);
Line 398  function ezin_handle_special_tags(&$str,
Line 418  function ezin_handle_special_tags(&$str,
                 $rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>'));                  $rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>'));
         } /* }}} */          } /* }}} */
         if (strpos($mask, 'P') !== false) { /* {{{ */          if (strpos($mask, 'P') !== false) { /* {{{ */
                 $sub_url = $link_file_type ? 'print.php?' : '?ezin_print=1&amp;ezin_article_id=';                  switch($link_file_type) {
                           case 0:
                                   $sub_url = '?ezin_print=1&amp;ezin_article_id=';
                                   break;
                           case 1:
                                   $sub_url = 'print.php?';
                                   break;
                           case 2:
                                   $sub_url = 'print/';
                                   break;
                   }
                 $opentag = ezin_str_rev_args(strrev('<article-print-link'),'\s+','([^<>\s]+)','([^<>]*?)','>');                  $opentag = ezin_str_rev_args(strrev('<article-print-link'),'\s+','([^<>\s]+)','([^<>]*?)','>');
                 $rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</article-print-link>'), $opentag);                  $rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</article-print-link>'), $opentag);
                 $rpttr[] = sprintf('|%s|i', $opentag);                  $rpttr[] = sprintf('|%s|i', $opentag);
Line 411  function ezin_handle_special_tags(&$str,
Line 441  function ezin_handle_special_tags(&$str,
                 $rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>'));                  $rrplc[] = ezin_str_rev_args(strrev('<a href="'.$ezin_url.$sub_url),'\\2','"','\\1','>','\\2',strrev('</a>'));
         } /* }}} */          } /* }}} */
         if (strpos($mask, 'U') !== false) { /* {{{ */          if (strpos($mask, 'U') !== false) { /* {{{ */
                 $sub_url = $link_file_type ? 'author.php?' : '?ezin_author_id=';                  switch($link_file_type) {
                           case 0:
                                   $sub_url = '?ezin_author_id=';
                                   break;
                           case 1:
                                   $sub_url = 'author.php?';
                                   break;
                           case 2:
                                   $sub_url = 'author/';
                                   break;
                   }
                 $opentag = ezin_str_rev_args(strrev('<author-link'),'\s+','([^<>\s]+)','([^<>]*?)','>');                  $opentag = ezin_str_rev_args(strrev('<author-link'),'\s+','([^<>\s]+)','([^<>]*?)','>');
                 $rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</author-link>'), $opentag);                  $rpttr[] = sprintf('|%s\s*(.*?)\s*%s|si', strrev('</author-link>'), $opentag);
                 $rpttr[] = sprintf('|%s|i', $opentag);                  $rpttr[] = sprintf('|%s|i', $opentag);
Line 639  function ezin_get_link($type = 'S', $id
Line 679  function ezin_get_link($type = 'S', $id
   
         if (! empty($id)) {          if (! empty($id)) {
                 $append_params = '';                  $append_params = '';
                   $append_url = '';
                 switch ($type) {                  switch ($type) {
                         default:                          default:
                         case 'A-show-all': $script = 'article'; $append_params = '&ezin_show_all=1'; break;                          case 'A-show-all': $script = 'article'; $append_params = '&ezin_show_all=1'; break;
                         case 'A-add-new':  $script = 'article'; $append_params = '&ezin_add_new=1';  break;                          case 'A-add-new':  $script = 'article'; $append_params = '&ezin_add_new=1';  break;
                         case 'A': $script = 'article'; break;                          case 'A': $script = 'article'; $append_url = 'sekcia/'; break;
                         case 'S': $script = 'section'; break;                          case 'S': $script = 'section'; break;
                         case 'U': $script = 'author';  break;                          case 'U': $script = 'author'; $append_url = 'author/'; break;
                         case 'P': $script = 'print';   break;                          case 'P': $script = 'print';  $append_url = 'print/'; break;
                         case 'M': $script = 'message'; break;                          case 'M': $script = 'message'; $append_url = 'message/'; break;
                         case 'PA': $script = 'poll_answer'; break;                          case 'PA': $script = 'poll_answer'; break;
                 }                  }
                 if ($ezin_cfg['link_file_type'] && $type != 'PA') {                  if ($ezin_cfg['link_file_type'] == 1 && $type != 'PA') {
                         return $url_prefix.$ezin_cfg['url']                          return $url_prefix.$ezin_cfg['url']
                                 .$script.'.php'                                  .$script.'.php'
                                 .'?'.htmlspecialchars($id)                                  .'?'.htmlspecialchars($id)
                                 .htmlspecialchars($append_params)                                  .htmlspecialchars($append_params)
                                 .($force_lang && $lang != '' ? htmlspecialchars('&ezin_lang='.$lang) : '');                                  .($force_lang && $lang != '' ? htmlspecialchars('&ezin_lang='.$lang) : '');
                 }                  }
   
                   if ($ezin_cfg['link_file_type'] == 2 && $type != 'PA') {
                           $append_url = '';
                           switch ($type) {
                                   default:
                                   case 'A-show-all':
                                   case 'A-add-new':
                                   case 'A':
                                           $ar = ezin_validate_IDs(array(
                                                   'section_id' => 0,
                                                   'article_id' => $id,
                                                   'message_id' => 0));
                                           $append_url = strlen($ar['section_access_key']) > 0
                                                   ? $ar['section_access_key'].'/'
                                                   : $ar['section_id'].'/';
                                           break;
                                   case 'S':
                                           break;
                                   case 'U':
                                           $append_url = 'author/';
                                           break;
                                   case 'P':
                                           $append_url = 'print/';
                                           break;
                                   case 'M':
                                           $append_url = 'message/';
                                           break;
                           }
   
                           return $url_prefix.$ezin_cfg['url']
                                   .$append_url.htmlspecialchars($id)
                                   .($force_lang && $lang != '' ? htmlspecialchars('&ezin_lang='.$lang) : '');
                   }
   
                 return $url_prefix.$ezin_cfg['url'].'?ezin_'                  return $url_prefix.$ezin_cfg['url'].'?ezin_'
                         .($script == 'print' ? 'article' : $script)                          .($script == 'print' ? 'article' : $script)
Line 1996  function ezin_get_curl($url, $timeout =
Line 2070  function ezin_get_curl($url, $timeout =
         return $ret_data;          return $ret_data;
 }  }
   
   /*
    * Rewrite action
    */
   function ezin_get_rewrite_action($action, $lang = null) {
           global $ezin_cgi;
           global $ezin_sys;
           if (is_null($lang)) {
                   $lang = $ezin_cgi['lang'];
           }
           return $ezin_sys['rewrite'][$action][$lang];
   }
   
   function ezin_get_rewrite_key($action) {
           global $ezin_sys;
           foreach ($ezin_sys['rewrite'] as $key => $rewrite) {
                   $vals = array_values($rewrite);
                   if (in_array($action, $rewrite)) {
                           return $key;
                   }
           }
           return null;
   }
   
   function ezin_redirect_special($redirect) {
           global $ezin_cfg;
           $redirect_temporary = false;
           $redirect_code_map = array(1 => 301, 2 => 302, 3 => 303);
           if ($ezin_cfg['debug_level'] > 0) {
                   $redirect_temporary = true;
           }
           if ($ezin_cfg['debug_level'] > 1) {
                   echo 'Debug: Redirect <a href="'.$redirect.'">'.$redirect.'</a><br>';
           } else {
                   Platon::redirect($redirect, $redirect_temporary, $redirect_code_map[$ezin_cfg['link_redirect']]);
           }
   }
   
   function ezin_redirect_section($section_id, $type = null) {
           global $ezin_cfg;
           if ($type == null) {
                   $type = $ezin_cfg['link_file_type'];
           }
           switch($type) {
                   case 0:
                           $redirect = $ezin_cfg['url'].'index.php?ezin_section_key='.$section_id;
                           break;
                   case 1:
                           $redirect = $ezin_cfg['url'].'section.php?'.$section_id;
                           break;
                   case 2:
                           $redirect = $ezin_cfg['url'].$section_id;
                           break;
           }
           ezin_redirect_special($redirect);
   }
   
   function ezin_redirect_article($article_id, $type = null) {
           global $ezin_cfg;
           if ($type == null) {
                   $type = $ezin_cfg['link_file_type'];
           }
           switch($type) {
                   case 0:
                           $redirect = $ezin_cfg['url'].'index.php?ezin_article_key='.$article_id;
                           break;
                   case 1:
                           $redirect = $ezin_cfg['url'].'article.php?'.$article_id;
                           break;
                   case 2:
                           $ar = ezin_validate_IDs(array('article_id' => $article_id));
                           $redirect = $ezin_cfg['url'].$ar['section_access_key'].'/'.$article_id;
                           break;
           }
           ezin_redirect_special($redirect);
   }
   
   function ezin_redirect_author($author_id, $type = null) {
           global $ezin_cfg;
           if ($type == null) {
                   $type = $ezin_cfg['link_file_type'];
           }
           switch($type) {
                   case 0:
                           $redirect = $ezin_cfg['url'].'index.php?ezin_author_key='.$author_id;
                           break;
                   case 1:
                           $redirect = $ezin_cfg['url'].'author.php?'.$author_id;
                           break;
                   case 2:
                           $redirect = $ezin_cfg['url'].ezin_get_rewrite_action('author').'/'.$author_id;
                           break;
           }
           ezin_redirect_special($redirect);
   }
   
   function ezin_redirect_print($article_id, $type = null) {
           global $ezin_cfg;
           if ($type == null) {
                   $type = $ezin_cfg['link_file_type'];
           }
           switch($type) {
                   case 0:
                           $redirect = $ezin_cfg['url'].'index.php?ezin_article_key='.$article_id.'&ezin_print=1';
                           break;
                   case 1:
                           $redirect = $ezin_cfg['url'].'print.php?'.$article_id;
                           break;
                   case 2:
                           $redirect = $ezin_cfg['url'].ezin_get_rewrite_action('print').'/'.$article_id;
                           break;
           }
           ezin_redirect_special($redirect);
   }
   
 /* 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.95  
changed lines
  Added in v.1.96

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