Нет, кнопка выведена в личный кабинет. А непосредственно страница биллинга для юзера пока недоступна. Потому что проект только стартует и нет понимания пойдет/не пойдет. Если пойдет, то оформим аккаунт в какой-то платежной системе и автоматизируем платежи, а пока в ручном режиме достаточно. У нас киви и с карты на карту инструкция на отдельной страничке, после чего юзер жмет "Я оплатил", ему всплывает из js confirm, типа "Подтвердите, что вы выполнили перевод денег, нажав ОК" и если true, то это регистрируется в ленте активности, а юзер редиректится обратно в личный кабинет. Как-то так…тоже хороши вариант, а кнопка пополнения была в биллинге?
Absolute134
+9
Репутация
17
Рейтинг
Я делал что-то похожее… Только оно работает независимо от Биллинга. Всё записывается в "Ленту активности", которая возвращает 404 при обращении к ней любого юзера, кроме админа.
Это обычный отдельный action, со ссылкой на него из профиля.
Это обычный отдельный action, со ссылкой на него из профиля.
В любой файл скрипта стоящий после jQuery. Или как есть — вместе с кнопкой, всё равно в движке куча инлайн-скриптов.Подскажите, куда этот код вставляется ?
Но возникла другая сторона, после создания контента тебя сразу кидает на запись контента и при нажатии этой стрелки тебя переносит снова на страницу add. Как обойти этот момент ?

