Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Публикации
Files
Поиск файла в админке модуля Files (для Slaed 2.1)


Цитата
Мне очень часто приходится редактировать файлы на сайте (с выходом новых версий софта). Так как файлов очень много, то из Админки найти нужный файл довольно затруднительно. Проше перейти в пользовательскую часть и там в нужной категории найти нужный файл и нажать Редактировать. Много лишних действий.
Помогите перенести функцию поиска файлов из модуля Files в Админку.

Строго говоря это даже не поиск получится, а установка фильтра на имя.




Итак, редактируем файл /modules/Files/admin/index.php

1. Функция function FilesNavi()
Сразу после строки
PHP - Код
1
2
3
<?php
OpenTable
();
?>

создадим такую простенькую форму для ввода искомого имени
PHP - Код
1
2
3
4
5
6
7
<?php
echo "<form name="filtr" action="".$admin_file.".php">"
    
."<input type="hidden" name="op" value="files">"
    
."<input type="text" name="filtr_namef" value="$filtr_namef">   "
    
."<input type="submit" value="GO!">"
    
."</form>";
?>

Поскольку по умолчанию форма у нас передаст переменную методом GET пропишем $filtr_namef в глобальных, что бы после выполнения поиска у нас сохранилось искомое выражение.

Вот что в итоге получилось:
PHP - Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
function FilesNavi() {
    global
$admin_file, $filtr_namef;
    
GraphicAdmin();
    
OpenTable();
    
    echo
"<form name="filtr" action="".$admin_file.".php">"
    
."<input type="hidden" name="op" value="files">"
    
."<input type="text" name="filtr_namef" value="$filtr_namef">   "
    
."<input type="submit" value="GO!">"
    
."</form>";
    
    echo
"<center><font class="title">"._FILESADMIN."</font>
    ."
[ <a href="".$admin_file.".php?op=files">"._HOME."</a>"
    ."
| <a href="".$admin_file.".php?op=add_files">"._ADD."</a>"
    ."
| <a href="".$admin_file.".php?op=cat_files">"._CATEGORIES."</a>"
    ."
| <a href="".$admin_file.".php?op=new_files">"._ADDNEWFILES."</a>"
    ."
| <a href="".$admin_file.".php?op=brocen_files">"._ADDBROCFILES."</a>"
    ."
| <a href="".$admin_file.".php?op=FilesConf">"._PREFERENCES."</a> ]</center>";
    CloseTable();
}
?>


2. Функция function files()
Во-первых в глобальные добавим $filtr_namef, что бы принять искомое из формы.

Далее после вызова меню (строка FilesNavi();) добавим такой код, формирующий дополнения к запросам в базу на формирование списка файлов и подсчета количества файлов в списке, а так же дополнение для функции нумерации страниц (что бы передавать искомое при переходе на другие страницы списка).
PHP - Код
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$filtr_namef
=  text_filter($filtr_namef, 2);
    if (
$filtr_namef!="") {
        
$dop_filtr1 = " AND f.title LIKE '%$filtr_namef%' ";
        
$dop_filtr2 = " AND title LIKE '%$filtr_namef%' ";
        
$dop_put="filtr_namef=$filtr_namef&";
    } else {
        
$dop_filtr1 = "";
        
$dop_filtr1 = "";
        
$dop_put="";
    }
?>


И последним шагом раздадим $dop_filtr1, $dop_filtr2 и $dop_put своим запросам и функции.

PHP - Код
1
2
3
<?php
$result
= $db->sql_query("SELECT f.lid, f.cid, f.title, f.date, f.ip_sender, c.cid, c.title FROM ".$prefix."_files AS f LEFT JOIN ".$prefix."_files_categories AS c ON (f.cid=c.cid) WHERE status!='0' $dop_filtr1 ORDER BY f.lid DESC LIMIT $offset, $storynum");
?>

