Перейти к содержимому


логгируем автора изменений


  • Вы не можете ответить в тему
В этой теме нет ответов

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 10 March 2016 - 03:07 PM

Дополнение позволяет зафиксировать, кто (логин) и когда (дата, время) последним менял данные у категории, товара, новости, страницы.
У товара частично такая фиксация и так есть штатно, но без логина, только дата/время.
Очевидно, что дополнение имеет смысл только когда администрируют сайт несколько разных людей и у них отдельные (свои) логины.

Недостатки:
===========

Не ведется история изменений, информация сохраняется только о последнем. Сделать легко, но задача не ставилась.
Нет фиксации какие именно из полей были изменены. Тоже задача не ставилась. Сделать довольно непросто, но можно.

Прикрепленный файл  1.jpg   35.44К   17 Количество загрузок:

Прикрепленный файл  2.jpg   37.67К   19 Количество загрузок:

Прикрепленный файл  3.jpg   40.25К   16 Количество загрузок:

Прикрепленный файл  4.jpg   25.22К   9 Количество загрузок:


1. копируем файлы

changer_functions.php -> /core/functions/admin/
addon.php -> /core/includes/admin/

2. в файле admin.php

2.1. после строк (строк!)


$pid = (int)$_POST["must_delete"];
}


вставляем


# BEGIN логгинг меняющего админа
changeSetCategory($pid);
# END логгинг меняющего админа


2.2. ищем


<select name="parent" id="parent"


и чуть ниже (строк на двадцать) вместо


</select></td></tr>


вставляем


<!-- BEGIN логгинг меняющего админа -->
<!--</select></td></tr>-->
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Изменено:&nbsp;<span style="color:red;"><?php echo changeGetCategory((int)$_GET["categoryID"]);?></span></td></tr>
<!-- END логгинг меняющего админа -->


2.3. ищем


<select name="categoryID" >


и чуть ниже (строк на десять) вместо


</select></td></tr>


вставляем


<!-- BEGIN логгинг меняющего админа -->
<!--</select></td></tr>-->
</select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Изменено:&nbsp;<span style="color:red;"><?php echo changeGetProduct((int)$_GET["productID"]);?></span></td></tr>
<!-- END логгинг меняющего админа -->



3. в файле product_functions.php

3.1. в функции UpdateProduct в начало или еще куда вставляем


# BEGIN логгинг меняющего админа
changeSetProduct($productID);
# END логгинг меняющего админа



3.2. в функции AddProduct

после


$insert_id = db_insert_id();


вставляем


# BEGIN логгинг меняющего админа
changeSetProduct($insert_id);
# END логгинг меняющего админа



4. в файле aux_pages_functions.php

4.1. в функции auxpgUpdateAuxPage в начало или еще куда вставляем


# BEGIN логгинг меняющего админа
changeSetPage((int)$aux_page_ID);
# END логгинг меняющего админа


4.2. в функции auxpgAddAuxPage в конец вставляем


# BEGIN логгинг меняющего админа
changeSetPage(db_insert_id());
# END логгинг меняющего админа



5. в файле news_function.php

5.1. в функции newsAddNews

вместо


return db_insert_id();


вставляем


# BEGIN логгинг меняющего админа
#return db_insert_id();
$nid = db_insert_id();
changeSetNews($nid);
return $nid;
# END логгинг меняющего админа


5.2. в функции newsUpdateNews в начало или еще куда вставляем


# BEGIN логгинг меняющего админа
changeSetNews((int)$id_news);
# END логгинг меняющего админа



6. в файле catalog_products_categories.php

6.1. после строк (строк!)


if ( isset($val["price"]) )
{


вставляем


# BEGIN логгинг меняющего админа
changeSetProduct((int)$key);
# END логгинг меняющего админа


эти строки в файле встречаются два раза, т.е. и вставку надо сделать в двух местах


6.2. в случае дополнения "колонки цен"

после


else db_query("REPLACE ".DB_PRFX."multiprice SET priceID=".$_GET['to'].", prdID=".$row['productID'].", mprice=$new_price");


вставляем


# BEGIN логгинг меняющего админа
changeSetProduct($row['productID']);
# END логгинг меняющего админа



7. в файле custord_aux_pages.tpl.html

7.1. после


<td align="left" width="100%" class="toph3">{$smarty.const.AUX_PAGE_REF}</td>


вставляем


{* BEGIN логгинг меняющего админа *}
<td>Изменено</td>
{* END логгинг меняющего админа *}


7.2. после


<td align="left">&lt;a href="{if $smarty.const.CONF_MOD_REWRITE eq 1}page_{$aux_pages[i].aux_page_ID}.html"&gt;{$aux_pages[i].aux_page_name}{else}index.php?show_aux_page={$aux_pages[i].aux_page_ID}"&gt;{$aux_pages[i].aux_page_name}{/if}&lt;/a&gt;</td>


вставляем


{* BEGIN логгинг меняющего админа *}
<td>{$aux_pages[i].aux_page_ID|changeGetPage|replace:' ':'&nbsp;'}</td>
{* END логгинг меняющего админа *}


7.3. чуть выше и ниже меняем colspan="4" на colspan="5"


8. в файле modules_news.tpl.html

8.1. после


<td align="left" width="100%">{$smarty.const.ADMIN_NEWS_NAMEF}</td>


вставляем


{* BEGIN логгинг меняющего админа *}
<td>Изменено</td>
{* END логгинг меняющего админа *}


8.2. после


<td align="left">{$news_posts[i].title}</td>


вставляем


{* BEGIN логгинг меняющего админа *}
<td>{$news_posts[i].NID|changeGetNews|replace:' ':'&nbsp;'}</td>
{* END логгинг меняющего админа *}


8.3. чуть выше и ниже меняем colspan="3" на colspan="4"

Прикрепленные файлы

  • Прикрепленный файл  changer_functions.php   1.41К   2 Количество загрузок:
  • Прикрепленный файл  addon.php   672байт   1 Количество загрузок:

  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)