• Код внутри. Как засунуть include в переменную?

    copist
    @copist
    Empower people to give
    Вариант 1.
    <? $siteMenu = include($_SERVER['DOCUMENT_ROOT'].'/core/modules/menu.php'); ?>

    содержимое файла menu.php должно быть таким
    <?php
    return array(
        "пункт меню 1",
        "пункт меню 2",
        "пункт меню 3",
    );


    Вариант 2.
    <?php
    function getMenu()
    {
      ob_start();
      include $_SERVER['DOCUMENT_ROOT'].'/core/modules/menu.php';
      return ob_get_clean();
    }
    
    $siteMenu = getMenu();

    содержимое файла menu.php должно быть таким
    <ul><li>пункт меню 1</li><li>пункт меню 2</li><li>пункт меню 3</li></ul>
    Ответ написан
    4 комментария
  • Что делать что бы не потерять зрение?

    @GreatRash
    Смотришь сперва вдаль, потом в монитор, потом снова вдаль и так раз 20 каждый день. Мне помогает.
    Ответ написан
    6 комментариев
  • А как вы боретесь с несколькими аккаунтами на одного человека?

    Tiendil
    @Tiendil
    Разработчик ПО.
    Бороться с этим смысла не имеет — всё можно подделать. И всё подделают, если в этом будет профит.

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

    Например, можно сделать платными функции, для использования которых имеет смысла создавать клонов. Большинство клоноводов это само-собой отсчеёт, а самые настойчивые будут платить деньги.
    Ответ написан
    Комментировать
  • Дёрганье анимации в IE, как избавиться?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    В IE11 на Win 7 действительно дергается. Вряд ли вы что-то сможете тут сделать, это скорее несовершенство ядра IE. Вот почему правильные пацаны пока что сидят на preloaders.net/ru и не парятся.
    Ответ написан
    Комментировать
  • Как правильно реализовать выделение checkbox при клике на строку таблицы tr?

    miraage
    @miraage
    Старый прогер
    jsfiddle.net/6bdt4149/1

    // EDIT: в комментариях попросили уточнить, что происходит.

    При клике на TR вызывается функция clickTr. Само собой, что это событие вызовется при клике на дочерние элементы (конечно, есть всякие bubbling/useCapture, подробнее - https://developer.mozilla.org/ru/docs/Web/API/Even...).

    У всех обработчиков событий первым параметром передается объект Event. Ключ target содержит элемент, который вызвал событие.

    Мы проходим по всем input в TR. Логично, что чекбокс работает прекрасно сам по себе, и если он является Event.target, то для него наш обработчик выполнять не надо.

    Надеюсь, объяснил популярно.

    var tr = document.getElementsByTagName("tr"),
        i = tr.length;
    
    while (i--) {
        tr[i].onclick = clickTr;
    }
    
    function clickTr(event) {
        var inputs = this.getElementsByTagName('input');
        for (var x = 0; x < inputs.length; x++) {
            if (inputs[x] !== event.target && inputs[x].type == 'checkbox') {
                inputs[x].checked = !(inputs[x].checked);
            }
        }
    }
    Ответ написан
    6 комментариев
  • Как получить доступ к объекту А содержащего объект Б из объекта Б?

    @matperez
    1. Мне кажется, нет смысла выделять платежи пользователя в отдельную сущность и хранить их в модели пользователя, ведь они не существуют без заказов. Их лучше выделить в атрибуты заказа (например: когда оплачен, каким образом, id платежной транзакции).
    3. Исходя из первого пункта, доступ к пользователю можно получить через заказ. Т.е. сначала по id платежа (транзакции) получаете заказ, а уже из заказа получаете ссылку на пользователя который этот заказ сделал.

    То, что вас интересует, скорее всего описывается в такой вещи как предметно ориентированное программирование habrahabr.ru/post/61524/. Так же стоит почитать про реляционные базы данных и их нормальные формы habrahabr.ru/post/129195/.
    Ответ написан
    Комментировать
  • Как лечится кризис начинающего программиста?

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

    Возьмем, как пример, тот же бух.учет на предприятии. Как Вы думаете, почему 1С Бухгалтерия так широко распространилась в РФ и СНГ? Эта программа позволяет бухгалтеру в 2-3 клика мышки сформировать отчет для регулятора(ФНС, ПФР и т.д.), вместо того чтобы человеку сидеть руками искать платежные поручения, вычислять налоги и т.п. Софт просто подтягивает выписку из банка, анализирует ее и выдает готовую для печати бумажку, что экономит бухгалтеру сильно много времени. Расчет заплатанный налогов и отчеты в соц.фонды это вообще красота - 8 кликов мышкой и все готово :-)

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

    И вот, далее Вы для себя определитесь, какая Ваша основная цель? Какой Ваш основной посыл обществу?

    Личной мой посыл - "Я помогаю людям экономить: время, деньги, нервы и т.д.".

    Как я это делаю?
    У меня сначала был маленький интернет-магазин по продаже катализаторов для бензина(в поиск "кондиционеры метала для а/м"). При соблюдении определенных условий, расход топлива на малометражках снижался от 20% до 45%
    Вторым моим проектам было небольшое мобильное приложение для отслеживания хода исполнительного производства в ФССП(для взыскательней, уже сдохло). Мне и моим знакомым(не юристы) это экономило достаточно много времени на ругань с приставами, чего они должны делать и т.д. Кто сталкивался с этой службой должен знать эффективность и оперативность их работы, особенно в регионах...
    Сейчас я пишу небольшой конструктор сайтов, который поможет одной дружественной мне веб-студии сильно оптимизировать процесс создания низкобюджетных сайтов визиток

    К чему я все здесь это пишу? Я пытаюсь донести до Вас, что нет Вам смысла учить программирование на какой бы то ни было языке ради самого программирования. Нет смысла Вам учить алгоритмы, структуры, паттерны и т.д. ради их самих.

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

    Если говорить о чисто практических инструментах(функции стандартной библиотеки, фреймворки и т.д.)... Лично я могу считать себя профессионалом в какой бы то ни было технологии, ни когда я прочитал 1-2 книги и/или написал 1,5 задачи оттуда же. С таким уровнем я не могу сказать что я знаю язык/технологию в принципе, просто знаком - да, но я ее не знаю. Считать себя профессионалом я могу после того как решу не менее сотни задач, используя эту технологию и написал не менее 1 млн строк кода, именно написал, а не сгенерировал rake/gii/artisan или чем-то там еще.

    Вам же я желаю не останавливаться, развивайтесь. Мастерство приходит с опытом.

    P.S.: от холиваров на тему 1С прошу всех воздержаться
    Ответ написан
    11 комментариев
  • Как вы относитесь к возможности сортировки вопросов Тостера по степени их сложности?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Может, сделать без негатива ровно наоборот? Помечать вопрос как сложный или интересный. Популярные автоматически определять по количеству подписчиков и ответов как это уже сделано.
    И фильтрация будет, и оскорблений меньше. И так уже в рунете градус хамства и говнометания зашкаливает.
    Ответ написан
    27 комментариев
  • Ошибка phpstorm+Xdebug не работает в чем может быть дело?

    @xrj
    Столкнулся с такой же проблемой. Раньше все работало, а после обновления версии Open Server перестало, хотя все конфиги правились точно так же.

    Ответ для себя нашел здесь: https://devnet.jetbrains.com/message/5478634 в последнем сообщении.

    Мне помогла установка xdebug.extended_info в 1, в конфигах он теперь прописан явно равный 0
    Ответ написан
    8 комментариев
  • Как делать сетки в css?

    oxojeck
    @oxojeck
    У sorax видел
    Ответ написан
    Комментировать
  • DIV на всю высоту родителя?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    .parent {
      position: relative;
    }
    .child {
      position: absolute; 
      left:0;
      right:0;
      top:0;
      bottom:0;
    }
    Ответ написан
    9 комментариев
  • Как стилизовать чекбоксы, не потеряв функционала?

    mlnkv
    @mlnkv
    JavaScript Developer
    почему бы не использовать чисто css для стилизации чекбоксов?
    jsfiddle.net/5HCc4

    тогда при нажатии на чекбокс можно отловить событие onchange, и вообще он будет работать как надо
    Ответ написан
    1 комментарий
  • Почта для домена: gmail vs. яндекс

    @DROS
    Изначально был гугл, но потом перешел на яндекс. Во-первых, пользователям ближе был изначально отечественный сервис +был опыт именно его использования. Ну и во-вторых: после того как гугл начал налево и направо гасить свои старые проекты — остался осадочек, и я с гугла полностью ушел.
    Ответ написан
    Комментировать
  • Как создать нового пользователя в Debian?

    artemn
    @artemn
    Senior PHP Developer
    [debian]
    adduser --home /var/www --shell /bin/false --ingroup ftp USERNAME

    --home /var/www — задать home директорию
    --shell /bin/false — если запретить выполнение баша
    --ingroup ftp — поселить юзверя в группу
    etc.

    а вообще
    adduser  [options]  [--home  DIR]  [--shell  SHELL]  [--no-create-home]
           [--uid ID] [--firstuid ID] [--lastuid ID] [--ingroup GROUP | --gid  ID]
           [--disabled-password]      [--disabled-login]      [--gecos      GECOS]
           [--add_extra_groups] user

    ИМХО, четко описывает.
    Ответ написан
    Комментировать
  • Как правильно работать с php-функцией Mcrypt? Не хочет восстанавливать зашифрованные данные

    AGvin
    @AGvin
    Вот юолее простой пример использования mcrypt_encrypt / mcrypt_decrypt:
    <?php
    function encrypt_data($key, $text){
      $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
      $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
      $encrypted_text = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
      return $encrypted_text;
    }
    
    function decrypt_data($key, $text){
      global $encryptionkey;
      $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
      $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
      $decrypted_text = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
      return $decrypted_text;
    }
    
    $key = 'This is a very secret key';
    $text = "Meet me at 11 o'clock behind the monument.";
    echo $text .':'. mb_strlen ($text)."\n";
    
    $crypttext = encrypt_data ($key,$text);
    
    $decrypttext = decrypt_data ($key, $crypttext) ;
    echo  $decrypttext.':'. mb_strlen ($decrypttext)."\n";
    var_dump($decrypttext);
    


    В результате выполнения:
    [AGvin@localhost public]$ php test.php 
    Meet me at 11 o'clock behind the monument.:42
    Meet me at 11 o'clock behind the monument.:64
    string(64) "Meet me at 11 o'clock behind the monument.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"
    


    В качестве лечения, можно использовать $decrypttext= rtrim($decrypttext, '\0');

    или поправить функцию decrypt_data:

    <?php
    function decrypt_data($key, $text){
      global $encryptionkey;
      $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
      $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
      $decrypted_text = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv);
      return rtrim($decrypted_text, '\0');;
    }
    
    Ответ написан
    Комментировать
  • Debian кодировка?

    TeXHaPb
    @TeXHaPb
    Нужно указать в putty переменную LANG=ru_RU.UTF-8 (Connection->Data->Environment Variables)
    Ответ написан
    1 комментарий