Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Код
Все доброе время суток, есть скрипт от робокассы с обработчиками. Вот пытаюсь его немного обернуть в модуль. И застрял на обработчиках ресзультатов. как верно обьявить переменную пароля которая у меня к примеру в XML обозначена как 
[code]<field name="mrh_pass1" type="text" size= "70"  label="ROBOKASSA_M_PASS"



                        description="ROBOKASSA_M_PASS" />
Пытаюсь пароль сменить чтоб он выводился с модуля а не просто паролем

В оригинале начинается скрипт с проверки пароля мерчанта:
$pass1 = "1234567890q";     я же пишу чтоб выводить его с параметров модуля

$pass1 = '<?php echo $mrh_pass1; ?>';   но он не видит пароль, тоесть пароль не передается с параметров модуля

Как его правельно обьявить...

Если обьявляю так:

<?
$mrh_pass1 = $params->get('mrh_pass1');
// регистрационная информация (пароль #1)
// registration info (password #1)


$pass1 = '<?php echo $mrh_pass1; ?>';

Получаю ошибку:

Fatal error: Call to a member function get() on a non-object in
[code<?

// регистрационная информация (пароль #1)
// registration info (password #1)
$pass1 = '<?php echo $mrh_pass1; ?>';
// чтение параметров
// read parameters
$out_summ = $_POST["OutSum"];
$inv_id = $_POST["InvId"];
$shp_art = $_POST["Shp_Art"];
$crc = $_POST["SignatureValue"];

$crc = strtoupper($crc);

$my_crc = strtoupper(md5("$out_summ:$inv_id:$pass1:Shp_Art=$shp_art"));

// проверка корректности подписи
// check signature
if ($my_crc != $crc)
{
  echo "bad sign\n";
  exit();
}

echo "YES";
?>

<?php



?>][/code]
« Последнее редактирование: 23.12.2014, 07:55:09 от jservice »
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #1 : 23.12.2014, 07:49:06 »
Что не кто не знает...
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Re: ОбЪявить переменную в модуле
« Ответ #2 : 23.12.2014, 09:49:13 »
А переменная params объявлена ?
Ответы на вопросы по CSS . Откройте для себя Firebug
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #3 : 23.12.2014, 09:57:29 »
Объявлена... но че то не видит его

вот скрипт результа

Код

<?

// регистрационная информация (пароль #2)
// registration info (password #2)
$mrh_pass2 = $params->get('mrh_pass2');

$mrh_pass2 = "<?php echo $mrh_pass2; ?>";


$out_summ = $_POST["OutSum"];
$inv_id = $_POST["InvId"];
$shp_art = $_POST["Shp_Art"];
$crc = $_POST["SignatureValue"];


$crc = strtoupper($crc);

$my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass2:Shp_Art=$shp_art"));

// проверка корректности подписи
// check signature
if ($my_crc !=$crc)
{
  echo "bad sign\n";
  exit();
}

// признак успешно проведенной операции
echo "OK$inv_id\n";



mail(
"<?php echo $milo; ?>",
"Заказ был оплачен",
"Клиент оплатил на ".intval($_POST['OutSum'])." рублей",
$headers
);
?>

*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #4 : 23.12.2014, 10:09:01 »
мистика какая то ... Объявляю но как об стенку...

Код
<?php

$mrh_pass2 = $params->get('mrh_pass2');


       

?>

Что может быть не так... Подскажите кто знает.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: ОбЪявить переменную в модуле
« Ответ #5 : 23.12.2014, 14:02:56 »
мистика какая то ... Объявляю но как об стенку...
что объявляю, где объявляю? гадать будет?
хоть бы написали в каком файле это все делается
а так var_dump($params) в помощь, уверен что там будет null
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #6 : 23.12.2014, 14:12:53 »
Да null,

скрипт оббработчиков робокассы запихиваю в модуль вот на результ не как не получается прописать в нем переменые на вывод параметров с XML, второй день топчусь не пойму почему не видит


вот скрипт : result.php

Код



<?php

$mrh_pass2 ="пароль";

$out_summ = $_POST["OutSum"];
$inv_id = $_POST["InvId"];
$shp_art = $_POST["Shp_Art"];
$crc = $_POST["SignatureValue"];


$crc = strtoupper($crc);

$my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass2:Shp_Art=$shp_art"));

