понедельник, 16 ноября 2015 г.

Internet Explorer automation not working with IE11 На русском это звучит так: скрипт использующий объектную модель IE (InternetExplorer.Application) который работал в IE9 не хочет нормально работать в IE11

Решение данной проблемы нашел тут Internet Explorer automation not working with IE11 У меня Windows 10 64-bit, добавил ключ HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE, в нем создал DWORD переменную iexplore.exe со значением 0, все заработало как нужно!

понедельник, 12 октября 2015 г.

JavaScript: Функция setTimeout, for и передача параметров

Не все так просто как казалось бы, описывать свои грабли не хочу просто приведу работающий код: <!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>

var arr = [1,2,3,4,5];

for(i = 0; i <= arr.length; i++){
setTimeout(al , i * 1000, i);
}

   function al(a){
     alert(a);
   }
</script>
</body>
</html>



  1. Параметр функции передается третьим параметром в функции setTimeout
  2. Для того что бы в форе все setTimeout не выполнялись одновременно мы пишем i * 1000, т.е. каждый последующий выполняется на 1 секунду позже.

четверг, 8 октября 2015 г.

Windows PowerShell ISE

Не знаю как в предыдущих версиях а в Windows 10 по умолчанию есть такой инструмент Windows PowerShell ISE


Запуск интегрированной среды сценариев Windows PowerShell

  1. Выполните одно из действий:
    • Нажмите кнопку Пуск, откройте Все программыWindows PowerShell V2 и щелкните Интегрированная среда сценариев Windows PowerShell.
    • В Cmd.exe Windows PowerShell console или в поле "Выполнить" введите powershell_ise.exe.
    • я запускаю через поиск win+s вводим ISE "enter

Продвинутый курс по PowerShell "Расширенные возможности и написание скриптов в PowerShell 3.0 (Jump Start)"

Программа "Зарядка"

Так как большую часть рабочего времени приходится сидеть на стуле пришлось написать скриптик который бы заставлял меня отрываться от мониторы и приседать, отжиматься,  подтягиваться кто, что там делает )


Wscript.sleep 2400000 `это 40 минут
beep("7")
' Блокируем акран как по нажатию WIN + L, єто необходимо так как Бип со временем я стал игнорировать ))
Set shell = WScript.CreateObject("WScript.Shell")
shell.Run "rundll32.exe user32.dll,LockWorkStation",1,false
Wend

   Function beep(iTimes)
       Set oShell = CreateObject("Wscript.Shell")
       Dim iTemp
       For iTemp = 1 To iTimes
           oShell.Run "%comspec% /c echo " & Chr(7), 0, False
           Wscript.Sleep 300
       Next
   End Function

Сохраняем все это добро в фаил с расширением .vbs и добавляем в автозапуск )

четверг, 20 августа 2015 г.

Зачеркнутый текст на стене в vk.com



Везде пишут, чтобы зачеркнуть текст на стене ВКонтакте, нужно между буквами вставлять комбинацию &#822;

Это так называемый комбинируемый диакритический знак. По каким то непонятным причинам он перестал работать а мне для наглядности очень нужна цена в зачеркнутом виде, я начал копать и нашел все комбинируемые диакритические знаки. Пройдя по ссылке вы найдете более подробное описание и сами знаки. Для решения своей задачи я использовал &#821; результат не такой качественный как при использовании 822 но он работает вконтакте.

Результат:
̵2̵̵3̵4̵.̵4̵0̵ ̵г̵р̵н̵.

суббота, 8 августа 2015 г.

Установка Yii​2 Snippets для Sublime text 2/3

1. Переходим по ссылке https://packagecontrol.io/installation
2. Копируем код на Python в зависимости от версии вашего Sublime, открываем консоль в  Sublime Text при помощи ctrl+`, вставляем, нажимаем enter.
3. В Sublime Text нажимаем ctrl+shift+p и выполняем команду Install Package после этого вводим Yii2 Snippets жмем enter.

