| version 1.95, 2012/05/14 14:53:43 |
version 1.96, 2012/05/15 17:47:56 |
|
|
| * 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&ezin_article_id='; |
switch($link_file_type) { |
| |
case 0: |
| |
$sub_url = '?ezin_print=1&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: |