0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 894 Просмотров
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Надоело обновлять дату путем сохранения-изменения в объявлении.

Нашел тут на форуме тему по прикручивании аякса ( ну как всегда у меня не заработало из коробки)

подпилил для себя

стили настраиваем под свой лад
у меня так
Код
.adsm_ajax_up {
    float: left;
    margin: -33px 65px;
    background: url(/images/refresh.gif)left 2px no-repeat;
    width:15px;
    height:15px;

}

.adsm_ajax_up_1 {
    float: left;
    margin: -40px;
    padding: 2px;
    background: #4B6B94;
    font-weight: normal;
    white-space:nowrap;
    color:#fff;
    font-size: 160%;
}



фаил AdsManager.php

в конце добавляем функцию

Код
//функция AJAX обновления даты публикации

function ajax_up_date($adid,$option){
    global $database,$my;
    $today = date("d-m-Y");

$query = ' UPDATE #__adsmanager_ads '
                     .' SET `date_created` = CURDATE()'
                     .' WHERE id = '.$adid 
                    .' AND userid = '.$my->id;

    $database->setQuery($query);
            if ($database->getErrorNum()) {
echo $database->stderr();}
            else {
    $database->query();
            }
header('Content-type: text/html; '._ISO);
echo "<span class=\"adsm_ajax_up_1\" title=\"Дата обновлена - ".$today."\">". $today ."</span>";
exit;
}

в самом начале добавляем

Код
case 'ajax_up_date': {
        ajax_up_date($adid,$option);
        break;
    }


в adsmssnger.html.php в функции show_list  в районе вывода ( обновление - удаление )

перед кодом
Код
<?php
$target = sefRelToAbs("index.php?option=$option&amp;Itemid=$itemid&amp;page=write_ad&amp;adid=$row->id"."&amp;Itemid=".$itemid);
echo "<a href='".$target."'>".ADSMANAGER_AD_EDIT."</a>";
echo "&nbsp;";
$target = sefRelToAbs("index.php?option=$option&amp;Itemid=$itemid&amp;page=delete_ad&amp;adid=$row->id"."&amp;Itemid=".$itemid);
echo "<a href='".$target."'>".ADSMANAGER_AD_DELETE."</a>";

                            ?>

вставляем код ( после условия if (($my->id == $row->userid)&&($update_possible == 1))   { )

Код
<a href="javascript:void(0);" class="adsm_ajax_up" title="Обновить дату публикации" onclick='ajax_up_date("<?=$row->id?>",this)' >
                            <span></span></a>
и там чуть позже вставляем функцию

Код
function ajax_up_date(id,el){
        var url = '/objavleniya.html?page=ajax_up_date&adid='+id; /// так как не силен в JS вот тут указал ссылку уже SEF , index.php?option=$option ..... не трансформировалась в какую надо
                if (window.XMLHttpRequest) {
                    req = new XMLHttpRequest();
                    req.open("GET", url, true);
                    req.send(null);
                }else if (window.ActiveXObject){
                    req = new ActiveXObject("Microsoft.XMLHTTP");
                        if (req) {
                            req.open("GET", url, true);
                            req.send();
                        }
                }
            req.onreadystatechange = function(){
                if (req.readyState == 4)  {
               el.innerHTML = req.responseText;
                   el.setAttribute('onclick','');
                 }       
                }

                }

Да при таком обновлении письмо на почту не приходит
« Последнее редактирование: 17.12.2014, 15:13:23 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Re: Обновление даты публикации AJAX
« Ответ #1 : 16.01.2015, 20:06:49 »
с админ частью проблемка - не хочет что то

не пойму в чем проблема функции

Код
function ajax_up_ad(){
    global $database;
    $today = date("d-m-Y");
    if(isset($_GET['tid'])){
    $id = intval($_GET['tid']);
}
$query = " UPDATE #__adsmanager_ads SET `date_created` = CURDATE() "
                ." WHERE `id` = ".$id;
   
    $database->setQuery($query);
                if ($database->getErrorNum()) {
        echo $database->stderr();}
                else {
            $database->query();
                    header('Content-type: text/html; '._ISO);
                        echo "<span class=\"adsm_ajax_up_ad1\" title=\"Дата обновлена - ".$today."\">". $today ."</span>";   
                    exit;
                    }
   

}
« Последнее редактирование: 17.01.2015, 10:13:31 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Re: Обновление даты публикации AJAX
« Ответ #2 : 18.01.2015, 12:42:45 »
вопрос с обновлением частично решил ( если отключить кэш браузера, то нормально дата обновляется)
С фантазией плохо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Фильтр по полям или автозаполнение категl

Автор Risenab

Ответов: 2
Просмотров: 1087
Последний ответ 24.02.2017, 21:46:48
от Risenab
Как убрать названия позиции?

Автор Негодяй

Ответов: 7
Просмотров: 1271
Последний ответ 27.11.2016, 14:16:42
от grinat
Как добавить поле даты и календарь на стра

Автор Polosatyi

Ответов: 2
Просмотров: 1507
Последний ответ 12.10.2016, 06:05:57
от alexche
Как изменить вывод заголовка объявлений?

Автор max.g

Ответов: 1
Просмотров: 771
Последний ответ 23.05.2016, 13:59:04
от max.g
Core Design Captcha на AdsManager

Автор RodionMurin

Ответов: 1
Просмотров: 933
Последний ответ 10.03.2016, 20:44:32
от RodionMurin