После всех махинаций должна появится вкладка со следующим содержанием:
Package Control Messages
========================
Yii2 Snippets:
-------------
  =======================================================
  Thank you for installing Yii2 Snippets
  =======================================================
  
  This package contains many useful snippets
  that will greatly improve your workflow
  
  Documentation can be found here:

  https://github.com/filipyev/yii2-snippets


Yii​2 Snippets for Sublime Text

воскресенье, 25 января 2015 г.

ERROR 1148 (42000): The used command is not allowed with this MySQL version.


Решение:
  • открываем my.ini и в секции [mysqld] параметр local-infile = 1
  • если через mysql-клиент надо подключаться с опцией --local-infile=1 (mysql --local-infile -uroot -pyourpwd yourdbname)
  • при использовании mysql c api спасло mysql_options с параметром MYSQL_OPT_LOCAL_INFILE
LOCAL works only if your server and your client both have been configured to permit it. For example, if mysqld was started with --local-infile=0, LOCAL does not work. See Section 6.1.6, “Security Issues with LOAD DATA LOCAL”.

понедельник, 12 января 2015 г.

Yii - button add to favorites

  1. Проверить авторизованный пользователь или нет?
  2. Перед выводом кнопки проверить добавлено выводимое объявление в базе(избранном) или нет в соответствии с результатом вывести кнопку с нужными стилями.
  3. По нажатию на кнопку, объявление будет добавлено в избранное - если его там нет, иначе (если есть) будет удалено из избранного.
  4. Так же о наличии в базе объявления или нет должны сигнализировать стили кнопки.
<?php if(!Yii::app()->user->isGuest) { if($fav) { echo TbHtml::ajaxButton(TbHtml::icon(TbHtml::ICON_STAR), $this->createUrl('ad/AjaxAddFav'), array('type'=>'POST', 'data'=> "js:{'id_ad': $model->id, 'id_user': 1 }", 'success'=>'js:function(string){if(string){$("#fav").toggleClass("btn-warning"); $("#fav > i").toggleClass("icon-star-empty icon-star");}}'), ['id' => 'fav', 'rel' => 'tooltip', 'data-trigger' => 'hover', 'data-title' => 'Добавить в избранное', 'class' => 'btn-warning', ]); } else { echo TbHtml::ajaxButton(TbHtml::icon(TbHtml::ICON_STAR_EMPTY), $this->createUrl('ad/AjaxAddFav'), array('type'=>'POST', 'data'=> "js:{'id_ad': $model->id, 'id_user': 1 }", 'success'=>'js:function(string){if(string){$("#fav").toggleClass("btn-warning"); $("#fav > i").toggleClass("icon-star-empty icon-star");}}'), ['id' => 'fav', 'rel' => 'tooltip', 'data-trigger' => 'hover', 'data-title' => 'Добавить в избранное', ]); } } ?>
В контроллере
public function actionAjaxAddFav()
        {
            // accept only AJAX request (comment this when debugging)
            if (!Yii::app()->request->isAjaxRequest) {
                exit();
            }
            if (isset($_POST['id_ad']) && isset($_POST['id_user']))
            {
                $idAd = (int) $_POST['id_ad'];
                $idUser = (int) $_POST['id_user'];
                if(!NotepadController::recordExists($idAd, $idUser))
                {
                    //CActiveRecord::model('Notepad')->insert();
                    $model = new Notepad;
                    $model->id_ad = $idAd;
                    $model->id_user = $idUser;
                    echo $model->save();
                    
                }
                else
                {
                   echo NotepadController::delRecord($idAd, $idUser);
                }
            }
        }
 /**
  * Проверяет есть ли такое объявление в избранном?
  * @param integer $idAd the ID of the Ad-объявления, $idUser - ID текущего пользователя
  */
        public function recordExists($idAd, $idUser) {
            return Notepad::model()->exists('id_ad = :id_ad and id_user = :id_user', [':id_ad' => $idAd,':id_user' => $idUser]);
        }
        public function delRecord($idAd, $idUser) {
            return Notepad::model()->deleteAll('id_ad = :id_ad and id_user = :id_user', [':id_ad' => $idAd,':id_user' => $idUser]);
        }