Хранилища Subversion dreq

Редакция

Авторство | Последнее изменение | Открыть журнал | Скачать | RSS

<?php
/**
 * Description of lib
 *
 * @author Sinegovsky Ivan
 */

 
class request {
    function ListRequest(){//возвращает таблицу список запросов
        switch ($_GET['order']){
            case 'named':
                $order="ORDER BY `name` DESC";
                break;
            case 'nameu':
                $order="ORDER BY `name` ASC";
                break;
            case 'authord':
                $order="ORDER BY `author` DESC";
                break;
            case 'authoru':
                $order="ORDER BY `author` ASC";
                break;
            case 'statusd':
                $order="ORDER BY `status` DESC ";
                break;
            case 'statusu':
                $order="ORDER BY `status` ASC ";
                break;
            default:
                $order="ORDER BY `status` ASC ";
        }
        $rez="<table width='100%'><tr><td><b><a href='index.php?order=authord'>&#8595;</a>Заказчик<a href='index.php?order=authoru'>&#8593;</a></b></td><td><b><a href='index.php?order=named'>&#8595;</a> Название<a href='index.php?order=nameu'>&#8593;</a></b></td><td><b><a href='index.php?order=statusd'>&#8595;</a> Статус<a href='index.php?order=statusu'>&#8593;</a></b></td><td><b>Действия</b></td></tr>";
        $query='SELECT * FROM `requests` '.$order;
        $result=mysql_query($query);
        while($row=mysql_fetch_array($result)){
            $id=$row['id'];
            if($row['type']==0){$type='[статья]';}else{$type='[файл]';}
            $name="<a href='index.php?act=show&id=".$id."'>".$type." ".$row['name']."</a>";
            if ($row['status']){
                    $st="<span class='ok'>Готов</span>";
                    $act="<a href='".$row['url']."'>Получить</a>";
            }else{
                    $st="<span class='need'>Требуется</span>";
                    $act="<a href='index.php?act=make&id=".$id."'>Выполнить</a>";
            }
            //if($mode=='admin'){$act.=" <a style='color:red;text-decoration:none;' href='index.php?act=delete&id=".$id."'>[удалить]</a>";}
            $rez.="<tr><td>".$row['author']."</td><td>".$name."</td>";
            $rez.="<td>".$st."</td><td>".$act."</td></tr>";
        }
        $rez.="</table>";
        echo $rez;
    }

    function ShowRequest($id){
        $query='SELECT * FROM `requests` WHERE id='.$id;
        $result=mysql_query($query);
        $data=mysql_fetch_array($result);
        if(empty($data['id'])){$rez="<div class='add'>Указанный запрос не найден!</div>";}
        else{
            $desk=$data['desk'];
            if(empty($desk)){$desk="&nbsp";}
            if($data['type']==0){$type="статья";}else{$type="файл";}
            $rez="<h2>Запрос №".$data['id']."</h2>";
            $rez.="<table>";
            $rez.="<tr><td>Название</td><td>".$data['name']."</td></tr>";
            $rez.="<tr><td>Тип</td><td>".$type."</td></tr>";
            $rez.="<tr><td>Описание</td><td>".$desk."</td></tr>";
            $rez.="<tr><td>Дата</td><td>".$data['date']."</td></tr>";
            $rez.="<tr><td>Автор</td><td>".$data['author']."</td></tr>";
            if($data['status']!=0){
                $rez.="<tr><td>Ссылка</td><td><a href='".$data['url']."'>".$data['url']."</a></td></tr>";
                $rez.="<tr><td>Комментарий</td><td>".$data['comment']."</td></tr>";
            }
            else{
                $rez.="<td colspan='2'><a href='index.php?act=make&id=".$id."'>Выполнить</a></td>";
            }
            $rez.="</table>";
        }
        $rez.="<div class='add'><a href='index.php'>Назад</a></div>";
        echo $rez;
    }

    function ShowAddForm(){
        $rez="<h2>Добавление запроса</h2>";
        $rez.="<form action='process.php' method='post'><table>";
        $rez.="<tr><td>* Название:</td><td><input type='text' size='40' name='name'></td></tr>";
        $rez.="<tr><td>Имя:</td><td><input type='text' size='40' name='author'></td></tr>";
        $rez.="<tr><td>* Тип:</td><td><input type='radio' name='type' value='file'>Файл<Br><input type='radio' checked name='type' value='article'>Статья</td></tr>";
        $rez.="<tr><td>Описание:</td><td><textarea name='desk' cols='40' rows='3'></textarea></td></tr>";
        $rez.="<tr><td colspan='2'><input type='submit' value='Добавить'><input type='hidden' name='act' value='add'></td></tr></table>";
        $rez.="<div style='text-align:center;font:normal 8pt sans;'>* Поля обязательные для заполнения</div>";
        echo $rez;
    }

    function AddRequest($name,$desk,$author,$type){
        if(empty($author)){$author='anonymous';}
        if(empty($name)){die("ОШИБКА: Не заполнено поле 'Название'!");}
        $sql = 'INSERT INTO `requests` (`id`, `name`, `desk`, `status`, `date`, `author`, `url`, `comment`, `type`) VALUES (NULL, \''.$name.'\', \''.$desk.'\', \'0\', NOW(), \''.$author.'\', \'\', \'\', \''.$type.'\');';
        $result=mysql_query($sql);
        return mysql_insert_id();
    }

    function MakeRequest($id,$url,$comment){
        if(empty($url)){die("ОШИБКА: Не заполнено поле 'URL'!");}
       /* $sql = 'SELECT `status` FROM `requests` WHERE id='.(int)$id;
        $result=mysql_query($sql);
        $status=mysql_fetch_field($result,'status');
        if($status==1){die("ОШИБКА: Текущий запрос уже выполнен!");}
        */
$sql="UPDATE `requests` SET `status` = '1',`url` = '".$url."',`comment` = '".$comment."' WHERE `requests`.`id` =".$id." LIMIT 1 ;";
        $result=mysql_query($sql);
    }

    function ShowMakeForm($id){
        $rez="<h2>Выполнение запроса</h2>";
        $rez.="<form action='process.php' method='post'><table>";
        $rez.="<tr><td>* URL:</td><td><input type='text' size='40' name='name'></td></tr>";
        $rez.="<tr><td>Комментарий:</td><td><textarea name='desk' cols='40' rows='3'></textarea></td></tr>";
        $rez.="<tr><td colspan='2'><input type='submit' value='Выполнить'><input type='hidden' name='act' value='make'><input type='hidden' name='id' value='".$id."'></td></tr></table>";
        $rez.="<div style='text-align:center;font:normal 8pt sans;'>* Поля обязательные для заполнения</div>";
        echo $rez;
    }
}
?>