Нужна помощь по модулю (вывод таблицы)

  • 37 Ответов
  • 775 Просмотров

Neon

  • Сообщений: 773
    • Просмотр профиля
    • Danneo CMS
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #15 : 02 Мая 2020, 13:13:14 »
Проблема в том, что автор оплатил заказ, включая и данный модуль. Требуется разрешение на использование части кода.
Плюс, там база с гео-данными по странам (СНГ+). Ну и, функционал системы дорабатывался под проект, модуль нужно вырезать.

Напишите мне в личку, скину контакты владельца сайта.
Возможно, вам будет проще с ним поговорить.
DANNEO ™

студент

  • Сообщений: 176
    • Просмотр профиля
    • Мировые новости
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #16 : 02 Мая 2020, 16:19:28 »
Проблема в том, что автор оплатил заказ, включая и данный модуль. Требуется разрешение на использование части кода.
Плюс, там база с гео-данными по странам (СНГ+). Ну и, функционал системы дорабатывался под проект, модуль нужно вырезать.

Напишите мне в личку, скину контакты владельца сайта.
Возможно, вам будет проще с ним поговорить.
я знаком с ним и буквально 2 дня назад просил у него этот модуль. Точнее мне нужна была часть модуля, только сама таблица для одной страны без карты и тд.
У меня есть этот модуль и нормально работает на 055 ( http://az.313news.net/namazan ). Но я никак не могу его переделать для 155. Буду рад если поможете.

Neon

  • Сообщений: 773
    • Просмотр профиля
    • Danneo CMS
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #17 : 02 Мая 2020, 20:23:28 »
Он и не сможет вам дать одну таблицу, даже если бы захотел. Он же не программист.

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

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

Собственно, база с гео-данными городов/посёлков по СНГ+ была создана задолго до этого проекта, и она не может являться субъектом спора.
Потому, что изначально встроена в систему, это раздел "География". Там только нет городов. В последствии, я добавил таблицу городов и посёлков.
И, даже пытался создать обновление для Danneo 1.5.5., да текучка помешала.

Закончу текущий проект, постараюсь собрать патч.
DANNEO ™

студент

  • Сообщений: 176
    • Просмотр профиля
    • Мировые новости
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #18 : 04 Мая 2020, 01:49:40 »
выкладываю рабочий индексный файл, который сейчас работает на версии 0.5.5.
<?php
if(!defined('DNREAD')){ exit(); }
define('WORKMOD',basename(dirname(__FILE__)));
require_once(DNBASE.'base/data.namazan.php');
global $setting,$lang,$tm,$api,$siteglobal,$to,$ye,$mo,$da;
$legaltodo = array('index');
$to = (isset($to) && in_array($api->sitedn($to),$legaltodo)) ? $api->sitedn($to) : 'index';

/**
 * Общие
 */
$ye = substr(preparse($ye,THIS_INT),0,4);
$mo = substr(preparse($mo,THIS_INT),0,2);
$da = substr(preparse($da,THIS_INT),0,2);
$ye = ($ye < 2000 || $ye > NEWYEAR) ? NEWYEAR : $ye;
$mo = ($mo < 1 || $mo > 12) ? preparse(NEWMONT,THIS_INT) : $mo;
$da = ($da < 1 || $da > 31) ? NEWDAY : $da;
#
$mo_name = $lang[strtolower(date("F", mktime(0, 0, 0, $mo, 1, $ye)))];
# шаблон
$ins['template_selector'] = $tm->create('mod/'.WORKMOD.'/selector');
$ins['template_table'] = $tm->create('mod/'.WORKMOD.'/table');
preg_match("%(.*)<!--row-->(.*?)<!--//row//-->(.*?)<!--row:selected-->(.*?)<!--//row:selected//-->(.*)%is", $ins['template_table'], $matches);
$ins['template_top'] =  $matches[1];
$ins['template_rowa'] = $matches[2];
$ins['template_rows'] = $matches[4];
$ins['template_bot'] =  $matches[5];

/**
 * Метка index
 */
if($to == 'index'){
$siteglobal['insert']['breadcrumb'] = $siteglobal['modname']." - ".$mo_name." ".$ye;
include(DNBASE.'temp/head.php');
# вывод селектора
$tm->parseprint(array(
'month01' => $lang['january'], 'month02' => $lang['february'], 'month03' => $lang['march'], 'month04' => $lang['april'], 'month05' => $lang['may'], 'month06' => $lang['june'], 'month07' => $lang['july'], 'month08' => $lang['august'], 'month09' => $lang['september'], 'month10' => $lang['october'], 'month11' => $lang['november'], 'month12' => $lang['december'],
), $ins['template_selector']);
# проверка наличия месяца и распечатка
if(isset($data_mod_namazan[$ye][$mo]) && is_array($data_mod_namazan[$ye][$mo])){
$tm->parseprint(array(), $ins['template_top']);
foreach($data_mod_namazan[$ye][$mo] as $key=>$val){
$tm->parseprint(array('date' => "$key.$mo.$ye", 'time1' => $val[0], 'time2' => $val[1], 'time3' => $val[2], 'time4' => $val[3], 'time5' => $val[4], 'time6' => $val[5]), ((NEWYEAR == $ye && preparse(NEWMONT,THIS_INT) == $mo && $key == $da) ? $ins['template_rows'] : $ins['template_rowa']));
}
$tm->parseprint(array(), $ins['template_bot']);
}
include(DNBASE.'temp/foot.php');
}

?>

студент

  • Сообщений: 176
    • Просмотр профиля
    • Мировые новости
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #19 : 04 Мая 2020, 01:52:14 »
а это индексный файл, который я изменил для работы в новой версии. Что я сделал не так?

<?php
defined('DNREAD') OR die('No direct access');

global $setting,$lang,$tm,$api,$siteglobal,$to,$ye,$mo,$da;

//define('WORKMOD', basename(__DIR__));
define('WORKMOD',basename(dirname(__FILE__)));
require_once(DNDIR.'mod/namazan/namaz.php');

$legaltodo = array('index');
$to = (isset($to) && in_array($api->sitedn($to),$legaltodo)) ? $api->sitedn($to) : 'index';
/**
 * Общие
 */
$ye = substr(preparse($ye,THIS_INT),0,4);
$mo = substr(preparse($mo,THIS_INT),0,2);
$da = substr(preparse($da,THIS_INT),0,2);
$ye = ($ye < 2000 || $ye > NEWYEAR) ? NEWYEAR : $ye;
$mo = ($mo < 1 || $mo > 12) ? preparse(NEWMONT,THIS_INT) : $mo;
$da = ($da < 1 || $da > 31) ? NEWDAY : $da;
#
$mo_name = $lang[strtolower(date("F", mktime(0, 0, 0, $mo, 1, $ye)))];
# шаблон
$ins['template_selector'] = $tm->create('mod/'.WORKMOD.'/selector');
$ins['template_table'] = $tm->create('mod/'.WORKMOD.'/table');
preg_match("%(.*)<!--row-->(.*?)<!--//row//-->(.*?)<!--row:selected-->(.*?)<!--//row:selected//-->(.*)%is", $ins['template_table'], $matches);
$ins['template_top'] =  $matches[1];
$ins['template_rowa'] = $matches[2];
$ins['template_rows'] = $matches[4];
$ins['template_bot'] =  $matches[5];

/**
 * Метка index
 */
if($to == 'index'){
$siteglobal['insert']['breadcrumb'] = $siteglobal['modname']." - ".$mo_name." ".$ye;
$tm->header();
# вывод селектора
$tm->parseprint(array(
'month01' => $lang['january'],
'month02' => $lang['february'],
'month03' => $lang['march'],
'month04' => $lang['april'],
'month05' => $lang['may'],
'month06' => $lang['june'],
'month07' => $lang['july'],
'month08' => $lang['august'],
'month09' => $lang['september'],
'month10' => $lang['october'],
'month11' => $lang['november'],
'month12' => $lang['december'],
),
$ins['template_selector']);
# проверка наличия месяца и распечатка
if(isset($data_mod_namazan[$ye][$mo]) && is_array($data_mod_namazan[$ye][$mo])){
$tm->parseprint(array(), $ins['template_top']);
foreach($data_mod_namazan[$ye][$mo] as $key=>$val){
$tm->parseprint(array(
    'date' => "$key.$mo.$ye",
    'time1' => $val[0],
    'time2' => $val[1],
    'time3' => $val[2],
    'time4' => $val[3],
    'time5' => $val[4],
    'time6' => $val[5]),
    ((NEWYEAR == $ye && preparse(NEWMONT,THIS_INT) == $mo && $key == $da) ? $ins['template_rows'] : $ins['template_rowa']));
}
$tm->parseprint(array(), $ins['template_bot']);
}
$tm->footer();
}

?>

Sir_G

  • Сообщений: 108
    • Просмотр профиля
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #20 : 04 Мая 2020, 04:28:02 »
а что будет, если заменить это:
//define('WORKMOD', basename(__DIR__));
define('WORKMOD',basename(dirname(__FILE__)));
на это ?:
define('WORKMOD', basename(__DIR__));
//define('WORKMOD',basename(dirname(__FILE__)));

студент

  • Сообщений: 176
    • Просмотр профиля
    • Мировые новости
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #21 : 04 Мая 2020, 04:29:50 »
а что будет, если заменить это:
//define('WORKMOD', basename(__DIR__));
define('WORKMOD',basename(dirname(__FILE__)));
на это ?:
define('WORKMOD', basename(__DIR__));
//define('WORKMOD',basename(dirname(__FILE__)));
абсолютно ничего. менял. я все менял - ничего не происходит. вообще ничего.

Sir_G

  • Сообщений: 108
    • Просмотр профиля
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #22 : 04 Мая 2020, 04:37:52 »
выложи архив с файлами, будет проще дебажить

студент

  • Сообщений: 176
    • Просмотр профиля
    • Мировые новости
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #23 : 04 Мая 2020, 04:45:46 »
выложи архив с файлами, будет проще дебажить
http://new.313news.net/namaz.zip

могу и доступ дать на сервер

Neon

  • Сообщений: 773
    • Просмотр профиля
    • Danneo CMS
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #24 : 04 Мая 2020, 11:59:44 »
Есть сайт с методами пересчета: http://praytimes.org/calculation
Есть класс для PHP: http://praytimes.org/code/git/?a=tree&p=PrayTimes&hb=HEAD&f=v1/php
Код свободный для использования на любых сайтах.

В нем используется восемь методов пересчета.
0 - Ithna Ashari
1 - University of Islamic Sciences, Karachi
2 - Islamic Society of North America (ISNA)
3 - Muslim World League (MWL)
4 - Umm al-Qura, Makkah
5 - Egyptian General Authority of Survey
6 - Custom Setting
7 - Institute of Geophysics, University of Tehran

Для Азербайджана наиболее близкий последний.
В архиве пример использования данного класса. Пересчет ведется для Баку, на 2020 год. Полным списком, по всем месяцам.
Загрузите папку praytime в корень сайта, и наберите http://ваш_сайт/praytime/index.php
DANNEO ™

студент

  • Сообщений: 176
    • Просмотр профиля
    • Мировые новости
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #25 : 04 Мая 2020, 13:05:31 »
Есть сайт с методами пересчета: http://praytimes.org/calculation
Есть класс для PHP: http://praytimes.org/code/git/?a=tree&p=PrayTimes&hb=HEAD&f=v1/php

В архиве пример использования данного класса.
Загрузите папку praytime в корень сайта, и наберите http://ваш_сайт/praytime/index.php
Я так понимаю, что Вы должны были загрузить папку в архив, но наверное забыли это сделать. Я загрузил папку из верхней ссылки и там нет индексного файла.

Neon

  • Сообщений: 773
    • Просмотр профиля
    • Danneo CMS
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #26 : 04 Мая 2020, 16:07:04 »
Да, конечно, на ходу делал, убегал.
Прикрепил.
DANNEO ™

Sir_G

  • Сообщений: 108
    • Просмотр профиля
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #27 : 10 Мая 2020, 15:23:40 »
обновил для 1.5.5

студент

  • Сообщений: 176
    • Просмотр профиля
    • Мировые новости
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #28 : 10 Мая 2020, 15:40:07 »
обновил для 1.5.5
работает. спасибо большое.

а год как поменять? я в файле /mod/namazan/namaz.php поменял год 2021 и таблица не выводиться. В старом я всегда в последний день года менял год. А тут как?
« Последнее редактирование: 10 Мая 2020, 15:49:34 от студент »

Sir_G

  • Сообщений: 108
    • Просмотр профиля
Re: Нужна помощь по модулю (вывод таблицы)
« Ответ #29 : 10 Мая 2020, 16:10:05 »
конечно не показывается - у тебя оригинальный код привязан к одному году

строка 74 - тут стоит ограничение по году, чтобы не показывался следующий год:
$ye = ($ye < 2000 || $ye > NEWYEAR) ? NEWYEAR : $ye;
можно снять ограничение со следующего года, добавив +1 к максимальному:
$ye = ($ye < 2000 || $ye > NEWYEAR+1) ? NEWYEAR : $ye;