• Использование нескольких яп?

    mramor
    @mramor
    нечего о себе рассказывать.
    На самом деле, чтобы быть успешным, имхо...нужно уметь писать на 4 языках: С++, С, PHP, ассемблер. Все четыре друг от друга дико отличаются, но зная их - можно понимать любой новый, сходу. Можно и JavaScript сюда притулить, пятым, но он мне вечно что-то напоминает.
    Ответ написан
  • Какую выбрать программу для работы с почтой и календарем(!) на мак (хостинг ник.ру)?

    mramor
    @mramor
    нечего о себе рассказывать.
    Не очень понял. Если вы пользовались аутлуком, еще и на маке...причем тут ник.ру?

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

    Либо я не понял ваш вопрос. Уточните.
    Ответ написан
    Комментировать
  • Как интегрировать gmail с CRM?

    mramor
    @mramor
    нечего о себе рассказывать.
    Перед тем, как мы будем тереть эту тему, я бы хотел уточнить - вы смотрели gmail api?
    Ответ написан
  • SSH как найти залитые шелы?

    mramor
    @mramor
    нечего о себе рассказывать.
    Попробуйте это решение.
    Ответ написан
    Комментировать
  • Почему не создается представление в yii2 через web-интерфейс gii?

    mramor
    @mramor Автор вопроса
    нечего о себе рассказывать.
    webinar Что вы имеете ввиду?
    Ответ написан
  • Как организовать прием платежей на сайте?

    mramor
    @mramor
    нечего о себе рассказывать.
    Робокассу попробуйте, правда для добавления своего поля нужно будет накодить свою форму, но API там простое. Имея ввиду сертификат - вы говорили про web-money?
    Ответ написан
    1 комментарий
  • Централизованное обновление нескольких сайтов?

    mramor
    @mramor
    нечего о себе рассказывать.
    Была аналогичная проблема. Гит проблему не решал, ибо все на шаредах, на одном нам гит врубили, но хостов прорва, более 60 проектов. Кароче, на каждый клянчить гит не получилось. Пришлось писать приложение на пайтоне, который синхронизировал все остальные с мастер-хостом по сфтп. Также с БД, писал файл инструкций, который выполнялся на каждом хосте с ссш, также скриптами.
    Ну и докучи был написан пхп скрипт анализа баз данных после всех изменений, на случай если что-то пойдет не так, который брал базу мастер хоста, паковал ее структуру в массив и после проверялось на наличие\отсутствие полей\таблиц по всем бд. Весь скрипт выкладывать не буду, но сбор бд в массив делал так:

    function createStruct($shop){
        
        if(!isset($shop['db'])) return false;
        $tablesArray = array();
        
        $link = mysql_connect($shop['db']['host'], $shop['db']['user'], $shop['db']['password']);
        mysql_select_db($shop['db']['name'], $link);
        
        $resultTables = mysql_query("show tables", $link);
        if(mysql_affected_rows($link) > 0){
            while($table = mysql_fetch_array($resultTables)){
                    $tablesArray[$table[0]] = array();
            }        
        }
        
        if(empty($tablesArray)) return false;
        
        foreach($tablesArray as $tableName => $tmpval){
            $resultFields = mysql_query('DESCRIBE '.$tableName, $link); 
            if(mysql_affected_rows($link) > 0){
                while($rowField = mysql_fetch_assoc($resultFields)){
                    $tablesArray[$tableName][$rowField['Field']] = array(
                        'type'  => $rowField['Type'],
                        'null'  => $rowField['Null'],
                        'key'   => $rowField['Key'],
                        'default' => $rowField['Default'],
                        'extra' => $rowField['Extra']
                    
                    );
                }
            }       
        }
        
        mysql_close($link);
        return $tablesArray;    
    }

    Код не идеален, но за идеальностью и не гнался.

    Вот часть обработки сверки:
    $ideal = createStruct($shops[0]);
        
        $equal = createStruct($shops[$_SESSION['sc']]);
        
        if($equal === false || empty($equal)){
            $html = '<table><tr><td><h3>Проблемы с подключение к базе сайта <b>'.$s->shop_name.'</b>, возможно база не была создана, либо не верные коды доступа, либо прекратила свое существование.</h3></td></tr></table>';
        }else{
        
        $html = '<table>';
        $html .= '<tr><td><h3>'.$s->shop_name.'</h3></td></tr>';
        foreach($ideal as $table => $fields){
            if(!isset($equal[$table])){
                $html .= '<tr><td>Отсутствует таблица <b>'.$table.'</b></td></tr>';
            }else{
                $html .= '<tr><td>';
                    foreach($ideal[$table] as $key => $fieldRow){
                        if(!isset($equal[$table][$key])){
                            $html .= 'В таблице <b>'.$table.'</b> не хватает поля <b>'.$key.'</b><br>';
                        }else{
                            foreach($ideal[$table][$key] as $okey => $oval){
                                if($equal[$table][$key][$okey] !== $oval){
                                    
                                    $text = $equal[$table][$key][$okey];
                                    if($equal[$table][$key][$okey] === NULL){
                                        $text = 'NULL';
                                    }elseif($equal[$table][$key][$okey] === ''){
                                        $text = ' (ПУСТОТА) ';
                                    }elseif($equal[$table][$key][$okey] === TRUE){
                                        $text = 'TRUE';
                                    }elseif($equal[$table][$key][$okey] === FALSE){
                                        $text = 'FALSE';
                                    }
                                    
                                    $html .= 'Опции поля <b>'.$key.'</b> в таблице <b>'.$table.'</b> не идентичны. Идеал: '.$oval.' Исследуемый: '.$text.'<br>';
                                }
                            }
                        }
                    }
                
                $html .= '</td></tr>';
            }
            
            if(isset($equal[$table])){
                unset($equal[$table]);
                unset($ideal[$table]);
            }
        }
    Ответ написан
    5 комментариев
  • Как правильно построить план развития в сфере информационной безопасности?

    mramor
    @mramor
    нечего о себе рассказывать.
    Куда хотите - туда и двигайтесь. Вы же сами написали, что:
    Есть проектировщики, внедренцы, аудиторы, разработчики, менеджеры, итд.

    нам за вас выбрать? :)
    Ответ написан
  • Куда пожаловаться на смски со ссылками на вирус?

    mramor
    @mramor
    нечего о себе рассказывать.
    Я в таких случаях звонил моб. оператору, выдавшего мне симку, и выносил мозг, что за дрянь я получаю. :) Звонил преимущественно не трезвый, потому на слова и выражения особо не скупился. Уже год как не получаю вообще ничего ненужного, ни спама, ни рекламы, ни всяких разводов.

    Кстати, номер отправителя можно подделать, потому вы будете сейчас писать абузы на другой конец света, а ваш злыдень вероятно живет в соседнем подъезде :)
    Ответ написан
    5 комментариев
  • Как в отобразить картинки и теги в ListView?

    mramor
    @mramor
    нечего о себе рассказывать.
    Не очень понятно, что имеется ввиду под декодированием. Для ListView можно создать шаблон записей, типа так:

    echo ListView::widget([
    'itemView' => function ($model, $key, $index, $widget) {
    	return $this->render('_list', ['model' => $model]);
    },

    рядом с шаблоном, где у вас вызывается listview кладете _list.php и там делаете верстку строки для вывода.
    Ответ написан
    2 комментария
  • В каком виде продаются статьи?

    mramor
    @mramor
    нечего о себе рассказывать.
    Чтобы было интересно читать, то лучше пусть на заказ вам напишут. Готовые, что продают пачками по три рубля, читать зачастую не интересно...
    Ответ написан
    Комментировать
  • Контроллеры должны контролировать. Всегда всё?

    mramor
    @mramor
    нечего о себе рассказывать.
    $order->price = 'error here!'; // не число!
    $order->price = (float)'error here!';
    Уже число :) Контроль зависит чисто от программиста, вас никто не заставляет. Если вам не привычно, то в пхп можно жестко типизировать.

    Личное мое мнение - проверять нужно все, приводить к нужным типам перед сохранением в бд.
    Ответ написан
    Комментировать
  • Как в ubuntu на C++ найти в директории исполняемые файлы?

    mramor
    @mramor
    нечего о себе рассказывать.
    Вам может помочь stat()
    Ответ написан
    Комментировать
  • Как отслеживать клик?

    mramor
    @mramor
    нечего о себе рассказывать.
    Так вот, пользователь выбирает нужного героя, потом нужную вещь и там будет кнопка " установить", после клика на нее идет загрузка файла в папку.
    Как отслеживать клик по герою, вещи и давать скачивать именно ту вещь?
    Думал через ID, но не могу собрать все в кучу(

    допустим пусть будут все герои с классом .heroes
    все вещи с классом .items
    пусть это будут дивы типа <div class="heroes" hero-id="ид героя">...</div>
    на кликнутого героя накручиваем класс active, на выбранную вещь накручиваем класс active
    дальше, ну например можно получить ид героя(который в атрибуте hero-id) захватывая классы .heroes.active, тем же макаром ид вещи, или вещей с перебором активных
    Написал упрощенно, но суть примерно такая.
    Ответ написан
    Комментировать
  • Что прочитать о применении python для управления сервером?

    mramor
    @mramor
    нечего о себе рассказывать.
    Хотелось бы услышать пару советов как начать применять python для простых скриптов и примеры скриптов.
    Пробуйте использовать его в повседневных задачах, только, как бы дико это не звучало, юзайте его даже в мелких потребностях, например куда то подключится и чтото залить им - опыт быстро попрет, ибо задачи наверняка разные, вначале будете спотыкаться, после будете на нем разговаривать. Если не будете применять его - забудете, даже основы. :)

    p.s. Ссылки на литературу по теме скриптинга на python приветствуются (ru/eng значения не имеет).
    Без сарказма: научитесь читать официальную документацию, там есть все, тем более если англ не проблема.
    Ответ написан
    Комментировать
  • Как реализуют прайсы?

    mramor
    @mramor
    нечего о себе рассказывать.
    Есть таблица orders. в ней что за человек, контакты, дата покупки.
    Для примера:
    id | name | date
    ------------------
    17| Василий | 01.05.2015

    Есть таблица purchases, в ней построчно что за покупка, цена, и главное идентификатор из таблици orders. Т.е., три покупки = три записи.

    id | order_id | price | name
    ------------------------------
    1 | 17 | 100 | Трактор
    2 | 17 | 200 | Велосипед
    3 | 17 | 300 | Горшок

    Если база, допустим sql, то делается запрос вроде такого:
    select o.name as fio, o.date, p.price, p.name as product_name from orders o inner join purchases p ON(o.id=p.order_id) where o.date='01.05.2015'

    на выходе получаем следующее:
    fio | date | price | product_name
    --------------------------------------
    Василий | 01.05.2015 | 100 | Трактор
    Василий | 01.05.2015 | 200 | Велосипед
    Василий | 01.05.2015 | 300 | Горшок

    Из o.* можно ничего не тащить, если вам нужен только ценник за дату. Либо использовать between в условии, если нужна выборка за диапазон дат.
    Ответ написан
  • Имеет ли какая нибудь СУБД встроенную поддержку морфологии русского языка?

    mramor
    @mramor
    нечего о себе рассказывать.
    На ум приходит только это.
    Ответ написан
    Комментировать
  • Есть ли архив записей днс?

    mramor
    @mramor
    нечего о себе рассказывать.
    У некоторых DNS серверов есть кеш, но это наверное немного не то, что вы спрашиваете, ибо я так и не понял, что вы хотите получить в итоге ? :)
    Ответ написан
  • Гугл хром время от времени выдаёт странные ссылки, которые открываются сами собой, и закрыть их сложно. В чём причина?

    mramor
    @mramor
    нечего о себе рассказывать.
    Остальные браузеры\компы - проблема таже? Если да, то у вас домашний роутер? Если да, то прошивку обновите с сайта производителя. Если нет обновлений, ставьте такую же. Проблема может быть в нём, если его снаружи похекали.
    Если дело не в роутере, а именно в одном браузере, то одной переустановки мало. Создайте другой профиль юзера, в другую директорию, отключите все расширения, и очистите все временные файлы, кеш например.

    Далее, пробовали какой-нибудь антивирус? И посмотрите заодно что у вас в hosts, заодно можно воткнуть dns'ы яндекса, те что под антивирь фильтром.
    Ответ написан
  • Как отменить require_once в родительском functions.php?

    mramor
    @mramor
    нечего о себе рассказывать.
    Никак. Но в дочернем можно переопределить родительские функции. Вариант переопределить заглушками, чтобы ничего не позвращали.
    Ответ написан