<input type="button" class="go_back" value="Назад"> <script> $(document).ready(function(){ $('.go_back').on('click', function(){ if(document.referrer && document.referrer.indexOf('/add') > -1){ history.go(-2); } else { history.back(); } }); }); </script>
Расскажите это фронтэнд-разработчикам из Adobe, Эльдорадо, Aviasales, DNS, МВидео… А то они не знают((Адаптивная верстка юзабельна на мобильном лишь в крайнем исключении.
Зачем в 2020 году, когда современные смартфоны по производительности конкурируют с бюджетными ПК, а мобильный интернет стоит копейки — отдельная мобильная тема???
Она нужна чтобы что?? — можете ответить
На детекцию устройства тратятся ресурсы, строчка из User-Agent проходит по множеству регулярок с со строками и массивами из разных устройств. К тому же есть юзеры, которые используют браузеры с повышенной анонимностью (Dolphin Browser, Chameleon browser) подменяющие юзер-агент.
Лучше сделать нормальную адаптивную вёрстку и использовать одну версию на всех устройствах.
Она нужна чтобы что?? — можете ответить

На детекцию устройства тратятся ресурсы, строчка из User-Agent проходит по множеству регулярок с со строками и массивами из разных устройств. К тому же есть юзеры, которые используют браузеры с повышенной анонимностью (Dolphin Browser, Chameleon browser) подменяющие юзер-агент.
Лучше сделать нормальную адаптивную вёрстку и использовать одну версию на всех устройствах.
Loadырь, спасибо. Политика партии мне ясна.
Тему закрываю, как более не актуальную.
Тему закрываю, как более не актуальную.
Круто… Осталось еще много чего перевести, сделать англоязычный installation-pack и какое-никакое продвижение. Поскольку скрипт бесплатный — это всё в общих интересах, но в первую очередь конечно в интересах разработчика.
@Absolute134, всё уже давно переведено, можете смело
Критикам предлагаю просто немного изучить рынок бесплатных опенсорсных социальных сетей по запросам, типа "Top Free Social Networking Open Source Software".
Из нормальных — Oxwall, но последний релиз был судя по всему в 16 году.
Демо: demo.oxwall.com/
Здесь, конечно, всё более аккуратно и прилизано, чем в icms. Но функционал явно у icms лучше.
Другой скрипт ELGG — запакованный дистрибутив весит 40 с лишним мб. Пример сайта на ELGG w.wzm.me/
Есть русский language pack, правда устаревший. Есть много разных халявных плагинов: elgg.org/plugins, большая часть которых не обновляется и не поддерживается.
Не знаю, из бесплатных чего-то более менее приличного я больше не нашел. Drupal с плагинами, WordPress и т.д. не в счет.
Если например, взять направления eCommerce и Classified ads — здесь icms супер-выстреливает. Один бесплатный плагин — у тебя мультивендорный магазин! Из коробки — уже Classified ads — нужно просто шаблон нормальный сделать, потому что визуальная часть доски объявлений никакая. И избавиться от inline-скриптов, в которых биндятся ивенты. Эта дичь мешает асинхронно подгружать скрипты, я с ней мучаюсь сейчас)) Но это мелочь.
По итогу: перевести всё на английский, запилить приличную бутстрап-тему, добавить монетизацию по медели membership и хотя бы paypal из коробки и… в продакшн!!! — покорять "буржунет"))
Из нормальных — Oxwall, но последний релиз был судя по всему в 16 году.
Демо: demo.oxwall.com/
Здесь, конечно, всё более аккуратно и прилизано, чем в icms. Но функционал явно у icms лучше.
Другой скрипт ELGG — запакованный дистрибутив весит 40 с лишним мб. Пример сайта на ELGG w.wzm.me/
Есть русский language pack, правда устаревший. Есть много разных халявных плагинов: elgg.org/plugins, большая часть которых не обновляется и не поддерживается.
Не знаю, из бесплатных чего-то более менее приличного я больше не нашел. Drupal с плагинами, WordPress и т.д. не в счет.
Если например, взять направления eCommerce и Classified ads — здесь icms супер-выстреливает. Один бесплатный плагин — у тебя мультивендорный магазин! Из коробки — уже Classified ads — нужно просто шаблон нормальный сделать, потому что визуальная часть доски объявлений никакая. И избавиться от inline-скриптов, в которых биндятся ивенты. Эта дичь мешает асинхронно подгружать скрипты, я с ней мучаюсь сейчас)) Но это мелочь.
По итогу: перевести всё на английский, запилить приличную бутстрап-тему, добавить монетизацию по медели membership и хотя бы paypal из коробки и… в продакшн!!! — покорять "буржунет"))
Вот-вот! Народ заценит icms — надо только показать. У меня был опыт продвижения за бугром, правда не скриптов, а футболок)) И могу сказать, что СНГ — это царство мёртвых по сравнению хотя бы с Австралией.Поюзал вордпресс, немножко джумлу, и для себя понял, что инстант с коробки в разы совершеннее всех их вместя взятых. люд существо социальное, куда большинство, туда и оно. а большинство на вордпрессе
Я удивлен, что у такой хорошей CMS до сих пор нет англоязычной версии сайта и нет продвижения за бугром.
Это может дать новый мощный импульс для развития проекта, как по количеству и качеству расширений на Addonse, так и по развитию самого движка. А также привлечь инвесторов и капитал для дальнейшего роста, как например это было с PrestaShop, работающей по похожей модели (доход на расширениях). В 2014 году PrestaShop разом привлекла 9.3 млн.долларов инвестиций и хорошо развивается по сей день.
В общем, я жду, когда, зайдя на Themeforest — я увижу там шаблоны для InstantCMS
Всем добра.
Это может дать новый мощный импульс для развития проекта, как по количеству и качеству расширений на Addonse, так и по развитию самого движка. А также привлечь инвесторов и капитал для дальнейшего роста, как например это было с PrestaShop, работающей по похожей модели (доход на расширениях). В 2014 году PrestaShop разом привлекла 9.3 млн.долларов инвестиций и хорошо развивается по сей день.
В общем, я жду, когда, зайдя на Themeforest — я увижу там шаблоны для InstantCMS

