Доброй ночи, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Показать сообщения от „divan“ (9)
Сообщение Форум Дата
Ещё раз, спасибо, как всегда, не заметил подсказку, которая тут-же, по сути лежала :-) буквально же парой строчек выше четко написано
PHP-код
if (!defined('AJAX_OUTPUT')) {
Получилось, что задал глупый вопрос, но все равно, спасибо :-)
Техническая помощь 23.03.2012, 00:22
Сообщение Форум Дата
Всем, доброй ночи. Разобрался где и почему теряется action. Все исправил, но столкнулся со следующей "проблемой", если посмотреть в мое сообщение выше, то в классе chat.php в методе refresh запрашиваются из базы новые сообщения, там же формируется json массив для возврата клиенту, но не все так просто оказалось. Дело в том, что помимо формируемого массива, к данным, в самый конец, добавляется html код стартовой страницы. Для себя решил эту "проблему" так: в index.php добавил дополнительное условие вида (знаю, что условия требуют объединения в одно через && :-) )
Код
if(Sys::get($_REQUEST, 'action') != 'refresh'){
$out = (Sys::get($_REQUEST, 'blanc') == 1) ? $CS->getOutFinal(SOURCE . '/page/popup.tpl') : $CS->getOutFinal(SOURCE . '/' . ($Core->getPrintVersion() ? 'page/print.tpl' : 'page/' . $tpl));
}

тогда HTML код не добавляется к данным и JSON формируется корректный. Но, т.к. я все это делаю в виде отдельного модуля, то считаю данный способ не совсем корректным. Можно-ли как-то (может при указании в параметрах, хотя не нашел таких условий) сделать так, чтобы HTML код не добавлялся к данным JSON'а не внося какие-либо изменения в index.php и прочие классы не относящиеся к модулю???
Техническая помощь 22.03.2012, 00:41
Сообщение Форум Дата
Цитата
Автор: Status-X
А самый правильный вариант, реализовывать все через модуль, там все просто посмотрите на примере модуля test или donate

Именно как модуль все это и делаю :-) Спасибо за наводку, буду пытаться найти, за счет чего action теряется...
С отдельным файлом я попробовал, ради чистоты эксперимента :-)


Отредактировано divan: 18.03.2012, 19:17:13
Техническая помощь 18.03.2012, 19:14
Сообщение Форум Дата
Решил не плодить темы, поэтому хочу задать ещё один вопрос, который не могу уже долго решить.
По прежнему продолжаю "биться" над динамическим обновлением страницы и в общем-то вопрос в следующем:
есть такой код:
Код
jQuery.ajax({
type: "POST",
url: "{$path}/chat.php",
cache: false,
data: "action=refresh",
error: function(){
$("#messages").html('Ошибка AJAX');
},
success: function(html){
$("#messages").html(html);
}
});

В классе chat.php стандартное:
Код
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
if (!defined('STATUS_DIR')) exit('Доступ запрещен');
if (!permission('chat')) Sys::getClass('Core')->getNoPerm();
include (MODUL_DIR . '/chat/class/class.Chat.php');
$_POST['action'] = !empty($_POST['action']) ? $_POST['action'] : 'start';
switch (Sys::get($_POST, 'action')){
default:
break;
case 'start' :
Sys::getClass('Chat')->start();
break;
case 'refresh' :
Sys::getClass('Chat')->getMessages();
break;
}
?>

При такой реализации я получаю "Доступ запрещен". Также пробовал сделать вызов через url: "index.php", data: "p=chat&action=refresh",но при такой попытке switch переключался на start,а не на refresh
Ради эксперимента, делал отдельный класс, в котором было прописано подключение к базе и обработка запроса, получения из базы данных и вызов был в виде url: "{$path}/badChat.php", все работает, но ни как не соответствует контексту безопасности.
В общем-то вопрос, как правильно реализовать данный ajax запрос, чтобы в chat.php не ловить "Доступ запрещен" и корректно по запросу POST переходить к получению сообщений? Или может быть есть какие-то другие способы перегрузить div?
Сумбурно как-то получилось описать, поэтому в двух словах: делаю модуль чата, есть div, в который выводятся сообщения и в принципе уже почти все работает, за исключением динамического обновления по таймеру. Перезагружать всю страницу, это как-то не правильно :)
Техническая помощь 18.03.2012, 18:02
Сообщение Форум Дата
Цитата
Автор: Status-X
Если вы правильно отписали, именно подключение, то для подключения используется включая папки сервера, а вот для вызова файла нужет путь именно от корневой директории сайта

