Вход Регистрация
Файл: www/admin/function/function_news.php
Строк: 285
<?
/*-----------------------------------------------------------

    Product: BBlog 2.0
    License: GNU General Public License (http://www.gnu.org/licenses/gpl.html)
    Copyright: (c) 2007 Batia.info
    Version: 2.0 RC1

    
-------------------------------------------------------------*/

if ( !defined('INDEX') ) die("Эта страницу для вас недоступна!");


##################################################################
##    Функция отображает все новости                            ##
##################################################################

function showall() {

global 
$cfg_count_news_adm;

db_connect();

if(isset(
$_GET['start']) ) { $start $_GET['start']; }
else { 
$start ; }

$sql mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT $start, 20") or die("Невозможно выполнить запрос к БД");

$content '<table border="0"  width="100%" cellpadding="0" cellspacing="1">';
// Формируем Заголовки таблицы
    
$content .= '<tr>';
    
$content .= '<td class="news_list_head">Заголовок заметки</td>';
    
$content .= '<td class="news_list_head">Дата</td>';
    
$content .= '<td class="news_list_head">Комментарии</td>';
    
$content .= '<td class="news_list_head">Действие</td>';
    
$content .= '</tr>';
if(
mysql_num_rows($sql)==0) {
    
$content.='<tr><td colspan="5">У вас нет ни одной записи</td></tr>';
}else{
 for(
$i 0$i mysql_num_rows($sql); $i++) {
    
$r mysql_fetch_array($sql);

    
$id $r['id'];
    
$title stripslashes($r['title']);
    
$date $r['date'];
    
$comment $r['comment'];
    
$messege stripslashes($r['messege']);

    
/*     Если строка четная - применяем к ней один стиль оформления,
    если не четная - другой */
    
if($i%2$class="news_list_1";
    else 
$class="news_list_2";

    
// Формируем метку $page для комментариев
    
if($comment == "ok") {
        
$page 'news'.$id;
        if(
count_comment($page)==0$comment_num '<small><i>Нет камментариев</i></small>';
        else 
$comment_num '<a href="comment.php?page='.$page.'&action=show">'.count_comment($page).'</a>';
    } else {
        
$comment_num '<small><i>Запрещены</i></small>';
    }
    
// Формируем сообщение
    
$content .= '<tr>';
    
$content .= '<td class="'.$class.'">'.$title.'</td>';
    
$content .= '<td class="'.$class.'"><small>'.$date.'</small></td>';
    
$content .= '<td class="'.$class.'" align="center"> '.$comment_num.'</td>';
    
$content .= '<td class="'.$class.'" align="center">
    <a href="news.php?news_id='
.$id.'&action=edit"><img src="/images/edit.gif" border="0"></a>
    &nbsp;&nbsp;
    <a href="news.php?news_id='
.$id.'&action=delete"><img src="/images/del.gif" border="0"></a></td>';
    
$content .= '</tr>';
 }
}
$content .='</table>';

$content .='<div id="speedbar">Страница: '.show_speedbar().'</div>';

return 
$content;
}

##################################################################
##  Функция выводит на экран список новстей разбитых по 10 штук ##
##################################################################

function show_speedbar() {

global 
$cfg_count_news_adm$start;

$sql=mysql_query("SELECT id FROM news") or die("Невозможно послать запрос к БД");

  
$count_rows mysql_num_rows($sql); // Количество записей?
  
$show_num=0;
  
$result="";

  for(
$i=0$i<$count_rows; ) {           if($start == $i$class='id="current"'; else $class='';
          
$result .= '<a href="news.php?start='.$i.'&action=showall" '.$class.'>'.$show_num.'</a>&nbsp;';
          
$i=$i+$cfg_count_news_adm;
          
$show_num++;
  }
return 
$result;
}



##################################################################
##    Функция отображает форму для добавления новой записи      ##
##################################################################

function add_form() {


// ФОРМИРУЕМ ФОРМУ ВВОДА ДАННЫХ С ВИЗИВИГ РЕДАКТОРОМ

$content ='
<form action="news.php?action=save_new" method="post" name="post" onsubmit="return checkForm(this)" enctype="multipart/form-data">
<table border="0">
 <tr>
   <td>
        <small>Заголовок:</small><br>
        <input type="text" name="title" size="40">
   </td>
   <td>
        <small>День:</small><br>
        <input type="text" name="day" size="1" maxlength="2" value="'
.date("d").'">
   </td>
   <td>
        <small>Месяц:</small><br>
        <input type="text" name="month" size="1" maxlength="2"  value="'
.date("m").'">
   </td>
   <td>
        <small>Год:</small><br>
        <input type="text" name="year" size="2" maxlength="4"  value="'
.date("Y").'">
   </td>

 </tr>
  <tr>
   <td colspan="4">
           <small>Таги (Через запятую...)</small><br>
        <input type="text" name="tags" size="40">
   </td>
 </tr>
 <tr>
   <td colspan="4">
   <input type="hidden" name="comment" value="no">
   <input type="Checkbox" name="comment" value="ok" ><small>Разрешить камментировать?</small></td>
 </tr>
 <tr>
     <td colspan="4">
<small>Сообщение</small><br>
<textarea name="message" id="message" cols="50" rows="30"></textarea>
</td>
 </tr>
 <tr>
     <td colspan="4"><input type="submit" value="Сохранить"> <input type="reset" value="Очистить"></td>
 </tr>
</table>
</form>
'
;


return 
$content;

}




##################################################################
##    Функция сохраняет новую запись                            ##
##################################################################

function save_new() {

db_connect();

// Создаем короткие имена переменных и проеверяем на ошибки.

$title addslashes($_POST['title']);
$date addslashes($_POST['year'].$_POST['month'].$_POST['day']);
$tags addslashes($_POST['tags']);
$comment $_POST['comment'];
$messege addslashes($_POST['message']);


$content '<p>Запись "<span id="ok_messege">'.stripslashes($title).'</span>", успешно добалена в БД.</p>';
$content .= '<p><a href="news.php?action=add_form">Добавить новую запись</a></p>';
$content .='<p><a href="news.php?action=showall">Список страниц</a></p>';
$ref $_SERVER['HTTP_REFERER'];
$content .= '<p><a href="'.$ref.'">Назад</a></p>';

mysql_query("INSERT INTO news (title, date, tags, comment, messege) VALUES ('$title', '$date', '$tags', '$comment', '$messege') ") or die("Невозможно добавить новую запись в БД");

return 
$content;
}







##################################################################
##    Функция удаляет запись                                    ##
##################################################################

function delete_news($news_id) {

db_connect();

$sql mysql_query("SELECT title FROM news WHERE id = '$news_id'") or die("Невозможно выполнить запрос к БД");
$title mysql_result($sql,0,0);
$title stripslashes($title);

mysql_query("DELETE FROM news WHERE id = '$news_id'") or die("Невозможно удалить строку таблицы");

$content '<p>Запись "<span id="ok_messege">'.$title.'</span>", успешно удалена.</p>';
$content .= deleteall('news'.$news_id);
$ref $_SERVER['HTTP_REFERER'];
$content .= '<p><a href="'.$ref.'">Назад</a></p>';


return 
$content;
}





##################################################################
##    Функция отображает форму для редактирования записи        ##
##################################################################

function edit_form($news_id) {

db_connect();

$sql mysql_query("SELECT * FROM news WHERE id = '$news_id'") or die("Невозможно отправить запрос к БД");

$title stripslashes(mysql_result($sql,0,'title'));

$date mysql_result($sql,0,'date');
$date explode("-",$date);
$year $date[0];
$month $date[1];
$day $date[2];

$tags stripslashes(mysql_result($sql,0,'tags'));

$comment mysql_result($sql,0,'comment');
if(
$comment == "ok") { $checked "checked"; }
else { 
$checked ""; }

$messege stripslashes(mysql_result($sql,0,'messege'));


// ФОРМИРУЕМ ФОРМУ ВВОДА ДАННЫХ С ВИЗИВИГ РЕДАКТОРОМ

$content ='
<form action="news.php?action=save_edited&news_id='
.$news_id.'" method="post" name="post" onsubmit="return checkForm(this)" enctype="multipart/form-data">
<table border="0">
 <tr>
   <td>
        <small>Заголовок:</small><br>
        <input type="text" name="title" size="40" value="'
.$title.'">
   </td>
   <td>
        <small>День:</small><br>
        <input type="text" name="day" size="1" maxlength="2" value="'
.$day.'">
   </td>
   <td>
        <small>Месяц:</small><br>
        <input type="text" name="month" size="1" maxlength="2"  value="'
.$month.'">
   </td>
   <td>
        <small>Год:</small><br>
        <input type="text" name="year" size="2" maxlength="4"  value="'
.$year.'">
   </td>
   </tr>
   <tr>
   <td colspan="4">
           <small>Таги (Через запятую...)</small><br>
        <input type="text" name="tags" size="40" value="'
.$tags.'">
   </td>
 </tr>
 <tr>
   <td colspan="4">
   <input type="hidden" name="comment" value="no">
   <input type="Checkbox" name="comment" value="ok" '
.$checked.'><small>Разрешить камментировать?</small></td>
 </tr>
 <tr>
     <td colspan="4">
<small>Сообщение</small><br>
<textarea name="message" id="message" cols="50" rows="30">'
.$messege.'</textarea>
</td>
 </tr>
 <tr>
     <td colspan="4"><input type="submit" value="Сохранить"> <input type="reset" value="Очистить"></td>
 </tr>
</table>
</form>
'
;

return 
$content;
 }



 
##################################################################
##    Функция сохраняет измененную запись                       ##
##################################################################

function save_edited($news_id) {

    
db_connect();

// Создаем короткие имена переменных и проеверяем на ошибки.

    
$title addslashes($_POST['title']);
    
$date $_POST['year'].$_POST['month'].$_POST['day'];
    
$tags addslashes($_POST['tags']);
    
$comment $_POST['comment'];
    
$messege addslashes($_POST['message']);

    
mysql_query("UPDATE news  SET title='$title', date='$date', tags='$tags', comment='$comment', messege='$messege' WHERE id = '$news_id'") or die("Невозможно обновить запись в БД");

    
$content '<p>Запись "<span id="ok_messege">'.stripslashes($title).'</span>", успешно добалена в БД.</p>';
    
$content .='<p><a href="news.php?action=showall">Список страниц</a></p>';
$ref $_SERVER['HTTP_REFERER'];
$content .= '<p><a href="'.$ref.'">Назад</a></p>';
    return 
$content;
}
?>
Онлайн: 0
Реклама