@Fesor вот это скорее и есть основная проблема, на мой взгляд написать заново на фраймворке с которым уже работал будет гораздо быстрее, нежели рефакторить то что там написано. Хотя про сам подход тоже интересно +/-
в данный момент там каша, но в целом имеется:
1. Один базовый абстрактный класс от которого наследуются классы разделов
2. Папка с шаблонами под каждый раздел, а так же некоторые общие элементы
3. Отдельный общий класс для работы с БД, притом он судя по стилю кода откуда-то скопирован.
4. Отдельный класс для работы с шаблонами.
5. Класс, который отвечает за авторизацию пользователя, со всеми плюшками вроде доступа с определенного ip
6. Отдельный класс логирования действий пользователя
Часть базовых вещей, авторизация, утилиты, пути к папкам шаблонов собираются в index.php, после успешной авторизации все работает через базовый слой, в который синглтонами подключены вспомогательные классы (логирование, работа с БД, работа с шаблонами), и который в зависимости от роута подключает нужный класс раздела и вызывает метод отрисовки базовой страницы. Далее при работы в зависимости от запроса вызывается требуемый метод из данного класса.
В целом все бы ничего, но самый хаос творится в этих самых классах разделов: тут и бизнес логика и запросы в БД, и получение шаблона в переменную, а затем замена с помощью str_replace переменных на данный из запроса, ну и возврат этой переменной со всем шаблоном для отрисовки.
Но и если бы это еще все работало стабильно, дак нет же, наблюдаются непонятные глюки с авторизацией пользователей, то есть "само собой" один пользователь может стать залогиненным под другим. Особых закономерностей этого действия выявить не удалось, но замечено чем дольше пользователь залогинен, тем вероятнее что его переключит на другого. Опять же возможно это из-за синглон объектов...
@hbruser а что скажите про phono.com ?
к сожалению mod_rtmp под freeswitch, а не под asterisk и соответственно freeswitch скорее всего не умеет пропускать через себя звонки в asterisk используя аккаунты asterisk.
То что касается бэкэнда в виде АТС на Asterisk и прочих каналов имеется, то есть с демки sipml5 без проблем подключаемся и звоним, вот только работает она далеко не везде(( и существуют проблемы в виде сертификатов для Asterisk под Firefox.
Что же касается готового Web Call Server, то к сожалению он платный, а хотелось бы как раз что-то вроде бесплатного и открытого sipml5, но с возможностью автоматического перехода на Flash. Ну или просто бесплатный сервер+клиент на Flash, чтобы после определения не возможности работы под sipml5 отдавать работу Flash'у
Просто закралась мысль, что это реально. А все из-за того, что на локальном сервере, написав код на PHP, все прекрасно заработало. Плюс Postman из первого комментария тоже отправлял и принимал запросы как надо, только в случае с ним выяснилось, что делает он это через прокси сервер.
В итоге имеем недоработки команды яндекса? Получается их сервер не отдает "правильный" заголовок? Это баг или фича?)
скорее всего API ошибка вида XMLHttpRequest cannot load https://api.direct.yandex.ru/v4/json/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'домен' is therefore not allowed access.
Как-то не красиво, нет возможности сортировки по diff, под запрос в подзапросе, при этом первый подзапросе одинаковый. Думаю должно быть более элегантное решение
даты повторяться могут, но в таком случае value у них одинаковое, плюс периодически удаляем такие повторы.
id идут однозначно по порядку возрастания дат в рамках link_id
забыл уточнить id это инкремент
но опять же решение не для MySQL, получается кроме как делать два запроса, а затем обрабатывать данные нет вариантов? ну или мой почти рабочий, но не оптимальный запрос?
MySQL, хотелось бы конечно сразу запросом, плюс сразу бы получить возможность сортировки по этому новому полю.
В коде обрабатывать очень не хотелось бы, но в целом если не получится, то это и придется делать