PHP - Код
1
2
3
<?php
list($numstories) = $db->sql_fetchrow($db->sql_query("SELECT Count(lid) FROM ".$prefix."_files WHERE status!='0' $dop_filtr2 "));
?>

PHP - Код
1
2
3
<?php
num_page
($module_name, $numstories, $numpages, $storynum, "".$dop_put."op=files&");
?>


В итоге получим во такую функцию:
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
function files() {
    global $prefix, $db, $admin_file, $pagenum, $filtr_namef;
    include("header.php");
   FilesNavi();

   $filtr_namef =  text_filter($filtr_namef, 2);
   if ($filtr_namef!="") {
      $dop_filtr1 = " AND f.title LIKE '%$filtr_namef%' ";
      $dop_filtr2 = " AND title LIKE '%$filtr_namef%' ";
      $dop_put="filtr_namef=$filtr_namef&";
   } else {
      $dop_filtr1 = "";
      $dop_filtr1 = "";
      $dop_put="";
   }

   $storynum = 25;
   $pagenum = (!intval($pagenum)) ? 1 : intval($pagenum);
   $offset = ($pagenum-1) * $storynum;
   $offset = intval($offset);
   $result = $db->sql_query("SELECT f.lid, f.cid, f.title, f.date, f.ip_sender, c.cid, c.title FROM ".$prefix."_files AS f LEFT JOIN ".$prefix."_files_categories AS c ON (f.cid=c.cid) WHERE status!='0' $dop_filtr1 ORDER BY f.lid DESC LIMIT $offset, $storynum");
   if ($db->sql_numrows($result) > 0) {
      OpenTable();
      echo "<center><font class="option">"._FILESADMIN."</font></center><br />"
      ."<script language="JavaScript" type="text/javascript" src="javascripts/SortTable.js"></script><table width="100%" border="0" cellpadding="3" cellspacing="1" class="sort" id="sort_id"><tr><th>"._ID."</th><th>"._TITLE."</th><th>"._CATEGORY."</th>"
      ."<th>"._DATE."</th><th>"._IP."</th><th>"._FUNCTIONS."</th></tr>";
      while (list($lid, $cid, $title, $date, $ip_sender, $ccid, $ctitle) = $db->sql_fetchrow($result)) {
         $ip_sender = ($ip_sender) ? $ip_sender : ""._NO."";
         echo "<tr class="bgcolor1"><td align="center">".$lid."</td>"
         ."<td>".$title."</td>"
         ."<td>".$ctitle."</td>"
         ."<td align="center">".$date."</td>"
         ."<td align="center">".$ip_sender."</td>"
         ."<td align="center"><a href="".$admin_file.".php?op=edit_files&lid=$lid" title=""._EDIT.""><img src="images/edit.gif" border="0" alt=""._EDIT.""></a> <a href="".$admin_file.".php?op=delit_file&lid=$lid" title=""._DELETE.""><img src=images/delete.gif border="0" alt=""._DELETE.""></a></td></tr>";
       }
      echo "</table>";
      CloseTable();
      list($numstories) = $db->sql_fetchrow($db->sql_query("SELECT Count(lid) FROM ".$prefix."_files WHERE status!='0' $dop_filtr2 "));
      $numpages = ceil($numstories / $storynum);
      num_page($module_name, $numstories, $numpages, $storynum, "".$dop_put."op=files&");
   }
   include("footer.php");
}



Дата публикации: 16.02.2007
Прочитано: 11862 раз
[ Назад | Начало | Наверх ]
Нет комментариев. Почему бы Вам не оставить свой?
Вы не можете отправить комментарий анонимно, пожалуйста зарегистрируйтесь.
Календарь 3 в 1
- М - Г + Г + М
Ноябрь, 2024
пнвтсрчтптсбвс
123
45678910
11121314151617
18192021222324
252627282930
Купить.
Можно в кредит на 90 дней!
Навигация
»» RSS
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул


Генерация страницы: 0.059 сек. и 18 запросов к базе данных за 0.026 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.