// проверка корректности подписи
// check signature
if ($my_crc !=$crc)
{
  echo "bad sign\n";
  exit();
}

// признак успешно проведенной операции
echo "OK$inv_id\n";

?>
         
во второй строке нужно пароль выводить не с этого скрипта а с параметров модуля
вот пытаюсь вывести параметры модуля
Код



<?php
$mrh_pass2 ="<?php echo $mrh_pass2; ?>";

$out_summ = $_POST["OutSum"];
$inv_id = $_POST["InvId"];
$shp_art = $_POST["Shp_Art"];
$crc = $_POST["SignatureValue"];


$crc = strtoupper($crc);

$my_crc = strtoupper(md5("$out_summ:$inv_id:$mrh_pass2:Shp_Art=$shp_art"));

// проверка корректности подписи
// check signature
if ($my_crc !=$crc)
{
  echo "bad sign\n";
  exit();
}

// признак успешно проведенной операции
echo "OK$inv_id\n";

?>
         
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #7 : 23.12.2014, 14:27:04 »
в mod_robokassa.php нормально все выводится, а в результ не могу передать параметры

Код
   

<?php

     $mrh_login = $params->get('login');
     $out_summ = $params->get('out_summ');
     $inv_id = $params->get('inv_id');
     $milo = $params->get('milo');
     $shp_art = $params->get('shp_art');
     $mrh_pass2 = $params->get('mrh_pass2');
     $mrh_pass1 = $params->get('mrh_pass1');

     $submit_text = $params->get('submit_text');
   

?>


<?php

$crc  = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_Art=$shp_art");

?>




<form action='http://test.robokassa.ru/Index.aspx' method=POST>
 
      <input type=hidden name=MrchLogin value="<?php echo $mrh_login; ?>"/>
     <input type=hidden name=OutSum value="<?php echo $out_summ; ?>"/>
      <input type=hidden name=InvId value="<?php echo $inv_id; ?>"/>
      <input type=hidden name=Desc value="<?php echo $inv_desc; ?>"/>
      <input type=hidden name=SignatureValue value="<?php echo $crc; ?>"/>
      <input type=hidden name=Shp_Art value="<?php echo $shp_art; ?>"/>
<input type=hidden name=IncCurrLabel value="<?php $in_curr; ?>"/>
      <input type=hidden name=Culture value="<?php $culture = "ru"; ?>"/>
     <div class ="heights"></div>
                    <input type="submit"  class="btn" value="<?php echo $submit_text; ?>" />
</form>






*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: ОбЪявить переменную в модуле
« Ответ #8 : 23.12.2014, 14:32:33 »
Ну а как по Вашему пароль передастся сторонний файл? С неба что ли туда упадет? И $params доступны только из под модуля.
Тащите из базы параметры модуля, они хранятся в поле params модкля, таблица extensions. А лучше вообще нативно в самом модуле все сделать...
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #9 : 23.12.2014, 14:37:24 »
но они же есть в mod_robokassa.php или я что то не так понимаю.Почему в mod_robokassa.php работают а в другой скрипт их не получается вывести тот же пароль объвлен в mod_robokassa.php
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #10 : 23.12.2014, 14:52:34 »
но они же есть в mod_robokassa.php или я что то не так понимаю.Почему в mod_robokassa.php работают а в другой скрипт их не получается вывести тот же пароль объвлен в mod_robokassa.php

Тащите из базы параметры модуля, они хранятся в поле params модкля, таблица extensions. А лучше вообще нативно в самом модуле все сделать...
, они хранятся в поле params модкля, таблица extensions.
[/quote]

Нету параметров в бд для этого модуля только все что с параметров это []

А как нативно не кините ссылочку на пример...
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #11 : 23.12.2014, 14:59:52 »
Нативно это типа управление модулем через админку, так оно так и есть если я правельно понимаю слово нативно

Параметры заносятся в модуле через панель управления но вот в результ не могу не как прописать их, вот как оно
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: ОбЪявить переменную в модуле
« Ответ #12 : 23.12.2014, 15:05:12 »
но они же есть в mod_robokassa.php или я что то не так понимаю.Почему в mod_robokassa.php работают а в другой скрипт их не получается вывести тот же пароль объвлен в mod_robokassa.php
потому что это другой скрипт :)

Вообще такие вещи желательно делать через компонент, а не модуль

