Подбрано за Уеб дизайн, SEO оптимизация и Joomla
- How to "kill" plugin in Joomla?
- How to remove ...?
- Online craft store offering an abundance of craft supplies from hundreds of specialty and discount suppliers
- Използване на външни шрифтове с гугъл
- Css text shadow for all browsers (IE,Mozilla,Opera) in text - 3D typography for joomla
- Браузер независим css2 textshadow в Joomla - Opera, Mozilla, Internet Explorer
- INDONESIA PANCEN HOUYE - SEO състезание в Индонезия
- Влияние на IP и DNS върху ранжиране на резултатите в серпа
- Сео трикове за професионалисти - обратен пагинатор
- Norway and Somalia with new domains
Преработка на AdsManager за да записва IP-тата на подаващите обявата
( Оценка ) от ( 2 отзива )Мнозина от вас, правещи сайтове за обяви са се сблъсквали с нуждат да записват IP то на подалият обявата с цел борба със спамери, за които има различни начини.
Днес ще ви запозная с един лесен начин на преработка на AdsManager за Joomla, който позволява при разглеждане на подадените обяви да се виждат и IP-то на пусналият обявата. Това се прави с цел да може да определим лесно това IP спамерско ли е или на обикновено пообъркал се потребител, и да може да вземем мерки - примерно бан на това IP.
Преработката става постъпково.
1. Модифицираме таблицата jos_adsmanager_ads, като добавяме поле за пазене на IPто. За целта изпълняваме SQL заявката
ALTER TABLE `jos_adsmanager_ads` ADD `auserip` varchar(20) not null
през phpMyAdmin. Сега вече имам празно поле, в което може да пазим IP то на подалият обявата. Полето се казва 'auserip' но може да е произволно.
2. Променяме администрацията на AdsManager така ,че да може да виждаме backend тази информация.
За целта в /administrator/components/com_adsmanager/admin.adsmanager.html.php добавяме колона в таблицата за визуализиране на обявите.
2.а Намираме функцията function listAds($cat,$option, $rows,$pagenav,$navlink,$cats,$nb_images,$search) ,която в различните версии може да има различен php код. Първо добавяме заглавие на таблицата, като намираме кода
<th width="5%">Id</th>
<th width="30%"xxxxxxxxxxx</th>
<th width="5%"yyyyyyyyy</th>
<th width="20%"xxxxxxxxxx</th>
<th width="10%"xxxxxxxxxx</th>
<th width="10%"xxxxxxxxxxx</th>
<th width="10%"><?php echo ADSMANAGER_TH_DATE;?></th>
и го променяме на (добавяме ред) като 30% променяне на 20% - намаляваме ширината колоната за изображения.
<th width="10%">user IP</th>
тоест намаляме ширината на колоната с изображенията и добавяме нова, която ще показва IP-то като в случая това ще става накрая на таблицата.
2.3 Добавяме код за визуализация на самото поле. Във същата функция (ориентировъчно ред 612) след кода
<td><?php echo $row->username; ?></td>
<td><?php echo '<a href="/index2.php?option='.$option.'&act=ads&catid='.$row->category.'">'.$row->catname.'</a>'; ?></td>
<td><?php echo $row->date_created; ?></td>
добавяме ред
този код ще показва последната колона.
Така вече можем да показваме IP-to . Остава само да се погрижим при запис то да се записва.
3. в /components/com_adsmanager/adsmanager.php намираме функцията function save_ad($option). (ориентировъчно ред 1187 ). Тя записква обявата в базата данни. Някъде към ред 1430 ще откриете следният код от същата функция:
if ($first == 0)
$query .= "SET";
else
$query .= ",";
този участък код формира заявката към базата. Заместваме го със
if ($first == 0) {
$query .= "SET";
// My hack
$i123=$_SERVER['REMOTE_ADDR'];
$query .= " auserip = '".$i123."', ";
//end my hack
}
else
$query .= ",";
записваме и имаме чисто нова функционалност. Променливата $i123 може да се икономиса за тези които знаят php, аз я ползвам при дебъг.
Скоро ще пусна и хакче как се правят VIP обяви с AdsManager а дотогава може да прочетете и как да показваме карти в нашите обяви с Google maps for AdsManager 2.5

