Вход Регистрация
Файл: app/models/LibraryModel.php
Строк: 587
<?php

class LibraryModel extends Base {

    function 
index($id) {
        if (
$id) {
            
$cat DB::run("SELECT * FROM `library_category` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

            
$count DB::run("SELECT COUNT(*) FROM `library_category` WHERE `refid`='" $cat['id'] . "'")->fetchColumn();
            if (
$count 0) {
                
$req DB::run("SELECT `library_category`.*, (SELECT COUNT(*) FROM `library` WHERE `library`.`path` LIKE CONCAT(`library_category`.`path`, '%')) AS `count` FROM `library_category` WHERE `refid`='" $cat['id'] . "' ORDER BY `realid` ASC LIMIT " $this->page ", " $this->message);
                while (
$row $req->fetch(PDO::FETCH_ASSOC)) {
                    
$arrayrow[] = $row;
                }
            }

            
$countart DB::run("SELECT COUNT(*) FROM `library` WHERE `refid`='" $id "'")->fetchColumn();
            if (
$countart 0) {
                
$reqart DB::run("SELECT `library`.*, " User::data('library') . ", (SELECT COUNT(1) FROM `library_comments` WHERE `library_comments`.`refid`=`library`.`id`) AS `comments` FROM `library` WHERE `refid`='" $id "' ORDER BY `id` DESC LIMIT " $this->page ", " $this->message);
                while (
$rowart $reqart->fetch(PDO::FETCH_ASSOC)) {
                    
$arrayrowart[] = $rowart;
                    
$text[] = BBcode::delete($rowart['text']);
                }
            }

            
SmartySingleton::instance()->assign(array(
                
'cat' => $cat,
                
'text' => $text,
                
'count' => $count,
                
'countart' => $countart,
                
'arrayrow' => $arrayrow,
                
'arrayrowart' => $arrayrowart,
                
'pat' => Cms::BreadcrumbLibrary($id),
                
'pagenav' => Functions::pagination('/library/' $cat['id'] . '?'$this->page$count$this->message),
                
'pagenav' => Functions::pagination('/library/' $cat['id'] . '?'$this->page$countart$this->message)
            ));
        } else {
            
$count DB::run("SELECT COUNT(*) FROM `library_category` WHERE `refid`='0'")->fetchColumn();
            if (
$count 0) {
                
$req DB::run("SELECT `library_category`.*, (SELECT COUNT(*) FROM `library` WHERE `library`.`path` LIKE CONCAT(`library_category`.`path`, '%')) AS `count` FROM `library_category` WHERE `refid`='0' ORDER BY `realid` ASC LIMIT " $this->page ", " $this->message);
                while (
$row $req->fetch(PDO::FETCH_ASSOC)) {
                    
$arrayrow[] = $row;
                }
            }

            
SmartySingleton::instance()->assign(array(
                
'count' => $count,
                
'arrayrow' => $arrayrow,
                
'pagenav' => Functions::pagination('/library?'$this->page$count$this->message)
            ));
        }
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/index.tpl');
    }

    function 
add($id) {
        
$cat DB::run("SELECT * FROM `library_category` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

        if (
$_POST['ok']) {

            if (
mb_strlen(Cms::Input($_POST['name'])) < || mb_strlen(Cms::Input($_POST['name'])) > 250) {
                
$error .= 'Недопустимая длина названия категории!<br/>';
            }

            if (!isset(
$error)) {
                
DB::run("INSERT INTO `library_category` SET 
                    `refid`='" 
$cat['id'] . "', 
                        `name`='" 
Cms::Input($_POST['name']) . "', 
                            `user`='" 
Cms::Input($_POST['user']) . "', 
                                `translate` = '" 
Functions::name_replace(Cms::Input($_POST['name'])) . "', 
                                    `text` = '" 
Cms::Input($_POST['text']) . "',
                                        `keywords`='" 
Cms::Input($_POST['keywords']) . "', 
                                            `description`='" 
Cms::Input($_POST['description']) . "'");

                
$fid DB::lastInsertId();

                if (!
$id) {
                    
$d['path'] = '/';
                } else {
                    
$d DB::run("SELECT * FROM `library_category` WHERE `id` = " $id)->fetch(PDO::FETCH_ASSOC);
                }

                
$dirnew trim($d['path']) . trim($fid) . '/';

                
DB::run("UPDATE `library_category` SET `realid`='" $fid "', `path`='" $dirnew "' WHERE `id`='" $fid "'");

                
Cms::addballs(Cms::setup('balls_add_library')); //прибавляем баллы

                
if (Cms::setup('adminlogs') == 1) {
                    
Cms::adminlogs('Библиотека''Создание новой категории ' Cms::Input($_POST['name']));
                } 
//пишем лог админа, если включено
                
if ($cat['id']) {
                    
Functions::redirect(Cms::setup('home') . '/library/' $cat['id']);
                } else {
                    
Functions::redirect(Cms::setup('home') . '/library');
                }
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'cat' => $cat,
            
'error' => $error,
            
'count' => $count,
            
'arrayrow' => $arrayrow,
            
'pat' => Cms::BreadcrumbLibrary($id)
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/add.tpl');
    }

    function 
articles($id) {
        
$cat DB::run("SELECT * FROM `library_category` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

        if (
$_POST['ok']) {

            if (
mb_strlen(Cms::Input($_POST['name'])) < || mb_strlen(Cms::Input($_POST['name'])) > 250) {
                
$error .= 'Недопустимая длина названия статьи!<br/>';
            }

            if (
mb_strlen(Cms::Input($_POST['autor'])) > 250) {
                
$error .= 'Недопустимая длина автора!<br/>';
            }

            if (
mb_strlen(Cms::Input($_POST['text'])) < || mb_strlen(Cms::Input($_POST['text'])) > 100000) {
                
$error .= 'Недопустимая длина содержания статьи!<br/>';
            }

            if (!isset(
$error)) {
                if (
$this->user['level'] == 1) {
                    
DB::run("INSERT INTO `library` SET 
                    `id_user`='" 
$this->user['id'] . "', 
                        `refid`='" 
$cat['id'] . "', 
                            `name`='" 
Cms::Input($_POST['name']) . "', 
                                `translate` = '" 
Functions::name_replace(Cms::Input($_POST['name'])) . "', 
                                    `autor`='" 
Cms::Input($_POST['autor']) . "', 
                                        `text`='" 
Cms::Input($_POST['text']) . "', 
                                            `time`='" 
Cms::realtime() . "',
                                                `path`='" 
$cat['path'] . "',
                                                    `keywords`='" 
Functions::seokeywords(Cms::Input($_POST['name'])) . "', 
                                                        `description`='" 
BBcode::delete(Functions::truncate(Cms::Input($_POST['text']), 350)) . "'");
                } else {
                    
DB::run("INSERT INTO `library` SET 
                    `id_user`='" 
$this->user['id'] . "', 
                        `refid`='" 
$cat['id'] . "', 
                            `name`='" 
Cms::Input($_POST['name']) . "', 
                                `translate` = '" 
Functions::name_replace(Cms::Input($_POST['name'])) . "', 
                                    `autor`='" 
Cms::Input($_POST['autor']) . "', 
                                        `text`='" 
Cms::Input($_POST['text']) . "', 
                                            `time`='" 
Cms::realtime() . "',
                                                `path`='" 
$cat['path'] . "',
                                                    `keywords`='" 
Cms::Input($_POST['keywords']) . "', 
                                                        `description`='" 
Cms::Input($_POST['description']) . "'");
                }

                
$fid DB::lastInsertId();
                
Functions::redirect(Cms::setup('home') . '/library/' $fid '-' Functions::name_replace(Cms::Input($_POST['name'])));
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'cat' => $cat,
            
'error' => $error,
            
'count' => $count,
            
'arrayrow' => $arrayrow,
            
'pat' => Cms::BreadcrumbLibrary($id)
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/articles.tpl');
    }

    function 
edit($id) {
        
$row DB::run("SELECT * FROM `library` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

        if (
$_POST['ok']) {

            if (
mb_strlen(Cms::Input($_POST['name'])) < || mb_strlen(Cms::Input($_POST['name'])) > 250) {
                
$error .= 'Недопустимая длина названия статьи!<br/>';
            }

            if (
mb_strlen(Cms::Input($_POST['autor'])) > 250) {
                
$error .= 'Недопустимая длина автора!<br/>';
            }

            if (
mb_strlen(Cms::Input($_POST['text'])) < || mb_strlen(Cms::Input($_POST['text'])) > 100000) {
                
$error .= 'Недопустимая длина содержания статьи!<br/>';
            }

            if (!isset(
$error)) {
                
DB::run("UPDATE `library` SET 
                            `name`='" 
Cms::Input($_POST['name']) . "', 
                                `translate` = '" 
Functions::name_replace(Cms::Input($_POST['name'])) . "', 
                                    `autor`='" 
Cms::Input($_POST['autor']) . "', 
                                        `text`='" 
Cms::Input($_POST['text']) . "', 
                                            `keywords`='" 
Cms::Input($_POST['keywords']) . "', 
                                                `description`='" 
Cms::Input($_POST['description']) . "' WHERE `id`='" $row['id'] . "'");

                if (
Cms::setup('adminlogs') == 1) {
                    
Cms::adminlogs('Библиотека''Редактирование статьи ' Cms::Input($_POST['name']));
                } 
//пишем лог админа, если включено

                
Functions::redirect(Cms::setup('home') . '/library/' $row['id'] . '-' Functions::name_replace(Cms::Input($_POST['name'])));
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'row' => $row,
            
'error' => $error,
            
'pat' => Cms::BreadcrumbLibrary($row['refid'])
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/edit.tpl');
    }

    function 
del($id) {
        
$row DB::run("SELECT * FROM `library` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

        if (
$_POST['ok']) {
            
DB::run("DELETE FROM `library` WHERE `id` = '" $row['id'] . "' LIMIT 1");
            
DB::run("DELETE FROM `library_comments` WHERE `refid` = '" $row['id'] . "'");
            
DB::run("OPTIMIZE TABLE `library`");
            
DB::run("OPTIMIZE TABLE `library_comments`");


            if (
Cms::setup('adminlogs') == 1) {
                
Cms::adminlogs('Библиотека''Удаление статьи ' Cms::Input($_POST['name']));
            } 
//пишем лог админа, если включено

            
Functions::redirect(Cms::setup('home') . '/library/' $row['refid']);
        }

        if (
$_POST['close']) {
            
Functions::redirect(Cms::setup('home') . '/library/' $row['id'] . '-' $row['translate']);
        }

        
SmartySingleton::instance()->assign(array(
            
'row' => $row,
            
'error' => $error,
            
'pat' => Cms::BreadcrumbLibrary($row['refid'])
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/del.tpl');
    }

    function 
view($id) {
        
$row DB::run("SELECT library.*, " User::data('library') . ", (SELECT COUNT(*) FROM `library_rating` WHERE `library_rating`.`refid`=`library`.`id` AND `id_user`='" $this->user['id'] . "') AS `voteus` FROM `library` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

        
Cms::addviews('library'$row);

        
//голосуем
        
Cms::addrating('library''library_rating'$row['id'], $this->user['id']);

        
$strrpos mb_strrpos($row['text'], " ");
        
$pages 1;
        if (isset(
$this->page)) {
            
$page abs(intval($this->page));
            if (
$page == 0) {
                
$page 1;
            }
            
$start $page 1;
        } else {
            
$page $start 1;
        }
        
$t_si 0;
        if (
$strrpos) {
            while (
$t_si $strrpos) {
                
$string mb_substr($row['text'], $t_siCms::setup('count_txt'));
                
$t_ki mb_strrpos($string" ");
                
$m_sim $t_ki;
                
$strings[$pages] = $string;
                
$t_si $t_ki $t_si;
                if (
$page == $pages) {
                    
$page_text $strings[$pages];
                }
                if (
$strings[$pages] == "") {
                    
$t_si $strrpos++;
                } else {
                    
$pages++;
                }
            }
            if (
$page >= $pages) {
                
$page $pages 1;
                
$page_text $strings[$page];
            }
            
$pages $pages 1;
            if (
$page != $pages) {
                
$prb mb_strrpos($page_text" ");
                
$page_text mb_substr($page_text0$prb);
            }
        } else {
            
$page_text $row['text'];
        }

        
SmartySingleton::instance()->assign(array(
            
'row' => $row,
            
'pages' => $pages,
            
'text' => Cms::bbcode($page_text),
            
'pat' => Cms::BreadcrumbLibrary($row['refid']),
            
'count' => DB::run("SELECT COUNT(*) FROM `library_comments` WHERE `refid`='" $row['id'] . "'")->fetchColumn(),
            
'pagenav' => Functions::pagination_text($pages$pageCms::setup('home') . '/library/' $row['id'] . '-' $row['translate'] . '?')
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/view.tpl');
    }

    function 
category_edit($id) {
        
$row DB::run("SELECT * FROM `library_category` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

        if (
$_POST['ok']) {

            if (
mb_strlen(Cms::Input($_POST['name'])) < || mb_strlen(Cms::Input($_POST['name'])) > 250) {
                
$error 'Недопустимая длина названия категории!';
            }

            if (!isset(
$error)) {
                
DB::run("UPDATE `library_category` SET 
                        `name`='" 
Cms::Input($_POST['name']) . "', 
                            `user`='" 
Cms::Input($_POST['user']) . "', 
                                `translate` = '" 
Functions::name_replace(Cms::Input($_POST['name'])) . "', 
                                    `text` = '" 
Cms::Input($_POST['text']) . "',
                                        `keywords`='" 
Cms::Input($_POST['keywords']) . "', 
                                            `description`='" 
Cms::Input($_POST['description']) . "' WHERE `id`='" $row['id'] . "'");

                if (
Cms::setup('adminlogs') == 1) {
                    
Cms::adminlogs('Библиотека''Редактирование категории ' Cms::Input($_POST['name']));
                } 
//пишем лог админа, если включено

                
if ($row['refid']) {
                    
Functions::redirect(Cms::setup('home') . '/library/' $row['refid']);
                } else {
                    
Functions::redirect(Cms::setup('home') . '/library');
                }
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'row' => $row,
            
'error' => $error,
            
'pat' => Cms::BreadcrumbLibrary($row['refid']),
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/category_edit.tpl');
    }

    function 
category_del($id) {
        
$row DB::run("SELECT * FROM `library_category` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

        if (
$_POST['ok']) {
            
DB::run("DELETE FROM `library_category` WHERE `path` LIKE '" $row['path'] . "%'");

            
$art DB::run("SELECT * FROM `library` WHERE `path` LIKE '" $row['path'] . "%'");
            while (
$lib $art->fetch(PDO::FETCH_ASSOC)) {
                
DB::run("DELETE FROM `library` WHERE `id` = '" $lib['id'] . "'");
                
DB::run("DELETE FROM `library_comments` WHERE `refid` = '" $lib['id'] . "'");
            }

            
DB::run("OPTIMIZE TABLE `library_category`");
            
DB::run("OPTIMIZE TABLE `library`");
            
DB::run("OPTIMIZE TABLE `library_comments`");

            if (
Cms::setup('adminlogs') == 1) {
                
Cms::adminlogs('Библиотека''Удаление категории ' Cms::Input($row['name']));
            } 
//пишем лог админа, если включено

            
if ($row['refid']) {
                
Functions::redirect(Cms::setup('home') . '/library/' $row['refid']);
            } else {
                
Functions::redirect(Cms::setup('home') . '/library');
            }
        }

        if (
$_POST['close']) {
            if (
$row['refid']) {
                
Functions::redirect(Cms::setup('home') . '/library/' $row['refid']);
            } else {
                
Functions::redirect(Cms::setup('home') . '/library');
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'row' => $row,
            
'pat' => Cms::BreadcrumbLibrary($row['refid']),
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/category_del.tpl');
    }

    function 
comments($id) {
        
$row DB::run("SELECT * FROM `library` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);

        
Cms::comments('library_comments''refid'$row['id'], $this->user['id'], 'captcha_comments_library''library/comments/' $row['id']);

        
$count DB::run("SELECT COUNT(*) FROM `library_comments` WHERE `refid`='" $row['id'] . "'")->fetchColumn();
        if (
$count 0) {
            
$req DB::run("SELECT `library_comments`.*, " User::data('library_comments') . " FROM `library_comments` WHERE `refid`='" $row['id'] . "' ORDER BY `id` DESC LIMIT " $this->page ", " $this->message);
            while (
$rows $req->fetch(PDO::FETCH_ASSOC)) {
                
$arrayrow[] = $rows;
                
$text[] = Cms::bbcode($rows['text']);
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'row' => $row,
            
'text' => $text,
            
'count' => $count,
            
'arrayrow' => $arrayrow,
            
'pat' => Cms::BreadcrumbLibrary($row['refid']),
            
'pagenav' => Functions::pagination('/library/comments/' $row['id'] . '?'$this->page$count$this->message)
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/comments.tpl');
    }

    function 
edit_comments($id) {
        
$row DB::run("SELECT `library_comments`.*,
            (SELECT `name` FROM `library` WHERE `library`.`id`=`library_comments`.`refid`) AS `name`,
            (SELECT `translate` FROM `library` WHERE `library`.`id`=`library_comments`.`refid`) AS `translate` FROM `library_comments` WHERE `id`='" 
$id "'")->fetch(PDO::FETCH_ASSOC);

        if (
$_POST['ok']) {

            if (
mb_strlen(Cms::Input($_POST['text'])) < || mb_strlen(Cms::Input($_POST['text'])) > 5000) {
                
$error .= 'Недопустимая длина текста комментария!';
            }

            if (!isset(
$error)) {
                
DB::run("UPDATE `library_comments` SET `text`='" Cms::Input($_POST['text']) . "' WHERE `id`='" $row['id'] . "'");
                if (
Cms::setup('adminlogs') == 1) {
                    
Cms::adminlogs('Библиотека''Редактирование комментария к статье ' Functions::esc($row['name']));
                } 
//пишем лог админа, если включено
                
Functions::redirect(Cms::setup('home') . '/library/comments/' $row['refid']);
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'row' => $row,
            
'error' => $error,
            
'pat' => Cms::BreadcrumbLibrary($row['refid'])
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/edit_comments.tpl');
    }

    function 
del_comments($id) {
        
$row DB::run("SELECT `library_comments`.*,
                        (SELECT `name` FROM `library` WHERE `library`.`id`=`library_comments`.`refid`) AS `name`,
                        (SELECT `translate` FROM `library` WHERE `library`.`id`=`library_comments`.`refid`) AS `translate` FROM `library_comments` WHERE `id`='" 
$id "'")->fetch(PDO::FETCH_ASSOC);

        if (
$_POST['ok']) {
            
DB::run("DELETE FROM `library_comments` WHERE `id` = '" $row['id'] . "' LIMIT 1");
            
DB::run("OPTIMIZE TABLE `library_comments`");

            if (
Cms::setup('adminlogs') == 1) {
                
Cms::adminlogs('Библиотека''Удалил комментарий к статье ' Functions::esc($row['name']));
            } 
//пишем лог админа, если включено
            
Functions::redirect(Cms::setup('home') . '/library/comments/' $row['refid']);
        }

        if (
$_POST['close']) {
            
Functions::redirect(Cms::setup('home') . '/library/comments/' $row['refid']);
        }

        
SmartySingleton::instance()->assign(array(
            
'row' => $row,
            
'text' => Cms::bbcode($row['text']),
            
'pat' => Cms::BreadcrumbLibrary($row['refid'])
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/del_comments.tpl');
    }

    function 
top() {
        
$countart DB::run("SELECT COUNT(*) FROM `library`")->fetchColumn();
        if (
$countart 0) {
            
$reqart DB::run("SELECT `library`.*, " User::data('library') . ", (SELECT COUNT(1) FROM `library_comments` WHERE `library_comments`.`refid`=`library`.`id`) AS `comments` FROM `library` ORDER BY `rating` DESC, `views` DESC LIMIT " $this->page ", " $this->message);
            while (
$rowart $reqart->fetch(PDO::FETCH_ASSOC)) {
                
$arrayrowart[] = $rowart;
                
$text[] = BBcode::delete($rowart['text']);
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'text' => $text,
            
'countart' => $countart,
            
'arrayrowart' => $arrayrowart,
            
'pagenav' => Functions::pagination('/library/top?'$this->page$countart$this->message)
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/top.tpl');
    }

    function 
search($search) {
        
$search $search $search Cms::Input($_POST['search']);
        if (empty(
$search) && isset($_POST['ok'])) {
            
$error 'Задан пустой поисковый запрос!';
        }

        if (isset(
$_POST['ok'])) {
            
Functions::redirect('/library/search/' Functions::replace($search));
        }

        if (
$search) {
            
$search mb_strtolower(urldecode($search), 'UTF-8');

            if (
$search && mb_strlen($search) < 3) {
                
$error 'Общая длина поискового запроса должна быть не менее 3 букв.';
            }

            if (!isset(
$error)) {
                
$countart DB::run("SELECT COUNT(*) FROM `library` WHERE MATCH (name, autor, text) AGAINST ('*" $search "*' IN BOOLEAN MODE)")->fetchColumn();
                if (
$countart 0) {
                    
$reqart DB::run("SELECT `library`.*, " User::data('library') . ", (SELECT COUNT(1) FROM `library_comments` WHERE `library_comments`.`refid`=`library`.`id`) AS `comments` FROM `library` WHERE MATCH (name, autor, text) AGAINST ('*" $search "*' IN BOOLEAN MODE) ORDER BY `id` DESC LIMIT " $this->page ", " $this->message);
                    while (
$rowart $reqart->fetch(PDO::FETCH_ASSOC)) {
                        
$arrayrowart[] = $rowart;
                        
$text[] = BBcode::delete($rowart['text']);
                    }
                }
            }
        }

        
SmartySingleton::instance()->assign(array(
            
'text' => $text,
            
'error' => $error,
            
'search' => $search,
            
'countart' => $countart,
            
'arrayrowart' => $arrayrowart,
            
'pagenav' => Functions::pagination('/library/search/' $search '?'$this->page$countart$this->message)
        ));
        
SmartySingleton::instance()->display(SMARTY_TEMPLATE_LOAD '/templates/modules/library/search.tpl');
    }

    function 
down($refid$id) {
        
$req DB::run("SELECT * FROM `library_category` WHERE `id` = '" abs(intval($id)) . "' AND `refid` = '" abs(intval($refid)) . "' LIMIT 1");
        if (
$req) {
            
$res1 $req->fetch(PDO::FETCH_ASSOC);
            
$sort $res1['realid'];
            
$req DB::run("SELECT * FROM `library_category` WHERE `realid` > '" abs(intval($sort)) . "' ORDER BY `realid` ASC LIMIT 1");
            if (
$req) {
                
$res $req->fetch(PDO::FETCH_ASSOC);
                
$id2 $res['id'];
                
$sort2 $res['realid'];
                
DB::run("UPDATE `library_category` SET `realid` = '" abs(intval($sort2)) . "' WHERE `id` = '" abs(intval($id)) . "' AND `refid` = '" abs(intval($refid)) . "'");
                
DB::run("UPDATE `library_category` SET `realid` = '" abs(intval($sort)) . "' WHERE `id` = '" abs(intval($id2)) . "' AND `refid` = '" abs(intval($refid)) . "'");
            }
        }
        
Functions::redirect(Recipe::getReferer());
    }

    function 
up($refid$id) {
        
$req DB::run("SELECT * FROM `library_category` WHERE `id` = '" abs(intval($id)) . "' AND `refid` = '" abs(intval($refid)) . "' LIMIT 1");
        if (
$req) {
            
$res1 $req->fetch(PDO::FETCH_ASSOC);
            
$sort $res1['realid'];
            
$req DB::run("SELECT * FROM `library_category` WHERE `realid` < '" abs(intval($sort)) . "' ORDER BY `realid` DESC LIMIT 1");
            if (
$req) {
                
$res $req->fetch(PDO::FETCH_ASSOC);
                
$id2 $res['id'];
                
$sort2 $res['realid'];
                
DB::run("UPDATE `library_category` SET `realid` = '" abs(intval($sort2)) . "' WHERE `id` = '" abs(intval($id)) . "' AND `refid` = '" abs(intval($refid)) . "'");
                
DB::run("UPDATE `library_category` SET `realid` = '" abs(intval($sort)) . "' WHERE `id` = '" abs(intval($id2)) . "' AND `refid` = '" abs(intval($refid)) . "'");
            }
        }
        
Functions::redirect(Recipe::getReferer());
    }

    function 
txt($id) {
        
$row DB::run("SELECT * FROM `library` WHERE `id`='" $id "'")->fetch(PDO::FETCH_ASSOC);
        
$fp fopen("files/library/" $row['id'] . ".txt""a"); // Открываем файл в режиме записи 
        
$test fwrite($fpnl2br($row['text'])); // Запись в файл
        
fclose($fp); //Закрытие файла
        
Download::load('files/library/' $row['id'] . '.txt');
    }

}
Онлайн: 1
Реклама