Спасибо, пробовал и так, и так (даже права на файлы проверял), но стыдно признаться, ошибка была сильно банальна, при объявлении пути до модуля сделал опечатку в слове modules :-( и двое суток не видел этого

Цитата
Автор: Status-X
У вас в контенте нарушена парность тегов, частая проблема при копипасте

Буду знать и проверю теги на парность.
На самом деле, переключился на "источник" и сразу увидел проблему копипаста не через блокнот :-)


Отредактировано divan: 03.03.2012, 22:43:20
Техническая помощь 03.03.2012, 22:31
Сообщение Форум Дата
Добрый вечер, столкнулся с такой проблемой, есть самописный модуль, теперь появилась необходимость динамического обновления контента (обновление данных в блоке по таймеру), соответственно пишу script на ajax, в параметрах указываю url к php, который "лезет" в базу и возвращает контент, но столкнулся с такой проблемой, что скрипт не работает, т.к. не видит данный файл. Для чистоты эксперимента сделал php примитивно - просто вывод текущего времени (<?php echo date("H:i:s"); ?>) и теперь получается, что если файл php кладу в корень сайта (рядом с index.php), а в скрипте указываю:$.ajax({url: "time.php", cache: false, success: function(html){$("#content").html(html);}}); то все отлично работает, но если положить файл time.php в шаблон модуля и указать путь до модуля url: "{$tpl}/guest/time.php", то ajax не отправляет запросы (слэши пробовал как одинарные, так и двойные). В консоли ошибок ни каких ошибок не фиксируется (использую ff), ошибок smarty так же нет. Переменная {$tpl} точно содержит верный путь, т.к. неоднократно используется при подключении других файлов.
Пожалуйста, подскажите, в чем моя ошибка и как мне указать url до модуля так, чтобы php был виден и выполнялся???

P.S.: не знаю, интересно кому или нет, но в статьях обнаружил, что если в статье заполнить оценки, то в дальнейшем все эти оценки, при просмотре статьи, отображаются под панелями авторизации, новыми пользователями и т.д. Мне это не актуально, поэтому не исправлял. :-)

Отредактировано divan: 02.03.2012, 19:47:21
Техническая помощь 02.03.2012, 19:44
Сообщение Форум Дата
В правах доступа пользователей устанавливаю галочку напротив:
Правила доступа - Галерея:
- Разрешено загружать изображения в галереи (Ajax)
Но после сохранения ни каких изменений не вижу, ни в админ панели, для какой-то дальнейшей настройки, ни в интерфейсах пользователя, где бы он мог загружать свои изображения в галерею.
Собственно вопрос, что я делаю не так и каким образом можно позволить загружать изображения в галерии?
P.S.: допускаю вариант, что плохо искал :-)
Техническая помощь 24.10.2011, 15:34
Сообщение Форум Дата
Обратил внимание, что после прочтения темы с новыми сообщениями её статус не меняется на "прочитанные". Пробежался по коду (по "диагонали") ни чего не заметил. Попробовал сравнением с последней выложенной версией и увидел, что был изменен файл showtopic.tpl в forums, но слияние изменений мне не помогло, скачал update, тоже не полегчало. Попробовал на данном форуме все нормально, т.е. после прочтения тема меняет статус. Подскажите направление в котором смотреть и с чем ковыряться? Как я понимаю, не происходит обновление статуса в базе? Нажатие по "Пометить форумы как прочтенные", также не дает ни какого эффекта, кроме обновления страницы.

Отредактировано divan: 24.10.2011, 15:21:40
Техническая помощь 28.09.2011, 00:05
Сообщение Форум Дата
На локалке развернул версию 1.04 RC1, при настройке форума,в пункте "Настройки вложений", могу выбрать расширения файлов доступных для загрузки пользователями. Попробовал обновить данную версию на 1.04 RC2 от 19/09/2011, само обновление прошло вполне успешно, выполнил update.php и теперь в настройках вложений полностью отсутствует список расширений доступных файлов.
Стал разбираться и увидел, что в updates.php табличка _f_allowed_files дропается намерено. От сюда вопрос, как настроить доступные файлы? А то на форуме не получается прикрепить ни один файл... :-(

Отредактировано divan: 24.09.2011, 15:08:10
Техническая помощь 24.09.2011, 15:06


 


 Сейчас на сайте

Пользователей: 0, Гостей: 4

Поисковые боты: 189
Googlebot(3), Bot(177), BingBot(4), oBot(5)
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: dota812651
 Дни рождения

alexkon (52)
Copyright © 2009 - 2024 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты