Автор |
Сообщение |
МасяН Эксперт Предупреждений : 1
|
|
Добрый день!
Нужен небольшой сайт для ТСН:
1. Кабинеты пользователей / кабинет председателя/ возможно еще некоторые роли.
2. Возможность вносить показания комм услуг (ХВС. ГВС, Электричество).
3. Возможность выставлять счета по данным показаниям, которые будут отображаться в кабинетах пользователей.
4. Хорошо бы прикрепить возможность онлайн оплаты.
5. Возможность проводить голосования через оповещения пользователей. (Как вариант всплывающее окно при входе в ЛК и отдельная вкладка - голосование).
6. Отображение задолженности и оповещение при входе. (В идеале смс оповещения при образовании задолженности).
Ну и со стороны ЛК председателя - возможность редактировать задолженности, потому что оплата может быть и наличными.
Возможно есть готовый модуль на WP или еще на какой системе, если подскажите, то могу и сам настроить, но писать с нуля не смогу.
Если готовых модулей нет, то интересна цена и сроки разработки. |
|
|
|
|
Richard Ferlow Гуру Предупреждений : 2
|
|
Я бы попробовал обратиться допустим к ним
http://www.prog-matik.ru/
они насколько я понял делали ЛК для Сибирской Инициативы. Там не последнее слово техники конечно, но есть и внос данных и онлайн оплата и показ задолженностей |
|
|
|
|
kovaikin Гуру Предупреждений : 3
|
|
МасяН писал(а): |
Добрый день!
Нужен небольшой сайт для ТСН:
1. Кабинеты пользователей / кабинет председателя/ возможно еще некоторые роли.
2. Возможность вносить показания комм услуг (ХВС. ГВС, Электричество).
3. Возможность выставлять счета по данным показаниям, которые будут отображаться в кабинетах пользователей.
4. Хорошо бы прикрепить возможность онлайн оплаты.
5. Возможность проводить голосования через оповещения пользователей. (Как вариант всплывающее окно при входе в ЛК и отдельная вкладка - голосование).
6. Отображение задолженности и оповещение при входе. (В идеале смс оповещения при образовании задолженности).
Ну и со стороны ЛК председателя - возможность редактировать задолженности, потому что оплата может быть и наличными.
Возможно есть готовый модуль на WP или еще на какой системе, если подскажите, то могу и сам настроить, но писать с нуля не смогу.
Если готовых модулей нет, то интересна цена и сроки разработки. |
ооо класная тема если что сделаете покажите мне тож надо, но думаю это дорогое удовольствие |
|
|
|
|
ДобрыйФей Мечтатель Предупреждений : 5
|
|
МасяН писал(а): |
Нужен небольшой сайт для ТСН: |
Твое ТЗ не тянет на "небольшой сайт". |
|
|
|
|
ATX555 Гуру |
|
ДобрыйФей писал(а): |
Твое ТЗ не тянет на "небольшой сайт". |
Всё, что касается счетов и денег требует аудита безопасности как ПО, так и аппаратных средств - это изначально не "небольшой", а уж по деньгам...
У нас в конторе без оплаты - только инфа по оплатам и потреблению услуг и то безопасность - больное место...
Но как-то хакеры не зарились и работает уже лет 10 такая "поделка" на обычном хостинге.
Так там всё прозрачно и восстанавливается простым копированием файлов (т.к. без баз сделано )
А php - лишь преобразует загружаемые в txt данные в html страничку |
|
|
|
|
МасяН Эксперт Предупреждений : 1
|
|
ATX555
Скажем, оплата это не самое главное в этой задачи. |
|
|
|
|
Richard Ferlow Гуру Предупреждений : 2
|
|
ATX555
тут от реализации зависит. Если к примеру сайт не работает как система которая куда-то деньги шлет дальше, а по сути только принимает деньги, то рисков я особо не вижу, т.к если по фактическому приходу действовать, то взламывать тут особо не ради чего, авторизацию сделать нормальную чтобы личные данные не утекли и все. |
|
|
|
|
ATX555 Гуру |
|
МасяН писал(а): |
оплата это не самое главное в этой задачи. |
Тогда в 1С (или какой софт там учитывает всё это у бухгалтера...) делается выгрузка на сайт по FTP (в приемлемом для разбора php-кода формате - у нас txt с табуляцией) предварительных документов каждого пользователя по текущему месяцу с учётом оплаты, и по итогам месяца - финальную накладную, т.е. за каждый месяц последним будет реальный документ.
Так же передаётся актуальный список пользователей и их пара логин-пароль (можно кодированые с последующим декодированием php)/
Пользователь авторизуется на сайте и попадает на страничку с текущим документом, и есть ссылки на финальные документы прошлых месяцев.
Это для выставления счетов и просмотра документов.
Для обратной связи - подобие кода комментариев под страницой или ЛС на форуме.
Можно даже CMS-движок какого-нибудь форума присобачать, где данные счетчиков отправлять в форме ЛС опредлённому юзеру (только ему и разрешено).
Ну, это так - с минимальными затратами минимальный функционал.
А готовые коды эквайринга многие банки и платежные системы раздают (по договору), но там будет видна только сумма оплаты без разбивки по услугам... |
|
|
|
|
Richard Ferlow Гуру Предупреждений : 2
|
|
ATX555
Дичайший костыль какой-то описали если честно =) |
|
|
|
|
ATX555 Гуру |
|
Richard Ferlow писал(а): |
ATX555
Дичайший костыль какой-то описали если честно =) |
Кстати про костыли...
Так получилось, что я единственный из оставшихся, кто видед в глаза код HTML нашего сайта и его PHP-часть (сам PHP я не изучал).
Кто всё это собирал - давно не работает.
А необходимость чуть подправить костыли возникла.
В функционале были только текущий месяц и предыдущий.
Добавил чутка значений, но как-то топорно...
Ранее проверялось, что $mes равен 1 или 2,
сейчас последовательно от 1 до 12.
Если это как-то заменить циклом,
то должно быть проще или быстрее?
Код: |
if (isset($mes) && ($mes >= 0 && $mes <= 12)) {
if (!isset($num) || $num!=$N) continue;
if ($mes==0) $m=date("m");
elseif($mes==1) $m="01";
elseif($mes==2) $m="02";
elseif($mes==3) $m="03";
elseif($mes==4) $m="04";
elseif($mes==5) $m="05";
elseif($mes==6) $m="06";
elseif($mes==7) $m="07";
elseif($mes==8) $m="08";
elseif($mes==9) $m="09";
elseif($mes==10) $m="10";
elseif($mes==11) $m="11";
elseif($mes==12) $m="12";
echo("Месяц $m");
exit;
|
|
|
|
|
|
Richard Ferlow Гуру Предупреждений : 2
|
|
ATX555
расскажите лучше результат какой надо получить |
|
|
|
|
ATX555 Гуру |
|
Richard Ferlow писал(а): |
расскажите лучше результат какой надо получить |
Там, вроде, видно: переменной m присвоить значение в зависимости от значения mes (передаётся между кодами разных файлов).
Фишка в том, что ссылки формируются динамически (каждому-свои), более того - по ней отдаётся результат в зависимости от авторизации (нет авторизации - нет результата).
С утра экспериментировал на живом сайте (было 1 - текущий месяц, сейчас это январь).
Клиент зашёл глянуть свою выборку за первую декаду августа и чуть не поседел - выдало всю выборку за январь на 8 лямов...
Счас сделал, чтоб работало, экспериментировать больше не охота, а улучшить (если есть смысл) - не против.
(В синтаксисе - ни бум-бум, даже скобочки не трогаю, чтоб чего не поломать...
В приведённом примере подстановка в адрес заменена просто выводом).
Была мысль просто приравнять, но 1 != 01 ...
Чтоб приравнять, надо передавать значение $mes в том-же виде, а это уже в другом коде, где тупо сделал по аналогии (даже месяца вручную прописал, чтоб не выбирать из массива с их названиями).
Начальству в пятницу тупо понадобилось "вчера". |
|
|
|
|
ДобрыйФей Мечтатель Предупреждений : 5
|
|
Ну можно как-то так, наверное:
Код: |
switch ($mes) {
case 0:
$m = date("m");
break;
default:
$m = str_pad($mes, 2, '0', STR_PAD_LEFT);
break;
} |
|
|
|
|
|
ATX555 Гуру |
|
ДобрыйФей писал(а): |
Ну можно как-то так, наверное |
Спасибо, попробую.
Натыкался уже на свитч, когда искал варианты.
Смысл, вроде, понял.
Там 0 подставляется, если параметр не из 2-х знаков?
Синтаксис поизучаю, чтоб меньше неожиданностей было.
P.S. Уже подглядел в Яндеске (главное знать, что спрашивать!) - даже ссылки результатов не пришлось открывать.
Понял, что функция добивает слева заданным до 2-х знаков
А какой-то практический смысл, кроме более короткого кода от этого может быть?
А то у меня познания по программированию ещё с института - там в процессорных кодах писалось, чтоб тактов меньше занимало на исполнение... |
|
|
|
|
Richard Ferlow Гуру Предупреждений : 2
|
|
ATX555 писал(а): |
А какой-то практический смысл, кроме более короткого кода от этого может быть? |
просто это использование подходящих "инструментов". как допустим пытаться решать задачу на поиск наибольшего числа из четырех через if else или же использовать функцию
echo max(1, 3, 5, 6, 7); // 7 |
|
|
|
|
ДобрыйФей Мечтатель Предупреждений : 5
|
|
|
|
|
ATX555 Гуру |
|
Richard Ferlow писал(а): |
просто это использование подходящих "инструментов". |
Нашёл даже более конкретно:
"В операторе switch выражение вычисляется один раз и этот результат сравнивается с каждым оператором case.
В elseif, выражение вычисляется снова. Если ваше условие более сложное, чем простое сравнение и/или находится в цикле, конструкция switch может работать быстрее" |
|
|
|
|
Evgeny79 Гуру |
|
я видел код, где цикл for перебирает массив и на каждой итерации вызывает функцию count()
for ($i=0; $i<count($array); $i++) .. |
|
|
|
|
|