Destruction Опубликовано 24 Декабря 2005 Жалоба Поделиться Опубликовано 24 Декабря 2005 Собственно пришла в голову идея - сначало было лень делать, а ща вдруг взял и сделал, т.к. я совершенно не уверен в работоспособсности - тестим. Суть: Найти файлы обновлённые/появившиеся с последнего посещения и сообщить об этом админу. Совместимость: 2.0.х Вполняем такие MySQL запросы:CREATE TABLE `ibf_security` ( `id` INT NOT NULL AUTO_INCREMENT , `name` TEXT NOT NULL , `val` LONGTEXT NOT NULL , PRIMARY KEY ( `id` ) ) TYPE = MYISAM;insert into `ibf_security` values('','last_file_list','');insert into `ibf_security` values('','last_file_list_time',''); Открываем файл sources/admin/ad_index.phpОколо 322 строки находим: //----------------------------------------- // Quick clicks + Upgrade History //----------------------------------------- $ibforums->html .= "<table cellpadding='0' cellspacing='0' border='0' width='100%'> <tr> <td width='49%' valign='top'>"; $ibforums->html .= $ibforums->adskin->start_form(); $ibforums->adskin->td_header[] = array( "{none}" , "30%" ); $ibforums->adskin->td_header[] = array( "{none}" , "45%" ); $ibforums->adskin->td_header[] = array( "{none}" , "25%" );После комментариев (которые включены в блок который я указал для поиска) дописываем: $ibforums->adskin->td_header[] = array( "Имя файл и путь" , "75%" ); $ibforums->adskin->td_header[] = array( "Дата Модификации" , "25%" ); $ibforums->html .= $ibforums->adskin->start_table( "Новые/Изменённые файлы с Вашего последнего посещения." ); $DB->query("select val from ibf_security where name='last_file_list';"); $list = $DB->fetch_row(); $list = stripslashes($list['val']); $DB->query("select val from ibf_security where name='last_file_list_time';"); $time = $DB->fetch_row(); $time = $time['val']; $this->showDir(getcwd()); $list = explode(";",$list); $results = explode(";",$this->showDirResult); for($i=0;$i<count($results);$i++){ if(!in_array($results[$i],$list) || filemtime(getcwd()."/".$results[$i])>$time){ $ibforums->html .= $ibforums->adskin->add_td_row( array($results[$i],date("Y-m-d H:i s",filemtime(getcwd()."/".$results[$i]))) ); } } $DB->query("update ibf_security set val='".addslashes($this->showDirResult)."' where name='last_file_list'"); $DB->query("update ibf_security set val='".time()."' where name='last_file_list_time'"); $ibforums->html .= $ibforums->adskin->end_table();В этом же файле ищем:} ?>Выше добавляем:function showDir($dir){ $h = OpenDir($dir); while($el = ReadDir($h)) if($el!="." && $el!="..") if(Is_Dir("$dir/$el")) $this->showDir("$dir/$el"); else $this->showDirResult.=substr(str_replace(getcwd(),"",$dir)."/",1)."$el;"; } Вот, вроде так, тестим. (Вся информация показывается на главной странице админцентра, в первый раз будут показаны все файлы). PS: Всё гениальное - просто! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.