Но как вариант можно и через модуль
в качестве callback URL указать тот же URL, где опубликован этот модуль
в форму
Цитировать
<form action='http://test.robokassa.ru/Index.aspx' method=POST>
добавить дополнительный параметр
в том же mod_robokassa.php проверять этот параметр и в зависимости от него чего-то там делать
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: ОбЪявить переменную в модуле
« Ответ #13 : 23.12.2014, 15:47:09 »
У Вас мухи с котлетами. Joomla работает в собственном окружении, она ничего не знает о Вашем скрипте.

Цитировать
Параметры заносятся в модуле через панель управления
Цитировать
Нету параметров в бд для этого модуля только все что с параметров это []
Хмм, странно. Где же модуль тогда хранит эти параметры?
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #14 : 24.12.2014, 10:00:45 »
А как же обьявить тогда параметры модуля в скрипте в той же папке модуля. Не как не получается обработчики засунуть в один файл модуля, а если обработчик отдельно то не видит параметров.Жесть.
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #15 : 24.12.2014, 12:09:58 »
А как же обьявить тогда параметры модуля в скрипте в той же папке модуля. Не как не получается обработчики засунуть в один файл модуля, а если обработчик отдельно то не видит параметров.Жесть.
У Вас мухи с котлетами. Joomla работает в собственном окружении, она ничего не знает о Вашем скрипте.
Хмм, странно. Где же модуль тогда хранит эти параметры?
У Вас мухи с котлетами. Joomla работает в собственном окружении, она ничего не знает о Вашем скрипте.
Хмм, странно. Где же модуль тогда хранит эти параметры?

Нашел строку с параметрами модуля в бд, вчера через мускуль смотрел не увидел. Есть параметры модуля в бд. Не подскажет примерчик как сделать вывод данных.Хотя бы строчку для примера.
Вот параметры :
 'Module RoboKassa', '', '', 1, 'top-a', 0, '0000-00-00 00:00:00', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 1, 'mod_robokassa', 1, 1, '{"pole1":"","pole2":"","pole3":"","pole4":"","pole5":"","pole6":"","pole7":"","pole8":"","pole9":"","pole10":"","pole_name11"mrh_login":"login","mrh_pass1":"x199999","mrh_pass2":"x995A5","out_summ":"299","inv_id":"","inv_desc":"
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: ОбЪявить переменную в модуле
« Ответ #16 : 24.12.2014, 12:52:18 »
Код
define('_JEXEC', 1);

define('JPATH_BASE', dirname(__FILE__)); // указать путь до корня

require_once (JPATH_BASE . '/includes/defines.php');
require_once (JPATH_BASE . '/includes/framework.php');

$app = JFactory::getApplication('site');

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('params');
$query->from('#__modules');
$query->where('module = ' . $db->quote('mod_robokassa'));
$db->setQuery($query);
$params = $db->loadResult();

$params = json_decode($params);

die( var_dump($params) );

а так это через жопу)
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #18 : 24.12.2014, 13:02:44 »
Ругается...

Fatal error: require_once(): Failed opening required '/home/сайт/modules/mod_robokassa/includes/defines.php' (include_path='.:/usr/local/pear') in /home/сайт/modules/mod_robokassa/mod_rxc.php on line 7
« Последнее редактирование: 24.12.2014, 13:21:00 от jservice »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: ОбЪявить переменную в модуле
« Ответ #19 : 24.12.2014, 13:51:00 »
Цитировать
define('JPATH_BASE', dirname(__FILE__)); // указать путь до корня
читать умеем?
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #20 : 24.12.2014, 14:35:18 »
Спасибо, читал комментарий, не пойму что за путь указать...типа полный путь на хостинге? И к чему путь?

Туплю я по походу - но не пойму  указать путь до корня  до какого корня?
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #21 : 24.12.2014, 19:55:30 »
Разобрался, прописал так :

Код
define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define( 'JPATH_BASE', __DIR__ . '/../../' );
//define('JPATH_BASE', dirname(__FILE__) );//Путь к корню Joomla
 require_once JPATH_BASE . '/includes/defines.php';

require_once JPATH_BASE . '/includes/framework.php';
но теперь ругается видно на метод вывода параметров  

Fatal error: Call to undefined method stdClass::get() in

После того как убрал последнюю строку

die( var_dump($params) );

