1013 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			1013 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|  | <?php | |||
|  | if( !defined( 'DATALIFEENGINE' ) OR !defined( 'LOGGED_IN' ) ) {die( "Hacking attempt!" );} | |||
|  | 
 | |||
|  | if( ! $user_group[$member_id['user_group']]['admin_static'] ) {msg( "error", $lang['index_denied'], $lang['index_denied'] );} | |||
|  | 
 | |||
|  | include_once SYSTEM_DIR . '/classes/parse.class.php'; | |||
|  | 
 | |||
|  | $parse = new ParseFilter( Array (), Array (), 1, 1 ); | |||
|  | $parse->allow_php = true; | |||
|  | 
 | |||
|  | if( !$action ) $action = "list"; | |||
|  | 
 | |||
|  | if( $action == "list" ) { | |||
|  | 	$_SESSION['admin_referrer'] = $_SERVER['REQUEST_URI']; | |||
|  | 	echoheader( "static", "static" ); | |||
|  | 	 | |||
|  | 	$search_field = $db->safesql( trim( htmlspecialchars( stripslashes( urldecode( $_GET['search_field'] ) ), ENT_QUOTES ) ) ); | |||
|  | 	if ($_GET['fromnewsdate']) $fromnewsdate = strtotime( $_GET['fromnewsdate'] ); else $fromnewsdate = ""; | |||
|  | 	if ($_GET['tonewsdate']) $tonewsdate = strtotime( $_GET['tonewsdate'] ); else $tonewsdate = ""; | |||
|  | 
 | |||
|  |     if ($fromnewsdate === -1 OR !$fromnewsdate) $fromnewsdate = ""; | |||
|  |    	if ($tonewsdate === -1 OR !$tonewsdate)   $tonewsdate = ""; | |||
|  | 	 | |||
|  | 	$start_from = intval( $_GET['start_from'] ); | |||
|  | 	$news_per_page = intval( $_GET['news_per_page'] ); | |||
|  | 	$gopage = intval( $_REQUEST['gopage'] ); | |||
|  | 
 | |||
|  | 	if( ! $news_per_page or $news_per_page < 1 ) { | |||
|  | 		$news_per_page = 50; | |||
|  | 	} | |||
|  | 	if( $gopage ) $start_from = ($gopage - 1) * $news_per_page; | |||
|  | 	 | |||
|  | 	if( $start_from < 0 ) $start_from = 0; | |||
|  | 
 | |||
|  | 	$where = array (); | |||
|  | 	 | |||
|  | 	if( $search_field != "" ) { | |||
|  | 		 | |||
|  | 		$where[] = "(template like '%$search_field%' OR descr like '%$search_field%')"; | |||
|  | 	 | |||
|  | 	} | |||
|  | 	 | |||
|  | 	if( $fromnewsdate != "" ) { | |||
|  | 		 | |||
|  | 		$where[] = "date >= '$fromnewsdate'"; | |||
|  | 	 | |||
|  | 	} | |||
|  | 	 | |||
|  | 	if( $tonewsdate != "" ) { | |||
|  | 		 | |||
|  | 		$where[] = "date <= '$tonewsdate'"; | |||
|  | 	 | |||
|  | 	} | |||
|  | 	 | |||
|  | 	if( count( $where ) ) { | |||
|  | 		 | |||
|  | 		$where = implode( " AND ", $where ); | |||
|  | 		$where = " WHERE " . $where; | |||
|  | 	 | |||
|  | 	} else { | |||
|  | 		$where = ""; | |||
|  | 	} | |||
|  | 	 | |||
|  | 	$order_by = array (); | |||
|  | 	 | |||
|  | 	if( $_REQUEST['search_order_t'] == "asc" or $_REQUEST['search_order_t'] == "desc" ) $search_order_t = $_REQUEST['search_order_t']; | |||
|  | 	else $search_order_t = ""; | |||
|  | 	if( $_REQUEST['search_order_d'] == "asc" or $_REQUEST['search_order_d'] == "desc" ) $search_order_d = $_REQUEST['search_order_d']; | |||
|  | 	else $search_order_d = ""; | |||
|  | 	 | |||
|  | 	if( ! empty( $search_order_t ) ) {$order_by[] = "name $search_order_t";} | |||
|  | 	if( ! empty( $search_order_d ) ) {$order_by[] = "date $search_order_d";} | |||
|  | 	 | |||
|  | 	$order_by = implode( ", ", $order_by ); | |||
|  | 	if( ! $order_by ) $order_by = "date desc"; | |||
|  | 	 | |||
|  | 	$search_order_date = array ('----' => '', 'asc' => '', 'desc' => '' ); | |||
|  | 	if( isset( $_REQUEST['search_order_d'] ) ) { | |||
|  | 		$search_order_date[$search_order_d] = 'selected'; | |||
|  | 	} else { | |||
|  | 		$search_order_date['desc'] = 'selected'; | |||
|  | 	} | |||
|  | 	$search_order_title = array ('----' => '', 'asc' => '', 'desc' => '' ); | |||
|  | 	if( ! empty( $search_order_t ) ) { | |||
|  | 		$search_order_title[$search_order_t] = 'selected'; | |||
|  | 	} else { | |||
|  | 		$search_order_title['----'] = 'selected'; | |||
|  | 	} | |||
|  | 
 | |||
|  | 	$db->query( "SELECT id, name, descr, template, views, date FROM " . PREFIX . "_static" . $where . " ORDER BY " . $order_by . " LIMIT $start_from,$news_per_page" ); | |||
|  | 	 | |||
|  | 	// Prelist Entries
 | |||
|  | 	if( $start_from == "0" ) { | |||
|  | 		$start_from = ""; | |||
|  | 	} | |||
|  | 	$i = $start_from; | |||
|  | 	$entries_showed = 0; | |||
|  | 	 | |||
|  | 	$entries = ""; | |||
|  | 	 | |||
|  | 	while ( $row = $db->get_array() ) { | |||
|  | 
 | |||
|  | 		$i ++; | |||
|  | 		 | |||
|  | 		$itemdate = @date( "d.m.Y H:i", $row['date'] ); | |||
|  | 		 | |||
|  | 		$title = htmlspecialchars( stripslashes( $row['name'] ), ENT_QUOTES ); | |||
|  | 		$descr = stripslashes($row['descr']); | |||
|  | 		$vlink = $config['http_home_url'] . $row['name'] . ".html"; | |||
|  | 
 | |||
|  | 		$entries .= "<tr>
 | |||
|  | 
 | |||
|  |         <td class=\"list\" style=\"padding:4px;\" nowrap>
 | |||
|  |         $itemdate - <a title=\"{$lang[static_view]}\" class=\"list\" href=\"{$vlink}\" target=\"_blank\">$title</a></td>
 | |||
|  |         <td align=left><a title=\"{$lang[edit_static_act]}\" class=\"list\" href=\"$PHP_SELF?mod=static&action=doedit&id={$row['id']}\">$descr</a></td>
 | |||
|  |         <td align=center>{$row['views']}</td> | |||
|  |         <td align=center><input name=\"selected_news[]\" value=\"{$row['id']}\" type='checkbox' /></td>
 | |||
|  |         </tr> | |||
|  |         <tr><td background=\"system/skins/images/mline.gif\" height=1 colspan=4></td></tr>"; | |||
|  | 
 | |||
|  | 		$entries_showed ++; | |||
|  | 		 | |||
|  | 		if( $i >= $news_per_page + $start_from ) { | |||
|  | 			break; | |||
|  | 		} | |||
|  | 	} | |||
|  | 	 | |||
|  | 	// End prelisting
 | |||
|  | 	$result_count = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_static" . $where ); | |||
|  | 	 | |||
|  | 	$all_count_news = $result_count['count']; | |||
|  | 	if ( $fromnewsdate ) $fromnewsdate = date("Y-m-d", $fromnewsdate ); | |||
|  | 	if ( $tonewsdate ) $tonewsdate = date("Y-m-d", $tonewsdate ); | |||
|  | 
 | |||
|  | 	 | |||
|  | 	///////////////////////////////////////////
 | |||
|  | 	// Options Bar
 | |||
|  | 	echo <<<HTML | |||
|  | <!-- calendar stylesheet --> | |||
|  | <link rel="stylesheet" type="text/css" media="all" href="system/skins/calendar-blue.css" title="win2k-cold-1" /> | |||
|  | <script type="text/javascript" src="system/skins/calendar.js"></script> | |||
|  | <script language="javascript"> | |||
|  |     function search_submit(prm){ | |||
|  |       document.optionsbar.start_from.value=prm; | |||
|  |       document.optionsbar.submit(); | |||
|  |       return false; | |||
|  |     } | |||
|  |     function gopage_submit(prm){ | |||
|  |       document.optionsbar.start_from.value= (prm - 1) * {$news_per_page}; | |||
|  |       document.optionsbar.submit(); | |||
|  |       return false; | |||
|  |     } | |||
|  |     </script> | |||
|  | <form action="?mod=static&action=list" method="GET" name="optionsbar" id="optionsbar"> | |||
|  | <input type="hidden" name="mod" value="static"> | |||
|  | <input type="hidden" name="action" value="list"> | |||
|  | <div style="padding-top:5px;padding-bottom:2px;display:none" name="advancedsearch" id="advancedsearch"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td width="4"><img src="system/skins/images/tl_lo.gif" width="4" height="4" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_oo.gif"><img src="system/skins/images/tl_oo.gif" width="1" height="4" border="0"></td> | |||
|  |         <td width="6"><img src="system/skins/images/tl_ro.gif" width="6" height="4" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td background="system/skins/images/tl_lb.gif"><img src="system/skins/images/tl_lb.gif" width="4" height="1" border="0"></td> | |||
|  |         <td style="padding:5px;" bgcolor="#FFFFFF"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">{$lang['edit_stat']} <b>{$entries_showed}</b>   {$lang['edit_stat_1']} <b>{$all_count_news}</b></div></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | <div class="unterline"></div> | |||
|  | <table width="100%"> | |||
|  |      <tr> | |||
|  | 		<td style="padding:5px;">{$lang['edit_search_static']}</td> | |||
|  | 		<td style="padding-left:5px;"><input class="edit" name="search_field" value="{$search_field}" type="text" size="35"></td> | |||
|  | 		<td style="padding-left:5px;">{$lang['search_by_date']}</td> | |||
|  | 		<td style="padding-left:5px;">{$lang['edit_fdate']} <input type="text" name="fromnewsdate" id="fromnewsdate" size="11" maxlength="16" class="edit" value="{$fromnewsdate}"> | |||
|  | <img src="system/skins/images/img.gif"  align="absmiddle" id="f_trigger_dnews" style="cursor: pointer; border: 0" title="{$lang['edit_ecal']}"/> | |||
|  | <script type="text/javascript"> | |||
|  |     Calendar.setup({ | |||
|  |       inputField     :    "fromnewsdate",     // id of the input field
 | |||
|  |       ifFormat       :    "%Y-%m-%d",      // format of the input field
 | |||
|  |       button         :    "f_trigger_dnews",  // trigger for the calendar (button ID)
 | |||
|  |       align          :    "Br",           // alignment 
 | |||
|  | 		  timeFormat     :    "24", | |||
|  | 		  showsTime      :    false, | |||
|  |       singleClick    :    true | |||
|  |     }); | |||
|  | </script> {$lang['edit_tdate']} <input type="text" name="tonewsdate" id="tonewsdate" size="11" maxlength="16" class="edit" value="{$tonewsdate}"> | |||
|  | <img src="system/skins/images/img.gif"  align="absmiddle" id="f_trigger_tnews" style="cursor: pointer; border: 0" title="{$lang['edit_ecal']}"/> | |||
|  | <script type="text/javascript"> | |||
|  |     Calendar.setup({ | |||
|  |       inputField     :    "tonewsdate",     // id of the input field
 | |||
|  |       ifFormat       :    "%Y-%m-%d",      // format of the input field
 | |||
|  |       button         :    "f_trigger_tnews",  // trigger for the calendar (button ID)
 | |||
|  |       align          :    "Br",           // alignment 
 | |||
|  | 		  timeFormat     :    "24", | |||
|  | 		  showsTime      :    false, | |||
|  |       singleClick    :    true | |||
|  |     }); | |||
|  | </script></td> | |||
|  | 
 | |||
|  |     </tr> | |||
|  |      <tr> | |||
|  | 		<td style="padding:5px;">{$lang['static_per_page']}</td> | |||
|  | 		<td style="padding-left:5px;"><input class="edit" style="text-align: center" name="news_per_page" value="{$news_per_page}" type="text" size="10"></td> | |||
|  |     <td colspan="2"></td> | |||
|  | 
 | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td colspan="4"><div class="hr_line"></div></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td colspan="4">{$lang['static_order']}</td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td style="padding:5px;">{$lang['edit_et']}</td> | |||
|  |         <td style="padding-left:5px;"><select name="search_order_t" id="search_order_t"> | |||
|  |            <option {$search_order_title['----']} value="">{$lang['user_order_no']}</option> | |||
|  |            <option {$search_order_title['asc']} value="asc">{$lang['user_order_plus']}</option> | |||
|  |            <option {$search_order_title['desc']} value="desc">{$lang['user_order_minus']}</option> | |||
|  |             </select> | |||
|  |         </td> | |||
|  |         <td style="padding-left:5px;">{$lang['search_by_date']}</td> | |||
|  |         <td style="padding-left:5px;"><select name="search_order_d" id="search_order_d"> | |||
|  |            <option {$search_order_date['----']} value="">{$lang['user_order_no']}</option> | |||
|  |            <option {$search_order_date['asc']} value="asc">{$lang['user_order_plus']}</option> | |||
|  |            <option {$search_order_date['desc']} value="desc">{$lang['user_order_minus']}</option> | |||
|  |             </select> | |||
|  |         </td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td colspan="4"><div class="hr_line"></div></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  | 		<td style="padding:5px;"> </td> | |||
|  | 		<td colspan="3"> | |||
|  | <input type="hidden" name="start_from" id="start_from" value="{$start_from}"> | |||
|  | <input onClick="javascript:search_submit(0); return(false);" class="edit" type="submit" value="{$lang['edit_act_1']}"> | |||
|  |     </td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </td> | |||
|  |         <td background="system/skins/images/tl_rb.gif"><img src="system/skins/images/tl_rb.gif" width="6" height="1" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td><img src="system/skins/images/tl_lu.gif" width="4" height="6" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_ub.gif"><img src="system/skins/images/tl_ub.gif" width="1" height="6" border="0"></td> | |||
|  |         <td><img src="system/skins/images/tl_ru.gif" width="6" height="6" border="0"></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </div> | |||
|  | </form> | |||
|  | HTML; | |||
|  | 	// End Options Bar
 | |||
|  | 	 | |||
|  | 
 | |||
|  | 	echo <<<JSCRIPT | |||
|  | <script language='JavaScript' type="text/javascript"> | |||
|  | <!-- | |||
|  | function ckeck_uncheck_all() { | |||
|  |     var frm = document.static; | |||
|  |     for (var i=0;i<frm.elements.length;i++) { | |||
|  |         var elmnt = frm.elements[i]; | |||
|  |         if (elmnt.type=='checkbox') { | |||
|  |             if(frm.master_box.checked == true){ elmnt.checked=false; } | |||
|  |             else{ elmnt.checked=true; } | |||
|  |         } | |||
|  |     } | |||
|  |     if(frm.master_box.checked == true){ frm.master_box.checked = false; } | |||
|  |     else{ frm.master_box.checked = true; } | |||
|  | } | |||
|  | --> | |||
|  | </script> | |||
|  | JSCRIPT; | |||
|  | 	 | |||
|  | 	if( $entries_showed == 0 ) { | |||
|  | 		 | |||
|  | 		echo <<<HTML | |||
|  | <div style="padding-top:5px;padding-bottom:2px;"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td width="4"><img src="system/skins/images/tl_lo.gif" width="4" height="4" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_oo.gif"><img src="system/skins/images/tl_oo.gif" width="1" height="4" border="0"></td> | |||
|  |         <td width="6"><img src="system/skins/images/tl_ro.gif" width="6" height="4" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td background="system/skins/images/tl_lb.gif"><img src="system/skins/images/tl_lb.gif" width="4" height="1" border="0"></td> | |||
|  |         <td style="padding:5px;" bgcolor="#FFFFFF"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">{$lang['static_head']}</div></td> | |||
|  |         <td bgcolor="#EFEFEF" height="29" style="padding:5px;" align="right"><a href="javascript:ShowOrHide('advancedsearch');">{$lang['static_advanced_search']}</a></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | <div class="unterline"></div> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td style="height:50px;"><br><br><center>{$lang['edit_nostatic']}</center> | |||
|  | <br><br>   <input type="button" value="{$lang['static_new']}" class="bbcodes" onclick="document.location='$PHP_SELF?mod=static&action=addnew'"></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </td> | |||
|  |         <td background="system/skins/images/tl_rb.gif"><img src="system/skins/images/tl_rb.gif" width="6" height="1" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td><img src="system/skins/images/tl_lu.gif" width="4" height="6" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_ub.gif"><img src="system/skins/images/tl_ub.gif" width="1" height="6" border="0"></td> | |||
|  |         <td><img src="system/skins/images/tl_ru.gif" width="6" height="6" border="0"></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </div> | |||
|  | HTML; | |||
|  | 	 | |||
|  | 	} else { | |||
|  | 		 | |||
|  | 		echo <<<HTML | |||
|  | <form action="" method="post" name="static"> | |||
|  | <div style="padding-top:5px;padding-bottom:2px;"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td width="4"><img src="system/skins/images/tl_lo.gif" width="4" height="4" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_oo.gif"><img src="system/skins/images/tl_oo.gif" width="1" height="4" border="0"></td> | |||
|  |         <td width="6"><img src="system/skins/images/tl_ro.gif" width="6" height="4" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td background="system/skins/images/tl_lb.gif"><img src="system/skins/images/tl_lb.gif" width="4" height="1" border="0"></td> | |||
|  |         <td style="padding:5px;" bgcolor="#FFFFFF"> | |||
|  | 
 | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">{$lang['static_head']}</div></td> | |||
|  |         <td bgcolor="#EFEFEF" height="29" style="padding:5px;" align="right"><a href="javascript:ShowOrHide('advancedsearch');">{$lang['static_advanced_search']}</a></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | <div class="unterline"></div> | |||
|  | <table width=100%> | |||
|  | 	<tr> | |||
|  |     <td width="350" style="padding:2px;">{$lang['static_title']}</td> | |||
|  |     <td>{$lang['static_descr']}</td> | |||
|  |     <td width="100" align="center"> {$lang['st_views']} </td> | |||
|  |     <td width="10" align="center"><input type="checkbox" name="master_box" title="{$lang['edit_selall']}" onclick="javascript:ckeck_uncheck_all()"></td> | |||
|  | 	</tr> | |||
|  | 	<tr><td colspan="4"><div class="hr_line"></div></td></tr> | |||
|  | 	{$entries} | |||
|  | 	<tr><td colspan="4"><div class="hr_line"></div></td></tr> | |||
|  | </table> | |||
|  | HTML; | |||
|  | 		 | |||
|  | 		// pagination
 | |||
|  | 
 | |||
|  | 		$npp_nav = "<div class=\"news_navigation\" style=\"margin-bottom:5px; margin-top:5px;\">"; | |||
|  | 		 | |||
|  | 		if( $start_from > 0 ) { | |||
|  | 			$previous = $start_from - $news_per_page; | |||
|  | 			$npp_nav .= "<a onClick=\"javascript:search_submit($previous); return(false);\" href=\"#\" title=\"{$lang['edit_prev']}\"><<</a> "; | |||
|  | 		} | |||
|  | 		 | |||
|  | 		if( $all_count_news > $news_per_page ) { | |||
|  | 			 | |||
|  | 			$enpages_count = @ceil( $all_count_news / $news_per_page ); | |||
|  | 			$enpages_start_from = 0; | |||
|  | 			$enpages = ""; | |||
|  | 			 | |||
|  | 			if( $enpages_count <= 10 ) { | |||
|  | 				 | |||
|  | 				for($j = 1; $j <= $enpages_count; $j ++) { | |||
|  | 					 | |||
|  | 					if( $enpages_start_from != $start_from ) { | |||
|  | 						 | |||
|  | 						$enpages .= "<a onClick=\"javascript:search_submit($enpages_start_from); return(false);\" href=\"#\">$j</a> "; | |||
|  | 					 | |||
|  | 					} else { | |||
|  | 						 | |||
|  | 						$enpages .= "<span>$j</span> "; | |||
|  | 					} | |||
|  | 					 | |||
|  | 					$enpages_start_from += $news_per_page; | |||
|  | 				} | |||
|  | 				 | |||
|  | 				$npp_nav .= $enpages; | |||
|  | 			 | |||
|  | 			} else { | |||
|  | 				 | |||
|  | 				$start = 1; | |||
|  | 				$end = 10; | |||
|  | 				 | |||
|  | 				if( $start_from > 0 ) { | |||
|  | 					 | |||
|  | 					if( ($start_from / $news_per_page) > 4 ) { | |||
|  | 						 | |||
|  | 						$start = @ceil( $start_from / $news_per_page ) - 3; | |||
|  | 						$end = $start + 9; | |||
|  | 						 | |||
|  | 						if( $end > $enpages_count ) { | |||
|  | 							$start = $enpages_count - 10; | |||
|  | 							$end = $enpages_count - 1; | |||
|  | 						} | |||
|  | 						 | |||
|  | 						$enpages_start_from = ($start - 1) * $news_per_page; | |||
|  | 					 | |||
|  | 					} | |||
|  | 				 | |||
|  | 				} | |||
|  | 				 | |||
|  | 				if( $start > 2 ) { | |||
|  | 					 | |||
|  | 					$enpages .= "<a onClick=\"javascript:search_submit(0); return(false);\" href=\"#\">1</a> ... "; | |||
|  | 				 | |||
|  | 				} | |||
|  | 				 | |||
|  | 				for($j = $start; $j <= $end; $j ++) { | |||
|  | 					 | |||
|  | 					if( $enpages_start_from != $start_from ) { | |||
|  | 						 | |||
|  | 						$enpages .= "<a onClick=\"javascript:search_submit($enpages_start_from); return(false);\" href=\"#\">$j</a> "; | |||
|  | 					 | |||
|  | 					} else { | |||
|  | 						 | |||
|  | 						$enpages .= "<span>$j</span> "; | |||
|  | 					} | |||
|  | 					 | |||
|  | 					$enpages_start_from += $news_per_page; | |||
|  | 				} | |||
|  | 				 | |||
|  | 				$enpages_start_from = ($enpages_count - 1) * $news_per_page; | |||
|  | 				$enpages .= "... <a onClick=\"javascript:search_submit($enpages_start_from); return(false);\" href=\"#\">$enpages_count</a> "; | |||
|  | 				 | |||
|  | 				$npp_nav .= $enpages; | |||
|  | 			 | |||
|  | 			} | |||
|  | 		 | |||
|  | 		} | |||
|  | 		 | |||
|  | 		if( $all_count_news > $i ) { | |||
|  | 			$how_next = $all_count_news - $i; | |||
|  | 			if( $how_next > $news_per_page ) { | |||
|  | 				$how_next = $news_per_page; | |||
|  | 			} | |||
|  | 			$npp_nav .= "<a onClick=\"javascript:search_submit($i); return(false);\" href=\"#\" title=\"{$lang['edit_next']}\">>></a>"; | |||
|  | 		} | |||
|  | 		 | |||
|  | 		$npp_nav .= "</div>"; | |||
|  | 		 | |||
|  | 		// pagination
 | |||
|  | 		 | |||
|  | 
 | |||
|  | 		if( $entries_showed != 0 ) { | |||
|  | 			echo <<<HTML | |||
|  | <table width=100%> | |||
|  | <tr><td>{$npp_nav}</td> | |||
|  | <td align="right" valign="top"><div style="margin-bottom:5px; margin-top:5px;"> | |||
|  | <select name="action"> | |||
|  | <option value="">{$lang['edit_selact']}</option> | |||
|  | <option value="mass_date">{$lang['mass_edit_date']}</option> | |||
|  | <option value="mass_clear_count">{$lang['mass_clear_count']}</option> | |||
|  | <option value="mass_delete">{$lang['edit_seldel']}</option> | |||
|  | </select> | |||
|  | <input type="hidden" name="mod" value="mass_static_actions"> | |||
|  | <input type="hidden" name="user_hash" value="$dle_login_hash" /> | |||
|  | <input class="edit" type="submit" value="{$lang['b_start']}"> | |||
|  | </div></form><td></tr> | |||
|  | HTML; | |||
|  | 			 | |||
|  | 			if( $all_count_news > $news_per_page ) { | |||
|  | 				 | |||
|  | 				echo <<<HTML | |||
|  | <tr><td colspan="2"> | |||
|  | {$lang['edit_go_page']} <input class="edit" style="text-align: center" name="gopage" id="gopage" value="" type="text" size="3"> <input onClick="javascript:gopage_submit(document.getElementById('gopage').value); return(false);" class="edit" type="button" value=" ok "> | |||
|  | </td></tr> | |||
|  | HTML; | |||
|  | 			 | |||
|  | 			} | |||
|  | 		 | |||
|  | 		} | |||
|  | 		 | |||
|  | 		echo <<<HTML | |||
|  | <tr><td colspan="2"> | |||
|  |    <input type="button" value="{$lang['static_new']}" class="bbcodes" onclick="document.location='$PHP_SELF?mod=static&action=addnew'"> | |||
|  | </td></tr> | |||
|  | 	</table> | |||
|  | 
 | |||
|  | </td> | |||
|  |         <td background="system/skins/images/tl_rb.gif"><img src="system/skins/images/tl_rb.gif" width="6" height="1" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td><img src="system/skins/images/tl_lu.gif" width="4" height="6" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_ub.gif"><img src="system/skins/images/tl_ub.gif" width="1" height="6" border="0"></td> | |||
|  |         <td><img src="system/skins/images/tl_ru.gif" width="6" height="6" border="0"></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </div> | |||
|  | HTML; | |||
|  | 	 | |||
|  | 	} | |||
|  | 	 | |||
|  | 	echofooter(); | |||
|  | 
 | |||
|  | } elseif( $action == "addnew" ) { | |||
|  | 
 | |||
|  | 	echoheader( "static", "static" ); | |||
|  | 	 | |||
|  | 	echo "
 | |||
|  |     <SCRIPT LANGUAGE=\"JavaScript\">
 | |||
|  |     function preview(){";
 | |||
|  | 	 | |||
|  | 	echo "if(document.static.template.value == '' || document.static.description.value == '' || document.static.name.value == ''){ alert('$lang[static_err_1]'); }
 | |||
|  |     else{ | |||
|  |         dd=window.open('','prv','height=400,width=750,resizable=1,scrollbars=1') | |||
|  |         document.static.mod.value='preview';document.static.target='prv' | |||
|  |         document.static.submit(); dd.focus() | |||
|  |         setTimeout(\"document.static.mod.value='static';document.static.target='_self'\",500)
 | |||
|  |     } | |||
|  |     } | |||
|  |     onload=focus;function focus(){document.forms[0].name.focus();} | |||
|  | 
 | |||
|  |     function auto_keywords ( key ) | |||
|  | 	{ | |||
|  | 		var short_txt = document.getElementById('template').value; | |||
|  | 		ShowLoading(''); | |||
|  | 		$.post(\"system/ajax/keywords.php\", { short_txt: short_txt, key: key }, function(data){
 | |||
|  | 			HideLoading(''); | |||
|  | 			if (key == 1) { $('#autodescr').val(data); } | |||
|  | 			else { $('#keywords').val(data); } | |||
|  | 		}); | |||
|  | 		return false; | |||
|  | 	} | |||
|  |     </SCRIPT>";
 | |||
|  | 	 | |||
|  | 	echo "<form method=post name=\"static\" id=\"static\" onsubmit=\"if(document.static.name.value == '' || document.static.description.value == '' || document.static.template.value == ''){alert('$lang[vote_alert]');return false}\" action=\"\">"; | |||
|  | 	 | |||
|  | 	echo <<<HTML | |||
|  | <!-- calendar stylesheet --> | |||
|  | <link rel="stylesheet" type="text/css" media="all" href="system/skins/calendar-blue.css" title="win2k-cold-1" /> | |||
|  | <script type="text/javascript" src="system/skins/calendar.js"></script> | |||
|  | <script type="text/javascript" src="system/skins/tabs.js"></script> | |||
|  | <div id='loading-layer' style='display:none;font-family: Verdana;font-size: 11px;width:200px;height:50px;background:#FFF;padding:10px;text-align:center;border:1px solid #000'><div style='font-weight:bold' id='loading-layer-text'>{$lang['ajax_info']}</div><br /><img src='system/ajax/loading.gif'  border='0' /></div> | |||
|  | <div style="padding-top:5px;padding-bottom:2px;"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td width="4"><img src="system/skins/images/tl_lo.gif" width="4" height="4" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_oo.gif"><img src="system/skins/images/tl_oo.gif" width="1" height="4" border="0"></td> | |||
|  |         <td width="6"><img src="system/skins/images/tl_ro.gif" width="6" height="4" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td background="system/skins/images/tl_lb.gif"><img src="system/skins/images/tl_lb.gif" width="4" height="1" border="0"></td> | |||
|  |         <td style="padding:5px;" bgcolor="#FFFFFF"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">{$lang['static_a']}</div></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | <div class="unterline"></div> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td width="150" style="padding:2px;">{$lang['static_title']}</td> | |||
|  |         <td style="padding:2px;"><input type="text" name="name" size="25"  class="edit"><a href="#" class="hintanchor" onMouseover="showhint('{$lang[hint_stitle]}', this, event, '250px')">[?]</a></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;">{$lang['static_descr']}</td> | |||
|  |         <td style="padding:2px;"><input type="text" name="description" size="55"  class="edit"><a href="#" class="hintanchor" onMouseover="showhint('{$lang[hint_sdesc]}', this, event, '250px')">[?]</a></td> | |||
|  |     </tr> | |||
|  | 
 | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;">{$lang['edit_edate']}</td> | |||
|  |         <td style="padding:2px;"><input type="text" name="newdate" id="f_date_c" size="20"  class=edit value=""> | |||
|  | <img src="system/skins/images/img.gif"  align="absmiddle" id="f_trigger_c" style="cursor: pointer; border: 0" title="{$lang['edit_ecal']}"/> <input type="checkbox" name="allow_now" id="allow_now" value="yes" checked> {$lang['edit_jdate']} | |||
|  | <script type="text/javascript"> | |||
|  |     Calendar.setup({ | |||
|  |         inputField     :    "f_date_c",     // id of the input field
 | |||
|  |         ifFormat       :    "%Y-%m-%d %H:%M",      // format of the input field
 | |||
|  |         button         :    "f_trigger_c",  // trigger for the calendar (button ID)
 | |||
|  |         align          :    "Br",           // alignment 
 | |||
|  | 		timeFormat     :    "24", | |||
|  | 		showsTime      :    true, | |||
|  |         singleClick    :    true | |||
|  |     }); | |||
|  | </script></td> | |||
|  |     </tr> | |||
|  | 
 | |||
|  | HTML; | |||
|  | 	 | |||
|  | 		include (SYSTEM_DIR . '/inc/include/inserttag.php'); | |||
|  | 		 | |||
|  | 		echo <<<HTML | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;">{$lang['static_templ']}</td> | |||
|  |         <td style="padding-left:2px;">{$bb_code}<textarea style="width:98%; height:300px;" name="template" id="template"  onclick=setFieldName(this.name)></textarea><script type=text/javascript>var selField  = "template";</script></td> | |||
|  |     </tr> | |||
|  | HTML; | |||
|  | 	 | |||
|  | 	$fix_br = "<input type=\"radio\" name=\"allow_br\" value=\"1\" checked=\"checked\" /> {$lang['static_br_html']}<br /><input type=\"radio\" name=\"allow_br\" value=\"0\" /> {$lang['static_br_html_1']}"; | |||
|  | 
 | |||
|  | 	if ($member_id['user_group'] == 1 ) $fix_br .= "<br /><input type=\"radio\" name=\"allow_br\" value=\"2\" /> {$lang['static_br_html_2']}"; | |||
|  | 
 | |||
|  | 	$groups = get_groups(); | |||
|  | 
 | |||
|  | 	echo <<<HTML | |||
|  | 		<tr><td>{$lang['static_type']}</td><td>{$fix_br}</td></tr> | |||
|  | 		<tr><td colspan="2"><div class="hr_line"></div></td></tr> | |||
|  | 	    <tr> | |||
|  | 	        <td> </td> | |||
|  | 	        <td>{$lang['add_metatags']}<a href="#" class="hintanchor" onMouseover="showhint('{$lang['hint_metas']}', this, event, '220px')">[?]</a></td> | |||
|  | 	    </tr> | |||
|  | 	    <tr> | |||
|  | 	        <td height="29" style="padding-left:5px;">{$lang['meta_title']}</td> | |||
|  | 	        <td><input type="text" name="meta_title" style="width:388px;" class="edit"></td> | |||
|  | 	    </tr> | |||
|  | 	    <tr> | |||
|  | 	        <td height="29" style="padding-left:5px;">{$lang['meta_descr']}</td> | |||
|  | 	        <td><input type="text" name="descr" id="autodescr" style="width:388px;" class="edit"> ({$lang['meta_descr_max']})</td> | |||
|  | 	    </tr> | |||
|  | 	    <tr> | |||
|  | 	        <td height="29" style="padding-left:5px;">{$lang['meta_keys']}</td> | |||
|  | 	        <td><textarea name="keywords" id='keywords' style="width:388px;height:70px;" class="bk"></textarea><br /> | |||
|  | 			<input onClick="auto_keywords(1)" type="button" class="buttons" value="{$lang['btn_descr']}" style="width:170px;">  | |||
|  | 			<input onClick="auto_keywords(2)" type="button" class="buttons" value="{$lang['btn_keyword']}" style="width:210px;"> | |||
|  |             </td> | |||
|  | 	    </tr> | |||
|  | 		<tr><td colspan="2"><div class="hr_line"></div></td></tr> | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;">{$lang['stat_allow']}</td> | |||
|  |         <td style="padding:2px;"><select name="grouplevel[]" style="width:150px;height:93px;" multiple><option value="all" selected>{$lang['edit_all']}</option>{$groups}</select></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;"> </td> | |||
|  |         <td><br /><br /><input type="submit" value="{$lang['user_save']}" class="buttons" style="width:100px;">   <input onClick="preview()" type="button" class="buttons" value="{$lang['btn_preview']}" style="width:100px;"> | |||
|  | 	<input type=hidden name="action" value="dosavenew"> | |||
|  | 	<input type=hidden name="mod" value="static"> | |||
|  | 	<input type=hidden name="preview_mode" value="static" > | |||
|  | 	<input type="hidden" name="user_hash" value="$dle_login_hash" /> | |||
|  | 	<br><br></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </td> | |||
|  |         <td background="system/skins/images/tl_rb.gif"><img src="system/skins/images/tl_rb.gif" width="6" height="1" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td><img src="system/skins/images/tl_lu.gif" width="4" height="6" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_ub.gif"><img src="system/skins/images/tl_ub.gif" width="1" height="6" border="0"></td> | |||
|  |         <td><img src="system/skins/images/tl_ru.gif" width="6" height="6" border="0"></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </div></form> | |||
|  | HTML; | |||
|  | 	 | |||
|  | 	echofooter(); | |||
|  | } elseif( $action == "dosavenew" ) { | |||
|  | 	 | |||
|  | 	if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) { | |||
|  | 		die( "Hacking attempt! User not found" ); | |||
|  | 	} | |||
|  | 
 | |||
|  | 	$allow_br = intval( $_POST['allow_br'] ); | |||
|  | 	if ($member_id['user_group'] != 1 AND $allow_br > 1 ) $allow_br = 1; | |||
|  | 
 | |||
|  | 	if ($allow_br == 2) { | |||
|  | 		if( function_exists( "get_magic_quotes_gpc" ) && get_magic_quotes_gpc() ) $_POST['template'] = stripslashes( $_POST['template'] ); | |||
|  | 		$template = trim( addslashes( $_POST['template'] ) ); | |||
|  | 	} else { | |||
|  | 		$template = $parse->process( $_POST['template'] ); | |||
|  |         $template = $parse->BB_Parse( $template, false ); | |||
|  | 	} | |||
|  | 
 | |||
|  | 	$metatags = create_metatags( $template ); | |||
|  | 	$name = trim( totranslit( $_POST['name'], true, false ) ); | |||
|  | 	$descr = trim( $db->safesql( htmlspecialchars( $_POST['description'] ) ) ); | |||
|  | 	$template = $db->safesql( $template ); | |||
|  | 	$newdate = $_POST['newdate']; | |||
|  |     if( isset( $_POST['allow_now'] ) ) $allow_now = $_POST['allow_now']; else $allow_now = ""; | |||
|  | 	 | |||
|  | 	$name = str_replace( "-", "_", $name ); | |||
|  | 	 | |||
|  | 	if( ! count( $_POST['grouplevel'] ) ) $_POST['grouplevel'] = array ("all" ); | |||
|  | 	$grouplevel = $db->safesql( implode( ',', $_POST['grouplevel'] ) ); | |||
|  | 
 | |||
