• Как исправить "Cookies заблокированы из-за неожиданного вывода на экран" в WordPress?

    @serf
    Если используется дочерняя тема, проверьте нет ли в конце ее functions.php закрывающего тега ?>, если есть, удалите.
    Ответ написан
    2 комментария
  • В чем организовать Базу знаний + общение?

    У нас в фирме:

    Jira-для ведения тикетов.
    Confluence - для ведения документации
    Slack - для ведения общения (сейчас переходим на собственное решение, ибо сласк слишком прожорливое).
    TestRail - для ведения документации в виде тест-кейсов.

    Если у вас 100 человек, то я прямо не вижу причины экономить.
    Ответ написан
    4 комментария
  • В чем организовать Базу знаний + общение?

    ubernoob
    @ubernoob
    Чат в слаке
    База знаний в вики движке
    Ответ написан
    Комментировать
  • В чем организовать Базу знаний + общение?

    Shing
    @Shing
    Slack + (Evernote sharing + Google Docs).
    Ответ написан
    Комментировать
  • В чем организовать Базу знаний + общение?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Openfire + Любой Wiki-движок!
    Ответ написан
    Комментировать
  • В чем организовать Базу знаний + общение?

    @spr53
    LMS Moodle
    все в одном флаконе
    Ответ написан
    Комментировать
  • В чем организовать Базу знаний + общение?

    BacCM
    @BacCM
    C++ почти с рождения
    Из бесплатных можно на redmine посмотреть. Там есть и форумы и вики и задачи можно трекить и всё
    это с привязкой к исходникам при желании.
    Ответ написан
    Комментировать
  • В чем организовать Базу знаний + общение?

    lukoie
    @lukoie
    Вы можете организовать у себя общение в чем угодно, в чем сами согласитесь, или что введет ваше руководство. Например, в одной компании где я пиэмлю и девелоплю, у нас...скайп! С группами под разное. Раньше было вообще 10 групп, счас свели до пары штук, отдельно на департменты, отдельно по городам, ну и общий трёп.
    Тут важно что для быстрой связи нужно чтобы человек мог быстро даже в трамвае увидеть сообщение и отреагировать. Потому ориентируйтесь просто на наиболее распространенные мессенджеры, которые точно есть у большинства. Так что ХипЧат или Лайн видимо будет не вариант. Зато Вайбер какой нить, или Телеграм, или даже Скайп - вполне может подойти. Они кроссплатформенные, привычные и не нужно этой хрени с инвайтами как в Слаке. К слову, в другой конторе у нас как раз Слак, но там сотни народу из разных стран, и тоже разбиты по странам, технологиям и т.п.
    В слаке удобно что есть группы, ты их мож видеть и подписываться. В Скайпе/Вайбере/Телеграме такой фокус не получится.
    Вообще, если спуститься на более низкий уровень, то общатся можно по протоколу ирки, или жаббера, и раз вы айтишники, это как раз не должно вызвать сложности. Да хоть аськой(представьте что у меня аська до сиз пор есть, пятизнак, и всё такое, и в онлайне постоянно.)
    А, тут приходим к еще одному нюансу - обратите внимание на мессенджер Franz, и какие он может мессенджеры.Удобная штука, я постоянно например пользую, у меня там 13 сервисов подвязаны, среди них два скайпа, телеграм и та самая аська.

    Вообще, если говорить про всякие хипстерские штуки, то топовыми счас есть тот самый Слак, Microsoft Teams, riot(matrix) и mattermost
    А дальше уже куча мелочи всякой. Например, есть у меня подписка на quip.com, даже футболка мне и жене есть от них, прислали. Но в постоянном пользовании им пользоваться как то не получилось, неудобно.
    То есть, смотрите на массовые
    • riot.im (другие клиенты для сети матрикса см тут matrix.org/docs/projects/try-matrix-now.html)
    • mattermost.org
      есть минус с правами пользователей, которых в бесплатной версии просто нету, только энтерпрайз. Так, например, любой пользователь может удалить канал.


    Из мелочи можно пробовать
    • rocket.chat
      фаворит на сегодня
    • gitter.im
      от гитхаба
    • tribescale.com
    • ora.pm
    • glip.com
      стоит попробовать, из за анлим условий в бесплатном тарифном плане.
    • flock.com
      довольно приятный и эргономичный внешне, но надо тестить на команде, и сравнивать тариф, все ли подходит в бесплатном
    • zulipchat.com
      немного неудобный UX и навигация


    Обратил бы еще активно внимание на вот этот проект:
    humhub.org

    А документы смотрите на
    • wikisuite.org/Software
    • bookstackapp.com/

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

    Если же говорить о комбайнах, где будет и проджект менеджмент, и общение, и вот это вот всё, то конечно продукты от Атлассиан это стандарт. Дальше еще больше укорененный Бейскемп(где для общения есть Кемпфайр), ну и конечно Битрикс24, куда без него. Ну и quip.com, с групоовым чатом тоже под это заточен.
    Ответ написан
    7 комментариев
  • Чек-листы внешней и внутренней оптимизации сайта?

    @sidni
    Php Developer
    Ответ написан
    Комментировать
  • Как и чем вы защищаете свои WordPress-сайты - плагины, решения?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    1. Защита на уровне сервера, в том числе блокировка известных стремных запросов, лимит попыток ввода пароля, блокировка доступа к тому, что не нужно, корректные права и тд. Fail2ban, UWF и вот это все, плюс Nginx.
    2. Построение проекта на базе Composer, где WP - обычная зависимость, как и все остальное. Автоматический деплой с возможностью мгновенного отката. Мониторинг чексум. Мониторинг производительности, доступности и логов.
    3. Проверка всего кода, который устанавливается. Никогда не использовать "зануленные" плагины и темы.
    4. Использование лучших security практик при написании своего кода.
    5. Использование bcrypt или argon для паролей WP.
    6. Использование .env
    7. Доступ к wp-admin только по IP или по IP через VPN (чтобы не нужно было обновлять whitelist если IP меняется).
    8. В некоторых случаях CloudFlare на входе.

    Никаких плагинов типа Wordfence, iThemes Security и прочего не использую и не советую. Они только замедляют сайт, не делают ничего, что не может быть сделано без них, сами являются уязвимым местом и создают ложное чувство безопасности.
    Ответ написан
    2 комментария
  • Какие есть толковые SMMкурсы?

    zamboga
    @zamboga
    Аналитика данных, BI-аналитика, дашборды
    Рекомендую курсы Петроченкова https://convertmonster.ru/SMM-manager-live/ + в футере смотрите в разделе обучение
    И курсы от Бизнес Молодости (реальный вконтакте, реальный инстаграм)
    Ответ написан
    Комментировать
  • Прав ли разработчик?

    lamer350
    @lamer350
    กำลังสูงสุด
    Вы же сделали только back-end и все права на дизайн/фронт остались у прежнего разработчика.
    По всем правилам вы обязаны у себя в портфолио указать ссылку (на прежнего разработчика) и разъяснить что вы делали только натяжку, а фронт делал такой то человек. А в подвале если ставите свое лого, то опять же с разъяснениями, что вы делали back-end и поддерживаете работу сайта, дизайн и front-end делал такой то человек.

    Авторские права не переходят заказчику автоматом после сдачи работы, ваш договор с заказчиком не имеет силы (в плане присваивания себе авторских прав на работу). Для такого случая разработчик должен был передать права заказчику по специальному договору, тогда бы заказчик имел право дать разрешение вам присваивать все права (но какой ему в этом интерес? передача авторских прав 3м лицам?).

    Исходя из всего что я написал, кратко можно сказать: указывая свое авторство вы обязаны уточнять в чем именно заключалась ваша работа.
    Ответ написан
    Комментировать
  • Прав ли разработчик?

    Jump
    @Jump
    Системный администратор со стажем.
    Прав или виноват - вещи субъективные и зависят исключительно от точки зрения.

    Вообще - вы выполнили работы по переносу, получили за это деньги. Что еще нужно?
    Добавлять в портфолио чужой сайт разработанный не вами без разрешения правообладателя не законно.
    Лепить свое лого на чужой сайт - тоже нагло и незаконно.
    В любом случае о таких вещах нужно договариваться с заказчиком и получать его согласие.

    Хотя после принятия работ и оплаты клиент может возмущаться и требовать только удаления сайта из вашего портфолио.
    Насчет логотипа он уже ничего не может требовать от вас - он принимал сайт, его это устраивало на этапе приемки, бумаги подписал, поэтому смело можно посылать.
    Если ему надо - найдет спецов, заплатит им, и они удалят.


    Если с заказчиком все ровно, а претензии от разработчиков которые когда-то работали с вашим заказчиком - шлите их лесом.
    Если у них есть претензии пусть предъявляют их клиенту. К вам у них не может быть никаких обоснованных претензий.
    Ответ написан
    2 комментария
  • Как в цикле присвоить переменной значение?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Ключевое слово global должно быть внутри функции - оно не для объявления переменных как глобальных, а для импорта их в текущую область видимости.

    Но раз у вас используется класс, гораздо разумнее использовать статическое свойство этого класса вместо глобальной переменной.
    Ответ написан
    2 комментария
  • Почему с view на контроллер не идет модель?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Скорее всего имена HTML-элементов получаются неправильные (одинаковые). Попробуйте через обычный for, тогда на выходе должны будут получаться имена с указанием индекса (типа: [0].Html, [1].Html и т.п.):
    @for (int i = 0, count = Model.Count; i < count; ++i)
    {
      @Html.TextAreaFor(m => m[i].Html, new { @class = "Width500", @style = "height:130px;" })
    }
    Ответ написан
    1 комментарий
  • Как изменить параметр CKEDITOR?

    it_monk
    @it_monk
    Разработчик в oncloud.ru
    У CKEDITOR нет возможности изменять filebrowserImageUploadUrl динамически.

    Наиболее простое решение:

    $("#SiteName").change(function () {
      setcookie('upload_site', $(this).val());
    }).change();


    А на стороне сервера получать значение upload_site из кукисов вместо получения его из GET['Site'] как сейчас.

    На всякий случай, реализация setcookie
    function setcookie(name, value, expires, path, domain, secure) {
        expires instanceof Date ? expires = expires.toGMTString() : typeof(expires) == 'number' && (expires = (new Date(+(new Date) + expires * 1e3)).toGMTString());
        var r = [name + "=" + escape(value)], s, i;
        for(i in s = {expires: expires, path: path, domain: domain}){
            s[i] && r.push(i + "=" + s[i]);
        }
        return secure && r.push("secure"), document.cookie = r.join(";"), true;
    }
    Ответ написан
    2 комментария
  • Как изменить параметр CKEDITOR?

    Sect0R
    @Sect0R
    Full Stack Developer
    Попробуйте так:
    var editor = CKEDITOR.replace('ae-textarea-text', {
            filebrowserImageUploadUrl: '/Sites/UploadImgToSite',
            height: 850,
            width: 800       
        });
    $('#SiteName').change(function() {
      editor.config.filebrowserImageUploadUrl = '/Sites/UploadImgToSite?Site=' + $("#SiteName").val();
    });
    Ответ написан
    Комментировать
  • Как в php использовать шаблон для письма?

    Gori4ka
    @Gori4ka
    WordPress Developer
    Здравствуй, дорогой друг)

    Вот вам кусочек с рабочего проэкта.
    суть вот в чём.

    Есть функция которая принимает 2 параметра
    $template - это название файла с шаблоном в папке с шаблонами.
    $args - Массив для замены значений в письме.

    public function send_email( $template, $args ) {
    				ob_start();
    				include APA_PATH . "/templates/emails/{$template}.php";
    				$content = ob_get_clean();
    				foreach ( $args as $key => $value ) {
    					if ( ! is_array( $value ) && ! is_object( $value ) ) {
    						$search  = '{$' . $key . '}';
    						$content = str_replace( $search, $value, $content );
    					}
    				}
    				$message = $content;
    
    				wp_mail( $this->getEmailTo(), $this->getEmailSubject(), $message, $header );
    			}


    Получаем содержимое файла с шаблоном и сохраняем в переменную $content
    ob_start();
    include APA_PATH . "/templates/emails/{$template}.php";
    $content = ob_get_clean();


    Проходимся по массиову и ищем плейсхолдеры формата {$user_name} заменяем на реальные значения с массива и заменяем в переменной $content
    foreach ( $args as $key => $value ) {
    					if ( ! is_array( $value ) && ! is_object( $value ) ) {
    						$search  = '{$' . $key . '}';
    						$content = str_replace( $search, $value, $content );
    					}
    				}


    И финальный шаг: отсылаем письмо
    $message = $content;
    wp_mail( $this->getEmailTo(), $this->getEmailSubject(), $message, $header );


    PS. wp_mail() - это функция из вордпресс
    Ответ написан
    4 комментария
  • Как отправить письмо зарегистрированному пользователю (пояснение)?

    Gori4ka
    @Gori4ka
    WordPress Developer
    Здравствуйте. В первую очередь хочу отметить что вам нужно по смотреть как работает функция add_action()

    1. add_action
    2. do_action
    add_action('user_register', 'send_welcome_email_to_new_user (111)');
    вам нужно написать следующим образом
    add_action('user_register', 'send_welcome_email_to_new_user');


    Функция send_welcome_email_to_new_user() получить id пользователя автоматически см. user_register

    А по поводу интересного материала я увы подсказать вам ничего не могу так как это не мой конёк. Нуачится можно следующим образом. Скачивате какую нибудь html тему. И пытаетесь создать тему. А весь функционал темы реализовывать плагинами.

    Надеюсь я вам помог :) если что обращайтесь
    Ответ написан
    1 комментарий
  • Как отправить письмо зарегистрированному пользователю (пояснение)?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    Функция принимает аргументы из хука. Вот вы их в своей функции и получаете

    p.s. гугл, как бы это глупо не звучало. Или профильные сайты которые продают курсы по обучению php
    + документация + книги.
    Ответ написан
    1 комментарий