• Как в OctoberCms вытащить поля из fields.yaml, например из checkboxlist?

    AlexanderShapoval
    @AlexanderShapoval
    PHP maker
    Правильно - это должна быть отдельная модель. Когда понадобится добавить "Офисы" или "Дома на колесах" - не придется редактировать код, + можно подключить мультиязычность и фильтровать недвижимость (или движимость) по типу застройки. Если Вы пишите хардкод - то и на фронте придется писать хардкод
    Ответ написан
    Комментировать
  • Не открывается ссылка, хотя активна при наведении, в чём проблема?

    PavelMonro
    @PavelMonro
    В файле main.js код:
    var navLink = $('.container-fluid a').on('click', function(e) {
        e.preventDefault();
        navLink.not(this).removeClass('active');
        $(this).addClass('active');
    });

    Заменить на:
    var navLink = $('.container-fluid a').on('click', function(e) {
        //e.preventDefault();
        navLink.not(this).removeClass('active');
        $(this).addClass('active');
    });
    Ответ написан
    1 комментарий
  • Как узнать на какой CMS стоит сайт?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Проверить CMS онлайн:
    https://2ip.ru/cms/
    Самописные, естественно, не определяет.
    Ответ написан
    Комментировать
  • Как узнать на какой CMS стоит сайт?

    Хотелось бы узнать на какой cms стоит.


    Пожалуйста, не предлагайте opencart


    как ты это вообще связал?
    Ответ написан
    Комментировать
  • Можно ли средствами PHP назначить видео на hdmi-выход "сервера"?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    а чем exec() и системные вызовы не подходят?
    Ответ написан
    4 комментария
  • Как установить форумный движок Flarum (или Discourse) на хостинг?

    Kolyagrozamorey
    @Kolyagrozamorey
    инженер-электроник службы ИТ ХАЕС
    Ни в коем случаи не используйте хостингер. Я когда то попробовал использовать их бесплатный тариф для тестового форума. Установить его удалось, но дальше работать было не реально, постоянно падал и появлялись разные ошибки
    Ответ написан
    Комментировать
  • Как правильно использовать интерцепторы в axios?

    owl1n
    @owl1n
    fullstack developer
    Покажу немного практик, как интерцепторы упрощают жизнь мне, да и многим, в целом.
    Здесь и далее покажу именно использование интерцепторов при работе с авторизацией по JWT (токены).

    1) Подстановка хедера авторизации

    const createSetAuthInterceptor = options => config => {
      if (options.access) {
        config.headers.Authorization = options.access;
      } else {
        delete config.headers.Authorization;
      }
      return config;
    };
    
    const setAuthCb = createSetAuthInterceptor(store.state.auth);
    axios.interceptors.request.use(setAuthCb);


    Здесь мы проверям наличие доступа из стора, а точнее, наличие токена. Далее, подставляем, либо удаляем заголовок.

    2) Следующая практика, это обновление токена (то, о чем вы спросили в комментарии, при окончании сессии и т.д.)

    let refreshTokenPromise;
    
    const createUpdateAuthInterceptor = (store, http) => async error => {
      const message = get(error, 'response.data.message');
      if (!['Token expired', 'Invalid token'].includes(message)) {
        return Promise.reject(error);
      }
    
      if (!refreshTokenPromise) {
        refreshTokenPromise = store.dispatch('refreshToken');
      }
    
      await refreshTokenPromise;
      refreshTokenPromise = null;
    
      return http(error.config);
    };
    
    const updateAuthCb = createUpdateAuthInterceptor(store, axios);
    axios.interceptors.response.use(null, updateAuthCb);


    Здесь мы можем видеть, что при каждом ответе проверяем наличие ошибок и если ошибка соответствует ошибке с токеном, то отправляем обновлять токен и далее снова отправляем тот же самый запрос, который к нам вернулся с ошибкой. Тут грамотно будет проверять не само сообщение об ошибке, а код ответа (401 и т.д.), но тут используется такое решение уже из за специфики бэка.

    В этом же решение, вместо обновления токена, можно отправлять юзера авторизовываться самому, на страницу авторизации. Для этого, конечно же, стоит передавать не экземпляр store, а экземляр роутера, чтобы редиректить юзера. Надеюсь, помог и хоть как то наглядно показал способы применения :)
    Ответ написан
    1 комментарий
  • Какие сделать скрипты для портфолио?

    @vardoLP
    Ват ю сэй эбаут май мама?!
    Да элементарно соберите какой-то небольшой сервис с личным кабинетом в котором есть разные группы пользователей, связь между ними, + авторизацию через соц сети и т.д. Ну само собой не забывайте использовать БД. Только не делайте это на процедурном пхп :), а на фреймворках. Писать свой фреймворк думаю бессмысленно.

    Потом просто загружаете это дело на сервер, для проверки работоспособности и на гитхаб. Даете ссылку в резюме на сайт и на гит, чтобы могли посмотреть ваш код. Не забывайте комментить в файлах, то что делаете.
    Ответ написан
    Комментировать
  • Laravel+Vue: Авторизация, регистрация - как сделать?

    Laravel (JWT):
    Установка и настройка пакета jwt-auth прекрасно описан. Что насчет контроллера - CTRL + C и CTRL + V. Также не забудьте про CORS.

    Vue:
    Ходить далеко тоже не нужно. Есть прекрасный пакет vue-auth, который сам сохраняет токен в localStorage, вытаскивает и вставляет в заголовок при запросах. Интегрируется это добро за 5 мин.
    И собственно отображение только авторизованным пользователям:
    <span v-if="$auth.check()">текст для авторизованного</span>


    Подсказка, если будете работать с этими пакетами:
    Vue-auth выдергивает токен из заголовка, а не из тела ответа. А в документации jwt-auth в контроллере токен вставляется в тело ответа. Нужна небольшая модификация контроллера:
    protected function respondWithToken($token)
        {
            return response()->json([
                'status' => 'success',
            ])->header('Authorization', $token);
        }
    Ответ написан
    1 комментарий
  • Куда уходят наработки и код от неудачных стартапов?

    sim3x
    @sim3x
    /dev/null
    Ответ написан
    Комментировать
  • Где найти подходящий темплейт для стартапа?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Если цена не имеет значения - закажите на фрилансе и получите именно то что надо. Потому как
    стартап и по совместительству доска обьявлений
    - это странный набор. Вряд ли сидят где-то дизайнер с верстальщиком и обсуждают:
    дизайнер: слушай, а давай запилим шаблон "стартап и по совместительству доска обьявлений"
    верстальщик: а как же идея "интернет магазин и по совместительству сайт трудоустройства"?
    дизайнер: не, потом, моя то реально круче, продаваться будет по 100 копий в день, это же популярный формат сайта
    верстальщик: а где разместим?
    дизайнер: только не на templatemonster или themeforest, давай на форуме лингвистов
    верстальщик: супер, чистый html или для wp?
    дизайнер: такая классная идея, жаль портить, знаю я одну малоизвестную сирийскую cms, без локализации и документации ...
    Ответ написан
    Комментировать
  • Где искать инвестора на проект, что бы у меня не украли идею?

    Singaporian
    @Singaporian
    Слово "идея" - маркетинговый буллшит в мире стартапов. Нет у вас никакой идеи и ни у кого ее не было. Давайте разберемся с тем, что такое стартап и вы поймете, как и где защищать идею.
    Стартап - это проект (не обязательно новая компания, есть и стартапы в рамках крупных корпораций), который прокладывает новую бизнес-модель, которая раньше не существовала.
    Например, вы можете построить ресторан. И до вас стопицот других людей это сделали. То есть, основываясь на их опыте, вы можете просчитать риски и примерные доходы, рост. В стартапе вы первые (или параллельно с вами есть еще те, кто не закончил решение проблемы или не донес его до всех). Статистики для вас нет. Взлетит? Не взлетит? Никто не знает. Просчитывается очень мало, даже при соблюдении всех технологий и этапов роста.

    Теперь к идее: нет такого понятия. Вы можете сделать восхитительную штуку. Никто ее не купит, потому что ничего не заставит его сделать несколько лишних телодвижений, чтобы это получить. Потому что у клиента ничего не болит. Потому что это будет игрушка на день, как программа Google Earth или типа того.

    Но вместо идеи есть два других понятия: проблема (боль клиента) и решение проблемы. Сегодня клиенты как-то уже решают эту проблему. Им же надо как-то с ней жить. Но решают может вручную, неоптимально или хотели бы решение более гармоничное. И готовы за это решение платить.

    Поэтому, прежде, чем начинать тратить деньги, стартапер сначала проверяет есть ли такая проблема и нужно ли такое решение (этап Customer Development).

    А теперь скажите, что у вас там воровать, если добрая сотня человек сегодня бьется над решением этой проблемы?

    Вот давайте посмотрим. Не говорите свою идею. Скажите только какую проблему нужно решить. И мы вместе посмотрим, не решена ли она уже. Потому что именно это и будут смотреть инвесторы.
    Ответ написан
    Комментировать
  • Как быть, если вы устали от проекта?

    @yii16
    Было такое. Я работал сам, людей не нанимал, не тот уровень ещё был. Но тоже устал. Доделал самые важные дела и оставил его как есть. Со времнем пришли пользователи, подросла посещаемость, я отдохнул и у меня вновь появилась мотивация и стимул его развивать.
    Ответ написан
    Комментировать
  • Node js однопоточен, а php многопоточен?

    Ni55aN
    @Ni55aN
    Да. WebWorker'ы, кластеры
    Ответ написан
    Комментировать
  • Где попросить денег на стартап?

    angrySCV
    @angrySCV
    machine learning, programming, startuping
    хехех, люди уже разучились создавать проекты за счет свой окупаемости?
    пора начинать заново учится, и забыть о сторонних деньгах / ресурсах, только на свои ресурсы, силы, деньги (ну и друзья, родственники, близкие), больше никто вам не поможет.
    Как только вы докажите что ваш проект жизнеспособен, успешен и будет развиваться сам по себе без чужих вливаний, сразу появятся желающие вписатся в ваш проект. Их искать не надо будет. Сами вас найдут, а пока
    сфокусируйтесь на проекте/продукте/клиентах/продажах.
    Ответ написан
    Комментировать
  • Что не так с php?

    RomaZveR
    @RomaZveR
    CEO AlertMoney, PHP/Golang Developer
    $a = 0;
    if ($a == 1) {
       echo "yes";
    } else {
       echo "no";
    }
    Ответ написан
    Комментировать
  • Что не так с php?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    В первом случае не сравнение, а присваивание. В итоге в условии используется значение переменной a, которое равно 1, которое приводится к true.

    Во втором случае в первой строке вы производите сравнение, а не присваивание значения. Поэтому во второй строке у переменной $a нет значения, то есть она точно не равна 1.

    С php всё ок, проблема с вашим кодом.
    Ответ написан
    1 комментарий
  • Laravel + Vue + JWT: как добавить Authorization header?

    Froks
    @Froks
    Используй лучше стандартный passport laravel, а не tymon сторонний
    Ответ написан
    Комментировать
  • Как сделать донат для сайта на вордпресс?

    azerphoenix
    @azerphoenix
    Java Software Engineer
    Простой вариант - есть виджет для яндекс денег, для вебмани, которые можно легко добавить на сайт
    Сложный вариант - писать плагин и подключать электронные системы оплаты

    https://money.yandex.ru/fastpay
    Ответ написан
    Комментировать
  • Почему увеличивается размер файла при перезаписи?

    @megrel90 Автор вопроса
    Кажется нашел причину.
    file_put_contents($file, $person, FILE_APPEND | LOCK_EX);

    Надо было убрать FILE_APPEND )
    Ответ написан
    Комментировать