Advertisement
GOSTRA_FX

DataLife Engine

Feb 3rd, 2019
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /*
  3. =====================================================
  4.  DataLife Engine - by SoftNews Media Group
  5. -----------------------------------------------------
  6.  http://dle-news.ru/
  7. -----------------------------------------------------
  8.  Copyright (c) 2004-2018 SoftNews Media Group
  9. =====================================================
  10.  This code is protected by copyright
  11. =====================================================
  12.  File: show.full.php
  13. -----------------------------------------------------
  14.  Use: View full news and comments
  15. =====================================================
  16. */
  17.  
  18. if( !defined('DATALIFEENGINE') ) {
  19.     header( "HTTP/1.1 403 Forbidden" );
  20.     header ( 'Location: ../../' );
  21.     die( "Hacking attempt!" );
  22. }
  23.  
  24. //first
  25. function fadhelbbcode($content) {
  26.   $search = array (
  27.     '/(\[b\])(.*?)(\[\/b\])/',
  28.     '/(\[i\])(.*?)(\[\/i\])/',
  29.     '/(\[u\])(.*?)(\[\/u\])/',
  30.     '/(\[img\])(.*?)(\[\/img\])/',
  31.     '/(\[ul\])(.*?)(\[\/ul\])/',
  32.     '/(\[li\])(.*?)(\[\/li\])/',
  33.     '/(\[url=)(.*?)(\])(.*?)(\[\/url\])/',
  34.     '/(\[url\])(.*?)(\[\/url\])/'
  35.   );
  36.  
  37.   $replace = array (
  38.     '<strong>$2</strong>',
  39.     '<em>$2</em>',
  40.     '<u>$2</u>',
  41.     '<img src="$2" />',
  42.     '<ul>$2</ul>',
  43.     '<li>$2</li>',
  44.     '<a href="$2" target="_blank">$4</a>',
  45.     '<a href="$2" target="_blank">$2</a>'
  46.   );
  47.  
  48.   return preg_replace($search, $replace, str_replace("\n", "<br />", $content));
  49. }
  50.  
  51. function getLangue($langueid) {
  52.     switch($langueid)
  53.     {
  54.         case 1:
  55.             return "FRENCH";
  56.         break;
  57.         case 2:
  58.             return "TRUEFRENCH";
  59.         break;
  60.         case 3:
  61.             return "VOSTFR";
  62.         break;
  63.         case 4:
  64.             return "VO";
  65.         break;
  66.         case 5:
  67.             return "VFSTFR";
  68.         break;
  69.         case 6:
  70.             return "MULTI";
  71.         break;
  72.         default:
  73.             return "Introuvable";
  74.         break;
  75.     }
  76. }
  77.  
  78. function getqualite($qualiteid) {
  79.     $qualite = "Inconnue";
  80.     switch($qualiteid) {
  81.         case 1: $qualite = "DVDRIP"; break;
  82.         case 2: $qualite = "BDRIP"; break;
  83.         case 3: $qualite = "BRRIP"; break;
  84.         case 4: $qualite = "Webrip"; break;
  85.         case 5: $qualite = "TeleSync (TS)"; break;
  86.         case 6: $qualite = "CAM"; break;
  87.         case 7: $qualite = "DVDSCR"; break;
  88.         case 8: $qualite = "R5"; break;
  89.         case 9: $qualite = "R6"; break;
  90.         case 10: $qualite = "DVD-R"; break;
  91.         case 11: $qualite = "Full-DVD"; break;
  92.         case 12: $qualite = "IMG"; break;
  93.         case 13: $qualite = "ISO"; break;
  94.         case 14: $qualite = "HDTV"; break;
  95.         case 15: $qualite = "HDRip"; break;
  96.         case 16: $qualite = "Blu-Ray 720p"; break;
  97.         case 17: $qualite = "Blu-Ray 1080p"; break;
  98.         case 18: $qualite = "Blu-Ray 3D"; break;
  99.         case 19: $qualite = "PDTV"; break;
  100.         case 20: $qualite = "TVrip"; break;
  101.         case 21: $qualite = "TeleCine (TC)"; break;
  102.         case 22: $qualite = "EXE"; break;
  103.         case 23: $qualite = "MP3"; break;
  104.         case 24: $qualite = "FLAC"; break;
  105.         case 25: $qualite = "M4A"; break;
  106.         case 26: $qualite = "PDF"; break;
  107.         case 27: $qualite = "Autre"; break;
  108.         case 28: $qualite = "CBR"; break;
  109.         case 29: $qualite = "CBZ"; break;
  110.         case 30: $qualite = "IPA"; break;
  111.         case 31: $qualite = "HD 720p"; break;
  112.         case 32: $qualite = "DVDRIP MD"; break;
  113.         case 33: $qualite = "DVDRIP LD"; break;
  114.         case 34: $qualite = "BDRIP MD"; break;
  115.         case 35: $qualite = "BDRIP LD"; break;
  116.         case 36: $qualite = "BRRIP MD"; break;
  117.         case 37: $qualite = "BRRIP LD"; break;
  118.         case 38: $qualite = "DVDSCR MD"; break;
  119.         case 39: $qualite = "DVDSCR LD"; break;
  120.         case 40: $qualite = "R5 MD"; break;
  121.         case 41: $qualite = "TS MD"; break;
  122.         case 42: $qualite = "TS LD"; break;
  123.         case 43: $qualite = "Web-DL"; break;
  124.         case 44: $qualite = "HDRiP MD"; break;
  125.         case 45: $qualite = "HDTS MD"; break;
  126.         case 46: $qualite = "CAM MD"; break;
  127.         case 47: $qualite = "HDCAM"; break;
  128.         case 48: $qualite = "TC"; break;
  129.         case 49: $qualite = "HDLight 720p"; break;
  130.         case 50: $qualite = "HDLight 1080p"; break;
  131.         case 51: $qualite = "DVDRIP MKV"; break;
  132.         case 52: $qualite = "HD 1080p"; break;
  133.         case 53: $qualite = "ULTRA HD (X265)"; break;
  134.         case 54: $qualite = "WEB-DL 720p"; break;
  135.         case 55: $qualite = "WEB-DL 1080p"; break;
  136.     }
  137.     return $qualite;
  138. }
  139. function decrypt($str) {
  140.  
  141. }
  142. function getHost($lien) {
  143.     $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/telechargement.gif\" />";
  144.     echo $lien;
  145.     if(preg_match('/1fichier.com/i',$lien)) { $lienss = "<div style=\"font-weight:bold;color:black\">1fichier</div>"; }
  146.     else if(preg_match('/queenshare.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/queenshare.gif\" />"; }
  147.     else if(preg_match('/depositfiles.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/depositfiles.gif\" />"; }
  148.     else if(preg_match('/uptobox.com/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:#333ba8\">Uptobox</div>"; }
  149.     else if(preg_match('/ul.to/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:#536aae\">Uploaded</div>"; }
  150.     else if(preg_match('/uploaded.net/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:#536aae\">Uploaded</div>"; }
  151.     else if(preg_match('/bayfiles.net/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/bayfiles.gif\" />"; }
  152.     else if(preg_match('/uploadhero.co/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/uploadhero.gif\" />"; }
  153.     else if(preg_match('/go4up.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/go4up.gif\" />"; }
  154.     else if(preg_match('/turbobit.net/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:#f47445\">Turbobit</div>"; }
  155.     else if(preg_match('/dl.free.fr/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/free.gif\" />"; }
  156.     else if(preg_match('/mega.co.nz/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/mega.gif\" />"; }
  157.     else if(preg_match('/clz.to/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/cloudzer.gif\" />"; }
  158.     else if(preg_match('/rapidgator/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:#fbaf4e\">Rapidgator</div>"; }
  159.     else if(preg_match('/hitfile.net/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/hitfile.gif\" />"; }
  160.     else if(preg_match('/fileparadox.in/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/fileparadox.gif\" />"; }
  161.     else if(preg_match('/bitshare.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/bitshare.gif\" />"; }
  162.     else if(preg_match('/freakshare.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/freakshare.gif\" />"; }
  163.     else if(preg_match('/megashares.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/megashares.gif\" />"; }
  164.     else if(preg_match('/usefile.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/usefile.gif\" />"; }
  165.     else if(preg_match('/uploadable.ch/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/uploadable.gif\" />"; }
  166.     else if(preg_match('/letitbit.net/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/letitbit.gif\" />"; }
  167.     else if(preg_match('/hulkfile.eu/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/hulkfile.gif\" />"; }
  168.     else if(preg_match('/billionuploads.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/billionuploads.gif\" />"; }
  169.     else if(preg_match('/youwatch.org/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:#167b98\">Youwatch</div>"; }
  170.     else if(preg_match('/videoweed.es/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/videoweed.gif\" />"; }
  171.     else if(preg_match('/exashare.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/exashare.gif\" />"; }
  172.     else if(preg_match('/nowvideo.sx/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/nowvideo.gif\" />"; }
  173.     else if(preg_match('/moevideo.net/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/moevideo.gif\" />"; }
  174.     else if(preg_match('/streaming.zone-telechargement1.com/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:green\">REGARDER EN STREAMING</div>"; }
  175.      else if(preg_match('/streamzt.com/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:#087f34\">REGARDER EN STREAMING </div>"; }
  176.    else if(preg_match('/nitroflare.com/',$lien)) { $lienss = "<div style=\"font-weight:bold;color:#5390a8\">Nitroflare</div>"; }
  177.     else if(preg_match('/exoshare.com/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/exoshare.gif\" />"; }
  178.     else if(preg_match('/jheberg.net/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/jheberg.gif\" />"; }
  179.     else if(preg_match('/multiup.org/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/multiup.gif\" />"; }
  180.     else if(preg_match('/rockfile.eu/',$lien)) { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/rockfile.gif\" />"; }
  181.     else { $lienss = "<img style=\"padding-bottom: 5px;padding-top: 5px;\" src=\"http://www.telechargementz.tv/prez/images/hosts/telechargement.gif\" />"; }
  182.     return "<b>".$lienss."</b>";
  183. }
  184.  
  185. function isStreaming($lien)
  186. {
  187.     if(preg_match('/youwatch.org/',$lien)) { return 1; }
  188.     if(preg_match('/videoweed.es/',$lien)) { return 1; }
  189.     if(preg_match('/exashare.com/',$lien)) { return 1; }
  190.     if(preg_match('/nowvideo.sx/',$lien)) { return 1; }
  191.     if(preg_match('/moevideo.net/',$lien)) { return 1; }
  192.     if(preg_match('/streamzt.com/',$lien)) { return 1; }
  193.    
  194.     return 0;
  195. }
  196. function protectidd($lienapdd, $proti)
  197. {
  198.     $desxk = $lienapdd;
  199.     if($proti == true)
  200.     {
  201.         // $desxk = str_replace(["http://","https://","uptobox","1fichier","uploaded","ul.to","rapidgator","turbobit","nitroflare","streaming.zone-telechargement1",".com",".net",".org","video","embed","/","#", "?"], ["123455600","123455601","123455602","123455603","123455604","123455605","123455606","123455607","123455608","123455609","123455610","123455611","123455612","123455613","123455614","123455615","123455616","123455617"], $desxk);
  202.         $hash = '';
  203.         $_3num = '';
  204.         $noAlphChar = array(':' => 27 , '.' => 28 , '?' => 29, '#' => 30 ,'-' => 31 , '/' => 32 );
  205.         $number = array('f','l','r','k','z','x','h','o','m','n');
  206.         foreach (str_split($desxk) as $pos => $var)
  207.         {
  208.             if(ctype_alpha($var))
  209.             {
  210.                 if(ctype_upper($var))
  211.                 {
  212.                     $num = (ord($var) - ord('A') + 1) + (rand(1,5)*33);
  213.                     $hash .= '00'.$num ;
  214.                 }
  215.                 else
  216.                 {
  217.                     $num = (ord($var) - ord('a') + 1) + (rand(1,5)*33) ;
  218.                     $hash .= $num ;
  219.                 }
  220.             }
  221.             else
  222.             {
  223.                 if(isset($noAlphChar[$var]))
  224.                     $num = $noAlphChar[$var] + (rand(1,5)*33);
  225.                 else
  226.                     $num = $number[intval($var)] ;
  227.                 $hash .= '0'.$num;
  228.             }
  229.             //this code for now when we shold get 3 number or just 2 number
  230.             if($num >= 100)
  231.             {
  232.                 $split_array = array('u','w','i','b','v','c','t','q');
  233.                 $_3num .= $split_array[rand(0,7)].$pos;
  234.             }
  235.         }
  236.  
  237.         $hash .= $_3num;
  238.     }
  239.     //return $desxk;
  240.     return $hash;
  241. }
  242. function formatLiens($lienet, $prot = true)
  243. {
  244.     $word = iconv("UTF-8", "ISO-8859-1", "Télécharger");
  245.    
  246.     if(isStreaming($lienet))
  247.     {
  248.         $word = "Regarder";
  249.     }
  250.     if(strpos($lienet, "::") !== false)
  251.     {
  252.         $expx = explode("::", $lienet);
  253.         $word = "Episode ".$expx[0];
  254.         $lienet = $expx[1];
  255.     }
  256.     if(strpos($lienet, ";") !== false)
  257.     {
  258.         $word = "Partie ";
  259.         $parties = explode(";", $lienet);
  260.         $partiet = "";
  261.         for($i = 0; $i <= sizeof($parties); $i++)
  262.         {
  263.             if(isset($parties[$i]))
  264.             {
  265.                 $partiet .= '<a target="_blank" href="https://www.dl-protect1.com/'.protectidd($parties[$i], $prot).'">'.utf8_encode($word.($i+1)).'</a><br />';
  266.             }
  267.         }
  268.         return $partiet;
  269.     }
  270.     else
  271.     {
  272.         return '<a target="_blank" href="https://www.dl-protect1.com/'.protectidd($lienet, $prot).'">'.utf8_encode($word).'</a>';
  273.     }
  274. }
  275. //
  276.  
  277.     $allow_list = explode( ',', $user_group[$member_id['user_group']]['allow_cats'] );
  278.     $not_allow_cats = explode ( ',', $user_group[$member_id['user_group']]['not_allow_cats'] );
  279.    
  280.     $perm = 1;
  281.     $i = 0;
  282.     $news_found = false;
  283.     $allow_full_cache = false;
  284.  
  285.     if ( $config['allow_alt_url'] AND !$config['seo_type'] ) $cprefix = "full"; else $cprefix = "full_".$newsid;
  286.  
  287.     $row = dle_cache ( $cprefix, $sql_news );
  288.  
  289.     if( $row ) {
  290.  
  291.         $row = json_decode($row, true);
  292.  
  293.     }
  294.    
  295.     if ( is_array($row) ) {
  296.  
  297.         $full_cache = true;
  298.        
  299.     } else {
  300.        
  301.         $row = $db->super_query( $sql_news );
  302.         $full_cache = false;
  303.     }
  304.  
  305.     $options = news_permission( $row['access'] );
  306.    
  307.     if( $options[$member_id['user_group']] AND $options[$member_id['user_group']] != 3 ) $perm = 1;
  308.     if( $options[$member_id['user_group']] == 3 ) $perm = 0;
  309.            
  310.     if( $options[$member_id['user_group']] == 1 ) $user_group[$member_id['user_group']]['allow_addc'] = 0;
  311.     if( $options[$member_id['user_group']] == 2 ) $user_group[$member_id['user_group']]['allow_addc'] = 1;
  312.            
  313.     if( $row['id'] AND !$row['approve'] AND $member_id['name'] != $row['autor'] AND !$user_group[$member_id['user_group']]['allow_all_edit'] ) $perm = 0;
  314.     if( !$row['approve'] ) $allow_comments = false;
  315.  
  316.     if ($row['id'] AND $config['no_date'] AND !$config['news_future'] AND !$user_group[$member_id['user_group']]['allow_all_edit']) {
  317.  
  318.         if( strtotime($row['date']) > $_TIME ) {
  319.             $perm = 0;     
  320.         }
  321.  
  322.     }
  323.  
  324.     if ($row['id'] AND $row['need_pass'] AND $member_id['user_group'] > 2 ) {
  325.  
  326.         if( trim($_POST['news_password']) ) {
  327.             $pass = $db->super_query( "SELECT password FROM " . PREFIX . "_post_pass WHERE news_id='{$row['id']}' " );
  328.             $pass = explode("\n", str_replace("\r", "", $pass['password']));
  329.             $n_passwords = array();
  330.            
  331.             foreach ($pass as $value) {
  332.                 $value = trim( $value );
  333.                 if($value) $n_passwords[] = $value;
  334.             }
  335.            
  336.             unset($value);unset($pass);
  337.            
  338.             if (in_array(trim($_POST['news_password']), $n_passwords)) {
  339.                 $_SESSION['news_pass_'.$row['id'].''] = 1;
  340.             }
  341.  
  342.             unset($n_passwords);
  343.         }
  344.    
  345.         if( !$_SESSION['news_pass_'.$row['id'].''] ) {
  346.            
  347.             $perm = 0;
  348.            
  349.         } else $row['need_pass'] = false;
  350.  
  351.     }
  352.    
  353.     if ($config['category_separator'] != ',') $config['category_separator'] = ' '.$config['category_separator'];
  354.  
  355.     if( ! $row['category'] ) {
  356.         $my_cat = "---";
  357.         $my_cat_link = "---";
  358.     } else {
  359.            
  360.         $my_cat = array ();
  361.         $my_cat_link = array ();
  362.         $cat_list = explode( ',', $row['category'] );
  363.        
  364.         if( count( $cat_list ) == 1 ) {
  365.                
  366.             if( $allow_list[0] != "all" AND !in_array( $cat_list[0], $allow_list ) ) $perm = 0;
  367.  
  368.             if( $not_allow_cats[0] != "" AND in_array( $cat_list[0], $not_allow_cats ) ) $perm = 0;
  369.                
  370.             $my_cat[] = $cat_info[$cat_list[0]]['name'];
  371.                
  372.             $my_cat_link = get_categories( $cat_list[0], $config['category_separator'] );
  373.            
  374.         } else {
  375.                
  376.             foreach ( $cat_list as $element ) {
  377.                    
  378.                 if( $allow_list[0] != "all" AND !in_array( $element, $allow_list ) ) $perm = 0;
  379.                
  380.                 if( $not_allow_cats[0] != "" AND in_array( $element, $not_allow_cats ) ) $perm = 0;
  381.                    
  382.                 if( $element ) {
  383.                     $my_cat[] = $cat_info[$element]['name'];
  384.                     if( $config['allow_alt_url'] ) $my_cat_link[] = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>";
  385.                     else $my_cat_link[] = "<a href=\"$PHP_SELF?do=cat&amp;category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
  386.                 }
  387.             }
  388.                
  389.             $my_cat_link = implode( "{$config['category_separator']} ", $my_cat_link );
  390.         }
  391.            
  392.         $my_cat = implode( "{$config['category_separator']} ", $my_cat );
  393.     }
  394.  
  395.     if ( $row['id'] AND  $perm ) {
  396.  
  397.         $config['fullcache_days'] = intval($config['fullcache_days']);
  398.        
  399.         if( $config['fullcache_days'] < 1 ) $config['fullcache_days'] = 30;
  400.  
  401.         if( strtotime($row['date']) >= ($_TIME - ($config['fullcache_days'] * 86400)) ) {
  402.                
  403.             $allow_full_cache = true;
  404.            
  405.         }
  406.  
  407.         define( 'NEWS_ID', $row['id'] );
  408.  
  409.         $disable_index = $row['disable_index'];
  410.         $news_author = $row['user_id'];
  411.    
  412.         $xfields = xfieldsload();
  413.        
  414.         if( $row['votes'] AND $view_template != "print" ) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/poll.php'));
  415.        
  416.         $category_id = intval( $row['category'] );
  417.        
  418.         if( $view_template == "print" ) $tpl->load_template( 'print.tpl' );
  419.         elseif( $category_id and $cat_info[$category_id]['full_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['full_tpl'] . '.tpl' );
  420.         else $tpl->load_template( 'fullstory.tpl' );
  421.  
  422.         if( stripos( $tpl->copy_template, "{next-url}" ) !== false OR stripos( $tpl->copy_template, "{prev-url}" ) !== false) {
  423.             $link = "";
  424.             $prev_next = false;
  425.            
  426.             if( $allow_full_cache ) {
  427.                 $prev_next = dle_cache ( "news", "next_prev_l_".$row['id'] );
  428.                 if( $prev_next ) $prev_next = json_decode($prev_next, true);
  429.             }
  430.    
  431.             if( !is_array($prev_next) ) {
  432.                
  433.                 $row_link = $db->super_query( "SELECT id, date, category, alt_name FROM " . PREFIX . "_post WHERE category = '{$row['category']}' AND date >= '{$row['date']}' AND id != '{$row['id']}' AND approve = '1' ORDER BY date ASC LIMIT 1" );
  434.                
  435.                 if( $row_link['id'] ) {
  436.                     if( $config['allow_alt_url'] ) {
  437.                         if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
  438.                             if( intval( $row_link['category'] ) and $config['seo_type'] == 2 ) {
  439.                                 $link = $config['http_home_url'] . get_url( intval( $row_link['category'] ) ) . "/" . $row_link['id'] . "-" . $row_link['alt_name'] . ".html";
  440.                             } else {
  441.                                 $link = $config['http_home_url'] . $row_link['id'] . "-" . $row_link['alt_name'] . ".html";
  442.                             }
  443.                         } else {
  444.                             $link = $config['http_home_url'] . date( 'Y/m/d/', strtotime( $row_link['date'] ) ) . $row_link['alt_name'] . ".html";
  445.                         }
  446.                     } else {
  447.                         $link = $config['http_home_url'] . "index.php?newsid=" . $row_link['id'];
  448.                     }
  449.                 }
  450.                 $prev_next['next_link'] = $link;
  451.                 $link = "";
  452.  
  453.                 $row_link = $db->super_query( "SELECT id, date, category, alt_name FROM " . PREFIX . "_post WHERE category = '{$row['category']}' AND date <= '{$row['date']}' AND id != '{$row['id']}' AND approve = '1' ORDER BY date DESC LIMIT 1" );
  454.                
  455.                 if( $row_link['id'] ) {
  456.                     if( $config['allow_alt_url'] ) {
  457.                         if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
  458.                             if( intval( $row_link['category'] ) and $config['seo_type'] == 2 ) {
  459.                                 $link = $config['http_home_url'] . get_url( intval( $row_link['category'] ) ) . "/" . $row_link['id'] . "-" . $row_link['alt_name'] . ".html";
  460.                             } else {
  461.                                 $link = $config['http_home_url'] . $row_link['id'] . "-" . $row_link['alt_name'] . ".html";
  462.                             }
  463.                         } else {
  464.                             $link = $config['http_home_url'] . date( 'Y/m/d/', strtotime( $row_link['date'] ) ) . $row_link['alt_name'] . ".html";
  465.                         }
  466.                     } else {
  467.                         $link = $config['http_home_url'] . "index.php?newsid=" . $row_link['id'];
  468.                     }
  469.                 }
  470.                 $prev_next['prev_link'] = $link;
  471.                
  472.                 if ($allow_full_cache) create_cache ( "news", json_encode($prev_next, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), "next_prev_l_".$row['id'] );
  473.  
  474.             }
  475.            
  476.             if ( $prev_next['next_link'] ) {
  477.                 $tpl->set( '[next-url]', "" );
  478.                 $tpl->set( '[/next-url]', "" );
  479.                 $tpl->set( '{next-url}', $prev_next['next_link'] );
  480.             } else {
  481.                 $tpl->set( '{next-url}', "" );
  482.                 $tpl->set_block( "'\\[next-url\\](.*?)\\[/next-url\\]'si", "" );
  483.             }
  484.             if ( $prev_next['prev_link'] ) {
  485.                 $tpl->set( '[prev-url]', "" );
  486.                 $tpl->set( '[/prev-url]', "" );
  487.                 $tpl->set( '{prev-url}', $prev_next['prev_link'] );
  488.             } else {
  489.                 $tpl->set( '{prev-url}', "" );
  490.                 $tpl->set_block( "'\\[prev-url\\](.*?)\\[/prev-url\\]'si", "" );
  491.             }
  492.  
  493.         }
  494.        
  495.         if( $config['allow_read_count'] AND !$news_page AND !$cstart) {
  496.             if ( $config['allow_read_count'] == 2 ) {
  497.  
  498.                 $readcount = $db->super_query( "SELECT count(*) as count FROM " . PREFIX . "_read_log WHERE news_id='{$row['id']}' AND ip='{$_IP}'" );
  499.  
  500.                 if( !$readcount['count'] ) {
  501.  
  502.                     if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['id']}')" );
  503.                     else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='{$row['id']}'" );
  504.  
  505.                     $db->query( "INSERT INTO " . PREFIX . "_read_log (news_id, ip) VALUES ('{$row['id']}', '{$_IP}')" );
  506.                 }
  507.  
  508.             } else {
  509.  
  510.                 if( $config['cache_count'] ) $db->query( "INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['id']}')" );
  511.                 else $db->query( "UPDATE " . PREFIX . "_post_extras SET news_read=news_read+1 WHERE news_id='{$row['id']}'" );
  512.             }
  513.         }
  514.        
  515.         if ($allow_full_cache AND !$full_cache) create_cache ( $cprefix, json_encode($row, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES ), $sql_news );
  516.  
  517.         $news_found = TRUE;
  518.         $row['date'] = strtotime( $row['date'] );
  519.        
  520.         if( (strlen( $row['full_story'] ) < 13) and (strpos( $tpl->copy_template, "{short-story}" ) === false) ) {
  521.             $row['full_story'] = $row['short_story'];
  522.         }
  523.  
  524.         if( ! $news_page ) {
  525.             $news_page = 1;
  526.         }
  527.  
  528.         if( $config['allow_alt_url'] ) {
  529.            
  530.             if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
  531.                
  532.                 if( $category_id AND $config['seo_type'] == 2 ) {
  533.  
  534.                     $c_url = get_url( $category_id );              
  535.                     $full_link = $config['http_home_url'] . $c_url . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
  536.  
  537.                     if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {
  538.  
  539.                         if ($_GET['seourl'] != $row['alt_name'] OR $_GET['seocat'] != $c_url OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false OR ($_GET['news_page'] == 1 AND $cstart < 2 AND $view_template != "print") OR ($view_template == "print" AND $news_page > 1) ) {
  540.  
  541.                             $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
  542.                             $re_url = reset ( $re_url );
  543.  
  544.                             header("HTTP/1.0 301 Moved Permanently");
  545.                             header("Location: {$re_url}{$c_url}/{$row['id']}-{$row['alt_name']}.html");
  546.                             die("Redirect");
  547.  
  548.                         }
  549.  
  550.                     }
  551.  
  552.                     $print_link = $config['http_home_url'] . $c_url . "/print:page,1," . $row['id'] . "-" . $row['alt_name'] . ".html";
  553.                     $short_link = $config['http_home_url'] . $c_url . "/";
  554.                     $row['alt_name'] = $row['id'] . "-" . $row['alt_name'];
  555.                     $link_page = $config['http_home_url'] . $c_url . "/" . 'page,' . $news_page . ',';
  556.                     $news_name = $row['alt_name'];
  557.                
  558.                 } else {
  559.                
  560.                     $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
  561.  
  562.                     if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {
  563.  
  564.                         if ($_GET['seourl'] != $row['alt_name'] OR $_GET['seocat'] OR $_GET['news_name'] OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false OR ($_GET['news_page'] == 1 AND $cstart < 2 AND $view_template != "print") OR ($view_template == "print" AND $news_page > 1) ) {
  565.  
  566.                             $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
  567.                             $re_url = reset ( $re_url );
  568.  
  569.                             header("HTTP/1.0 301 Moved Permanently");
  570.                             header("Location: {$re_url}{$row['id']}-{$row['alt_name']}.html");
  571.                             die("Redirect");
  572.  
  573.                         }
  574.  
  575.                     }
  576.  
  577.                     $print_link = $config['http_home_url'] . "print:page,1," . $row['id'] . "-" . $row['alt_name'] . ".html";
  578.                     $short_link = $config['http_home_url'];
  579.                     $row['alt_name'] = $row['id'] . "-" . $row['alt_name'];
  580.                     $link_page = $config['http_home_url'] . 'page,' . $news_page . ',';
  581.                     $news_name = $row['alt_name'];
  582.                
  583.                 }
  584.            
  585.             } else {
  586.                
  587.                 $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
  588.  
  589.                 if ( $config['seo_control'] ) {
  590.  
  591.                     if ($_GET['newsid'] OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false OR ($_GET['news_page'] == 1 AND $cstart < 2 AND $view_template != "print") OR ($view_template == "print" AND $news_page > 1) ) {
  592.  
  593.                         $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
  594.                         $re_url = reset ( $re_url );
  595.  
  596.                         header("HTTP/1.0 301 Moved Permanently");
  597.                         header("Location: {$re_url}".date( 'Y/m/d/', $row['date'] ).$row['alt_name'].".html");
  598.                         die("Redirect");
  599.  
  600.                     }
  601.  
  602.                 }
  603.  
  604.                 $print_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . "print:page,1," . $row['alt_name'] . ".html";
  605.                 $short_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] );
  606.                 $link_page = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . 'page,' . $news_page . ',';
  607.                 $news_name = $row['alt_name'];
  608.            
  609.             }
  610.        
  611.         } else {
  612.            
  613.             $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
  614.             $print_link = $config['http_home_url'] . "index.php?mod=print&newsid=" . $row['id'];
  615.             $short_link = "";
  616.             $link_page = "";
  617.             $news_name = "";
  618.        
  619.         }
  620.        
  621.         $i ++;
  622.  
  623.         $canonical = $full_link;
  624.  
  625.         $news_seiten = explode( "{PAGEBREAK}", $row['full_story'] );
  626.         $anzahl_seiten = count( $news_seiten );
  627.        
  628.         if( $news_page <= 0 OR $news_page > $anzahl_seiten OR (isset($_GET['news_page']) AND $_GET['news_page'] === "0") ) {
  629.            
  630.             $news_page = 1;
  631.  
  632.             if ( $config['seo_control'] ) {
  633.                 $re_url = str_replace( $config['http_home_url'], "/", $full_link );
  634.                 header("HTTP/1.0 301 Moved Permanently");
  635.                 header("Location: {$re_url}");
  636.                 die("Redirect");
  637.             }
  638.         }
  639.  
  640.         if( $view_template == "print" ) {
  641.            
  642.             $row['full_story'] = str_replace( "{PAGEBREAK}", "", $row['full_story'] );
  643.             $row['full_story'] = preg_replace( "'\[page=(.*?)\](.*?)\[/page\]'si", "\\2", $row['full_story'] );
  644.             $tpl->set_block( "'\\[pages\\](.*?)\\[/pages\\]'si", "" );
  645.             $tpl->set( '{pages}', "" );
  646.        
  647.         } else {
  648.            
  649.             $row['full_story'] = $news_seiten[$news_page - 1];
  650.            
  651.             $row['full_story'] = preg_replace( '#(\A[\s]*<br[^>]*>[\s]*|<br[^>]*>[\s]*\Z)#is', '', $row['full_story'] ); // remove <br/> at end of string
  652.             $news_seiten = "";
  653.             unset( $news_seiten );
  654.            
  655.             if( $anzahl_seiten > 1 ) {
  656.  
  657.                 $tpl2 = new dle_template();
  658.                 $tpl2->dir = TEMPLATE_DIR;
  659.                 $tpl2->load_template( 'splitnewsnavigation.tpl' );
  660.                
  661.                 if( $news_page < $anzahl_seiten ) {
  662.                     $pages = $news_page + 1;
  663.                    
  664.                     if( $config['allow_alt_url'] ) {
  665.                         $nextpage = "<a href=\"" . $short_link . "page," . $pages . "," . $row['alt_name'] . ".html\">";
  666.                     } else {
  667.                         $nextpage = "<a href=\"$PHP_SELF?newsid=" . $row['id'] . "&amp;news_page=" . $pages . "\">";
  668.                     }
  669.  
  670.                     $tpl2->set( '[next-link]', $nextpage );
  671.                     $tpl2->set( '[/next-link]', "</a>" );
  672.  
  673.                 } else {
  674.  
  675.                     $tpl2->set_block( "'\\[next-link\\](.*?)\\[/next-link\\]'si", "<span>\\1</span>" );
  676.  
  677.                 }
  678.                
  679.                 if( $news_page > 1 ) {
  680.                     $pages = $news_page - 1;
  681.                    
  682.                     if( $config['allow_alt_url'] ) {
  683.                         if ( $pages == 1 ) $prevpage = "<a href=\"" . $full_link . "\">";
  684.                         else $prevpage = "<a href=\"" . $short_link . "page," . $pages . "," . $row['alt_name'] . ".html\">";
  685.                     } else {
  686.                         if ( $pages == 1 ) $prevpage = "<a href=\"" . $full_link. "\">";
  687.                         else $prevpage = "<a href=\"$PHP_SELF?newsid=" . $row['id'] . "&amp;news_page=" . $pages . "\">";
  688.                     }
  689.  
  690.                     $tpl2->set( '[prev-link]', $prevpage );
  691.                     $tpl2->set( '[/prev-link]', "</a>" );
  692.  
  693.                 } else {
  694.  
  695.                     $tpl2->set_block( "'\\[prev-link\\](.*?)\\[/prev-link\\]'si", "<span>\\1</span>" );
  696.  
  697.                 }
  698.  
  699.                 $listpages ="";
  700.  
  701.                 if( $anzahl_seiten <= 10 ) {
  702.                    
  703.                     for($j = 1; $j <= $anzahl_seiten; $j ++) {
  704.                        
  705.                         if( $j != $news_page ) {
  706.                            
  707.                             if( $config['allow_alt_url'] ) {
  708.  
  709.                                 if ($j == 1)
  710.                                     $listpages .= "<a href=\"" . $full_link . "\">$j</a> ";
  711.                                 else
  712.                                     $listpages .= "<a href=\"" . $short_link . "page," . $j . "," . $row['alt_name'] . ".html\">$j</a> ";
  713.  
  714.                             } else {
  715.  
  716.                                 if ($j == 1)
  717.                                     $listpages .= "<a href=\"{$full_link}\">$j</a> ";
  718.                                 else
  719.                                     $listpages .= "<a href=\"$PHP_SELF?newsid=" . $row['id'] . "&amp;news_page=" . $j . "\">$j</a> ";
  720.  
  721.                             }
  722.                        
  723.                         } else {
  724.                            
  725.                             $listpages .= "<span>$j</span> ";
  726.                            
  727.                             if( $config['allow_alt_url'] ) {
  728.  
  729.                                 if($j != 1) $canonical = $short_link . "page," . $j . "," . $row['alt_name'] . ".html";
  730.                                
  731.                             } else {
  732.                                
  733.                                 if($j != 1) $canonical = "$PHP_SELF?newsid=" . $row['id'] . "&news_page=" . $j;
  734.                                
  735.                             }
  736.                         }
  737.                    
  738.                     }
  739.  
  740.                 } else {
  741.                    
  742.                     $start = 1;
  743.                     $end = 10;
  744.                     $nav_prefix = "<span class=\"nav_ext\">{$lang['nav_trennen']}</span> ";
  745.                    
  746.                     if( $news_page > 1 ) {
  747.                        
  748.                         if( $news_page > 6 ) {
  749.                            
  750.                             $start = $news_page - 4;
  751.                             $end = $start + 8;
  752.                            
  753.                             if( $end >= $anzahl_seiten-1 ) {
  754.                                 $start = $anzahl_seiten - 9;
  755.                                 $end = $anzahl_seiten - 1;
  756.                             }
  757.                        
  758.                         }
  759.                    
  760.                     }
  761.                    
  762.                     if( $end >= $anzahl_seiten-1 ) $nav_prefix = ""; else $nav_prefix = "<span class=\"nav_ext\">{$lang['nav_trennen']}</span> ";
  763.                    
  764.                     if( $start >= 2 ) {
  765.                        
  766.                         if( $start >= 3 ) $before_prefix = "<span class=\"nav_ext\">{$lang['nav_trennen']}</span> "; else $before_prefix = "";
  767.                        
  768.                         $listpages .= "<a href=\"" . $full_link . "\">1</a> ".$before_prefix;
  769.                    
  770.                     }
  771.                    
  772.                     for($j = $start; $j <= $end; $j ++) {
  773.                        
  774.                         if( $j != $news_page ) {
  775.  
  776.                             if( $config['allow_alt_url'] ) {
  777.  
  778.                                 if ($j == 1)
  779.                                     $listpages .= "<a href=\"" . $full_link . "\">$j</a> ";
  780.                                 else
  781.                                     $listpages .= "<a href=\"" . $short_link . "page," . $j . "," . $row['alt_name'] . ".html\">$j</a> ";
  782.  
  783.                             } else {
  784.  
  785.                                 if ($j == 1)
  786.                                     $listpages .= "<a href=\"{$full_link}\">$j</a> ";
  787.                                 else
  788.                                     $listpages .= "<a href=\"$PHP_SELF?newsid=" . $row['id'] . "&amp;news_page=" . $j . "\">$j</a> ";
  789.  
  790.                             }
  791.                        
  792.                         } else {
  793.                            
  794.                             $listpages .= "<span>$j</span> ";
  795.                         }
  796.                    
  797.                     }
  798.                    
  799.                     if( $news_page != $anzahl_seiten ) {
  800.                        
  801.                         if( $config['allow_alt_url'] ) $listpages .= $nav_prefix . "<a href=\"" . $short_link . "page," . $anzahl_seiten . "," . $row['alt_name'] . ".html\">{$anzahl_seiten}</a>";
  802.                         else $listpages .= $nav_prefix . "<a href=\"$PHP_SELF?newsid=" . $row['id'] . "&amp;news_page=" . $anzahl_seiten . "\">{$anzahl_seiten}</a>";
  803.                    
  804.                     } else
  805.                         $listpages .= "<span>{$anzahl_seiten}</span> ";
  806.  
  807.                 }
  808.  
  809.                 $tpl2->set( '{pages}', $listpages );
  810.                 $tpl2->compile( 'content' );
  811.                
  812.                 $tpl->set( '{pages}', $tpl2->result['content'] );
  813.                 unset($tpl2);
  814.                
  815.                 if( $config['allow_alt_url'] ) {
  816.                    
  817.                     $replacepage = "<a href=\"" . $short_link . "page," . "\\1" . "," . $row['alt_name'] . ".html\">\\2</a>";
  818.                
  819.                 } else {
  820.                    
  821.                     $replacepage = "<a href=\"$PHP_SELF?newsid=" . $row['id'] . "&amp;news_page=\\1\">\\2</a>";
  822.                 }
  823.                
  824.                 $row['full_story'] = preg_replace( "'\[page=(.*?)\](.*?)\[/page\]'si", $replacepage, $row['full_story'] );
  825.                 $tpl->set( '[pages]', "" );
  826.                 $tpl->set( '[/pages]', "" );
  827.  
  828.            
  829.             } else {
  830.                
  831.                 $tpl->set( '{pages}', '' );
  832.                 $row['full_story'] = preg_replace( "'\[page=(.*?)\](.*?)\[/page\]'si", "", $row['full_story'] );
  833.                 $tpl->set_block( "'\\[pages\\](.*?)\\[/pages\\]'si", "" );
  834.             }
  835.         }
  836.  
  837.         $row['title'] = stripslashes( $row['title'] );     
  838.         $metatags['title'] = $row['title'];
  839.  
  840.         if( $row['keywords'] == '' AND $row['descr'] == '' AND $config['create_metatags'] ) {
  841.             create_keywords( $row['full_story'] );
  842.         } else {
  843.             $metatags['keywords'] = $row['keywords'];
  844.             if( $row['descr'] ) $metatags['description'] = $row['descr']; else $metatags['description'] = $row['title'];
  845.         }
  846.  
  847.         if ($row['metatitle']) $metatags['header_title'] = $row['metatitle'];
  848.  
  849.         $social_tags['site_name'] = $config['home_title'];
  850.         $social_tags['type'] = 'article';
  851.         $social_tags['title'] = str_replace("&amp;amp;", "&amp;", htmlspecialchars( $row['title'], ENT_QUOTES, $config['charset'] ) );
  852.         $social_tags['url'] = $full_link;
  853.  
  854.         $comments_num = $row['comm_num'];
  855.        
  856.         $news_find = array ('{comments-num}' => number_format($row['comm_num'], 0, ',', ' '), '{views}' => number_format($row['news_read'], 0, ',', ' '), '{category}' => $my_cat, '{link-category}' => $my_cat_link, '{news-id}' => $row['id'] );
  857.        
  858.         if( date( 'Ymd', $row['date'] ) == date( 'Ymd', $_TIME ) ) {
  859.            
  860.             $tpl->set( '{date}', $lang['time_heute'] . langdate( ", H:i", $row['date'] ) );
  861.        
  862.         } elseif( date( 'Ymd', $row['date'] ) == date( 'Ymd', ($_TIME - 86400) ) ) {
  863.            
  864.             $tpl->set( '{date}', $lang['time_gestern'] . langdate( ", H:i", $row['date'] ) );
  865.        
  866.         } else {
  867.            
  868.             $tpl->set( '{date}', langdate( $config['timestamp_active'], $row['date'] ) );
  869.        
  870.         }
  871.         $news_date = $row['date'];
  872.         $tpl->copy_template = preg_replace_callback ( "#\{date=(.+?)\}#i", "formdate", $tpl->copy_template );
  873.  
  874.         if ( $row['fixed'] ) {
  875.  
  876.             $tpl->set( '[fixed]', "" );
  877.             $tpl->set( '[/fixed]', "" );
  878.             $tpl->set_block( "'\\[not-fixed\\](.*?)\\[/not-fixed\\]'si", "" );
  879.  
  880.         } else {
  881.  
  882.             $tpl->set( '[not-fixed]', "" );
  883.             $tpl->set( '[/not-fixed]', "" );
  884.             $tpl->set_block( "'\\[fixed\\](.*?)\\[/fixed\\]'si", "" );
  885.         }
  886.        
  887.         if ( $comments_num ) {
  888.            
  889.             if( $row['allow_comm'] ) {
  890.                
  891.                 $tpl->set( '[comments]', "" );
  892.                 $tpl->set( '[/comments]', "" );
  893.                
  894.             } else $tpl->set_block( "'\\[comments\\](.*?)\\[/comments\\]'si", "" );
  895.            
  896.             $tpl->set_block( "'\\[not-comments\\](.*?)\\[/not-comments\\]'si", "" );
  897.  
  898.         } else {
  899.            
  900.             if( $row['allow_comm'] ) {
  901.                
  902.                 $tpl->set( '[not-comments]', "" );
  903.                 $tpl->set( '[/not-comments]', "" );
  904.                
  905.             } else $tpl->set_block( "'\\[not-comments\\](.*?)\\[/not-comments\\]'si", "" );
  906.            
  907.             $tpl->set_block( "'\\[comments\\](.*?)\\[/comments\\]'si", "" );
  908.         }
  909.  
  910.         if ( $row['votes'] ) {
  911.  
  912.             $tpl->set( '[poll]', "" );
  913.             $tpl->set( '[/poll]', "" );
  914.             $tpl->set_block( "'\\[not-poll\\](.*?)\\[/not-poll\\]'si", "" );
  915.  
  916.         } else {
  917.  
  918.             $tpl->set( '[not-poll]', "" );
  919.             $tpl->set( '[/not-poll]', "" );
  920.             $tpl->set_block( "'\\[poll\\](.*?)\\[/poll\\]'si", "" );
  921.         }  
  922.  
  923.         if( $vk_url ) {
  924.             $tpl->set( '[vk]', "" );
  925.             $tpl->set( '[/vk]', "" );
  926.             $tpl->set( '{vk_url}', $vk_url );  
  927.         } else {
  928.             $tpl->set_block( "'\\[vk\\](.*?)\\[/vk\\]'si", "" );
  929.             $tpl->set( '{vk_url}', '' );   
  930.         }
  931.         if( $odnoklassniki_url ) {
  932.             $tpl->set( '[odnoklassniki]', "" );
  933.             $tpl->set( '[/odnoklassniki]', "" );
  934.             $tpl->set( '{odnoklassniki_url}', $odnoklassniki_url );
  935.         } else {
  936.             $tpl->set_block( "'\\[odnoklassniki\\](.*?)\\[/odnoklassniki\\]'si", "" );
  937.             $tpl->set( '{odnoklassniki_url}', '' );
  938.         }
  939.         if( $facebook_url ) {
  940.             $tpl->set( '[facebook]', "" );
  941.             $tpl->set( '[/facebook]', "" );
  942.             $tpl->set( '{facebook_url}', $facebook_url );  
  943.         } else {
  944.             $tpl->set_block( "'\\[facebook\\](.*?)\\[/facebook\\]'si", "" );
  945.             $tpl->set( '{facebook_url}', '' ); 
  946.         }
  947.         if( $google_url ) {
  948.             $tpl->set( '[google]', "" );
  949.             $tpl->set( '[/google]', "" );
  950.             $tpl->set( '{google_url}', $google_url );
  951.         } else {
  952.             $tpl->set_block( "'\\[google\\](.*?)\\[/google\\]'si", "" );
  953.             $tpl->set( '{google_url}', '' );   
  954.         }
  955.         if( $mailru_url ) {
  956.             $tpl->set( '[mailru]', "" );
  957.             $tpl->set( '[/mailru]', "" );
  958.             $tpl->set( '{mailru_url}', $mailru_url );  
  959.         } else {
  960.             $tpl->set_block( "'\\[mailru\\](.*?)\\[/mailru\\]'si", "" );
  961.             $tpl->set( '{mailru_url}', '' );   
  962.         }
  963.         if( $yandex_url ) {
  964.             $tpl->set( '[yandex]', "" );
  965.             $tpl->set( '[/yandex]', "" );
  966.             $tpl->set( '{yandex_url}', $yandex_url );
  967.         } else {
  968.             $tpl->set_block( "'\\[yandex\\](.*?)\\[/yandex\\]'si", "" );
  969.             $tpl->set( '{yandex_url}', '' );
  970.         }
  971.        
  972.         if( $row['editdate'] ) $_DOCUMENT_DATE = $row['editdate'];
  973.        
  974.         else $_DOCUMENT_DATE = $row['date'];
  975.        
  976.         if( $row['view_edit'] and $row['editdate'] ) {
  977.            
  978.             if( date( 'Ymd', $row['editdate'] ) == date( 'Ymd', $_TIME ) ) {
  979.                
  980.                 $tpl->set( '{edit-date}', $lang['time_heute'] . langdate( ", H:i", $row['editdate'] ) );
  981.            
  982.             } elseif( date( 'Ymd', $row['editdate'] ) == date( 'Ymd', ($_TIME - 86400) ) ) {
  983.                
  984.                 $tpl->set( '{edit-date}', $lang['time_gestern'] . langdate( ", H:i", $row['editdate'] ) );
  985.            
  986.             } else {
  987.                
  988.                 $tpl->set( '{edit-date}', langdate( $config['timestamp_active'], $row['editdate'] ) );
  989.            
  990.             }
  991.            
  992.             $tpl->set( '{editor}', $row['editor'] );
  993.             $tpl->set( '{edit-reason}', $row['reason'] );
  994.            
  995.             if( $row['reason'] ) {
  996.                
  997.                 $tpl->set( '[edit-reason]', "" );
  998.                 $tpl->set( '[/edit-reason]', "" );
  999.            
  1000.             } else
  1001.                 $tpl->set_block( "'\\[edit-reason\\](.*?)\\[/edit-reason\\]'si", "" );
  1002.            
  1003.             $tpl->set( '[edit-date]', "" );
  1004.             $tpl->set( '[/edit-date]', "" );
  1005.        
  1006.         } else {
  1007.            
  1008.             $tpl->set( '{edit-date}', "" );
  1009.             $tpl->set( '{editor}', "" );
  1010.             $tpl->set( '{edit-reason}', "" );
  1011.             $tpl->set_block( "'\\[edit-date\\](.*?)\\[/edit-date\\]'si", "" );
  1012.             $tpl->set_block( "'\\[edit-reason\\](.*?)\\[/edit-reason\\]'si", "" );
  1013.         }
  1014.        
  1015.         if( $config['allow_tags'] and $row['tags'] ) {
  1016.            
  1017.             $tpl->set( '[tags]', "" );
  1018.             $tpl->set( '[/tags]', "" );
  1019.            
  1020.             $social_tags['news_keywords'] = $row['tags'];
  1021.        
  1022.             $tags = array ();
  1023.            
  1024.             $row['tags'] = explode( ",", $row['tags'] );
  1025.            
  1026.             foreach ( $row['tags'] as $value ) {
  1027.                
  1028.                 $value = trim( $value );
  1029.                
  1030.                 if( $config['allow_alt_url'] ) $tags[] = "<span><a href=\"" . $config['http_home_url'] . "tags/" . urlencode( $value ) . "/\">" . $value . "</a></span>";
  1031.                 else $tags[] = "<span><a href=\"$PHP_SELF?do=tags&amp;tag=" . urlencode( $value ) . "\">" . $value . "</a></span>";
  1032.            
  1033.             }
  1034.            
  1035.             $tpl->set( '{tags}', implode( " ", $tags ) );
  1036.        
  1037.         } else {
  1038.            
  1039.             $tpl->set_block( "'\\[tags\\](.*?)\\[/tags\\]'si", "" );
  1040.             $tpl->set( '{tags}', "" );
  1041.        
  1042.         }
  1043.        
  1044.         $tpl->set( '', $news_find );
  1045.  
  1046.         $url_cat = $category_id;
  1047.         $category_id = $row['category'];
  1048.  
  1049.         if( strpos( $tpl->copy_template, "[catlist=" ) !== false ) {
  1050.             $tpl->copy_template = preg_replace_callback ( "#\\[(catlist)=(.+?)\\](.*?)\\[/catlist\\]#is", "check_category", $tpl->copy_template );
  1051.         }
  1052.                                
  1053.         if( strpos( $tpl->copy_template, "[not-catlist=" ) !== false ) {
  1054.             $tpl->copy_template = preg_replace_callback ( "#\\[(not-catlist)=(.+?)\\](.*?)\\[/not-catlist\\]#is", "check_category", $tpl->copy_template );
  1055.         }
  1056.  
  1057.         $category_id = $url_cat;
  1058.    
  1059.         if( $category_id AND $cat_info[$category_id]['icon'] ) {
  1060.            
  1061.             $tpl->set( '{category-icon}', $cat_info[$category_id]['icon'] );
  1062.        
  1063.         } else {
  1064.            
  1065.             $tpl->set( '{category-icon}', "{THEME}/dleimages/no_icon.gif" );
  1066.        
  1067.         }
  1068.        
  1069.         if ( $category_id ) {
  1070.            
  1071.             if( $config['allow_alt_url'] ) $tpl->set( '{category-url}', $config['http_home_url'] . get_url( $category_id ) . "/" );
  1072.             else $tpl->set( '{category-url}', "$PHP_SELF?do=cat&category={$cat_info[$category_id]['alt_name']}" );
  1073.            
  1074.         } else $tpl->set( '{category-url}', "#" );
  1075.        
  1076.         if ($config['allow_search_print']) {
  1077.  
  1078.             $tpl->set( '[print-link]', "<a href=\"" . $print_link . "\">" );
  1079.             $tpl->set( '[/print-link]', "</a>" );
  1080.  
  1081.         } else {
  1082.  
  1083.             $tpl->set( '[print-link]', "<a href=\"" . $print_link . "\" rel=\"nofollow\">" );
  1084.             $tpl->set( '[/print-link]', "</a>" );
  1085.  
  1086.         }
  1087.  
  1088.         if ( $config['rating_type'] == "1" ) {
  1089.                 $tpl->set( '[rating-type-2]', "" );
  1090.                 $tpl->set( '[/rating-type-2]', "" );
  1091.                 $tpl->set_block( "'\\[rating-type-1\\](.*?)\\[/rating-type-1\\]'si", "" );
  1092.                 $tpl->set_block( "'\\[rating-type-3\\](.*?)\\[/rating-type-3\\]'si", "" );
  1093.         } elseif ( $config['rating_type'] == "2" ) {
  1094.                 $tpl->set( '[rating-type-3]', "" );
  1095.                 $tpl->set( '[/rating-type-3]', "" );
  1096.                 $tpl->set_block( "'\\[rating-type-1\\](.*?)\\[/rating-type-1\\]'si", "" );
  1097.                 $tpl->set_block( "'\\[rating-type-2\\](.*?)\\[/rating-type-2\\]'si", "" );
  1098.         } else {
  1099.                 $tpl->set( '[rating-type-1]', "" );
  1100.                 $tpl->set( '[/rating-type-1]', "" );
  1101.                 $tpl->set_block( "'\\[rating-type-3\\](.*?)\\[/rating-type-3\\]'si", "" );
  1102.                 $tpl->set_block( "'\\[rating-type-2\\](.*?)\\[/rating-type-2\\]'si", "" ); 
  1103.         }      
  1104.  
  1105.         if( $row['allow_rate'] ) {
  1106.  
  1107.             $tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
  1108.             $tpl->set( '{vote-num}', "<span id=\"vote-num-id-".$row['id']."\">".$row['vote_num']."</span>" );
  1109.             $tpl->set( '[rating]', "" );
  1110.             $tpl->set( '[/rating]', "" );
  1111.            
  1112.             if( $user_group[$member_id['user_group']]['allow_rating'] ) {
  1113.  
  1114.                 if ( $config['rating_type'] ) {
  1115.                        
  1116.                     $tpl->set( '[rating-plus]', "<a href=\"#\" onclick=\"doRate('plus', '{$row['id']}'); return false;\" >" );
  1117.                     $tpl->set( '[/rating-plus]', '</a>' );
  1118.                    
  1119.                     if ( $config['rating_type'] == "2" ) {
  1120.                        
  1121.                         $tpl->set( '[rating-minus]', "<a href=\"#\" onclick=\"doRate('minus', '{$row['id']}'); return false;\" >" );
  1122.                         $tpl->set( '[/rating-minus]', '</a>' );
  1123.                        
  1124.                     } else {
  1125.                         $tpl->set_block( "'\\[rating-minus\\](.*?)\\[/rating-minus\\]'si", "" );
  1126.                     }
  1127.                    
  1128.                 } else {
  1129.                     $tpl->set_block( "'\\[rating-plus\\](.*?)\\[/rating-plus\\]'si", "" );
  1130.                     $tpl->set_block( "'\\[rating-minus\\](.*?)\\[/rating-minus\\]'si", "" );
  1131.                 }
  1132.                
  1133.             } else {
  1134.                 $tpl->set_block( "'\\[rating-plus\\](.*?)\\[/rating-plus\\]'si", "" );
  1135.                 $tpl->set_block( "'\\[rating-minus\\](.*?)\\[/rating-minus\\]'si", "" );               
  1136.             }
  1137.  
  1138.         } else {
  1139.  
  1140.             $tpl->set( '{rating}', "" );
  1141.             $tpl->set( '{vote-num}', "" );
  1142.             $tpl->set_block( "'\\[rating\\](.*?)\\[/rating\\]'si", "" );
  1143.             $tpl->set_block( "'\\[rating-plus\\](.*?)\\[/rating-plus\\]'si", "" );
  1144.             $tpl->set_block( "'\\[rating-minus\\](.*?)\\[/rating-minus\\]'si", "" );
  1145.         }
  1146.        
  1147.         if ( $config['allow_comments'] AND $config['allow_subscribe'] AND $is_logged AND $row['allow_comm'] AND $user_group[$member_id['user_group']]['allow_subscribe'] ) {
  1148.             $tpl->set( '[comments-subscribe]', "<a href=\"#\" onclick=\"subscribe('{$row['id']}'); return false;\" >" );
  1149.             $tpl->set( '[/comments-subscribe]', '</a>' );
  1150.         } else {
  1151.             $tpl->set_block( "'\\[comments-subscribe\\](.*?)\\[/comments-subscribe\\]'si", "" );
  1152.         }
  1153.        
  1154.         if( $config['allow_alt_url'] ) {
  1155.            
  1156.             $go_page = $config['http_home_url'] . "user/" . urlencode( $row['autor'] ) . "/";
  1157.             $tpl->set( '[day-news]', "<a href=\"".$config['http_home_url'] . date( 'Y/m/d/', $row['date'])."\" >" );
  1158.        
  1159.         } else {
  1160.            
  1161.             $go_page = "$PHP_SELF?subaction=userinfo&amp;user=" . urlencode( $row['autor'] );
  1162.             $tpl->set( '[day-news]', "<a href=\"$PHP_SELF?year=".date( 'Y', $row['date'])."&amp;month=".date( 'm', $row['date'])."&amp;day=".date( 'd', $row['date'])."\" >" );
  1163.        
  1164.         }
  1165.        
  1166.         $tpl->set( '[/day-news]', "</a>" );
  1167.         $tpl->set( '[profile]', "<a href=\"" . $go_page . "\">" );
  1168.         $tpl->set( '[/profile]', "</a>" );
  1169.  
  1170.         $tpl->set( '{login}', $row['autor'] );
  1171.  
  1172.         $tpl->set( '{author}', "<a onclick=\"ShowProfile('" . urlencode( $row['autor'] ) . "', '" . $go_page . "', '" . $user_group[$member_id['user_group']]['admin_editusers'] . "'); return false;\" href=\"" . $go_page . "\">" . $row['autor'] . "</a>" );
  1173.        
  1174.         $_SESSION['referrer'] = htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES, $config['charset'] );;
  1175.        
  1176.         $tpl->set( '[full-link]', "<a href=\"" . $full_link . "\">" );
  1177.         $tpl->set( '[/full-link]', "</a>" );
  1178.         $tpl->set( '[notify-me]', "<a href='/index.php?do=notifications&add={$row[id]}'>" );
  1179.         $tpl->set( '[/notify-me]', "</a>" );
  1180.         $tpl->set( '{full-link}', $full_link );
  1181.        
  1182.         if( $row['allow_comm'] ) {
  1183.            
  1184.             $tpl->set( '[com-link]', "<a id=\"dle-comm-link\" href=\"" . $full_link . "#comment\">" );
  1185.             $tpl->set( '[/com-link]', "</a>" );
  1186.        
  1187.         } else $tpl->set_block( "'\\[com-link\\](.*?)\\[/com-link\\]'si", "" );
  1188.        
  1189.         if( ! $row['approve'] and ($member_id['name'] == $row['autor'] and ! $user_group[$member_id['user_group']]['allow_all_edit']) ) {
  1190.            
  1191.             $tpl->set( '[edit]', "<a href=\"" . $config['http_home_url'] . "index.php?do=addnews&amp;id=" . $row['id'] . "\" >" );
  1192.             $tpl->set( '[/edit]', "</a>" );
  1193.            
  1194.             if( $config['allow_quick_wysiwyg'] ) $allow_comments_ajax = true;
  1195.            
  1196.         } elseif( $is_logged and (($member_id['name'] == $row['autor'] and $user_group[$member_id['user_group']]['allow_edit']) or $user_group[$member_id['user_group']]['allow_all_edit']) ) {
  1197.            
  1198.             $tpl->set( '[edit]', "<a onclick=\"return dropdownmenu(this, event, MenuNewsBuild('" . $row['id'] . "', 'full'), '170px')\" href=\"#\">" );
  1199.             $tpl->set( '[/edit]', "</a>" );
  1200.            
  1201.             if( $config['allow_quick_wysiwyg'] ) $allow_comments_ajax = true;
  1202.            
  1203.         } else $tpl->set_block( "'\\[edit\\](.*?)\\[/edit\\]'si", "" );
  1204.        
  1205.         if( $config['related_news'] AND $view_template != "print") {
  1206.            
  1207.             if ( $allow_full_cache ) $related_buffer = dle_cache( "related", $row['id'].$config['skin'], true ); else $related_buffer = false;
  1208.        
  1209.             if( $related_buffer === false ) {
  1210.  
  1211.                 if ( $row['related_ids'] ) {
  1212.                    
  1213.                     $id_list = array();
  1214.                     $id_temp = explode(",", $row['related_ids']);
  1215.                    
  1216.                     foreach ( $id_temp as $value ) {
  1217.                        
  1218.                         $value = intval($value);
  1219.                        
  1220.                         if ( $value > 0 ) $id_list[] = $value;
  1221.                        
  1222.                     }
  1223.                    
  1224.                     $row['related_ids'] = implode( ',', $id_list );
  1225.                    
  1226.                     unset($id_list);
  1227.                     unset($id_temp);
  1228.            
  1229.                     $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE id IN({$row['related_ids']}) AND approve=1 ORDER BY id DESC");
  1230.                     $first_show = false;
  1231.  
  1232.                 } else {
  1233.                     $first_show = true;
  1234.                     $related_ids = array();
  1235.            
  1236.                     if( strlen( $row['full_story'] ) < strlen( $row['short_story'] ) ) $body = $row['short_story'];
  1237.                     else $body = $row['full_story'];
  1238.                    
  1239.                     $body = strip_tags( stripslashes( $metatags['title'] . " " . $body ) );
  1240.  
  1241.                     if( dle_strlen( $body, $config['charset'] ) > 1000 ) {
  1242.                         $body = dle_substr( $body, 0, 1000, $config['charset'] );
  1243.                     }
  1244.                    
  1245.                     $body = $db->safesql( $body );
  1246.                    
  1247.                     $config['related_number'] = intval( $config['related_number'] );
  1248.                     if( $config['related_number'] < 1 ) $config['related_number'] = 5;
  1249.    
  1250.                     $allowed_cats = array();
  1251.    
  1252.                     foreach ($user_group as $value) {
  1253.                         if ($value['allow_cats'] != "all" AND !$value['allow_short'] ) $allowed_cats[] = $db->safesql($value['allow_cats']);
  1254.                     }
  1255.    
  1256.                     if (count($allowed_cats)) {
  1257.  
  1258.                         $allowed_cats = implode(",", $allowed_cats);
  1259.                         $allowed_cats = explode(",", $allowed_cats);
  1260.                         $allowed_cats = array_unique($allowed_cats);
  1261.                         sort($allowed_cats);
  1262.    
  1263.                         if ($config['allow_multi_category']) {
  1264.                            
  1265.                             $allowed_cats = "category regexp '[[:<:]](" . implode ( '|', $allowed_cats ) . ")[[:>:]]' AND ";
  1266.                        
  1267.                         } else {
  1268.                            
  1269.                             $allowed_cats = "category IN ('" . implode ( "','", $allowed_cats ) . "') AND ";
  1270.                        
  1271.                         }
  1272.  
  1273.                     } else $allowed_cats="";
  1274.                    
  1275.                     $not_allowed_cats = array();
  1276.    
  1277.                     foreach ($user_group as $value) {
  1278.                         if ($value['not_allow_cats'] != "" AND !$value['allow_short'] ) $not_allowed_cats[] = $db->safesql($value['not_allow_cats']);
  1279.                     }
  1280.    
  1281.                     if (count($not_allowed_cats)) {
  1282.  
  1283.                         $not_allowed_cats = implode(",", $not_allowed_cats);
  1284.                         $not_allowed_cats = explode(",", $not_allowed_cats);
  1285.                         $not_allowed_cats = array_unique($not_allowed_cats);
  1286.                         sort($not_allowed_cats);
  1287.    
  1288.                         if ($config['allow_multi_category']) {
  1289.                            
  1290.                             $not_allowed_cats = "category NOT REGEXP '[[:<:]](" . implode ( '|', $not_allowed_cats ) . ")[[:>:]]' AND ";
  1291.                        
  1292.                         } else {
  1293.                            
  1294.                             $not_allowed_cats = "category NOT IN ('" . implode ( "','", $not_allowed_cats ) . "') AND ";
  1295.                        
  1296.                         }
  1297.  
  1298.                     } else $not_allowed_cats="";
  1299.  
  1300.                     if ($config['related_only_cats'] AND $row['category'] ) {
  1301.  
  1302.                         $allowed_cats="";
  1303.                         $not_allowed_cats = "";
  1304.                         $allow_sub_cats = true;
  1305.                         $all_cats = explode(",", $row['category']);
  1306.                         $get_cats = array();
  1307.  
  1308.                         foreach ($all_cats as $value) {
  1309.  
  1310.                             if ( $cat_info[$value]['show_sub'] ) {
  1311.                
  1312.                                 if ( $cat_info[$value]['show_sub'] == 1 ) $get_cats[] = get_sub_cats ( $value );
  1313.                                 else { $get_cats[] = $value; }
  1314.                
  1315.                             } else {
  1316.                
  1317.                                 if ( $config['show_sub_cats'] ) $get_cats[] = get_sub_cats ( $value );
  1318.                                 else { $get_cats[] = $value; }
  1319.                
  1320.                             }
  1321.  
  1322.                         }
  1323.                        
  1324.                         $get_cats = implode("|", $get_cats);
  1325.                         $get_cats = explode("|", $get_cats);
  1326.                        
  1327.                         if ( count($get_cats) < 2 ) $allow_sub_cats = false;
  1328.  
  1329.                         $get_cats = implode("|", $get_cats);
  1330.                        
  1331.                         if ($config['allow_multi_category']) {
  1332.                            
  1333.                             $where_category = "category regexp '[[:<:]](" . $get_cats . ")[[:>:]]' AND ";
  1334.                        
  1335.                         } else {
  1336.                            
  1337.                             if ( $allow_sub_cats ) {
  1338.                                
  1339.                                 $get_cats = str_replace ( "|", "','", $get_cats );
  1340.                                 $where_category = "category IN ('" . $get_cats . "') AND ";
  1341.                            
  1342.                             } else {
  1343.                                
  1344.                                 $where_category = "category = '{$get_cats}' AND ";
  1345.                            
  1346.                             }
  1347.                        
  1348.                         }
  1349.  
  1350.                     } else $where_category = "";
  1351.  
  1352.                     $db->query( "SELECT id, date, short_story, xfields, title, category, alt_name FROM " . PREFIX . "_post WHERE {$where_category}{$allowed_cats}{$not_allowed_cats}MATCH (title, short_story, full_story, xfields) AGAINST ('$body') AND id != " . $row['id'] . " AND approve=1" . $where_date . " LIMIT " . $config['related_number'] );
  1353.                 }
  1354.  
  1355.                 $tpl2 = new dle_template();
  1356.                 $tpl2->dir = TEMPLATE_DIR;
  1357.                 $tpl2->load_template( 'relatednews.tpl' );
  1358.                                
  1359.                 while ( $related = $db->get_row() ) {
  1360.                    
  1361.                     if ( $first_show ) $related_ids[] = $related['id'];
  1362.  
  1363.                     $related['date'] = strtotime( $related['date'] );
  1364.  
  1365.                     if( ! $related['category'] ) {
  1366.                         $my_cat = "---";
  1367.                         $my_cat_link = "---";
  1368.                     } else {
  1369.                        
  1370.                         $my_cat = array ();
  1371.                         $my_cat_link = array ();
  1372.                         $rel_cat_list = explode( ',', $related['category'] );
  1373.                      
  1374.                         if( count( $rel_cat_list ) == 1 ) {
  1375.                            
  1376.                             $my_cat[] = $cat_info[$rel_cat_list[0]]['name'];
  1377.                            
  1378.                             $my_cat_link = get_categories( $rel_cat_list[0], $config['category_separator'] );
  1379.                        
  1380.                         } else {
  1381.                            
  1382.                             foreach ( $rel_cat_list as $element ) {
  1383.                                 if( $element ) {
  1384.                                     $my_cat[] = $cat_info[$element]['name'];
  1385.                                     if( $config['allow_alt_url'] ) $my_cat_link[] = "<a href=\"" . $config['http_home_url'] . get_url( $element ) . "/\">{$cat_info[$element]['name']}</a>";
  1386.                                     else $my_cat_link[] = "<a href=\"$PHP_SELF?do=cat&category={$cat_info[$element]['alt_name']}\">{$cat_info[$element]['name']}</a>";
  1387.                                 }
  1388.                             }
  1389.                            
  1390.                             $my_cat_link = implode( "{$config['category_separator']} ", $my_cat_link );
  1391.                         }
  1392.                        
  1393.                         $my_cat = implode( "{$config['category_separator']} ", $my_cat );
  1394.                     }
  1395.  
  1396.                     $related['category'] = intval( $related['category'] );
  1397.                    
  1398.                     if( $config['allow_alt_url'] ) {
  1399.                        
  1400.                         if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 ) {
  1401.                            
  1402.                             if( $related['category'] and $config['seo_type'] == 2 ) {
  1403.                                
  1404.                                 $rel_full_link = $config['http_home_url'] . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . ".html";
  1405.                            
  1406.                             } else {
  1407.                                
  1408.                                 $rel_full_link = $config['http_home_url'] . $related['id'] . "-" . $related['alt_name'] . ".html";
  1409.                            
  1410.                             }
  1411.                        
  1412.                         } else {
  1413.                            
  1414.                             $rel_full_link = $config['http_home_url'] . date( 'Y/m/d/', $related['date'] ) . $related['alt_name'] . ".html";
  1415.                         }
  1416.                    
  1417.                     } else {
  1418.                        
  1419.                         $rel_full_link = $config['http_home_url'] . "index.php?newsid=" . $related['id'];
  1420.                    
  1421.                     }
  1422.  
  1423.                     $related['title'] = strip_tags( stripslashes( $related['title'] ) );
  1424.  
  1425.                     $tpl2->set( '{title}', str_replace("&amp;amp;", "&amp;", htmlspecialchars( $related['title'], ENT_QUOTES, $config['charset'] ) ) );
  1426.                     $tpl2->set( '{link}', $rel_full_link );
  1427.                     $tpl2->set( '{category}', $my_cat );
  1428.                     $tpl2->set( '{link-category}', $my_cat_link );
  1429.  
  1430.                     if( date( 'Ymd', $related['date'] ) == date( 'Ymd', $_TIME ) ) {
  1431.                        
  1432.                         $tpl2->set( '{date}', $lang['time_heute'] . langdate( ", H:i", $related['date'] ) );
  1433.                    
  1434.                     } elseif( date( 'Ymd', $related['date'] ) == date( 'Ymd', ($_TIME - 86400) ) ) {
  1435.                        
  1436.                         $tpl2->set( '{date}', $lang['time_gestern'] . langdate( ", H:i", $related['date'] ) );
  1437.                    
  1438.                     } else {
  1439.                        
  1440.                         $tpl2->set( '{date}', langdate( $config['timestamp_active'], $related['date'] ) );
  1441.                    
  1442.                     }
  1443.                     $news_date = $related['date'];
  1444.                     $tpl2->copy_template = preg_replace_callback ( "#\{date=(.+?)\}#i", "formdate", $tpl2->copy_template );
  1445.  
  1446.                     $related['short_story'] = stripslashes( $related['short_story'] );
  1447.                    
  1448.                     if (stripos ( $related['short_story'], "[hide" ) !== false ) {
  1449.                        
  1450.                         $related['short_story'] = preg_replace_callback ( "#\[hide(.*?)\](.+?)\[/hide\]#is",
  1451.                             function ($matches) use ($member_id, $user_group, $lang) {
  1452.                                
  1453.                                 $matches[1] = str_replace(array("=", " "), "", $matches[1]);
  1454.                                 $matches[2] = $matches[2];
  1455.                
  1456.                                 if( $matches[1] ) {
  1457.                                    
  1458.                                     $groups = explode( ',', $matches[1] );
  1459.                
  1460.                                     if( in_array( $member_id['user_group'], $groups ) OR $member_id['user_group'] == "1") {
  1461.                                         return $matches[2];
  1462.                                     } else return "<div class=\"quote\">" . $lang['news_regus'] . "</div>";
  1463.                                    
  1464.                                 } else {
  1465.                                    
  1466.                                     if( $user_group[$member_id['user_group']]['allow_hide'] ) return $matches[2]; else return "<div class=\"quote\">" . $lang['news_regus'] . "</div>";
  1467.                                    
  1468.                                 }
  1469.                
  1470.                         }, $related['short_story'] );
  1471.                     }
  1472.    
  1473.                     if (stripos ( $tpl2->copy_template, "{image-" ) !== false) {
  1474.            
  1475.                         $images = array();
  1476.                         preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $related['short_story'], $media);
  1477.                         $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
  1478.            
  1479.                         foreach($data as $url) {
  1480.                             $info = pathinfo($url);
  1481.                             if (isset($info['extension'])) {
  1482.                                 if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-minus" OR strpos($info['dirname'], 'engine/data/emoticons') !== false) continue;
  1483.                                 $info['extension'] = strtolower($info['extension']);
  1484.                                 if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);
  1485.                             }
  1486.                         }
  1487.            
  1488.                         if ( count($images) ) {
  1489.                             $i=0;
  1490.                             foreach($images as $url) {
  1491.                                 $i++;
  1492.                                 $tpl2->copy_template = str_replace( '{image-'.$i.'}', $url, $tpl2->copy_template );
  1493.                                 $tpl2->copy_template = str_replace( '[image-'.$i.']', "", $tpl2->copy_template );
  1494.                                 $tpl2->copy_template = str_replace( '[/image-'.$i.']', "", $tpl2->copy_template );
  1495.                             }
  1496.            
  1497.                         }
  1498.  
  1499.                         $tpl2->copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl2->copy_template );           
  1500.                         $tpl2->copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl2->copy_template );
  1501.            
  1502.                     }
  1503.  
  1504.                     if ( preg_match( "#\\{text limit=['\"](.+?)['\"]\\}#i", $tpl2->copy_template, $matches ) ) {
  1505.                         $count= intval($matches[1]);
  1506.  
  1507.                         $related['short_story'] = preg_replace( "#<!--TBegin(.+?)<!--TEnd-->#is", "", $related['short_story'] );
  1508.                         $related['short_story'] = preg_replace( "#<!--MBegin(.+?)<!--MEnd-->#is", "", $related['short_story'] );
  1509.                         $related['short_story'] = preg_replace( "#<!--dle_spoiler(.+?)<!--spoiler_text-->#is", "", $related['short_story'] );
  1510.                         $related['short_story'] = preg_replace( "#<!--spoiler_text_end-->(.+?)<!--/dle_spoiler-->#is", "", $related['short_story'] );
  1511.                         $related['short_story'] = preg_replace( "'\[attachment=(.*?)\]'si", "", $related['short_story'] );
  1512.                         $related['short_story'] = preg_replace ( "#\[hide(.*?)\](.+?)\[/hide\]#is", "", $related['short_story'] );
  1513.  
  1514.                         $related['short_story'] = str_replace( "><", "> <", $related['short_story'] );
  1515.                         $related['short_story'] = strip_tags( $related['short_story'], "<br>" );
  1516.                         $related['short_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $related['short_story'] ) ) ) ));
  1517.                         $related['short_story'] = preg_replace('/\s+/', ' ', $related['short_story']);
  1518.                        
  1519.                         if( $count AND dle_strlen( $related['short_story'], $config['charset'] ) > $count ) {
  1520.                                
  1521.                             $related['short_story'] = dle_substr( $related['short_story'], 0, $count, $config['charset'] );
  1522.                                
  1523.                             if( ($temp_dmax = dle_strrpos( $related['short_story'], ' ', $config['charset'] )) ) $related['short_story'] = dle_substr( $related['short_story'], 0, $temp_dmax, $config['charset'] );
  1524.                            
  1525.                         }
  1526.            
  1527.                         $tpl2->set( $matches[0], $related['short_story'] );
  1528.            
  1529.                     } else $tpl2->set( '{text}', $related['short_story'] );
  1530.  
  1531.                     if ( preg_match( "#\\{title limit=['\"](.+?)['\"]\\}#i", $tpl2->copy_template, $matches ) ) {
  1532.                         $count= intval($matches[1]);
  1533.        
  1534.                         if( $count AND dle_strlen( $related['title'], $config['charset'] ) > $count ) {
  1535.                    
  1536.                             $related['title'] = dle_substr( $related['title'], 0, $count, $config['charset'] );
  1537.                                
  1538.                             if( ($temp_dmax = dle_strrpos( $related['title'], ' ', $config['charset'] )) ) $related['title'] = dle_substr( $related['title'], 0, $temp_dmax, $config['charset'] );
  1539.                            
  1540.                         }
  1541.                         $tpl2->set( $matches[0], str_replace("&amp;amp;", "&amp;", htmlspecialchars( $related['title'], ENT_QUOTES, $config['charset'] ) ) );
  1542.                    
  1543.                     }
  1544.  
  1545.                     if( count($xfields) ) {
  1546.                         $xfieldsdata = xfieldsdataload( $related['xfields'] );
  1547.                        
  1548.                         foreach ( $xfields as $value ) {
  1549.                             $preg_safe_name = preg_quote( $value[0], "'" );
  1550.                            
  1551.                             $xfieldsdata[$value[0]] = stripslashes( $xfieldsdata[$value[0]] );
  1552.                            
  1553.                             if( $value[20] ) {
  1554.                              
  1555.                               $value[20] = explode( ',', $value[20] );
  1556.                              
  1557.                               if( $value[20][0] AND !in_array( $member_id['user_group'], $value[20] ) ) {
  1558.                                 $xfieldsdata[$value[0]] = "";
  1559.                               }
  1560.                              
  1561.                             }
  1562.                
  1563.                             if ( $value[3] == "yesorno" ) {
  1564.                                
  1565.                                 if( intval($xfieldsdata[$value[0]]) ) {
  1566.                                     $xfgiven = true;
  1567.                                     $xfieldsdata[$value[0]] = $lang['xfield_xyes'];
  1568.                                 } else {
  1569.                                     $xfgiven = false;
  1570.                                     $xfieldsdata[$value[0]] = $lang['xfield_xno'];
  1571.                                 }
  1572.                                
  1573.                             } else {
  1574.                                 if($xfieldsdata[$value[0]] == "") $xfgiven = false; else $xfgiven = true;
  1575.                             }
  1576.                            
  1577.                             if( !$xfgiven ) {
  1578.                                 $tpl2->copy_template = preg_replace( "'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl2->copy_template );
  1579.                                 $tpl2->copy_template = str_ireplace( "[xfnotgiven_{$value[0]}]", "", $tpl2->copy_template );
  1580.                                 $tpl2->copy_template = str_ireplace( "[/xfnotgiven_{$value[0]}]", "", $tpl2->copy_template );
  1581.                             } else {
  1582.                                 $tpl2->copy_template = preg_replace( "'\\[xfnotgiven_{$preg_safe_name}\\](.*?)\\[/xfnotgiven_{$preg_safe_name}\\]'is", "", $tpl2->copy_template );
  1583.                                 $tpl2->copy_template = str_ireplace( "[xfgiven_{$value[0]}]", "", $tpl2->copy_template );
  1584.                                 $tpl2->copy_template = str_ireplace( "[/xfgiven_{$value[0]}]", "", $tpl2->copy_template );
  1585.                             }
  1586.                            
  1587.                             if(strpos( $tpl2->copy_template, "[ifxfvalue" ) !== false ) {
  1588.                                 $tpl2->copy_template = preg_replace_callback ( "#\\[ifxfvalue(.+?)\\](.+?)\\[/ifxfvalue\\]#is", "check_xfvalue", $tpl2->copy_template );
  1589.                             }
  1590.  
  1591.                             if ( $value[6] AND !empty( $xfieldsdata[$value[0]] ) ) {
  1592.                                 $temp_array = explode( ",", $xfieldsdata[$value[0]] );
  1593.                                 $value3 = array();
  1594.                
  1595.                                 foreach ($temp_array as $value2) {
  1596.                
  1597.                                     $value2 = trim($value2);
  1598.                                     $value2 = str_replace("&#039;", "'", $value2);
  1599.                
  1600.                                     if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" .$value[0]."/". urlencode( $value2 ) . "/\">" . $value2 . "</a>";
  1601.                                     else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xfname=".$value[0]."&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";
  1602.  
  1603.                                 }
  1604.                                
  1605.                                 if( empty($value[21]) ) $value[21] = ", ";
  1606.                                
  1607.                                 $xfieldsdata[$value[0]] = implode($value[21], $value3);
  1608.                
  1609.                                 unset($temp_array);
  1610.                                 unset($value2);
  1611.                                 unset($value3);
  1612.                
  1613.                             }
  1614.                            
  1615.                             if($value[3] == "image" AND $xfieldsdata[$value[0]] ) {
  1616.                                 $path_parts = @pathinfo($xfieldsdata[$value[0]]);
  1617.                    
  1618.                                 if( $value[12] AND file_exists(ROOT_DIR . "/uploads/posts/" .$path_parts['dirname']."/thumbs/".$path_parts['basename']) ) {
  1619.                                     $thumb_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/thumbs/".$path_parts['basename'];
  1620.                                     $img_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
  1621.                                 } else {
  1622.                                     $img_url =  $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
  1623.                                     $thumb_url = "";
  1624.                                 }
  1625.                                
  1626.                                 if($thumb_url) {
  1627.                                     $xfieldsdata[$value[0]] = "<a href=\"$img_url\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"$thumb_url\" alt=\"\"></a>";
  1628.                                 } else $xfieldsdata[$value[0]] = "<img class=\"xfieldimage {$value[0]}\" src=\"{$img_url}\" alt=\"\">";
  1629.                             }
  1630.                            
  1631.                             if($value[3] == "image") {
  1632.            
  1633.                                 if( $xfieldsdata[$value[0]] ) {
  1634.                                     $tpl2->set( "[xfvalue_thumb_url_{$value[0]}]", $thumb_url);
  1635.                                     $tpl2->set( "[xfvalue_image_url_{$value[0]}]", $img_url);
  1636.                                 } else {
  1637.                                     $tpl2->set( "[xfvalue_thumb_url_{$value[0]}]", "");
  1638.                                     $tpl2->set( "[xfvalue_image_url_{$value[0]}]", "");
  1639.                                 }
  1640.                             }
  1641.                
  1642.                             if($value[3] == "imagegalery" AND $xfieldsdata[$value[0]] AND stripos ( $tpl2->copy_template, "[xfvalue_{$value[0]}" ) !== false ) {
  1643.                                
  1644.                                 $fieldvalue_arr = explode(',', $xfieldsdata[$value[0]]);
  1645.                                 $gallery_image = array();
  1646.                                 $gallery_single_image = array();
  1647.                                 $xf_image_count = 0;
  1648.                                 $single_need = false;
  1649.                
  1650.                                 if(stripos ( $tpl2->copy_template, "[xfvalue_{$value[0]} image=" ) !== false) $single_need = true;
  1651.                    
  1652.                                 foreach ($fieldvalue_arr as $temp_value) {
  1653.                                     $xf_image_count ++;
  1654.                                    
  1655.                                     $temp_value = trim($temp_value);
  1656.                            
  1657.                                     if($temp_value == "") continue;
  1658.            
  1659.                                     $path_parts = @pathinfo($temp_value);
  1660.                                    
  1661.                                     if( $value[12] AND file_exists(ROOT_DIR . "/uploads/posts/" .$path_parts['dirname']."/thumbs/".$path_parts['basename']) ) {
  1662.                                         $thumb_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/thumbs/".$path_parts['basename'];
  1663.                                         $img_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
  1664.                                     } else {
  1665.                                         $img_url =  $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
  1666.                                         $thumb_url = "";
  1667.                                     }
  1668.                                    
  1669.                                     if($thumb_url) {
  1670.                                         $gallery_image[] = "<li><a href=\"$img_url\" onclick=\"return hs.expand(this, { slideshowGroup: 'xf_{$related['id']}_{$value[0]}' })\" target=\"_blank\"><img src=\"{$thumb_url}\" alt=\"\"></a></li>";
  1671.                                         $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<a href=\"{$img_url}\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"{$thumb_url}\" alt=\"\"></a>";
  1672.                                     } else {
  1673.                                         $gallery_image[] = "<li><img src=\"{$img_url}\" alt=\"\"></li>";
  1674.                                         $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<img class=\"xfieldimage {$value[0]}\" src=\"{$img_url}\" alt=\"\">";
  1675.                                     }
  1676.                                
  1677.                                 }
  1678.                                
  1679.                                 if($single_need AND count($gallery_single_image) ) {
  1680.                                     foreach($gallery_single_image as $temp_key => $temp_value) $tpl2->set( $temp_key, $temp_value);
  1681.                                 }
  1682.                                
  1683.                                 $xfieldsdata[$value[0]] = "<ul class=\"xfieldimagegallery {$value[0]}\">".implode($gallery_image)."</ul>";
  1684.                                
  1685.                             }
  1686.  
  1687.                             $tpl2->set( "[xfvalue_{$value[0]}]", $xfieldsdata[$value[0]] );
  1688.            
  1689.                             if ( preg_match( "#\\[xfvalue_{$preg_safe_name} limit=['\"](.+?)['\"]\\]#i", $tpl2->copy_template, $matches ) ) {
  1690.                                 $count= intval($matches[1]);
  1691.                    
  1692.                                 $xfieldsdata[$value[0]] = str_replace( "><", "> <", $xfieldsdata[$value[0]] );
  1693.                                 $xfieldsdata[$value[0]] = strip_tags( $xfieldsdata[$value[0]], "<br>" );
  1694.                                 $xfieldsdata[$value[0]] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $xfieldsdata[$value[0]] ) ) ) ));
  1695.                                 $xfieldsdata[$value[0]] = preg_replace('/\s+/', ' ', $xfieldsdata[$value[0]]);
  1696.                                
  1697.                                 if( $count AND dle_strlen( $xfieldsdata[$value[0]], $config['charset'] ) > $count ) {
  1698.                                        
  1699.                                     $xfieldsdata[$value[0]] = dle_substr( $xfieldsdata[$value[0]], 0, $count, $config['charset'] );
  1700.                                        
  1701.                                     if( ($temp_dmax = dle_strrpos( $xfieldsdata[$value[0]], ' ', $config['charset'] )) ) $xfieldsdata[$value[0]] = dle_substr( $xfieldsdata[$value[0]], 0, $temp_dmax, $config['charset'] );
  1702.                                    
  1703.                                 }
  1704.                    
  1705.                                 $tpl2->set( $matches[0], $xfieldsdata[$value[0]] );
  1706.                    
  1707.                             }
  1708.  
  1709.                         }
  1710.                     }
  1711.  
  1712.                     $tpl2->compile( 'content' );
  1713.                
  1714.                 }
  1715. ////
  1716.  
  1717. ////
  1718.                 $related_buffer = $tpl2->result['content'];
  1719.                 unset($tpl2);
  1720.                 $db->free();
  1721.  
  1722.                 if ( $first_show ) {
  1723.                     if ( count($related_ids) ) {
  1724.                         $related_ids = implode(",",$related_ids);
  1725.                         $db->query( "UPDATE " . PREFIX . "_post_extras SET related_ids='{$related_ids}' WHERE news_id='{$row['id']}'" );
  1726.                     }
  1727.                 }
  1728.  
  1729.                 if ( $allow_full_cache ) create_cache( "related", $related_buffer, $row['id'].$config['skin'], true );
  1730.             }
  1731.            
  1732.             if ( $related_buffer ) {
  1733.  
  1734.                 $tpl->set( '[related-news]', "" );
  1735.                 $tpl->set( '[/related-news]', "" );
  1736.  
  1737.             } else $tpl->set_block( "'\\[related-news\\](.*?)\\[/related-news\\]'si", "" );
  1738.  
  1739.             $tpl->set( '{related-news}', $related_buffer );
  1740.        
  1741.         }
  1742.        
  1743.         if( $is_logged ) {
  1744.            
  1745.             $fav_arr = explode( ',', $member_id['favorites'] );
  1746.            
  1747.             if( ! in_array( $row['id'], $fav_arr ) ) {
  1748.  
  1749.                 $tpl->set( '{favorites}', "<a id=\"fav-id-" . $row['id'] . "\" href=\"$PHP_SELF?do=favorites&amp;doaction=add&amp;id=" . $row['id'] . "\"><img src=\"" . $config['http_home_url'] . "templates/{$config['skin']}/dleimages/plus_fav.gif\" onclick=\"doFavorites('" . $row['id'] . "', 'plus', 0); return false;\" title=\"" . $lang['news_addfav'] . "\" style=\"vertical-align: middle;border: none;\" alt=\"\"></a>" );
  1750.                 $tpl->set( '[add-favorites]', "<a id=\"fav-id-" . $row['id'] . "\" onclick=\"doFavorites('" . $row['id'] . "', 'plus', 1); return false;\" href=\"$PHP_SELF?do=favorites&amp;doaction=add&amp;id=" . $row['id'] . "\">" );
  1751.                 $tpl->set( '[/add-favorites]', "</a>" );
  1752.                 $tpl->set_block( "'\\[del-favorites\\](.*?)\\[/del-favorites\\]'si", "" );
  1753.             } else {
  1754.  
  1755.                 $tpl->set( '{favorites}', "<a id=\"fav-id-" . $row['id'] . "\" href=\"$PHP_SELF?do=favorites&amp;doaction=del&amp;id=" . $row['id'] . "\"><img src=\"" . $config['http_home_url'] . "templates/{$config['skin']}/dleimages/minus_fav.gif\" onclick=\"doFavorites('" . $row['id'] . "', 'minus', 0); return false;\" title=\"" . $lang['news_minfav'] . "\" style=\"vertical-align: middle;border: none;\" alt=\"\"></a>" );
  1756.                 $tpl->set( '[del-favorites]', "<a id=\"fav-id-" . $row['id'] . "\" onclick=\"doFavorites('" . $row['id'] . "', 'minus', 1); return false;\" href=\"$PHP_SELF?do=favorites&amp;doaction=del&amp;id=" . $row['id'] . "\">" );
  1757.                 $tpl->set( '[/del-favorites]', "</a>" );
  1758.                 $tpl->set_block( "'\\[add-favorites\\](.*?)\\[/add-favorites\\]'si", "" );
  1759.             }
  1760.        
  1761.         } else {
  1762.             $tpl->set( '{favorites}', "" );
  1763.             $tpl->set_block( "'\\[add-favorites\\](.*?)\\[/add-favorites\\]'si", "" );
  1764.             $tpl->set_block( "'\\[del-favorites\\](.*?)\\[/del-favorites\\]'si", "" );
  1765.         }
  1766.        
  1767.         $tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">" );
  1768.         $tpl->set( '[/complaint]', "</a>" );
  1769.            
  1770.         if( $row['votes'] ) $tpl->set( '{poll}', $tpl->result['poll'] );
  1771.         else $tpl->set( '{poll}', '' );
  1772.        
  1773.         if( $config['allow_banner'] ) include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/banners.php'));
  1774.        
  1775.         if( $config['allow_banner'] AND count( $banners ) ) {
  1776.            
  1777.             foreach ( $banners as $name => $value ) {
  1778.                 $tpl->copy_template = str_replace( "{banner_" . $name . "}", $value, $tpl->copy_template );
  1779.  
  1780.                 if ( $value ) {
  1781.                     $tpl->copy_template = str_replace ( "[banner_" . $name . "]", "", $tpl->copy_template );
  1782.                     $tpl->copy_template = str_replace ( "[/banner_" . $name . "]", "", $tpl->copy_template );
  1783.                 }
  1784.             }
  1785.         }
  1786.        
  1787.         $tpl->set_block( "'{banner_(.*?)}'si", "" );
  1788.         $tpl->set_block ( "'\\[banner_(.*?)\\](.*?)\\[/banner_(.*?)\\]'si", "" );
  1789.  
  1790.         $row['short_story'] = stripslashes($row['short_story']);
  1791.         $row['full_story'] = stripslashes($row['full_story']);
  1792.         $row['xfields'] = stripslashes( $row['xfields'] );
  1793.  
  1794.         if ($config['allow_links'] AND function_exists('replace_links') AND isset($replace_links['news']) ) {
  1795.             $row['short_story'] = replace_links ( $row['short_story'], $replace_links['news'] );
  1796.             $row['full_story'] = replace_links ( $row['full_story'], $replace_links['news'] );
  1797.         }
  1798.  
  1799.         if (stripos ( $tpl->copy_template, "{image-" ) !== false) {
  1800.  
  1801.             $images = array();
  1802.             preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'].$row['xfields'], $media);
  1803.             $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
  1804.    
  1805.             foreach($data as $url) {
  1806.                 $info = pathinfo($url);
  1807.                 if (isset($info['extension'])) {
  1808.                     if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-minus" OR strpos($info['dirname'], 'engine/data/emoticons') !== false) continue;
  1809.                     $info['extension'] = strtolower($info['extension']);
  1810.                     if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);
  1811.                 }
  1812.             }
  1813.    
  1814.             if ( count($images) ) {
  1815.                 $i=0;
  1816.                 foreach($images as $url) {
  1817.                     $i++;
  1818.                     $tpl->copy_template = str_replace( '{image-'.$i.'}', $url, $tpl->copy_template );
  1819.                     $tpl->copy_template = str_replace( '[image-'.$i.']', "", $tpl->copy_template );
  1820.                     $tpl->copy_template = str_replace( '[/image-'.$i.']', "", $tpl->copy_template );
  1821.                 }
  1822.    
  1823.             }
  1824.    
  1825.             $tpl->copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl->copy_template );
  1826.             $tpl->copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );
  1827.    
  1828.         }
  1829.  
  1830.  
  1831.         if (stripos ( $tpl->copy_template, "{fullimage-" ) !== false) {
  1832.  
  1833.             $images = array();
  1834.             preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['full_story'], $media);
  1835.             $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
  1836.    
  1837.             foreach($data as $url) {
  1838.                 $info = pathinfo($url);
  1839.                 if (isset($info['extension'])) {
  1840.                     if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-minus" OR strpos($info['dirname'], 'engine/data/emoticons') !== false) continue;
  1841.                     $info['extension'] = strtolower($info['extension']);
  1842.                     if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($images, $url);
  1843.                 }
  1844.             }
  1845.    
  1846.             if ( count($images) ) {
  1847.                 $i=0;
  1848.                 foreach($images as $url) {
  1849.                     $i++;
  1850.                     $tpl->copy_template = str_replace( '{fullimage-'.$i.'}', $url, $tpl->copy_template );
  1851.                     $tpl->copy_template = str_replace( '[fullimage-'.$i.']', "", $tpl->copy_template );
  1852.                     $tpl->copy_template = str_replace( '[/fullimage-'.$i.']', "", $tpl->copy_template );
  1853.                 }
  1854.    
  1855.             }
  1856.    
  1857.             $tpl->copy_template = preg_replace( "#\[fullimage-(.+?)\](.+?)\[/fullimage-(.+?)\]#is", "", $tpl->copy_template );
  1858.             $tpl->copy_template = preg_replace( "#\\{fullimage-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );
  1859.    
  1860.         }
  1861.  
  1862.         $images = array();
  1863.         $allcontent = $row['full_story'].$row['short_story'].$row['xfields'];
  1864.         preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $allcontent, $media);
  1865.         $data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
  1866.    
  1867.         foreach($data as $url) {
  1868.             $info = pathinfo($url);
  1869.             if (isset($info['extension'])) {
  1870.                 if ($info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-minus" OR strpos($info['dirname'], 'engine/data/emoticons') !== false) continue;
  1871.                 $info['extension'] = strtolower($info['extension']);
  1872.                 if (($info['extension'] == 'jpg' || $info['extension'] == 'jpeg' || $info['extension'] == 'gif' || $info['extension'] == 'png') AND !in_array($url, $images) ) array_push($images, $url);
  1873.             }
  1874.         }
  1875.  
  1876.         if ( count($images) ) $social_tags['image'] = $images[0];
  1877.  
  1878.         if ( preg_match("#<!--dle_video_begin:(.+?)-->#is", $allcontent, $media) ){
  1879.             $media[1] = str_replace( "&#124;", "|", $media[1] );
  1880.            
  1881.             $media[1] = explode( ",", trim( $media[1] ) );
  1882.             $media[1] = explode( "|", $media[1][0] );
  1883.            
  1884.             $social_tags['video'] = $media[1][0];
  1885.  
  1886.         }
  1887.  
  1888.         if ( preg_match("#<!--dle_audio_begin:(.+?)-->#is", $allcontent, $media) ){
  1889.             $media[1] = str_replace( "&#124;", "|", $media[1] );
  1890.            
  1891.             $media[1] = explode( ",", trim( $media[1] ) );
  1892.             $media[1] = explode( "|", $media[1][0] );
  1893.            
  1894.             $social_tags['audio'] = $media[1][0];
  1895.  
  1896.         }
  1897.  
  1898.         $allcontent = htmlspecialchars(strip_tags( $allcontent ), ENT_COMPAT, $config['charset']);
  1899.        
  1900.         if(dle_strlen( $allcontent, $config['charset'] ) > 300 ) {
  1901.    
  1902.             $allcontent = dle_substr( $allcontent, 0, 300, $config['charset'] );
  1903.                
  1904.             if( ($temp_dmax = dle_strrpos( $allcontent, ' ', $config['charset'] )) ) $allcontent = dle_substr( $allcontent, 0, $temp_dmax, $config['charset'] );
  1905.                
  1906.         }
  1907.        
  1908.         if( $allcontent ) $social_tags['description'] = $allcontent;
  1909.        
  1910.         unset($allcontent);
  1911.  
  1912.         if ($smartphone_detected) {
  1913.  
  1914.             if (!$config['allow_smart_format']) {
  1915.  
  1916.                     $row['short_story'] = strip_tags( $row['short_story'], '<p><br><a>' );
  1917.                     $row['full_story'] = strip_tags( $row['full_story'], '<p><br><a>' );
  1918.  
  1919.             } else {
  1920.  
  1921.                 if ( !$config['allow_smart_images'] ) {
  1922.    
  1923.                     $row['short_story'] = preg_replace( "#<!--TBegin(.+?)<!--TEnd-->#is", "", $row['short_story'] );
  1924.                     $row['short_story'] = preg_replace( "#<!--MBegin(.+?)<!--MEnd-->#is", "", $row['short_story'] );
  1925.                     $row['short_story'] = preg_replace( "#<img(.+?)>#is", "", $row['short_story'] );
  1926.                     $row['full_story'] = preg_replace( "#<!--TBegin(.+?)<!--TEnd-->#is", "", $row['full_story'] );
  1927.                     $row['full_story'] = preg_replace( "#<!--MBegin(.+?)<!--MEnd-->#is", "", $row['full_story'] );
  1928.                     $row['full_story'] = preg_replace( "#<img(.+?)>#is", "", $row['full_story'] );
  1929.    
  1930.                 }
  1931.    
  1932.                 if ( !$config['allow_smart_video'] ) {
  1933.    
  1934.                     $row['short_story'] = preg_replace( "#<!--dle_video_begin(.+?)<!--dle_video_end-->#is", "", $row['short_story'] );
  1935.                     $row['short_story'] = preg_replace( "#<!--dle_audio_begin(.+?)<!--dle_audio_end-->#is", "", $row['short_story'] );
  1936.                     $row['short_story'] = preg_replace( "#<!--dle_media_begin(.+?)<!--dle_media_end-->#is", "", $row['short_story'] );
  1937.                     $row['full_story'] = preg_replace( "#<!--dle_video_begin(.+?)<!--dle_video_end-->#is", "", $row['full_story'] );
  1938.                     $row['full_story'] = preg_replace( "#<!--dle_audio_begin(.+?)<!--dle_audio_end-->#is", "", $row['full_story'] );
  1939.                     $row['full_story'] = preg_replace( "#<!--dle_media_begin(.+?)<!--dle_media_end-->#is", "", $row['full_story'] );
  1940.    
  1941.                 }
  1942.  
  1943.             }
  1944.  
  1945.         }
  1946.         $tpl->set( '{comments}', "<!--dlecomments-->" );
  1947.         $tpl->set( '{addcomments}', "<!--dleaddcomments-->" );
  1948.         $tpl->set( '{navigation}', "<!--dlenavigationcomments-->" );
  1949.  
  1950.         if( count($xfields) ) {
  1951.            
  1952.             $xfieldsdata = xfieldsdataload( $row['xfields'] );
  1953.            
  1954.             foreach ( $xfields as $value ) {
  1955.                 $preg_safe_name = preg_quote( $value[0], "'" );
  1956.                
  1957.                 if( $value[20] ) {
  1958.                  
  1959.                   $value[20] = explode( ',', $value[20] );
  1960.                  
  1961.                   if( $value[20][0] AND !in_array( $member_id['user_group'], $value[20] ) ) {
  1962.                     $xfieldsdata[$value[0]] = "";
  1963.                   }
  1964.                  
  1965.                 }
  1966.                
  1967.                 if ( $value[3] == "yesorno" ) {
  1968.                    
  1969.                     if( intval($xfieldsdata[$value[0]]) ) {
  1970.                         $xfgiven = true;
  1971.                         $xfieldsdata[$value[0]] = $lang['xfield_xyes'];
  1972.                     } else {
  1973.                         $xfgiven = false;
  1974.                         $xfieldsdata[$value[0]] = $lang['xfield_xno'];
  1975.                     }
  1976.                    
  1977.                 } else {
  1978.                    
  1979.                     if($xfieldsdata[$value[0]] == "") $xfgiven = false; else $xfgiven = true;
  1980.                    
  1981.                 }
  1982.                
  1983.                 if( !$xfgiven ) {
  1984.                     $tpl->copy_template = preg_replace( "'\\[xfgiven_{$preg_safe_name}\\](.*?)\\[/xfgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template );
  1985.                     $tpl->copy_template = str_ireplace( "[xfnotgiven_{$value[0]}]", "", $tpl->copy_template );
  1986.                     $tpl->copy_template = str_ireplace( "[/xfnotgiven_{$value[0]}]", "", $tpl->copy_template );
  1987.                 } else {
  1988.                     $tpl->copy_template = preg_replace( "'\\[xfnotgiven_{$preg_safe_name}\\](.*?)\\[/xfnotgiven_{$preg_safe_name}\\]'is", "", $tpl->copy_template );
  1989.                     $tpl->copy_template = str_ireplace( "[xfgiven_{$value[0]}]", "", $tpl->copy_template );
  1990.                     $tpl->copy_template = str_ireplace( "[/xfgiven_{$value[0]}]", "", $tpl->copy_template );
  1991.                 }
  1992.                
  1993.                 if(strpos( $tpl->copy_template, "[ifxfvalue" ) !== false ) {
  1994.                     $tpl->copy_template = preg_replace_callback ( "#\\[ifxfvalue(.+?)\\](.+?)\\[/ifxfvalue\\]#is", "check_xfvalue", $tpl->copy_template );
  1995.                 }
  1996.                
  1997.                 if ( $value[6] AND !empty( $xfieldsdata[$value[0]] ) ) {
  1998.                     $temp_array = explode( ",", $xfieldsdata[$value[0]] );
  1999.                     $value3 = array();
  2000.  
  2001.                     foreach ($temp_array as $value2) {
  2002.  
  2003.                         $value2 = trim($value2);
  2004.                         $value2 = str_replace("&#039;", "'", $value2);
  2005.  
  2006.                         if( $config['allow_alt_url'] ) $value3[] = "<a href=\"" . $config['http_home_url'] . "xfsearch/" .$value[0]."/". urlencode( $value2 ) . "/\">" . $value2 . "</a>";
  2007.                         else $value3[] = "<a href=\"$PHP_SELF?do=xfsearch&amp;xfname=".$value[0]."&amp;xf=" . urlencode( $value2 ) . "\">" . $value2 . "</a>";
  2008.                     }
  2009.                    
  2010.                     if( empty($value[21]) ) $value[21] = ", ";
  2011.                    
  2012.                     $xfieldsdata[$value[0]] = implode($value[21], $value3);
  2013.  
  2014.                     unset($temp_array);
  2015.                     unset($value2);
  2016.                     unset($value3);
  2017.  
  2018.                 }
  2019.                
  2020.                 if ($config['allow_links'] AND $value[3] == "textarea" AND function_exists('replace_links')) $xfieldsdata[$value[0]] = replace_links ( $xfieldsdata[$value[0]], $replace_links['news'] );
  2021.  
  2022.                 if($value[3] == "image" AND $xfieldsdata[$value[0]] ) {
  2023.                     $path_parts = @pathinfo($xfieldsdata[$value[0]]);
  2024.        
  2025.                     if( $value[12] AND file_exists(ROOT_DIR . "/uploads/posts/" .$path_parts['dirname']."/thumbs/".$path_parts['basename']) ) {
  2026.                         $thumb_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/thumbs/".$path_parts['basename'];
  2027.                         $img_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
  2028.                     } else {
  2029.                         $img_url =  $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
  2030.                         $thumb_url = "";
  2031.                     }
  2032.                    
  2033.                     if($thumb_url) {
  2034.                         $xfieldsdata[$value[0]] = "<a href=\"$img_url\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"$thumb_url\" alt=\"\"></a>";
  2035.                     } else $xfieldsdata[$value[0]] = "<img class=\"xfieldimage {$value[0]}\" src=\"{$img_url}\" alt=\"\">";
  2036.                 }
  2037.                
  2038.                 if($value[3] == "image") {
  2039.  
  2040.                     if( $xfieldsdata[$value[0]] ) {
  2041.                         $tpl->set( "[xfvalue_thumb_url_{$value[0]}]", $thumb_url);
  2042.                         $tpl->set( "[xfvalue_image_url_{$value[0]}]", $img_url);
  2043.                     } else {
  2044.                         $tpl->set( "[xfvalue_thumb_url_{$value[0]}]", "");
  2045.                         $tpl->set( "[xfvalue_image_url_{$value[0]}]", "");
  2046.                     }
  2047.                 }
  2048.                
  2049.                 if($value[3] == "imagegalery" AND $xfieldsdata[$value[0]] AND stripos ( $tpl->copy_template, "[xfvalue_{$value[0]}" ) !== false) {
  2050.                    
  2051.                     $fieldvalue_arr = explode(',', $xfieldsdata[$value[0]]);
  2052.                     $gallery_image = array();
  2053.                     $gallery_single_image = array();
  2054.                     $xf_image_count = 0;
  2055.                     $single_need = false;
  2056.    
  2057.                     if(stripos ( $tpl->copy_template, "[xfvalue_{$value[0]} image=" ) !== false) $single_need = true;
  2058.                    
  2059.                     foreach ($fieldvalue_arr as $temp_value) {
  2060.                         $xf_image_count ++;
  2061.                        
  2062.                         $temp_value = trim($temp_value);
  2063.                
  2064.                         if($temp_value == "") continue;
  2065.  
  2066.                         $path_parts = @pathinfo($temp_value);
  2067.                        
  2068.                         if( $value[12] AND file_exists(ROOT_DIR . "/uploads/posts/" .$path_parts['dirname']."/thumbs/".$path_parts['basename']) ) {
  2069.                             $thumb_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/thumbs/".$path_parts['basename'];
  2070.                             $img_url = $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
  2071.                         } else {
  2072.                             $img_url =  $config['http_home_url'] . "uploads/posts/" . $path_parts['dirname']."/".$path_parts['basename'];
  2073.                             $thumb_url = "";
  2074.                         }
  2075.                        
  2076.                         if($thumb_url) {
  2077.                            
  2078.                             $gallery_image[] = "<li><a href=\"$img_url\" onclick=\"return hs.expand(this, { slideshowGroup: 'xf_{$row['id']}_{$value[0]}' })\" target=\"_blank\"><img src=\"{$thumb_url}\" alt=\"\"></a></li>";
  2079.                             $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<a href=\"{$img_url}\" class=\"highslide\" target=\"_blank\"><img class=\"xfieldimage {$value[0]}\" src=\"{$thumb_url}\" alt=\"\"></a>";
  2080.  
  2081.                         } else {
  2082.                             $gallery_image[] = "<li><img src=\"{$img_url}\" alt=\"\"></li>";
  2083.                             $gallery_single_image['[xfvalue_'.$value[0].' image="'.$xf_image_count.'"]'] = "<img class=\"xfieldimage {$value[0]}\" src=\"{$img_url}\" alt=\"\">";
  2084.                         }
  2085.                    
  2086.                     }
  2087.                    
  2088.                     if($single_need AND count($gallery_single_image) ) {
  2089.                         foreach($gallery_single_image as $temp_key => $temp_value) $tpl->set( $temp_key, $temp_value);
  2090.                     }
  2091.                    
  2092.                     $xfieldsdata[$value[0]] = "<ul class=\"xfieldimagegallery {$value[0]}\">".implode($gallery_image)."</ul>";
  2093.                    
  2094.                 }
  2095.  
  2096.                 $tpl->set( "[xfvalue_{$value[0]}]", $xfieldsdata[$value[0]] );
  2097.  
  2098.                 if ( preg_match( "#\\[xfvalue_{$preg_safe_name} limit=['\"](.+?)['\"]\\]#i", $tpl->copy_template, $matches ) ) {
  2099.                     $count= intval($matches[1]);
  2100.        
  2101.                     $xfieldsdata[$value[0]] = str_replace( "><", "> <", $xfieldsdata[$value[0]] );
  2102.                     $xfieldsdata[$value[0]] = strip_tags( $xfieldsdata[$value[0]], "<br>" );
  2103.                     $xfieldsdata[$value[0]] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $xfieldsdata[$value[0]] ) ) ) ));
  2104.                     $xfieldsdata[$value[0]] = preg_replace('/\s+/', ' ', $xfieldsdata[$value[0]]);
  2105.                    
  2106.                     if( $count AND dle_strlen( $xfieldsdata[$value[0]], $config['charset'] ) > $count ) {
  2107.                            
  2108.                         $xfieldsdata[$value[0]] = dle_substr( $xfieldsdata[$value[0]], 0, $count, $config['charset'] );
  2109.                            
  2110.                         if( ($temp_dmax = dle_strrpos( $xfieldsdata[$value[0]], ' ', $config['charset'] )) ) $xfieldsdata[$value[0]] = dle_substr( $xfieldsdata[$value[0]], 0, $temp_dmax, $config['charset'] );
  2111.                        
  2112.                     }
  2113.        
  2114.                     $tpl->set( $matches[0], $xfieldsdata[$value[0]] );
  2115.        
  2116.                 }
  2117.             }
  2118.         }
  2119.        
  2120.         //$tpl->set( '{short-story}', $row['short_story'] );
  2121.  
  2122.         //$tpl->set( '{full-story}', $row['full_story'] );
  2123.             $liens = $db->safesql($_POST['lieno']);
  2124.         if(strlen($row['idallo']) > 0)
  2125.         {
  2126.             if(isset($_POST['modifiero']))
  2127.             {
  2128.                 if($_POST['lieno'] !="")
  2129.                 {
  2130.                 //first
  2131.                 $ext=$db->super_query ("SELECT count(*) as count FROM dev_liens WHERE postID=".$row['id']." ");
  2132. if ($ext['count']=="0")
  2133. {
  2134.    
  2135. //$lienet = explode("\n", $liens);
  2136.        
  2137.             $db->query("INSERT INTO `dev_liens`(`postID`, `liens`) VALUES (".$row['id'].", '".$liens."')");
  2138.        
  2139. }
  2140. else
  2141. {
  2142.     $db->query("DELETE FROM dev_liens WHERE postID=".$row['id']);
  2143.     $db->query("INSERT INTO `dev_liens`(`postID`, `liens`) VALUES (".$row['id'].", '".$liens."')");
  2144.    
  2145. }
  2146.                 }
  2147.                 else {$db->query("DELETE FROM dev_liens WHERE postID=".$row['id']); }
  2148.                 $db->free();
  2149.                 //
  2150.             }
  2151.            
  2152.            
  2153.             if(isset($_POST['prezi']))
  2154.             {
  2155.                 $db->query("UPDATE dev_prez SET prez='".$db->safesql($_POST['prezi'])."' WHERE idallo='".$row['idallo']."'");
  2156.                 $db->free();
  2157.             }
  2158.             $db->query("SELECT * FROM dev_prez WHERE idallo='".$row['idallo']."' LIMIT 1");
  2159.             $resulx = $db->get_row();
  2160.             $control = '';
  2161.             $control .= '<div class="theselinks"><form action="" method="post"><input type="hidden" name="postid" value="'.$row['id'].'" /><textarea name="lieno">';
  2162.             $addval = '<div class="postinfo">';
  2163.             $db->free();
  2164.             $linko=$db->super_query("SELECT * FROM dev_liens WHERE postID=".$row['id']);
  2165.             $oldlink = "";
  2166.             $nums = 0;
  2167.             $bigepi = 0;
  2168.             $complete=false;
  2169.             /*while($datax = $db->get_row())
  2170.             {*/
  2171.                 if($row['saison'] != 0)
  2172.                 {
  2173.                     $links = preg_replace('/\s+/', '', $linko['liens']);
  2174.                     $links=strtolower($links);
  2175.                     for($i = 1; $i < 200; $i++)
  2176.                     {
  2177.                         if(strpos($linko['liens'], $i."::") !== false)
  2178.                         {
  2179.                             $bigepi = $i;
  2180.                         }
  2181.                         if (strpos($links, $i."final::") !== false) {
  2182.                             $complete = true;
  2183.                         }
  2184.                     }
  2185.                 }
  2186.                 $releases1 = explode("[", $linko['liens']);
  2187.                 foreach($releases1 as $rels1)
  2188.                 {
  2189.                     $releases2 = explode("]", $rels1);
  2190.                     if(isset($releases2[1]))
  2191.                     {
  2192.                         $lienets = explode('
  2193. ', $releases2[1]);
  2194.                         $li1 = "";
  2195.                         $li2 = "";
  2196.                         $li3 = "";
  2197.                         $li4 = "";
  2198.                         $li5 = "";
  2199.                         $li6 = "";
  2200.                         $li7 = "";
  2201.                         $li01 = "";
  2202.                         $li02 = "";
  2203.                         $li03 = "";
  2204.                         $li04 = "";
  2205.                         $li05 = "";
  2206.                         $li06 = "";
  2207.                         $li07 = "";
  2208.                         foreach($lienets as $liene)
  2209.                         {
  2210.                                 if(strpos($liene, "uptobox"))
  2211.                                 {
  2212.                                     $li01 .= "<b>".formatLiens($liene, false)."</b><br />";
  2213.                                     $li1 .= "<b>".formatLiens($liene)."</b><br />";
  2214.                                 }
  2215.                                 else if(strpos($liene, "turbobit") !== false)
  2216.                                 {
  2217.                                     $li03 .= "<b>".formatLiens($liene, false)."</b><br />";
  2218.                                     $li3 .= "<b>".formatLiens($liene)."</b><br />";
  2219.                                 }
  2220.                                 else if(strpos($liene, "uploaded") !== false || strpos($liene, "ul.to") !== false)
  2221.                                 {
  2222.                                     $li02 .= "<b>".formatLiens($liene, false)."</b><br />";
  2223.                                     $li2 .= "<b>".formatLiens($liene)."</b><br />";
  2224.                                 }
  2225.                                 else if(strpos($liene, "nitroflare") !== false)
  2226.                                 {
  2227.                                     $li04 .= "<b>".formatLiens($liene, false)."</b><br />";
  2228.                                     $li4 .= "<b>".formatLiens($liene)."</b><br />";
  2229.                                 }
  2230.                                 else if(strpos($liene, "1fichier") !== false)
  2231.                                 {
  2232.                                     $li05 .= "<b>".formatLiens($liene, false)."</b><br />";
  2233.                                     $li5 .= "<b>".formatLiens($liene)."</b><br />";
  2234.                                 }
  2235.                                 else if(strpos($liene, "streaming") !== false)
  2236.                                 {
  2237.                                     $li07 .= "<b>".formatLiens($liene, false)."</b><br />";
  2238.                                     $li7 .= "<b>".formatLiens($liene)."</b><br />";
  2239.                                 }
  2240.                                     else if(strpos($liene, "streamzt") !== false)
  2241.                                 {
  2242.                                     $li07 .= "<b>".formatLiens($liene, false)."</b><br />";
  2243.                                     $li7 .= "<b>".formatLiens($liene)."</b><br />";
  2244.                                 }
  2245.                                 else if(strpos($liene, "rapidgator") !== false)
  2246.                                 {
  2247.                                     $li06 .= "<b>".formatLiens($liene, false)."</b><br />";
  2248.                                     $li6 .= "<b>".formatLiens($liene)."</b><br />";
  2249.                                 }
  2250.                         }
  2251.                         if(strlen($li1) > 0)
  2252.                             $li1 = '<br />'.getHost($li01).$li1;
  2253.                         if(strlen($li2) > 0)
  2254.                             $li2 = '<br />'.getHost($li02).$li2;
  2255.                         if(strlen($li3) > 0)
  2256.                             $li3 = '<br />'.getHost($li03).$li3;
  2257.                         if(strlen($li4) > 0)
  2258.                             $li4 = '<br />'.getHost($li04).$li4;
  2259.                         if(strlen($li5) > 0)
  2260.                             $li5 = '<br />'.getHost($li05).$li5;
  2261.                         if(strlen($li6) > 0)
  2262.                             $li6 = '<br />'.getHost($li06).$li6;
  2263.                         if(strlen($li7) > 0)
  2264.                             $li7 = '<br />'.getHost($li07).$li7;
  2265.                    
  2266.                         if(substr($releases2[0], 0, 8) == "premium:")
  2267.                         {
  2268.                             $addval .= "<font color=#ff007f><b>".substr($releases2[0], 8)."</b></font>".$li1.$li2.$li3.$li4.$li5.$li6.$li7."<br /><br />";                      }
  2269.                         else
  2270.                         {
  2271.                             $addval .= "<font color=red>".$releases2[0]."</font>".$li1.$li2.$li3.$li4.$li5.$li6.$li7."<br /><br />";
  2272.                         }
  2273.                     }
  2274.                 }
  2275.                 $control .= $linko['liens'];
  2276.                
  2277.             //}
  2278.             $db->free();
  2279.             $control .= '</textarea><br /><input type="submit" value="Modifier" name="modifiero" /></form></div>';
  2280.             /*
  2281.                 Top Others By FadhelBey <3 <3
  2282.             */
  2283.             $moreover = '';
  2284.             if(strlen($row['idallo']) > 0)
  2285.             {
  2286.                 $moreover .= '<div class="otherversions" style="margin-top:10px;border-top: 1px solid #e6e6e6;text-align:left;">';
  2287.                 $cef = "ce film";
  2288.                 if($row['saison'] != 0)
  2289.                 {
  2290.                     $cef = "cette saison";
  2291.                     $db->query("SELECT * FROM " . PREFIX . "_post WHERE idallo='".$row['idallo']."' AND saison!=".$row['saison'] . " ORDER BY saison ASC");
  2292.                     $blasa = 0;
  2293.                     while($datax = $db->get_row())
  2294.                     {
  2295.                         $blasa++;
  2296.                         if($blasa == 1)
  2297.                         {
  2298.                             $moreover .=  '<h3>Saisons également disponibles pour '.$cef.':</h3>';
  2299.                         }
  2300.                         $moreover .= '<a href="/'.$datax['id'].'-'.$datax['alt_name'].'.html"><span class="otherquality">Saison <b>'.$datax['saison'].'<span style="color:#FE8903"> '.getqualite(strval($datax['qualite'])).' </span><span style="color:#03AAFE">('.getlangue(strval($datax['langue'])).')</b></span></span></a>';
  2301.                     }
  2302.                     if($blasa > 0) { $moreover .= '<br />'; }
  2303.                     $db->free();
  2304.                 }
  2305.                 $db->query("SELECT * FROM " . PREFIX . "_post WHERE idallo='".$row['idallo']."' AND saison=".$row['saison']." AND id!=".$row['id']);
  2306.                 $blasa = 0;
  2307.                 while($datax = $db->get_row())
  2308.                 {
  2309.                     $blasa++;
  2310.                     if($blasa == 1)
  2311.                     {
  2312.                         //$moreover .= utf8_encode('<h3>Qualitйs йgalement disponibles pour '.$cef.':</h3>');
  2313.                        
  2314.                         $moreover .= '<h3>Qualités également disponibles pour '.$cef.':</h3>';
  2315.                        
  2316.                        
  2317.                     }
  2318.                     $moreover .= '<a href="/'.$datax['id'].'-'.$datax['alt_name'].'.html"><span class="otherquality"><span style="color:#FE8903"><b>'.getqualite(strval($datax['qualite'])).'</b></span><span style="color:#03AAFE"><b> ('.getlangue(strval($datax['langue'])).')</b></span></span></a>';
  2319.                 }
  2320.                 if($blasa > 0) { $moreover .= '<br />'; }
  2321.                 $db->free();
  2322.                 $moreover .= '</div><div class="smallsep"></div>';
  2323.                 $addval .= '</div>';
  2324.             }
  2325.             else
  2326.             {
  2327.                 $moreover .= '<div class="otherversions" style="margin-top:10px;border-top: 1px solid #e6e6e6;text-align:left;">';
  2328.  
  2329.                 $db->query("SELECT * FROM " . PREFIX . "_post WHERE idallo='".$row['idallo']."' AND id!=".$row['id']);
  2330.                 $blasa = 0;
  2331.                 while($datax = $db->get_row())
  2332.                 {
  2333.                     $blasa++;
  2334.                     if($blasa == 1)
  2335.                     {
  2336.                         $moreover .= '<h3>Qualités également disponibles pour '.$cef.':</h3>';
  2337.                     }
  2338.                     $moreover .= '<a href="/'.$datax['id'].'-'.$datax['alt_name'].'.html"><span class="otherquality">'.getqualite(strval($datax['qualite'])).' ('.getlangue(strval($datax['langue'])).')</span></a>';
  2339.                 }
  2340.                 if($blasa > 0) { $moreover .= '<br />'; }
  2341.                 $db->free();
  2342.                 $moreover .= '</div><div class="smallsep"></div>';
  2343.                 $addval .= '</div>';
  2344.  
  2345.             }
  2346.             $serieinfo = "";
  2347.             if($row['saison'] != 0)
  2348.             {
  2349.                 $serieinfo = "<br /><br />Episode ".$bigepi." | Saison ".$row['saison']; //hothayfa
  2350.                 if ($complete==true)
  2351.                 {
  2352.                     $serieinfoo = "<br /><br />Saison ".$row['saison']." Complete";
  2353.                 }
  2354.                 else {$serieinfoo=$serieinfo;}
  2355.             }
  2356.             if( $is_logged and (($member_id['name'] == $row['autor'] and $user_group[$member_id['user_group']]['allow_edit']) or $user_group[$member_id['user_group']]['allow_all_edit']) )
  2357.             {
  2358.                 $control .= '<div class="modifino" onclick="$(\'.theselinks\').fadeToggle();">Modifier les liens</div>';
  2359.                 $control .= '';
  2360.             }
  2361.             else
  2362.             {
  2363.                 $control = '';
  2364.             }
  2365.             $prezidx = "";
  2366.             if($user_group[$member_id['user_group']]['moderation'])
  2367.             {
  2368.                 $prezidx = "<br /><b>ID Unique de la presentation: ".$row['idallo']."</b>";
  2369.             }
  2370.             if(strpos($row['full_story'], "Article genere par l") !== false)
  2371.             {
  2372.                 $findddal = "<div style=\"font-family: \'Ubuntu Condensed\',\'Segoe UI\',Verdana,Helvetica,sans-serif;font-size: 24px;letter-spacing: 0.05em;color: #ff4d00;font-weight: bold;text-align: center;margin: 25px;\">".$row['title']."</div><div style=\"font-size: 18px;margin: 10px auto;color:red;font-weight:bold;text-align:center;\"> Qualité ".getqualite($row['qualite']).' | '.getLangue($row['langue']).$serieinfo.'</div>'.fadhelbbcode($resulx['prez']);
  2373.  
  2374.                 $db->query("UPDATE " . PREFIX . "_post SET short_story='".$db->safesql($findddal)."', full_story='laissez ce champs vide' WHERE id=".$row['id']);
  2375.                 echo "<script>window.location.reload();</script>";
  2376.             }
  2377.             // $tpl->set( '{full-story}', "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;text-align:center;\"><center>" . $addval. $control .$prezidx."</center></div>");
  2378.    
  2379.            
  2380.             if(strpos($row['full_story'], "NEW") !== false)
  2381.             {
  2382.                 $qualang = "<div style=\"font-family: \'Ubuntu Condensed\',\'Segoe UI\',Verdana,Helvetica,sans-serif;font-size: 24px;letter-spacing: 0.05em;color: #ff4d00;font-weight: bold;text-align: center;margin: 25px;\">".$row['title']."</div><div style=\"font-size: 18px;margin: 10px auto;color:red;font-weight:bold;text-align:center;\"> Qualité ".getqualite($row['qualite']).' | '.getLangue($row['langue']).$serieinfoo.'</div>'
  2383.                 .'<div style="text-align:center;">';
  2384.              
  2385.               $tpl->set( '{short-story}', $moreover.$qualang.$row['short_story'].'</div>' );
  2386.                
  2387.             }
  2388.             else
  2389.             {
  2390.                  $tpl->set( '{short-story}',  $moreover.$row['short_story']);
  2391.                
  2392.             }
  2393.             $tpl->set( '{full-story}', "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;text-align:center;\"><center>" . $addval. $control .$prezidx."</center></div>");
  2394.         }
  2395.         else
  2396.         {
  2397.             $tpl->set( '{short-story}', $row['short_story'] );
  2398.             $tpl->set( '{full-story}', "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['full_story'] . "</div>");
  2399.         }
  2400.     //
  2401.  
  2402.         if ( preg_match( "#\\{full-story limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
  2403.             $count= intval($matches[1]);
  2404.            
  2405.             $row['full_story'] = preg_replace( "#<!--dle_spoiler(.+?)<!--spoiler_text-->#is", "", $row['full_story'] );
  2406.             $row['full_story'] = preg_replace( "#<!--spoiler_text_end-->(.+?)<!--/dle_spoiler-->#is", "", $row['full_story'] );
  2407.             $row['full_story'] = preg_replace( "'\[attachment=(.*?)\]'si", "", $row['full_story'] );
  2408.             $row['full_story'] = preg_replace ( "#\[hide(.*?)\](.+?)\[/hide\]#is", "", $row['full_story'] );
  2409.                
  2410.             $row['full_story'] = str_replace( "><", "> <", $row['full_story'] );
  2411.             $row['full_story'] = strip_tags( $row['full_story'], "<br>" );
  2412.             $row['full_story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $row['full_story'] ) ) ) ));
  2413.             $row['full_story'] = preg_replace('/\s+/', ' ', $row['full_story']);
  2414.  
  2415.             if( $count AND dle_strlen( $row['full_story'], $config['charset'] ) > $count ) {
  2416.                    
  2417.                 $row['full_story'] = dle_substr( $row['full_story'], 0, $count, $config['charset'] );
  2418.                    
  2419.                 if( ($temp_dmax = dle_strrpos( $row['full_story'], ' ', $config['charset'] )) ) $row['full_story'] = dle_substr( $row['full_story'], 0, $temp_dmax, $config['charset'] );
  2420.                
  2421.             }
  2422.  
  2423.             $tpl->set( $matches[0], $row['full_story'] );
  2424.  
  2425.         }
  2426.        
  2427.         $tpl->set( '{title}', str_replace("&amp;amp;", "&amp;", htmlspecialchars( $row['title'], ENT_QUOTES, $config['charset'] ) ) );
  2428.        
  2429.         if ( preg_match( "#\\{title limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
  2430.             $count= intval($matches[1]);
  2431.             $row['title'] = strip_tags( $row['title'] );
  2432.  
  2433.             if( $count AND dle_strlen( $row['title'], $config['charset'] ) > $count ) {
  2434.        
  2435.                 $row['title'] = dle_substr( $row['title'], 0, $count, $config['charset'] );
  2436.                    
  2437.                 if( ($temp_dmax = dle_strrpos( $row['title'], ' ', $config['charset'] )) ) $row['title'] = dle_substr( $row['title'], 0, $temp_dmax, $config['charset'] );
  2438.                
  2439.             }
  2440.             $tpl->set( $matches[0], str_replace("&amp;amp;", "&amp;", htmlspecialchars( $row['title'], ENT_QUOTES, $config['charset'] ) ) );
  2441.        
  2442.         }
  2443.        
  2444.         $xfieldsdata = $row['xfields'];
  2445.         $category_id = $row['category'];
  2446.        
  2447.         $tpl->compile( 'content' );
  2448.        
  2449.         if (stripos ( $tpl->result['content'], "[hide" ) !== false ) {
  2450.            
  2451.             $tpl->result['content'] = preg_replace_callback ( "#\[hide(.*?)\](.+?)\[/hide\]#is",
  2452.                 function ($matches) use ($member_id, $user_group, $lang) {
  2453.                    
  2454.                     $matches[1] = str_replace(array("=", " "), "", $matches[1]);
  2455.                     $matches[2] = $matches[2];
  2456.    
  2457.                     if( $matches[1] ) {
  2458.                        
  2459.                         $groups = explode( ',', $matches[1] );
  2460.    
  2461.                         if( in_array( $member_id['user_group'], $groups ) OR $member_id['user_group'] == "1") {
  2462.                             return $matches[2];
  2463.                         } else return "<div class=\"quote\">" . $lang['news_regus'] . "</div>";
  2464.                        
  2465.                     } else {
  2466.                        
  2467.                         if( $user_group[$member_id['user_group']]['allow_hide'] ) return $matches[2]; else return "<div class=\"quote\">" . $lang['news_regus'] . "</div>";
  2468.                        
  2469.                     }
  2470.    
  2471.             }, $tpl->result['content'] );
  2472.         }
  2473.    
  2474.         if ( $config['allow_banner'] AND count($banner_in_news) AND !$view_template ){
  2475.    
  2476.             foreach ( $banner_in_news as $name) {
  2477.                 $tpl->result['content'] = str_replace( "{banner_" . $name . "}", $banners[$name], $tpl->result['content'] );
  2478.    
  2479.                 if( $banners[$name] ) {
  2480.                     $tpl->result['content'] = str_replace ( "[banner_" . $name . "]", "", $tpl->result['content'] );
  2481.                     $tpl->result['content'] = str_replace ( "[/banner_" . $name . "]", "", $tpl->result['content'] );
  2482.                 }
  2483.             }
  2484.    
  2485.             $tpl->result['content'] = preg_replace( "'\\[banner_(.*?)\\](.*?)\\[/banner_(.*?)\\]'si", '', $tpl->result['content'] );
  2486.        
  2487.         }
  2488.        
  2489.         $news_id = $row['id'];
  2490.         $allow_comments = $row['allow_comm'];
  2491.  
  2492.         $allow_add = true;
  2493.  
  2494.         if ( $config['max_comments_days'] ) {
  2495.  
  2496.             if ($row['date'] < ($_TIME - ($config['max_comments_days'] * 3600 * 24)) )  $allow_add = false;
  2497.  
  2498.         }
  2499.        
  2500.         if( $view_template ) $allow_comments = false;
  2501.    
  2502.     }
  2503.  
  2504.     $tpl->clear();
  2505.    
  2506.     if( $config['files_allow'] AND $news_found) if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) {
  2507.         $tpl->result['content'] = show_attach( $tpl->result['content'], $news_id );
  2508.     }
  2509.  
  2510.     if( !$news_found AND !$perm AND $row['need_pass'] ) {
  2511.        
  2512.         $form_n_pass = <<<HTML
  2513. <form method="post" action="">
  2514. {$lang['enter_n_pass_1']}
  2515. <br>{status}<br>
  2516. {$lang['enter_n_pass_2']}&nbsp;&nbsp;<input type="password" name="news_password" style="width:200px">
  2517. <br><br>
  2518. <button type="submit" class="bbcodes">{$lang['enter_n_pass_3']}</button>
  2519. </form>
  2520. HTML;
  2521.  
  2522.         if( trim($_POST['news_password']) ) {
  2523.             $form_n_pass = str_replace("{status}", "<br>".$lang['enter_n_pass_4']."<br>", $form_n_pass);
  2524.         } else $form_n_pass = str_replace("{status}","", $form_n_pass);
  2525.        
  2526.         @header( "HTTP/1.1 403 Forbidden" );
  2527.         msgbox( $lang['enter_n_pass'], $form_n_pass );
  2528.        
  2529.     } elseif( !$news_found AND !$perm ) {
  2530.        
  2531.         @header( "HTTP/1.1 403 Forbidden" );
  2532.         msgbox( $lang['all_err_1'], "<b>{$user_group[$member_id['user_group']]['group_name']}</b> " . $lang['news_err_28'] );
  2533.        
  2534.     } elseif( !$news_found ) {
  2535.        
  2536.         @header( "HTTP/1.1 404 Not Found" );
  2537.        
  2538.         if( $config['own_404'] AND file_exists(ROOT_DIR . '/404.html') ) {
  2539.             @header("Content-type: text/html; charset=".$config['charset']);
  2540.             echo file_get_contents( ROOT_DIR . '/404.html' );
  2541.             die();
  2542.            
  2543.         } else msgbox( $lang['all_err_1'], $lang['news_err_12'] );
  2544.        
  2545.     }
  2546.    
  2547.     unset( $row );
  2548.    
  2549. if( $allow_comments AND $news_found) {
  2550.    
  2551.     if( $comments_num > 0 ) {
  2552.  
  2553.         include_once (DLEPlugins::Check(ENGINE_DIR . '/classes/comments.class.php'));
  2554.         $comments = new DLE_Comments( $db, $comments_num, intval($config['comm_nummers']) );
  2555.  
  2556.         if( $config['comm_msort'] == "" OR $config['comm_msort'] == "ASC" ) $comm_msort = "ASC"; else $comm_msort = "DESC";
  2557.  
  2558.         if( $config['tree_comments'] ) $comm_msort = "ASC";
  2559.        
  2560.         if( $config['allow_cmod'] ) $where_approve = " AND " . PREFIX . "_comments.approve=1";
  2561.         else $where_approve = "";
  2562.  
  2563.         $comments->query = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, " . PREFIX . "_comments.rating, " . PREFIX . "_comments.vote_num, " . PREFIX . "_comments.parent, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, lastdate, reg_date, signature, foto, fullname, land, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'" . $where_approve . " ORDER BY " . PREFIX . "_comments.id " . $comm_msort;
  2564.  
  2565.         if ( $allow_full_cache AND $config['allow_comments_cache'] ) $allow_full_cache = $news_id; else $allow_full_cache = false;
  2566.  
  2567.         $comments->build_comments('comments.tpl', 'news', $allow_full_cache, $full_link );
  2568.  
  2569.         unset ($tpl->result['comments']);
  2570.  
  2571.         if( isset($_GET['news_page']) AND $_GET['news_page'] ) $user_query = "newsid=" . $newsid . "&amp;news_page=" . intval( $_GET['news_page'] ); else $user_query = "newsid=" . $newsid;
  2572.  
  2573.         $comments->build_navigation('navigation.tpl', $link_page . "{page}," . $news_name . ".html#comment", $user_query, $full_link);     
  2574.  
  2575.         unset ($comments);
  2576.         unset ($tpl->result['commentsnavigation']);
  2577.    
  2578.     }
  2579.  
  2580.     if ($is_logged AND $config['comments_restricted'] AND (($_TIME - $member_id['reg_date']) < ($config['comments_restricted'] * 86400)) ) {
  2581.  
  2582.         $lang['news_info_6'] = str_replace( '{days}', intval($config['comments_restricted']), $lang['news_info_8'] );
  2583.         $allow_add = false;
  2584.  
  2585.     }
  2586.  
  2587.     if (!isset($member_id['restricted'])) $member_id['restricted'] = false;
  2588.    
  2589.     if( $member_id['restricted'] AND $member_id['restricted_days'] AND $member_id['restricted_date'] < $_TIME ) {
  2590.        
  2591.         $member_id['restricted'] = 0;
  2592.         $db->query( "UPDATE LOW_PRIORITY " . USERPREFIX . "_users SET restricted='0', restricted_days='0', restricted_date='' WHERE user_id='{$member_id['user_id']}'" );
  2593.    
  2594.     }
  2595.    
  2596.     if( $user_group[$member_id['user_group']]['allow_addc'] AND $config['allow_comments'] AND $allow_add AND ($member_id['restricted'] != 2 AND $member_id['restricted'] != 3) ) {
  2597.  
  2598.         if( !$comments_num ) {     
  2599.             if( strpos ( $tpl->result['content'], "<!--dlecomments-->" ) !== false ) {
  2600.    
  2601.                 $tpl->result['content'] = str_replace ( "<!--dlecomments-->", "\n<div id=\"dle-ajax-comments\"></div>\n", $tpl->result['content'] );
  2602.    
  2603.             } else $tpl->result['content'] .= "\n<div id=\"dle-ajax-comments\"></div>\n";
  2604.         }
  2605.        
  2606.         $tpl->load_template( 'addcomments.tpl' );
  2607.  
  2608.         if ($config['allow_subscribe'] AND $is_logged AND $user_group[$member_id['user_group']]['allow_subscribe']) $allow_subscribe = true; else $allow_subscribe = false;
  2609.        
  2610.         if( strpos( $tpl->copy_template, "[catlist=" ) !== false ) {
  2611.             $tpl->copy_template = preg_replace_callback ( "#\\[(catlist)=(.+?)\\](.*?)\\[/catlist\\]#is", "check_category", $tpl->copy_template );
  2612.         }
  2613.                                
  2614.         if( strpos( $tpl->copy_template, "[not-catlist=" ) !== false ) {
  2615.             $tpl->copy_template = preg_replace_callback ( "#\\[(not-catlist)=(.+?)\\](.*?)\\[/not-catlist\\]#is", "check_category", $tpl->copy_template );
  2616.         }
  2617.        
  2618.         $text='';
  2619.        
  2620.         if( $config['allow_comments_wysiwyg'] > 0 ) {
  2621.            
  2622.             $p_name = urlencode($member_id['name']);
  2623.             $p_id = 0;
  2624.             include_once (DLEPlugins::Check(ENGINE_DIR . '/editor/comments.php'));
  2625.             $bb_code = "";
  2626.             $allow_comments_ajax = true;
  2627.            
  2628.         } else {
  2629.            
  2630.             include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/bbcode.php'));
  2631.            
  2632.         }
  2633.  
  2634.         if ( $is_logged AND $user_group[$member_id['user_group']]['disable_comments_captcha'] AND $member_id['comm_num'] >= $user_group[$member_id['user_group']]['disable_comments_captcha'] ) {
  2635.        
  2636.             $user_group[$member_id['user_group']]['comments_question'] = false;
  2637.             $user_group[$member_id['user_group']]['captcha'] = false;
  2638.        
  2639.         }
  2640.  
  2641.         if( $user_group[$member_id['user_group']]['comments_question'] ) {
  2642.  
  2643.             $tpl->set( '[question]', "" );
  2644.             $tpl->set( '[/question]', "" );
  2645.  
  2646.             $question = $db->super_query("SELECT id, question FROM " . PREFIX . "_question ORDER BY RAND() LIMIT 1");
  2647.             $tpl->set( '{question}', "<span id=\"dle-question\">".htmlspecialchars( stripslashes( $question['question'] ), ENT_QUOTES, $config['charset'] )."</span>" );
  2648.  
  2649.             $_SESSION['question'] = $question['id'];
  2650.  
  2651.         } else {
  2652.  
  2653.             $tpl->set_block( "'\\[question\\](.*?)\\[/question\\]'si", "" );
  2654.             $tpl->set( '{question}', "" );
  2655.  
  2656.         }
  2657.        
  2658.         if( $user_group[$member_id['user_group']]['captcha'] ) {
  2659.  
  2660.             if ( $config['allow_recaptcha'] ) {
  2661.  
  2662.                 $tpl->set( '[recaptcha]', "" );
  2663.                 $tpl->set( '[/recaptcha]', "" );
  2664.  
  2665.                 $tpl->set( '{recaptcha}', "<div class=\"g-recaptcha\" data-sitekey=\"{$config['recaptcha_public_key']}\" data-theme=\"{$config['recaptcha_theme']}\"></div>" );
  2666.  
  2667.                 $tpl->set_block( "'\\[sec_code\\](.*?)\\[/sec_code\\]'si", "" );
  2668.                 $tpl->set( '{reg_code}', "" );
  2669.  
  2670.             } else {
  2671.  
  2672.                 $tpl->set( '[sec_code]', "" );
  2673.                 $tpl->set( '[/sec_code]', "" );
  2674.                 $path = parse_url( $config['http_home_url'] );
  2675.                 $tpl->set( '{sec_code}', "<a onclick=\"reload(); return false;\" title=\"{$lang['reload_code']}\" href=\"#\"><span id=\"dle-captcha\"><img src=\"" . $path['path'] . "engine/modules/antibot/antibot.php\" alt=\"{$lang['reload_code']}\" width=\"160\" height=\"80\"></span></a>" );
  2676.                 $tpl->set_block( "'\\[recaptcha\\](.*?)\\[/recaptcha\\]'si", "" );
  2677.                 $tpl->set( '{recaptcha}', "" );
  2678.             }
  2679.  
  2680.         } else {
  2681.             $tpl->set( '{sec_code}', "" );
  2682.             $tpl->set( '{recaptcha}', "" );
  2683.             $tpl->set_block( "'\\[recaptcha\\](.*?)\\[/recaptcha\\]'si", "" );
  2684.             $tpl->set_block( "'\\[sec_code\\](.*?)\\[/sec_code\\]'si", "" );
  2685.         }
  2686.  
  2687.         if( $config['allow_comments_wysiwyg'] > 0 ) {
  2688.  
  2689.             $tpl->set( '{editor}', $wysiwyg );
  2690.  
  2691.         } else {
  2692.             $tpl->set( '{editor}', $bb_code );
  2693.  
  2694.         }
  2695.        
  2696.         $tpl->set( '{title}', $lang['news_addcom'] );
  2697.  
  2698.         if( $vk_url ) {
  2699.             $tpl->set( '[vk]', "" );
  2700.             $tpl->set( '[/vk]', "" );
  2701.             $tpl->set( '{vk_url}', $vk_url );  
  2702.         } else {
  2703.             $tpl->set_block( "'\\[vk\\](.*?)\\[/vk\\]'si", "" );
  2704.             $tpl->set( '{vk_url}', '' );   
  2705.         }
  2706.         if( $odnoklassniki_url ) {
  2707.             $tpl->set( '[odnoklassniki]', "" );
  2708.             $tpl->set( '[/odnoklassniki]', "" );
  2709.             $tpl->set( '{odnoklassniki_url}', $odnoklassniki_url );
  2710.         } else {
  2711.             $tpl->set_block( "'\\[odnoklassniki\\](.*?)\\[/odnoklassniki\\]'si", "" );
  2712.             $tpl->set( '{odnoklassniki_url}', '' );
  2713.         }
  2714.         if( $facebook_url ) {
  2715.             $tpl->set( '[facebook]', "" );
  2716.             $tpl->set( '[/facebook]', "" );
  2717.             $tpl->set( '{facebook_url}', $facebook_url );  
  2718.         } else {
  2719.             $tpl->set_block( "'\\[facebook\\](.*?)\\[/facebook\\]'si", "" );
  2720.             $tpl->set( '{facebook_url}', '' ); 
  2721.         }
  2722.         if( $google_url ) {
  2723.             $tpl->set( '[google]', "" );
  2724.             $tpl->set( '[/google]', "" );
  2725.             $tpl->set( '{google_url}', $google_url );
  2726.         } else {
  2727.             $tpl->set_block( "'\\[google\\](.*?)\\[/google\\]'si", "" );
  2728.             $tpl->set( '{google_url}', '' );   
  2729.         }
  2730.         if( $mailru_url ) {
  2731.             $tpl->set( '[mailru]', "" );
  2732.             $tpl->set( '[/mailru]', "" );
  2733.             $tpl->set( '{mailru_url}', $mailru_url );  
  2734.         } else {
  2735.             $tpl->set_block( "'\\[mailru\\](.*?)\\[/mailru\\]'si", "" );
  2736.             $tpl->set( '{mailru_url}', '' );   
  2737.         }
  2738.         if( $yandex_url ) {
  2739.             $tpl->set( '[yandex]', "" );
  2740.             $tpl->set( '[/yandex]', "" );
  2741.             $tpl->set( '{yandex_url}', $yandex_url );
  2742.         } else {
  2743.             $tpl->set_block( "'\\[yandex\\](.*?)\\[/yandex\\]'si", "" );
  2744.             $tpl->set( '{yandex_url}', '' );
  2745.         }
  2746.        
  2747.         if ( $allow_subscribe ) {
  2748.             $tpl->set( '[comments-subscribe]', "<a href=\"#\" onclick=\"subscribe('{$news_id}'); return false;\" >" );
  2749.             $tpl->set( '[/comments-subscribe]', '</a>' );
  2750.         } else {
  2751.             $tpl->set_block( "'\\[comments-subscribe\\](.*?)\\[/comments-subscribe\\]'si", "" );
  2752.         }
  2753.        
  2754.         if( ! $is_logged ) {
  2755.             $tpl->set( '[not-logged]', '' );
  2756.             $tpl->set( '[/not-logged]', '' );
  2757.         } else $tpl->set_block( "'\\[not-logged\\](.*?)\\[/not-logged\\]'si", "" );
  2758.        
  2759.         if( $is_logged ) $hidden = "<input type=\"hidden\" name=\"name\" id=\"name\" value=\"{$member_id['name']}\"><input type=\"hidden\" name=\"mail\" id=\"mail\" value=\"\">";
  2760.         else $hidden = "";
  2761.        
  2762.         $tpl->copy_template = "<form  method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" >" . $tpl->copy_template . "
  2763.         <input type=\"hidden\" name=\"subaction\" value=\"addcomment\">{$hidden}
  2764.         <input type=\"hidden\" name=\"post_id\" id=\"post_id\" value=\"{$news_id}\"><input type=\"hidden\" name=\"user_hash\" value=\"{$dle_login_hash}\"></form>";
  2765.  
  2766.         $onload_scripts[] = <<<HTML
  2767. $('#dle-comments-form').submit(function() {
  2768.     doAddComments();
  2769.     return false;
  2770. });
  2771. HTML;
  2772.  
  2773.  
  2774.         if ( $user_group[$member_id['user_group']]['captcha'] AND $config['allow_recaptcha'] ) {
  2775.  
  2776.         $tpl->copy_template .= <<<HTML
  2777. <script src='https://www.google.com/recaptcha/api.js?hl={$lang['wysiwyg_language']}' async defer></script>
  2778. HTML;
  2779.        
  2780.         }
  2781.        
  2782.         $tpl->compile( 'addcomments' );
  2783.         $tpl->clear();
  2784.  
  2785.         if ( strpos ( $tpl->result['content'], "<!--dleaddcomments-->" ) !== false ) {
  2786.  
  2787.             $tpl->result['content'] = str_replace ( "<!--dleaddcomments-->", $tpl->result['addcomments'], $tpl->result['content'] );
  2788.  
  2789.         } else {
  2790.  
  2791.             $tpl->result['content'] .= $tpl->result['addcomments'];
  2792.  
  2793.         }
  2794.  
  2795.         unset ($tpl->result['addcomments']);
  2796.  
  2797.     } elseif( $member_id['restricted'] ) {
  2798.        
  2799.         $tpl->load_template( 'info.tpl' );
  2800.        
  2801.         if( $member_id['restricted_days'] ) {
  2802.            
  2803.             $lang['news_info_2'] = str_replace('{date}', langdate( "j F Y H:i", $member_id['restricted_date'] ), $lang['news_info_2'] );
  2804.            
  2805.             $tpl->set( '{error}', $lang['news_info_2'] );
  2806.             $tpl->set( '{date}', langdate( "j F Y H:i", $member_id['restricted_date'] ) );
  2807.        
  2808.         } else $tpl->set( '{error}', $lang['news_info_3'] );
  2809.        
  2810.         $tpl->set( '{title}', $lang['all_info'] );
  2811.         $tpl->compile( 'comments_not_allowed' );
  2812.         $tpl->clear();
  2813.  
  2814.         if ( strpos ( $tpl->result['content'], "<!--dleaddcomments-->" ) !== false ) {
  2815.  
  2816.             $tpl->result['content'] = str_replace ( "<!--dleaddcomments-->", $tpl->result['comments_not_allowed'], $tpl->result['content'] );
  2817.  
  2818.         } else {
  2819.  
  2820.             $tpl->result['content'] .= $tpl->result['comments_not_allowed'];
  2821.  
  2822.         }
  2823.  
  2824.         unset ($tpl->result['comments_not_allowed']);
  2825.        
  2826.     } elseif( !$allow_add ) {
  2827.  
  2828.         $tpl->load_template( 'info.tpl' );
  2829.         $tpl->set( '{error}', $lang['news_info_6'] );
  2830.         $tpl->set( '{days}', $config['max_comments_days'] );
  2831.         $tpl->set( '{title}', $lang['all_info'] );
  2832.         $tpl->compile( 'comments_not_allowed' );
  2833.         $tpl->clear();
  2834.  
  2835.         if ( strpos ( $tpl->result['content'], "<!--dleaddcomments-->" ) !== false ) {
  2836.  
  2837.             $tpl->result['content'] = str_replace ( "<!--dleaddcomments-->", $tpl->result['comments_not_allowed'], $tpl->result['content'] );
  2838.  
  2839.         } else {
  2840.  
  2841.             $tpl->result['content'] .= $tpl->result['comments_not_allowed'];
  2842.  
  2843.         }
  2844.  
  2845.         unset ($tpl->result['comments_not_allowed']);
  2846.    
  2847.     } elseif( $config['allow_comments'] ) {
  2848.        
  2849.         $lang['news_info_1'] = str_replace('{group}', $user_group[$member_id['user_group']]['group_name'], $lang['news_info_1'] );
  2850.        
  2851.         $tpl->load_template( 'info.tpl' );
  2852.         $tpl->set( '{error}', $lang['news_info_1'] );
  2853.         $tpl->set( '{group}', $user_group[$member_id['user_group']]['group_name'] );
  2854.         $tpl->set( '{title}', $lang['all_info'] );
  2855.         $tpl->compile( 'comments_not_allowed' );
  2856.         $tpl->clear();
  2857.        
  2858.         if ( strpos ( $tpl->result['content'], "<!--dleaddcomments-->" ) !== false ) {
  2859.  
  2860.             $tpl->result['content'] = str_replace ( "<!--dleaddcomments-->", $tpl->result['comments_not_allowed'], $tpl->result['content'] );
  2861.  
  2862.         } else {
  2863.  
  2864.             $tpl->result['content'] .= $tpl->result['comments_not_allowed'];
  2865.  
  2866.         }
  2867.  
  2868.         unset ($tpl->result['comments_not_allowed']);
  2869.    
  2870.     }
  2871. }
  2872. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement