Задать вопрос
  • Как проще всего перетянуть шаблон на битриксе?

    Adamos
    @Adamos
    Завести применение нового шаблона на условие (какой-нибудь ключ в GET).
    В Битриксе по умолчанию так сделан шаблон "для печати", например.
    Отладить. Оттестировать.
    Применить ко всему сайту.
    Ответ написан
  • Как забрать место у Linux и отдать его Windows?

    Adamos
    @Adamos
    Gparted в Линуксе не заработал просто потому, что вы собрались менять тот самый раздел, с которого сейчас загрузились. Загрузитесь с LiveCD - спокойно уменьшите раздел. И, видимо, объедините остаток с тем огрызком на 7,7 ГБ, который у вас четвертым разделом. Диск ведь, скорее всего, разбит под MBR, и раздела может быть только четыре.
    Или это линуксовый своп? Тогда у меня для вас, возможно, плохие новости...

    А Винда ext-раздел, конечно, может только удалить. Она ни с чем, кроме своих двух с половиной форматов, никогда не умела работать. Странно было такое и предполагать.
    Ответ написан
    Комментировать
  • Редирект в Paypal после удачной оплаты и получение платежной инфо: как изменить метод?

    Adamos
    @Adamos
    Любая современная платежная система работает так:
    - клиент на сайте хочет за что-то заплатить
    - сайт формирует заказ под уникальным номером, сохраняя, кто, что и за какую сумму оплачивает
    - клиент отправляется на сайт платежной системы с номером заказа и его ценой
    - если клиент оплатил этот заказ, платежная система возвращает его на сайт, но это НЕВАЖНО
    - потому что некоторые платежи могут час идти от клиента до платежной системы (хотя к PP это, может быть, и не относится)
    - когда ПС удостоверится, что клиент оплатил заказ, она дергает скрипт на нашем сайте, сообщая ему, что заказ номер такой-то проплачен такой-то суммой. Тут может быть предварительное подтверждение, что этот заказ стоит именно столько - только при этом условии с клиента вообще что-либо снимется. Но в любом случае информацию о том, что заказ проплачен, на сайт приносит не браузер пользователя (это дырища), а сервер ПС
    - когда клиент заходит после этого на сайт, сайт уже в курсе, что этот клиент проплатил этот заказ, и действует соответственно

    Любые прочие "быстрые кнопки" или велосипеды - это несерьезно и, вполне возможно, уязвимо для халявщиков.
    Ответ написан
    Комментировать
  • Почему программисты не любят возврат константных ссылок в C++?

    Adamos
    @Adamos
    На самом деле, в жизни все может оказаться несколько сложнее. Если вы передаете по ссылке член класса, который сам является классом и содержит, например, контейнеры - то передача по ссылке не запустит конструктор копирования. Время это сэкономит, но создаст зависимость дальнейшей жизни кода от того, что там происходит внутри класса. То есть потенциальные грабли, от которых потом замучишься избавляться.
    А программирование, как известно - это в первую очередь управление сложностью. Оптимизации стоят намного ниже в списке.
    Ответ написан
  • Как исправить ошибку при компиляции error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]?

    Adamos
    @Adamos
    Вообще-то в инструкции /configure --with-cards=hda-intel - но дело, конечно, не в этом.
    Не знаю, какими ключами ему объяснить, что предупреждения не нужно трактовать, как ошибки.
    Но вам же даны файл и строчка, в которой проблема. Замените текст на "Compiled today for kernel %s" например - предупреждение и исчезнет...
    Ответ написан
  • Как реализовать систему корректировки почтового адреса?

    Adamos
    @Adamos
    В адресе, скорее всего, все-таки указана область (в первую очередь нужно искать ее) или хотя бы город (во вторую очередь). Когда они будут определены - количество вариантов улиц будет уже не таким страшным.
    Ключевые слова "ул.", "р-н" и пр. могут помочь отличить ул. Большую Московскую от области.

    Вычисляем расстояния Левенштейна для имеющихся правильных вариантов и фрагментов введенной строки. Наименьшее считаем правильным...
    Ответ написан
  • Как лучше зашифровать URL?

    Adamos
    @Adamos
    Вам же не надо засекретить ссылки, вам всего лишь нужно подсчитать переходы.
    99% пользователей не будет заморачиваться с вытягиванием настоящей ссылки из вашей даже после простого urlencode... Ну, в крайнем случае, замените перед кодированием точку на запятую, а на сервере поменяйте обратно.
    Ответ написан
  • Почему сбрасывается значение объекта?

    Adamos
    @Adamos
    // в $advert - копия элемента $adverts, изменения в ней не отражаются на самом массиве
    foreach ($adverts as $advert) { } 
    // в $advert - ссылка на элемент $adverts, изменения в ней - это изменения в самом массиве
    foreach ($adverts as &$advert) { }

    По материалам любого учебника по PHP...
    Ответ написан
    3 комментария
  • Как отредактировать меню "завершение работы" в Xfce4?

    Adamos
    @Adamos
    Может, проще настроить этот самый выход на физическую кнопку выключения?
    А пользователям объяснить, что теперь наконец можно выключать именно так, как они обычно поначалу пытаются ;)
    Ответ написан
  • MySQL запрос с условием MAX()?

    Adamos
    @Adamos
    SELECT `id`, `num` FROM `table` HAVING `active`=1 AND `num`=MAX(`num`)
    Ответ написан
  • Какой универсальный способ защиты большинства установленных дистрибутивов Linux от малвари и т.п.?

    Adamos
    @Adamos
    И хоть бы один рассуждалец предупредил человека о главной опасности, которая подстерегает его при переходе с Виндов на Линукс.
    Срываем покровы! Наш герой - Wine!
    Потому что пользователь его все равно поставит. При этом Wine по умолчанию будет запускать по тычку все виндово-исполняемое. Например, .scr-файл с трояном-шифровальщиком, которому через Z:-диск доступно на запись все, что доступно пользователю. В том числе сетевые шары, например. И Wine, если что, прекрасно исполняет эти самые шифровальщики. Которые, невзирая на громкие вбросы о взломах Линуксов, по-прежнему пишут исключительно под Винды...
    Ответ написан
  • Как через AJAX передать $_FILES?

    Adamos
    @Adamos
    Кусок рабочего кода для медитации:
    var data = new FormData();
    data.append('file', this.files[count]);
    $(form).find('input[type!=file]').each(function () {
      data.append(this.name, this.value);
    });
    $.ajax({
      'url': ajax_path,
      'type': 'POST',
      'data': data,
      'contentType': false,
      'processData': false,
      'dataType': 'json',
    Ответ написан
    2 комментария
  • Как найти и удалить с сайта чужой скрипт?

    Adamos
    @Adamos
    Первое - ищете файлы с самыми свежими датами. Когда вы последний раз что-то меняли на сайте - вам виднее.
    Ищутся такие файлы в Linux простейшим find.
    По ним уже разбираете - заражены они или вовсе не ваши и подлежат удалению.
    Главная задача у вас - не удалить то, что вам навалили через бэкдор (все эти скрипты и баннеры), а найти сам бэкдор и обезвредить. Иначе завтра же вся эта хрень снова будет на сайте. В идеале - найти, как этот бэкдор появился на сайте вообще. И устранить эту возможность.
    Ответ написан
    2 комментария
  • Создание сайта с функционалом CRM-системы?

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

    Ну, а фреймворк (любой) тут даст три плюса:
    1. меньше дыр из-за навязанных фреймворком правильных подходов к архитектуре и данным;
    2. более вменяемый код, по той же причине - легче будет его переделывать и поддерживать;
    3. хотя бы в самых базовых вещах типа авторизации и ACL можно взять готовое, а не велосипедить.
    Ответ написан
  • Как грамотно установить Windows 10 и Ubuntu 16 вместе?

    Adamos
    @Adamos
    Простейшие шаги примерно такие:
    1. Ставится винда на двухтерабайтник, для чего создается системный раздел.
    2. На остальной части двухтерабайтника создается раздел под NTFS - для Линукс это, конечно, не оптимально, но зато обе системы будут нормально его видеть. И это всяко лучше, чем рубить его пополам.
    3. Ставится Линукс на твердотельник. И все работает.
    Ответ написан
    Комментировать
  • Как правильно реализовать загрузку файла в Laravel?

    Adamos
    @Adamos
    1. Шаблон с инпутом и его обвязкой (если у вас анимированная мультизагрузка - соответственно, блок, в котором будет отображаться прогресс и подключение скрипта, который все это делает).
    2. Класс, который разбирает $_FILES с определенным именем и возвращает его данные в виде массива. С опциональной проверкой опасного содержимого.

    В общем, посмотреть, какой код повторяется каждый раз, и собрать его в отдельный класс. Обычный рефакторинг, фреймворк тут - дело десятое.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы при добавлении информации в базу использовались сразу все пользователи?

    Adamos
    @Adamos
    Я бы сделал кроме личных сообщений - оповещения (те, которые всем). Можно в той же таблице, просто с нулевым адресатом.
    И к ним дополнительную таблицу - последний id оповещения, которое получил пользователь.
    Все оповещения, которые еще им не были получены, выдаются ему при первом же входе, при этом в таблицу заносится id последнего выданного.
    Хотя им неплохо бы и срок жизни иметь - через год-два смысла в них точно не будет...
    Ответ написан
    Комментировать
  • Какую выбрать структуру данных для многомерной разреженной матрицы?

    Adamos
    @Adamos
    > Массив массивов. Жирный минус: непонятно, как искать и обходить занятые элементы? Организовать полный цикл со стопицциот индексами и проверками на undefined? Оно искать будет до всемирного потопа.

    Вообще-то проход
    for(var index in array) { ... }
    никаких undefined не выдает, будут перебираться только реально существующие ключи и значения. Никакой карты или хэшей здесь явно не требуется - это все реализовано в самом языке.
    Ответ написан
  • Потянет ли данная конфигурация?

    Adamos
    @Adamos
    Блок питания - зачем 500 Вт? Чтобы больше платить за свет? В этой конфигурации и 300 Вт сожрать нечему.
    Материнка - на сколько она дешевле, чем ASUS или Gigabyte на том же чипе? Если разница в 200-300 рублей - лучше на "второй эшелон" не смотреть вовсе, поберечь нервные клетки для будущего.
    Ответ написан
  • Правильно ли ставить таймзону для PHP равной таймзоне пользователя?

    Adamos
    @Adamos
    Для каждого пользователя своя таймзона, да еще и по айпишнику? Бред какой.
    А если он через проксю? А если это айпишник какого-нибудь Мегафона на всю Россию?
    Вам нужен весь этот геморрой?
    Держите все время в Гринвиче и не выдумывайте велосипедов.
    Если его надо показать в поясе пользователя - лучше всего с этим справляется сам браузер - javascript в нем знает реально выставленный на компьютере часовой пояс, а не гадает по IP,
    Ответ написан
    1 комментарий