|  |   // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  | 	$added_time = time() + ($config['date_adjust'] * 60); | |||
|  | 	$newsdate = strtotime( $newdate ); | |||
|  | 
 | |||
|  | 	if( ($allow_now == "yes") or ($newsdate === - 1) or (trim( $newdate ) == "") ) { | |||
|  | 		$thistime = $added_time; | |||
|  | 	} else { | |||
|  | 		$thistime = $newsdate; | |||
|  | 		if( ! intval( $config['no_date'] ) and $newsdate > $added_time ) $thistime = $added_time; | |||
|  | 	} | |||
|  | 					 | |||
|  | 	if( $name == "" or $descr == "" or $template == "" ) msg( "error", $lang['static_err'], $lang['static_err_1'], "javascript:history.go(-1)" ); | |||
|  | 
 | |||
|  | 	$static_count = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_static WHERE name='$name'" ); | |||
|  | 
 | |||
|  | 	if ($static_count['count']) msg( "error", $lang['static_err'], $lang['static_err_2'], "javascript:history.go(-1)" ); | |||
|  | 	 | |||
|  | 	$db->query( "INSERT INTO " . PREFIX . "_static (name, descr, template, allow_br, grouplevel, metadescr, metakeys, date, metatitle) values ('$name', '$descr', '$template', '$allow_br', '$grouplevel', '{$metatags['description']}', '{$metatags['keywords']}', '{$thistime}', '{$metatags['title']}')" ); | |||
|  | 	$row = $db->insert_id(); | |||
|  | 	$db->query( "UPDATE " . PREFIX . "_static_files SET static_id='{$row}' WHERE author = '{$member_id['name']}' AND static_id = '0'" ); | |||
|  | 	 | |||
|  | 	msg( "info", $lang['static_addok'], $lang['static_addok_1'], "?mod=static" ); | |||
|  | 
 | |||
|  | } elseif( $action == "doedit" ) { | |||
|  | 	$id = intval( $_GET['id'] ); | |||
|  | 	$row = $db->super_query( "SELECT * FROM " . PREFIX . "_static where id='$id'" ); | |||
|  | 	if ($row['allow_br'] == 2) { | |||
|  | 		if ($member_id['user_group'] != 1) msg( "error", $lang['index_denied'], $lang['static_not_allowed'] ); | |||
|  | 		$row['template'] = htmlspecialchars( stripslashes( $row['template'] ) ); | |||
|  | 	} else { | |||
|  | 			$row['template'] = $parse->decodeBBCodes( $row['template'], false ); | |||
|  | 	} | |||
|  | 	 | |||
|  | 	$row['descr'] = stripslashes($row['descr']); | |||
|  | 	$row['metatitle'] = stripslashes( $row['metatitle'] ); | |||
|  | 	$itemdate = @date( "Y-m-d H:i", $row['date'] ); | |||
|  | 	 | |||
|  | 	echoheader( "static", "static" ); | |||
|  | 	 | |||
|  | 	echo <<<HTML | |||
|  | <!-- calendar stylesheet --> | |||
|  | <link rel="stylesheet" type="text/css" media="all" href="system/skins/calendar-blue.css" title="win2k-cold-1" /> | |||
|  | <script type="text/javascript" src="system/skins/calendar.js"></script> | |||
|  | <script type="text/javascript" src="system/skins/tabs.js"></script> | |||
|  | <script language="javascript"> | |||
|  | 
 | |||
|  | function CheckStatus(Form){ | |||
|  | 	if(Form.allow_date.checked) { | |||
|  | 		Form.allow_now.disabled = true; | |||
|  | 		Form.allow_now.checked = false; | |||
|  | 	} else { | |||
|  | 		Form.allow_now.disabled = false; | |||
|  | 	} | |||
|  | } | |||
|  | 
 | |||
|  | function confirmdelete(id) { | |||
|  |     var agree=confirm("{$lang['static_confirm']}"); | |||
|  |     if (agree) | |||
|  |     document.location="{$PHP_SELF}?mod=static&action=dodelete&user_hash={$dle_login_hash}&id="+id; | |||
|  | } | |||
|  | </script> | |||
|  | HTML; | |||
|  | 
 | |||
|  | 	echo "
 | |||
|  |     <SCRIPT LANGUAGE=\"JavaScript\">
 | |||
|  |     function preview(){";
 | |||
|  | 	 | |||
|  | 	echo "if(document.static.template.value == ''){ alert('$lang[static_err_1]'); }
 | |||
|  |     else{ | |||
|  |         dd=window.open('','prv','height=400,width=750,resizable=1,scrollbars=1') | |||
|  |         document.static.mod.value='preview';document.static.target='prv' | |||
|  |         document.static.submit(); dd.focus() | |||
|  |         setTimeout(\"document.static.mod.value='static';document.static.target='_self'\",500)
 | |||
|  |     } | |||
|  |     } | |||
|  | 
 | |||
|  |     function auto_keywords ( key ) | |||
|  | 	{ | |||
|  | 
 | |||
|  | 		var short_txt = document.getElementById('template').value; | |||
|  | 		ShowLoading(''); | |||
|  | 		$.post(\"system/ajax/keywords.php\", { short_txt: short_txt, key: key }, function(data){
 | |||
|  | 			HideLoading(''); | |||
|  | 			if (key == 1) { $('#autodescr').val(data); } | |||
|  | 			else { $('#keywords').val(data); } | |||
|  | 		}); | |||
|  | 		return false; | |||
|  | 	} | |||
|  |     </SCRIPT>";
 | |||
|  | 	 | |||
|  | 		echo "<form method=post name=\"static\" id=\"static\" onsubmit=\"if(document.static.name.value == '' || document.static.description.value == '' || document.static.template.value == ''){alert('$lang[vote_alert]');return false}\" action=\"\">"; | |||
|  | 	 | |||
|  | 	echo <<<HTML | |||
|  | <div id='loading-layer' style='display:none;font-family: Verdana;font-size: 11px;width:200px;height:50px;background:#FFF;padding:10px;text-align:center;border:1px solid #000'><div style='font-weight:bold' id='loading-layer-text'>{$lang['ajax_info']}</div><br /><img src='system/ajax/loading.gif'  border='0' /></div> | |||
|  | <div style="padding-top:5px;padding-bottom:2px;"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td width="4"><img src="system/skins/images/tl_lo.gif" width="4" height="4" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_oo.gif"><img src="system/skins/images/tl_oo.gif" width="1" height="4" border="0"></td> | |||
|  |         <td width="6"><img src="system/skins/images/tl_ro.gif" width="6" height="4" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td background="system/skins/images/tl_lb.gif"><img src="system/skins/images/tl_lb.gif" width="4" height="1" border="0"></td> | |||
|  |         <td style="padding:5px;" bgcolor="#FFFFFF"> | |||
|  | <table width="100%"> | |||
|  |     <tr> | |||
|  |         <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">{$lang['static_edit']}</div></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | <div class="unterline"></div> | |||
|  | <table width="100%"> | |||
|  | HTML; | |||
|  | 	 | |||
|  | echo <<<HTML | |||
|  |     <tr> | |||
|  |         <td width="150" style="padding:2px;">{$lang['static_title']}</td> | |||
|  |         <td style="padding:2px;"><input type="text" name="name" size="25"  class="edit" value="{$row['name']}"><a href="#" class="hintanchor" onMouseover="showhint('{$lang[hint_stitle]}', this, event, '250px')">[?]</a></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;">{$lang['static_descr']}</td> | |||
|  |         <td style="padding:2px;"><input type="text" name="description" size="55"  class="edit" value="{$row['descr']}"><a href="#" class="hintanchor" onMouseover="showhint('{$lang[hint_sdesc]}', this, event, '250px')">[?]</a></td> | |||
|  |     </tr> | |||
|  | HTML; | |||
|  | 	 | |||
|  | 		echo <<<HTML | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;">{$lang['edit_edate']}</td> | |||
|  |         <td style="padding:2px;"><input type="text" name="newdate" id="f_date_c" size="20"  class=edit value="{$itemdate}"> | |||
|  | <img src="system/skins/images/img.gif"  align="absmiddle" id="f_trigger_c" style="cursor: pointer; border: 0" title="{$lang['edit_ecal']}"/> <input type="checkbox" name="allow_date" id="allow_date" value="yes" onclick="CheckStatus(static)" checked> {$lang['edit_ndate']} <input type="checkbox" name="allow_now" id="allow_now" value="yes" disabled> {$lang['edit_jdate']} | |||
|  | <script type="text/javascript"> | |||
|  |     Calendar.setup({ | |||
|  |         inputField     :    "f_date_c",     // id of the input field
 | |||
|  |         ifFormat       :    "%Y-%m-%d %H:%M",      // format of the input field
 | |||
|  |         button         :    "f_trigger_c",  // trigger for the calendar (button ID)
 | |||
|  |         align          :    "Br",           // alignment 
 | |||
|  | 		timeFormat     :    "24", | |||
|  | 		showsTime      :    true, | |||
|  |         singleClick    :    true | |||
|  |     }); | |||
|  | </script></td> | |||
|  |     </tr> | |||
|  | HTML; | |||
|  | 
 | |||
|  | 
 | |||
|  | 		include (SYSTEM_DIR . '/inc/include/inserttag.php'); | |||
|  | 		 | |||
|  | 		echo <<<HTML | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;">{$lang['static_templ']}</td> | |||
|  |         <td style="padding:2px;">{$bb_code}<textarea style="width:98%; height:300px;" name="template" id="template"  onclick=setFieldName(this.name)>{$row['template']}</textarea><script type=text/javascript>var selField  = "template";</script></td> | |||
|  |     </tr> | |||
|  | HTML; | |||
|  | 	 | |||
|  | 	$check = array(); | |||
|  | 
 | |||
|  | 	$check[$row['allow_br']] = "checked=\"checked\""; | |||
|  | 
 | |||
|  | 	$fix_br = "<input type=\"radio\" name=\"allow_br\" value=\"1\" {$check[1]} /> {$lang['static_br_html']}<br /><input type=\"radio\" name=\"allow_br\" value=\"0\" {$check[0]} /> {$lang['static_br_html_1']}"; | |||
|  | 
 | |||
|  | 	if ($member_id['user_group'] == 1 ) $fix_br .= "<br /><input type=\"radio\" name=\"allow_br\" value=\"2\" {$check[2]} /> {$lang['static_br_html_2']}"; | |||
|  | 
 | |||
|  | 	$groups = get_groups( explode( ',', $row['grouplevel'] ) ); | |||
|  | 	if( $row['grouplevel'] == "all" ) $check_all = "selected"; | |||
|  | 	else $check_all = ""; | |||
|  | 	 | |||
|  | 	echo <<<HTML | |||
|  | 		<tr><td>{$lang['static_type']}</td><td>{$fix_br}</td></tr> | |||
|  | 		<tr><td colspan="2"><div class="hr_line"></div></td></tr> | |||
|  | 	    <tr> | |||
|  | 	        <td> </td> | |||
|  | 	        <td>{$lang['add_metatags']}<a href="#" class="hintanchor" onMouseover="showhint('{$lang['hint_metas']}', this, event, '220px')">[?]</a></td> | |||
|  | 	    </tr> | |||
|  | 	    <tr> | |||
|  | 	        <td height="29" style="padding-left:5px;">{$lang['meta_title']}</td> | |||
|  | 	        <td><input type="text" name="meta_title" style="width:388px;" class="edit" value="{$row['metatitle']}"></td> | |||
|  | 	    </tr> | |||
|  | 	    <tr> | |||
|  | 	        <td height="29" style="padding-left:5px;">{$lang['meta_descr']}</td> | |||
|  | 	        <td><input type="text" name="descr" style="width:388px;" class="edit" value="{$row['metadescr']}"> ({$lang['meta_descr_max']})</td> | |||
|  | 	    </tr> | |||
|  | 	    <tr> | |||
|  | 	        <td height="29" style="padding-left:5px;">{$lang['meta_keys']}</td> | |||
|  | 	        <td><textarea name="keywords" id='keywords' style="width:388px;height:70px;" class="bk">{$row['metakeys']}</textarea><br /> | |||
|  | 			<input onClick="auto_keywords(1)" type="button" class="buttons" value="{$lang['btn_descr']}" style="width:170px;">  | |||
|  | 			<input onClick="auto_keywords(2)" type="button" class="buttons" value="{$lang['btn_keyword']}" style="width:210px;"> | |||
|  |             </td> | |||
|  | 	    </tr> | |||
|  | 		<tr><td colspan="2"><div class="hr_line"></div></td></tr> | |||
|  | HTML; | |||
|  | 	 | |||
|  | 	echo <<<HTML | |||
|  |     <tr> | |||
|  |         <td style="padding:2px;"> </td> | |||
|  |         <td><br> <input type="submit" value="{$lang['user_save']}" class="buttons" style="width:100px;">   <input onClick="preview()" type="button" class="buttons" value="{$lang['btn_preview']}" style="width:100px;">   <input onClick="confirmdelete('{$row['id']}'); return(false)" type="button" class="buttons" value="{$lang['edit_dnews']}" style="width:100px;"> | |||
|  | 	<input type="hidden" name="action" value="dosaveedit"> | |||
|  | 	<input type=hidden name="mod" value="static"> | |||
|  | 	<input type=hidden name="preview_mode" value="static" > | |||
|  | 	<input type="hidden" name="user_hash" value="$dle_login_hash" /> | |||
|  | 	<input type="hidden" name="static_date" value="{$row['date']}" /> | |||
|  | 	<input type="hidden" name="id" value="{$id}"> | |||
|  | 	<br><br></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </td> | |||
|  |         <td background="system/skins/images/tl_rb.gif"><img src="system/skins/images/tl_rb.gif" width="6" height="1" border="0"></td> | |||
|  |     </tr> | |||
|  |     <tr> | |||
|  |         <td><img src="system/skins/images/tl_lu.gif" width="4" height="6" border="0"></td> | |||
|  |         <td background="system/skins/images/tl_ub.gif"><img src="system/skins/images/tl_ub.gif" width="1" height="6" border="0"></td> | |||
|  |         <td><img src="system/skins/images/tl_ru.gif" width="6" height="6" border="0"></td> | |||
|  |     </tr> | |||
|  | </table> | |||
|  | </div></form> | |||
|  | HTML; | |||
|  | 	 | |||
|  | 	echofooter(); | |||
|  | } elseif( $action == "dosaveedit" ) { | |||
|  | 	 | |||
|  | 	if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) { | |||
|  | 		 | |||
|  | 		die( "Hacking attempt! User not found" ); | |||
|  | 	 | |||
|  | 	} | |||
|  | 
 | |||
|  | 	$allow_br = intval( $_POST['allow_br'] ); | |||
|  | 	if ($member_id['user_group'] != 1 AND $allow_br > 1 ) $allow_br = 1; | |||
|  | 
 | |||
|  | 	if ($allow_br == 2) { | |||
|  | 
 | |||
|  | 		if( function_exists( "get_magic_quotes_gpc" ) && get_magic_quotes_gpc() ) $_POST['template'] = stripslashes( $_POST['template'] );   | |||
|  | 
 | |||
|  | 		$template = trim( addslashes( $_POST['template'] ) ); | |||
|  | 
 | |||
|  | 	} else { | |||
|  | 
 | |||
|  | 		$template = $parse->process( $_POST['template'] ); | |||
|  | 	 | |||
|  | 			$template = $parse->BB_Parse( $template, false ); | |||
|  | 
 | |||
|  | 	} | |||
|  | 	 | |||
|  | 	$metatags = create_metatags( $template ); | |||
|  | 	 | |||
|  | 		$name = trim( $db->safesql( htmlspecialchars( $_POST['name'] ) ) ); | |||
|  | 		$descr = trim( $db->safesql( htmlspecialchars( $_POST['description'] ) ) ); | |||
|  | 		 | |||
|  | 		if( ! count( $_POST['grouplevel'] ) ) $_POST['grouplevel'] = array ("all" ); | |||
|  | 		$grouplevel = $db->safesql( implode( ',', $_POST['grouplevel'] ) ); | |||
|  | 		 | |||
|  | 		$name = str_replace( "-", "_", $name ); | |||
|  | 	 | |||
|  | 	$template = $db->safesql( $template ); | |||
|  | 	$newdate = $_POST['newdate']; | |||
|  | 	if( isset( $_POST['allow_date'] ) ) $allow_date = $_POST['allow_date']; else $allow_date = ""; | |||
|  | 	if( isset( $_POST['allow_now'] ) )  $allow_now = $_POST['allow_now']; else $allow_now = ""; | |||
|  | 
 | |||
|  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  | 	$added_time = time() + ($config['date_adjust'] * 60); | |||
|  | 	$newsdate = strtotime( $newdate ); | |||
|  | 
 | |||
|  | 	if( $allow_date != "yes" ) { | |||
|  | 
 | |||
|  | 		if( $allow_now == "yes" ) $thistime = $added_time; | |||
|  | 		elseif( ($newsdate === - 1) or (trim( $newdate ) == "") ) { | |||
|  | 				$thistime = $added_time; | |||
|  | 		} else { | |||
|  | 
 | |||
|  | 			$thistime = $newsdate; | |||
|  | 
 | |||
|  | 			if( ! intval( $config['no_date'] ) and $newsdate > $added_time ) { | |||
|  | 				$thistime = $added_time; | |||
|  | 			} | |||
|  | 
 | |||
|  | 		} | |||
|  | 					 | |||
|  | 	} else { | |||
|  | 		$thistime = intval( $_POST['static_date'] ); | |||
|  | 	} | |||
|  | 	 | |||
|  | $id = intval( $_GET['id'] ); | |||
|  | 		if( $name == "" or $descr == "" or $template == "" ) msg( "error", $lang['static_err'], $lang['static_err_1'], "javascript:history.go(-1)" ); | |||
|  | 		 | |||
|  | 		$db->query( "UPDATE " . PREFIX . "_static set name='$name', descr='$descr', template='$template', allow_br='$allow_br', grouplevel='$grouplevel', metadescr='{$metatags['description']}', metakeys='{$metatags['keywords']}', date='{$thistime}', metatitle='{$metatags['title']}' WHERE id='$id'" ); | |||
|  | 		 | |||
|  | 		msg( "info", $lang['static_addok'], $lang['static_addok_1'], "?mod=static" ); | |||
|  | 	 | |||
|  | 	msg( "info", $lang['static_addok'], $lang['static_addok_1'], "?mod=static" ); | |||
|  | 
 | |||