Всем добра.
В реализации, что я привел выше — похоже, проблема с индексами при побитовых операциях. Х.з. в общем. Не знаком хорошо с MySQL. Для большого кол-ва данных, наверное, не вариант. Без индексов вроде четко работает.
Тоже заморочился с реализацией логики "ИЛИ" на мультивыборе. Второй день ковыряю.
Вот решение, вроде работает.
В \system\core\model.php
Эту функцию логично вставить после filterLike.
Далее идем в БД и находим системное имя вашего поля с мультивыбором — меняем его тип со строки на int(<число бит>) unsigned zerofill
Далее идем в \system\fields\listbitmask.php и находим функцию applyFilter
И чтобы ничего не ломать стандартного, просто ставим условия.
В целом, здесь выборка должна работать быстрее, чем через LIKE с шаблоном, как изначально предусмотрел разработчик.
Вот решение, вроде работает.
В \system\core\model.php
public function filterOrBitMask($field, $value){ $this->filter("$field & '$value' > 0"); return $this; }
Далее идем в БД и находим системное имя вашего поля с мультивыбором — меняем его тип со строки на int(<число бит>) unsigned zerofill
Далее идем в \system\fields\listbitmask.php и находим функцию applyFilter
И чтобы ничего не ломать стандартного, просто ставим условия.
public function applyFilter($model, $values) { $filter = $this->parseValue($values); if (!$filter) { return parent::applyFilter($model, $values); } if($this->name == 'MY_FIELD1' || $this->name == 'MY_FIELD2' || $this->name == 'MY_FIELD3'){ // начало условия return $model->filterOrBitMask($this->name, $filter); } // конец условия return $model->filterLike($this->name, $filter); }
Так никто и не откликнулся 
Сам всё сделал. Можно закрывать.

Сам всё сделал. Можно закрывать.
1. Лента активности — нужно добавить регистрацию события изменения поля профиля с типом "Список изображений" (в идеале всех полей профиля и чтобы можно было выбирать, по каким полям ивенты регистрировать, а по каким нет), но сойдет и список изображений (системное имя mygallery).
2. Вернуть 404, при попытке юзера (НЕ модератора и НЕ администратора) зайти на страницу Ленты активности /activity.
3. Сделать кнопку очистки всех событий в Ленте активности
… и по мелочи:
4. Если юзер удалил изображение из mygallery — проверить есть ли путь этого изображения в поле modgallery (тип текст) и если есть — удалить, вернув массив в данное поле без всех путей данного изображения.
4. Поясню. mygallery переназначено на modgallery при заходе в профиль. modgallery — это массив промодерированных и утвержденных картинок в yaml-формате в который мы добавляем значения из mygallery. Интерфейс отклонения / одобрения картинок из mygallery и автаров юзеров у нас уже написан. При редактировании профиля юзер видит mygallery и работает с этим полем в стандартном формате загрузки изображений. modgallery — это для нас, юзер не видит это поле и не может его менять и из этого же поля берется yaml-массив для вывода картинок в профиле. Надеюсь понятно объяснил)) Это всё криво — да… Но что поделать, если нет встроенной модерации полей профиля юзера.
4 — можно не делать, это в принципе я сам могу. Да и остальное могу, но времени нет совсем.
Цены/сроки/варианты?
2. Вернуть 404, при попытке юзера (НЕ модератора и НЕ администратора) зайти на страницу Ленты активности /activity.
3. Сделать кнопку очистки всех событий в Ленте активности
… и по мелочи:
4. Если юзер удалил изображение из mygallery — проверить есть ли путь этого изображения в поле modgallery (тип текст) и если есть — удалить, вернув массив в данное поле без всех путей данного изображения.
4. Поясню. mygallery переназначено на modgallery при заходе в профиль. modgallery — это массив промодерированных и утвержденных картинок в yaml-формате в который мы добавляем значения из mygallery. Интерфейс отклонения / одобрения картинок из mygallery и автаров юзеров у нас уже написан. При редактировании профиля юзер видит mygallery и работает с этим полем в стандартном формате загрузки изображений. modgallery — это для нас, юзер не видит это поле и не может его менять и из этого же поля берется yaml-массив для вывода картинок в профиле. Надеюсь понятно объяснил)) Это всё криво — да… Но что поделать, если нет встроенной модерации полей профиля юзера.
4 — можно не делать, это в принципе я сам могу. Да и остальное могу, но времени нет совсем.
Цены/сроки/варианты?