Honko
+6
Репутация
29
Рейтинг
Killer's dream, большое спасибо. Теперь всё ОК.
Killer's dream, вставляю в view.tpl.php
ссылка формируется правильно (с id юзера — автора фото), но проверки на авторство нет — ссылка показывается и автору этой фоты. Куда копать?
<?php if ($user->is_logged && $user_id != $photo['user']['id']){ ?> <div class="ajax-modal"><a title="Написать сообщение автору" class="ajaxlink" href="/messages/write/<?php echo $photo['user_id']; ?>">Личное сообщение автору</a></div> <?php } ?>
ignat, вставляется, если нужно, чтобы эта ссылка показывалась в записях, в файл template/content/default_item.tpl.php. Если вставить в самый его низ, то ссылка "Написать сообщение автору" будет показана после записи, выше блока "комментарии". У меня этот код такой:
тут в классе дива оставлил только ajax-modal (если еще и messages, то ссылка не срабатывает). И добавил класс для самой ссылки, чтобы она была аналогичной ссылке "написать комментарий" — с подчеркиванием точками.
У меня в свою очередь возник такой вопрос: в типах контента приведенный выше код работает, а вот если его вставить на страницах с фотографиями, то проверки на автора нет. Пробовал вместо $item['user_id'] вставлять $photo['user_id'], но без результата.
Подскажите, как выполнить проверку на автора для фотографий. Чтобы для автора фотографии ссылка "Личное сообщение автору" не показывалась?
<?php if ($user->is_logged && $user->id != $item['user_id']) { ?> <div class="ajax-modal"><a title="Написать личное сообщение автору" class="ajaxlink" href="/messages/write/<?php echo $item['user_id']; ?>">Личное сообщение автору</a></div> <?php } ?>
У меня в свою очередь возник такой вопрос: в типах контента приведенный выше код работает, а вот если его вставить на страницах с фотографиями, то проверки на автора нет. Пробовал вместо $item['user_id'] вставлять $photo['user_id'], но без результата.
Подскажите, как выполнить проверку на автора для фотографий. Чтобы для автора фотографии ссылка "Личное сообщение автору" не показывалась?
видимо, такого нет в движке, да и уведомления тоже не все смотрят своевременно, поэтому я сделал меню "сообщения" в виде кнопки и вывел его вверху левее аватара. Чтобы было заметнее про новые сообщения, сделал так, чтобы при наличии новых сообщений счетчик выводился в кружочке и был яркого цвета.
можно ли прописать в уведомление — Вам сообщение на сайте — не все видят в меню..
попробовал зарегистрироваться — никаких проблем.
На демо работает вход через mail.ru bergorod.ru/auth/login
Если есть желающие, прошу протестировать.
ну почему фантастика? И метки на фото, и всевозможные ограничения для загрузки фото уже давно реализованы (в других движках или дополнениях для них), так что тут дело только в приоритетах создателей icms. Посчитали они, что в данный момент важно расширить опции по настройке и использованию текстовых редакторов — выдали 2.12.2 с их очень гибкой настройкой практически под любые потребности. Так что, может быть, и до фотоальбомов их руки доберутся. Или кто-нибудь отдельный компонент напишет "по заявкам трудящихся". В складчину в этом я бы точно поучаствовал.но это фантастика
немного отдалились от пресетов, но перенос фотки из одного альбома в другой и возможность показывать ее сразу в нескольких альбомах вовсе не перебор. Фотоальбомам, если они используются активно, не хватает еще и ограничений на максимальное количество фото в альбоме и на кол-во фото в общий альбом от одного юзера. И еще чтобы все это дело можно было настраивать для каждой группы юзеров. И еще чтобы юзеры могли ставить на фотографиях метки, выделяя ее часть и указывая, что это я, это мой друг Вася Пупкин, а это соседкина кошка, и чтобы эти метки могли быть ссылками.Например, на профиль юзера или на фото самой соседки. Это самое первое, что вспомнилось. Эх, мечты…но это уже может и перебор
что-то у меня после обновления до 2.12.2 тоже не всё в порядке с редакторами: у маркитапа пропали кнопки. В браузере консоль выдает
Uncaught TypeError: Cannot read property '9' of undefined
at init_markitup (add:1393)
at HTMLDocument.<anonymous> (add:1390)
at i (jquery.js?79:1)
at Object.fireWith [as resolveWith] (jquery.js?79:1)
at Function.ready (jquery.js?79:1)
at HTMLDocument.K (jquery.js?79:1)
На форуме и в комментариях я его поменял, но всё равно хотелось бы исправить эту показываемую ошибку.
К тому же маркитап использовался еще и для сообщений в Neomessenger, и теперь там только поле для текста, а кнопок нет. Способ смены редактора, предложенный выше для Сообщений, тут, видимо, не подходит: пробовал в нем вместо
<div class="nm-editor">
<?php echo html_editor('nm-msg-field', '', $options); ?>
</div>
вставлять то, что предложено выше, но ничего это не дало — показывается только текстовое поле. Кеши чистил, браузерами смотрел разными.
Uncaught TypeError: Cannot read property '9' of undefined
at init_markitup (add:1393)
at HTMLDocument.<anonymous> (add:1390)
at i (jquery.js?79:1)
at Object.fireWith [as resolveWith] (jquery.js?79:1)
at Function.ready (jquery.js?79:1)
at HTMLDocument.K (jquery.js?79:1)
На форуме и в комментариях я его поменял, но всё равно хотелось бы исправить эту показываемую ошибку.
К тому же маркитап использовался еще и для сообщений в Neomessenger, и теперь там только поле для текста, а кнопок нет. Способ смены редактора, предложенный выше для Сообщений, тут, видимо, не подходит: пробовал в нем вместо
<div class="nm-editor">
<?php echo html_editor('nm-msg-field', '', $options); ?>
</div>
вставлять то, что предложено выше, но ничего это не дало — показывается только текстовое поле. Кеши чистил, браузерами смотрел разными.
а чем не устраивает доступ по группам? Создал группу, например, vip, дал в настройках форума для закрытого раздела разрешение только для vip и включай туда кого хошь из других уже имеющихся групп?
Я имею ввиду общение в общих темах на форуме, что бы потом дать ему доступ в закрытый раздел. То есть я знаю кому давать его, а реализовать это по его id которое я могу посмотреть у него.
Заглядывать время от времени или в Файлы автора форума, или сюда: при появлении новой версии Loadырь обычно пишет тут об этом. А может, когда-нибудь форум все же будет или включен в icms, или будет выложен в Дополнениях. Пока это можно только предполагать, но авторство форума уже сейчас указывается как "InstantCMS Team".А как следить за обновлением данного форума?
сам спросил, сам ответил: поставил локально icms 2.12.1, установил форум, а потом обновился до 2.12.2. Проблем не обнаружил, за исключением того, что текущая версия форума еще не знает о существовании новой фичи с выбором редакторов.Если стоит форум, обновлять движок до 2.12.2 можно?
,
Вопрос Loadырю (а может, кто другой сможет помочь): можно ли (и как) сделать так, чтобы можно было вывести в виджете не все новые темы, а только те, к которым прикреплено голосование?
в файлах у автора форума ТЫЦгде можно скачать данный форум?
Если стоит форум, обновлять движок до 2.12.2 можно? В форуме ничего не поломается?
у меня в \templates\default\js\ лежит файл screenfull.js вот такого содержания:
рядом с ним лежит старый с припиской "не работает", значит, этот как раз тот, который работает
/*! * screenfull * v4.0.0 - 2018-12-15 * (c) Sindre Sorhus; MIT License */ !function(){"use strict";var u="undefined"!=typeof window&&void 0!==window.document?window.document:{},e="undefined"!=typeof module&&module.exports,t="undefined"!=typeof Element&&"ALLOW_KEYBOARD_INPUT"in Element,c=function(){for(var e,n=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],r=0,l=n.length,t={};r<l;r++)if((e=n[r])&&e[1]in u){for(r=0;r<e.length;r++)t[n[0][r]]=e[r];return t}return!1}(),l={change:c.fullscreenchange,error:c.fullscreenerror},n={request:function(l){return new Promise(function(e){var n=c.requestFullscreen,r=function(){this.off("change",r),e()}.bind(this);l=l||u.documentElement,/ Version\/5\.1(?:\.\d+)? Safari\//.test(navigator.userAgent)?l[n]():l[n](t?Element.ALLOW_KEYBOARD_INPUT:{}),this.on("change",r)}.bind(this))},exit:function(){return new Promise(function(e){var n=function(){this.off("change",n),e()}.bind(this);u[c.exitFullscreen](),this.on("change",n)}.bind(this))},toggle:function(e){return this.isFullscreen?this.exit():this.request(e)},onchange:function(e){this.on("change",e)},onerror:function(e){this.on("error",e)},on:function(e,n){var r=l[e];r&&u.addEventListener(r,n,!1)},off:function(e,n){var r=l[e];r&&u.removeEventListener(r,n,!1)},raw:c};c?(Object.defineProperties(n,{isFullscreen:{get:function(){return Boolean(u[c.fullscreenElement])}},element:{enumerable:!0,get:function(){return u[c.fullscreenElement]}},enabled:{enumerable:!0,get:function(){return Boolean(u[c.fullscreenEnabled])}}}),e?module.exports=n:window.screenfull=n):e?module.exports=!1:window.screenfull=!1}();