|  | } elseif( $action == "dodelete" ) { | |||
|  | 	 | |||
|  | 	if( $_REQUEST['user_hash'] == "" or $_REQUEST['user_hash'] != $dle_login_hash ) { | |||
|  | 		 | |||
|  | 		die( "Hacking attempt! User not found" ); | |||
|  | 	 | |||
|  | 	} | |||
|  | 	 | |||
|  | 	$id = intval( $_GET['id'] ); | |||
|  | 	 | |||
|  | 	$db->query( "DELETE FROM " . PREFIX . "_static WHERE id='$id'" ); | |||
|  | 	 | |||
|  | 	$db->query( "SELECT name, onserver FROM " . PREFIX . "_static_files WHERE static_id = '$id'" ); | |||
|  | 	 | |||
|  | 	while ( $row = $db->get_row() ) { | |||
|  | 		 | |||
|  | 		if( $row['onserver'] ) { | |||
|  | 			 | |||
|  | 			@unlink( ROOT_DIR . "/uploads/files/" . $row['onserver'] ); | |||
|  | 		 | |||
|  | 		} else { | |||
|  | 			 | |||
|  | 			$url_image = explode( "/", $row['name'] ); | |||
|  | 			 | |||
|  | 			if( count( $url_image ) == 2 ) { | |||
|  | 				 | |||
|  | 				$folder_prefix = $url_image[0] . "/"; | |||
|  | 				$dataimages = $url_image[1]; | |||
|  | 			 | |||
|  | 			} else { | |||
|  | 				 | |||
|  | 				$folder_prefix = ""; | |||
|  | 				$dataimages = $url_image[0]; | |||
|  | 			 | |||
|  | 			} | |||
|  | 			 | |||
|  | 			@unlink( ROOT_DIR . "/uploads/posts/" . $folder_prefix . $dataimages ); | |||
|  | 			@unlink( ROOT_DIR . "/uploads/posts/" . $folder_prefix . "thumbs/" . $dataimages ); | |||
|  | 		} | |||
|  | 	 | |||
|  | 	} | |||
|  | 	 | |||
|  | 	$db->query( "DELETE FROM " . PREFIX . "_static_files WHERE static_id = '$id'" ); | |||
|  | 	 | |||
|  | 	msg( "info", $lang['static_del'], $lang['static_del_1'], "$PHP_SELF?mod=static" ); | |||
|  | 
 | |||
|  | } | |||
|  | ?>
 |