среда, 29 мая 2013 г.

стилизуем окна в ubuntu 12.x

Эта статья краткий перевод с незначительными дополнениями данной http://handytutorial.com/install-emerald-in-ubuntu-12-04-12-10/
перед началом работы ставим следующие пакеты

sudo apt-get install git autoconf libtool libwnck1.0-cil-dev libwnck-dev intltool libdecoration0-dev gawk compizconfig-settings-manager

скачиваем emerald:
 wget cgit.compiz.org/fusion/decorators/emerald/snapshot/emerald-0.9.5.tar.gz

распаковываем и переходим в папку
tar -zxvf emerald-0.9.5.tar.gz && cd emerald-0.9.5/

далее конфигурируем и устанавливаем из сырцов
./autogen.sh && make clean && make distclean && ./configure --prefix=/usr && make && sudo make install

нажимаем alt+f2 и запускаем на выполнение
emerald-theme-manager -i


далее переходим Настройка тем -> Изменить темы -> Движок окна
и устанавливаем legacy (0.1)
(с остальными у меня были проблемы)


скачиваем темы отсюда http://gnome-look.org/  файлы с расширением .emerald (да, не пытайтесь открыть их архиватором)

Возвращаемся
Настройка тем -> Темы
и импортируем наши .emerald файлы


проверяем работоспособность emerald из консоли командой
emerald --replace &


если все ок то оставляем emerald

затем запускаем ccsm (alt+f2)
находим оформление окна и заменяем
gtk-window-decorator --replace
на
emerald --replace


а если нет то либо перезагружаемся
либо вызываем консоль (ctrl+alt+t) и возвращаем один из менеджеров
metacity --replace
compiz --replace







понедельник, 27 мая 2013 г.

картинки в css


иногда возникает необходимость держать весь код в одном файле. например для плагина jquery чтобы при его подключении не приходилось возится с файлами стилей и картинками. в таких случаях удобно запихивать картинки прямо в css.

background-image: url("data:image/ТИП;base64,код картинки в base64 ");

четверг, 23 мая 2013 г.

передать данные из result_modifier.php в component_epilog.php

вставить в result_modifier.php
 
     //для передачи в component_epilog 
     $cp = $this->__component;
     if (is_object($cp))
     {
       $cp->arResult["SUB_ELEMENTS"] = $arResult["SUB_ELEMENTS"];
       //$cp->arResult = $arResult;
       $cp->SetResultCacheKeys(array("SUB_ELEMENTS"));//указать ключи изменение которых окажет влияние на кеш
     }

капча для битрикс

генерация
 
if ($arParams["USE_CAPTCHA"] == "Y"){
 include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
 $cpt = new CCaptcha();
 $captchaPass = COption::GetOptionString("main", "captcha_password", "");
 if (strLen($captchaPass) <= 0){
  $captchaPass = randString(10);
  COption::SetOptionString("main", "captcha_password", $captchaPass);
 }
 $cpt->SetCodeCrypt($captchaPass);
 $arResult["CAPTCHA_CODE"] = htmlspecialchars($cpt->GetCodeCrypt());
}
вывод на странице
 
   <img id="capcha_block" align="left" alt="Введите эти символы в поле ввода" src="/bitrix/tools/captcha.php?captcha_code=<?=$arResult["CAPTCHA_CODE"]?>" /> <input id="captcha_word" type="text" name="captcha_word" /><br />
   <input id="capcha_block_hidden" type="hidden" name="captcha_code" value="Сменить картинку</button>
   <script type="text/javascript">
     $(function(){
      $(function(){
        $("#capcha_block_reload").bind("click",function(){
       $.ajax({
         type: "GET",
         url: "?activ=new_code_get",
         <?if ("new_code_get"==$_GET["activ"]){$GLOBALS['APPLICATION']->RestartBuffer(); echo md5(rand(0, 10000)); die();}?>
         dataType: "text",
         success: function(new_code){
            $('#capcha_block').attr("src","/bitrix/tools/captcha.php?captcha_code="+new_code);
            $('#capcha_block_hidden').val(new_code);
         }
       });
          return false;
          });
      });
     });
   </script>
и проверка
  include_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/captcha.php");
  $cpt = new CCaptcha();
  if (strlen($_POST["captcha_code"]) > 0)
  {
   $captchaPass = COption::GetOptionString("main", "captcha_password", "");
   if (!$cpt->CheckCodeCrypt($_POST["captcha_word"], $_POST["captcha_code"], $captchaPass)){
    $arResult["ERROR"]["CAPTCHA"]="Неправильно введена капча";
    $arResult["ERROR"]["CRITICAL_ERROR"]=true;
   }
  }
 }

к слову "об определение cms"

в исходниках многих проектах валяется файл .gitignore зачастую не как не закрытый из веба его можно использовать как один из способов определения cms под которой работает сайт

среда, 15 мая 2013 г.

foreach без входной переменной

почему то раньше мне не приходила идея использовать foreach без входной переменной, а ведь удобно
<?foreach(array(8,16,32) as $value):?>
   <a href="<?=$arResult["sUrlPath"]?>?<?=$strNavQueryString?><?=$arParams["DISPLAY_NAME_VAR_COUNT_PAGE"]?>=<?=$value?>" rel="nofollow"><?=$value?></a>
<?endforeach?>

воскресенье, 12 мая 2013 г.

Установка subline на ubuntu

http://www.sublimetext.com/ скачиваем отсюда Sublime Text 2.0.1.tar.bz2

распаковываем складываем в папку /opt если такой нет то создаем
на рабочем столе создаем файл subline.desktop
следующего содержания

[Desktop Entry]
Name=subline
Name[ru_RU]=subline
Encoding=UTF-8
Type=Application
Exec=/opt/subline/sublime_text %U
GenericName=Subline
Icon=/opt/subline/Icon/48x48/sublime_text.png
Terminal=false
Categories=Application;Development;Java;IDE
Version=1.0
Type=Application
Terminal=0
PHP: The Right Way блог програмышки
Яндекс.Метрика