вот как начинается скрипт сейчас:
Код
<?

define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define( 'JPATH_BASE', __DIR__ . '/../../' );
//define('JPATH_BASE', dirname(__FILE__) );//Путь к корню Joomla
 require_once JPATH_BASE . '/includes/defines.php';

require_once JPATH_BASE . '/includes/framework.php';


$app = JFactory::getApplication('site');

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('params');
$query->from('#__modules');
$query->where('module = ' . $db->quote('mod_robokassa'));
$db->setQuery($query);
$params = $db->loadResult();

$params = json_decode($params);


 
$mail_to = $params->get('mail_to');

Что я не так сделал подскажите если не тяжело
« Последнее редактирование: 24.12.2014, 20:37:09 от jservice »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: ОбЪявить переменную в модуле
« Ответ #22 : 25.12.2014, 10:28:16 »
$params не объект с методом get()...

http://php.net/manual/ru/function.json-decode.php
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #23 : 25.12.2014, 10:33:23 »
Вот что я получаю при запуске скрипта

Код
object(stdClass)#26 (35) { ["pole1"]=> string(0) "" ["pole2"]=> string(0) "" ["pole3"]=> string(0) "" ["pole4"]=> string(0) "" ["pole5"]=> string(0) "" ["pole6"]=> string(0) "" ["pole7"]=> string(0) "" ["pole8"]=> string(0) "" ["pole9"]=> string(0) "" ["pole10"]=> string(0) "" ["pole_name11"]=> string(36) "Название этого поля" ["pole11"]=> string(0) "" ["placeholder11"]=> string(13) "ПРИМЕР:" ["pole12"]=> string(0) "" ["pole13"]=> string(0) "" ["pole14"]=

и сам скрипт

Код
<?

define('_JEXEC', 1);
define('DS', DIRECTORY_SEPARATOR);
define( 'JPATH_BASE', __DIR__ . '/../../' );

 require_once JPATH_BASE . '/includes/defines.php';

require_once JPATH_BASE . '/includes/framework.php';


$app = JFactory::getApplication('site');

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('params');
$query->from('#__modules');
$query->where('module = ' . $db->quote('mod_robokassa'));
$db->setQuery($query);
$params = $db->loadResult();

$params = json_decode($params);
die( var_dump($params) );




 $mail_to = $params->get('mail_to');
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #24 : 25.12.2014, 10:37:00 »
получается что параметры вывелись  var_dump($params);  это показывает, но всеровно  не работает
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #25 : 25.12.2014, 12:27:31 »
Господа ну подскажите что не так почему не получается запустить скрипт нормально в окружении...
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #26 : 25.12.2014, 12:28:27 »
читать умеем?

Читать то умеем но скрипт не работаем
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: ОбЪявить переменную в модуле
« Ответ #27 : 25.12.2014, 14:13:46 »
$params = new JRegistry($params);
$mail_to = $params->get('mail_to');
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #28 : 25.12.2014, 14:47:07 »
Работает, очень благодарен за помощ...
*

jservice

  • Захожу иногда
  • 118
  • 1 / 0
Re: ОбЪявить переменную в модуле
« Ответ #29 : 25.12.2014, 14:49:33 »
$params не объект...

http://php.net/manual/ru/function.json-decode.php

Не кидайтесь умными фразами, если не хотите помоч то просто пройдите мимо... От того что вы подсказали мануал мне легче нес тало. А всем остальным реально большое спасибо за помощ.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подключение сторонних библиотек в модуле J4

Автор denism300

Ответов: 6
Просмотров: 1069
Последний ответ 30.12.2022, 19:58:09
от denism300
Рекурсия в модуле

Автор alpha_ru

Ответов: 19
Просмотров: 2136
Последний ответ 20.07.2017, 19:25:11
от passer
Дополнительное поле в модуле

Автор paskal

Ответов: 21
Просмотров: 2894
Последний ответ 27.08.2016, 00:59:55
от robert
Запись в БД из формы в плагине (модуле). Как!

Автор Sergeyy

Ответов: 13
Просмотров: 1765
Последний ответ 13.11.2015, 11:01:18
от Sergeyy
Ошибка 1005 при sql-запросах в своем модуле

Автор dv-cto

Ответов: 2
Просмотров: 1795
Последний ответ 07.02.2015, 21:30:50
от dv-cto