<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!--  If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/  --><rss xmlns:lj="http://www.livejournal.org/rss/lj/1.0/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom10="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
  <title>Евгений Ламской</title>
  <link>http://lamskoy.livejournal.com/</link>
  <description>Евгений Ламской - LiveJournal.com</description>
  <lastBuildDate>Wed, 02 Feb 2011 12:50:41 GMT</lastBuildDate>
  <generator>LiveJournal / LiveJournal.com</generator>
  <lj:journal>lamskoy</lj:journal>
  <lj:journalid>21615687</lj:journalid>
  <lj:journaltype>personal</lj:journaltype>
  
  <image>
    <url>http://l-userpic.livejournal.com/98270501/21615687</url>
    <title>Евгений Ламской</title>
    <link>http://lamskoy.livejournal.com/</link>
    <width>100</width>
    <height>100</height>
  </image>

<atom10:link rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/lamskoy" /><feedburner:info uri="lamskoy" /><atom10:link rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/7769.html</guid>
  <pubDate>Wed, 02 Feb 2011 12:50:41 GMT</pubDate>
  <title>NVIDIA: максимальное разрешение монитора через D-SUB</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/5voelVh5KZM/7769.html</link>
  <description>&lt;div&gt;
&lt;p&gt;Однажды столкнулся с проблемой - подключилось второй монитор через D-SUB к Nvidia 6600 GT (естественно DVI-выход был занят первым монитором), и никак не получалось выставить родное разрешение 2048x1152 на нем.&lt;/p&gt;
&lt;p&gt;Проблема оказалась в проприетарном драйвере Nvidia. Первым делом включил дебаг лог определения поддерживаемых режимов монитора (спасибо &lt;a href="http://www.cyberwizzard.nl/site/blog-linux-gentoo-linux/147-debugging-nvidia-edid-resolutions.html" rel="nofollow"&gt;источнику&lt;/a&gt;&lt;/p&gt;
&lt;div class="bash"&gt;
&lt;pre&gt;Section "Monitor"
...
    Option         "ModeDebug" "TRUE"
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;Лог оказался длинным и цитировать его не буду, основная находка заключалась в том что режим 2048x1152 блокировался из за неправильного подсчета pixel clock (детальнее о нем можно почитать &lt;a href="http://us.download.nvidia.com/XFree86/Linux-x86/260.19.36/README/xconfigoptions.html" rel="nofollow"&gt;здесь&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Решение ограничивается скупой правкой /etc/X11/xorg.conf&lt;/p&gt;
&lt;/div&gt;
&lt;div class="bash"&gt;
&lt;pre&gt;Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    ...
    Option "ModeValidation" "NoMaxPClkCheck, NoEdidMaxPClkCheck"
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/5voelVh5KZM" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/7769.html</comments>
  <category>xorg.conf</category>
  <category>d-sub</category>
  <category>archlinux</category>
  <category>xorg</category>
  <category>nvidia</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/7769.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/7439.html</guid>
  <pubDate>Wed, 02 Feb 2011 12:27:49 GMT</pubDate>
  <title>Драйвер видео NVIDIA и энергосбережение</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/Brp7IdACVIY/7439.html</link>
  <description>&lt;div&gt;
&lt;p&gt;Итак, у меня имеется личный ноутбук Sony Vaio VCPF13 (Core i5, Nvidia GeForce GT 425M - для линукса самое оно :)
Необходимо настроить энергосбережение для видеоадаптера во избежание перегрева&lt;/p&gt;
&lt;p&gt;Нужная информация была получена методом гугления &lt;a href="http://tutanhamon.com.ua/technovodstvo/NVIDIA-UNIX-driver/" rel="nofollow"&gt;отсюда&lt;/a&gt; и &lt;a href="http://linux.aldeby.org/nvidia-powermizer-powersaving.html" rel="nofollow"&gt;отсюда&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;Привожу свои настройки в /etc/X11/xorg.conf:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="bash"&gt;
&lt;pre&gt;Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "UseEdidDpi" "FALSE"
    Option         "DPI" "96 x 96"
    Option         "NoLogo" "True" 
    Option         "Coolbits" "1"
    Option         "RegistryDwords" "EnableBrightnessControl=1; PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerLevel=0x3; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"
EndSection&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;Результат впечатляет: до настройки - 56 градусов цельсия на видеоадаптере, после - 42&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/Brp7IdACVIY" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/7439.html</comments>
  <category>xorg.conf</category>
  <category>linux</category>
  <category>archlinux</category>
  <category>arch</category>
  <category>xorg</category>
  <category>powersaving</category>
  <category>nvidia</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/7439.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/7194.html</guid>
  <pubDate>Wed, 27 Oct 2010 19:34:29 GMT</pubDate>
  <title>ArchLinux - обновите package-query и yaourt</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/NsKpQERJbgY/7194.html</link>
  <description>&lt;div&gt;
&lt;p&gt;Сегодня обновились package-query (до 0.4) и yaourt (пока в AUR-е он outdated)
&lt;p&gt;Старый yaourt уже неработоспособен даже с новым package-query.
&lt;p&gt;Поэтому будем собирать из git-а.
&lt;p&gt;Быстрое обновление для ленивых можно сделать в три шага:
&lt;p&gt;Удаляем старые пакеты
&lt;/div&gt;
&lt;div class="bash"&gt;
&lt;pre&gt;
sudo pacman -Rd package-query yaourt
&lt;/pre&gt;
&lt;/div&gt;&lt;div&gt;
&lt;p&gt;Затем поставим package-query&lt;/p&gt;
&lt;/div&gt;
&lt;div class="bash"&gt;
&lt;pre&gt;
mkdir package-query-git/
wget https://aur.archlinux.org/packages/package-query-git/package-query-git/PKGBUILD
makepkg -sif
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;Очередь за yaourt&lt;/p&gt;
&lt;/div&gt;
&lt;div class="bash"&gt;
&lt;pre&gt;
cd ../
mkdir yaourt-git/
wget https://aur.archlinux.org/packages/yaourt-git/yaourt-git/yaourt.install
wget https://aur.archlinux.org/packages/yaourt-git/yaourt-git/PKGBUILD
makepkg -sif
&lt;/pre&gt;
&lt;/div&gt;&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/NsKpQERJbgY" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/7194.html</comments>
  <category>aur</category>
  <category>yaourt</category>
  <category>archlinux</category>
  <category>arch</category>
  <category>package-query</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/7194.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/7006.html</guid>
  <pubDate>Tue, 26 Oct 2010 09:36:32 GMT</pubDate>
  <title>Установка ArchLinux на USB-винчестер</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/chXuABeJ658/7006.html</link>
  <description>&lt;div&gt;
&lt;p&gt;Поставить ArchLinux на USB-винчестер не сложно, чуть сложнее заставить его запускаться с HDD.&lt;/p&gt;
&lt;p&gt;Все что нужно сделать это поправить /etc/mkinitcpio.conf во время установки следующим образом:
включить хук USB и добавить в MODULES те модули ядра, которые будут нужны для старта системы. Лично я предпочитаю reiserfs на корневом разделе, поэтому мой mkinitcpio.conf изменился следующим образом:&lt;/p&gt;
&lt;/div&gt;
&lt;div class="bash"&gt;&lt;pre&gt;
MODULES="reiserfs"
HOOKS="base udev autodetect pata scsi sata filesystems resume usb"
&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;Ах да, не забудьте установить GRUB в MBR портативного винчестера, выбрав соответствующее ему /dev/sd[a-z] устройство.&lt;/p&gt;
&lt;p&gt;Если будете выбирать в БИОС-е устройство загрузки USB-HDD, то поправьте маппинг дисков в /boot/grub/menu.lst: &lt;/p&gt;
&lt;/div&gt;
&lt;div class="bash"&gt;
&lt;pre&gt;
например было:  root   (hd1,1) 
значит стало: root   (hd0,1) 
&lt;/pre&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/chXuABeJ658" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/7006.html</comments>
  <category>archlinux</category>
  <category>arch</category>
  <category>usb-hdd</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/7006.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/6902.html</guid>
  <pubDate>Tue, 26 Oct 2010 09:10:31 GMT</pubDate>
  <title>Paludis - убираем мусор из вывода</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/kCXuF-jJQx8/6902.html</link>
  <description>&lt;div&gt;
&lt;p&gt;Кому не нравится, что PALUDIS выводит кучу мусора при разрешении циклических зависимостей, могут прописать в своем .bashrc:&lt;/p&gt;
&lt;div&gt;
&lt;div class="bash"&gt;
export PALUDIS_OPTIONS="--show-use-descriptions none --show-package-descriptions none --show-reasons none --log-level silent"
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;С ключом --compact вывод становится еще лаконичнее, но paludis -q не выдает в таком случае всей информации о пакете&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/kCXuF-jJQx8" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/6902.html</comments>
  <category>paludis</category>
  <category>gentoo</category>
  <lj:music>/dev/null</lj:music>
  <media:title type="plain">/dev/null</media:title>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/6902.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/6531.html</guid>
  <pubDate>Thu, 07 Oct 2010 16:26:05 GMT</pubDate>
  <title>Magento Team</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/ZU_VWR_k9og/6531.html</link>
  <description>&lt;h2&gt;Magento team&lt;/h2&gt;&lt;br /&gt;&lt;img src="http://i10.fastpic.ru/big/2010/1007/95/38c5313a5ab993b395a6a8ef9aff9795.jpg" /&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/ZU_VWR_k9og" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/6531.html</comments>
  <category>юмор</category>
  <category>картинки</category>
  <category>magento</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/6531.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/6282.html</guid>
  <pubDate>Wed, 22 Sep 2010 12:35:23 GMT</pubDate>
  <title>Утилита для выбора зеркал пакетов в Archlinux</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/y_vxyVIl8KY/6282.html</link>
  <description>&lt;div&gt;
&lt;p&gt;Вот и обещанная утилита, которая выбирает зеркала пакетов в Archlinux.&lt;/p&gt;
&lt;p&gt;Выбирает она не отдельные зеркала, а группами - по странам&lt;/p&gt;
&lt;p&gt;Выглядит она так:&lt;br /&gt;
&lt;a href="http://i10.fastpic.ru/big/2010/0922/ac/745866445b4098d1b81eda65bdb21aac.jpeg" target="_blank" rel="nofollow"&gt;&lt;img src="http://i10.fastpic.ru/thumb/2010/0922/ac/745866445b4098d1b81eda65bdb21aac.jpeg" border="0"&gt;&lt;/a&gt;
&lt;/p&gt; 
&lt;p&gt;Требования: PHP 5.2.x (с отключенным open_basedir, safe_mode и разрешенным вызовом exec()), dialog
&lt;p&gt;Запускается так:&lt;/p&gt;
&lt;/div&gt;

&lt;div class="bash"&gt;
sudo php mirrorselect.php
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;Ниже приведен исходный код&lt;/p&gt;
&lt;/div&gt;


&lt;a name="cutid1"&gt;&lt;/a&gt; 

&lt;div class="bash" style="font-family: monospace; color: #000000;"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; Mirrorlist &lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; protected &lt;span style="color: #0000ff;"&gt;$_filename&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; protected &lt;span style="color: #0000ff;"&gt;$_data&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; __construct&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data = &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_filename = &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; read&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/is_file" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;is_file&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; || !&lt;a style="text-decoration: none;" href="http://www.php.net/is_readable" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;is_readable&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Cannot read file: $filename&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_filename = &lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/fopen" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fopen&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_filename, &lt;span style="color: #ff0000;"&gt;'r'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$currentTitle&lt;/span&gt; = &lt;span style="color: #ff0000;"&gt;''&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;while&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/feof" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;feof&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$line&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/fgets" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fgets&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;1024&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$isServer&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/preg_match" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;preg_match&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;/^[&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]?([#]?)[&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]?Server[&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]+=[&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]+([^&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]+)[&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]?$/&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$line&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$serverMatches&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$isTitle&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$isServer&lt;/span&gt; ? &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt; : &lt;a style="text-decoration: none;" href="http://www.php.net/preg_match" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;preg_match&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;/^[&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]?#[&lt;span style="color: #000099; font-weight: bold;"&gt;\w&lt;/span&gt;&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]+$/i&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$line&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$titleMatches&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$trimmed&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/trim" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;trim&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/ltrim" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;ltrim&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$line&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;&amp;quot;#&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;span style="color: #0000ff;"&gt;$trimmed&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$isTitle&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$currentTitle&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$trimmed&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #2500B9; font-weight: bold;"&gt;elseif&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$isServer&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$active&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/empty" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$serverMatches&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$uri&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$serverMatches&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$title&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$currentTitle&lt;/span&gt; ? &lt;span style="color: #0000ff;"&gt;$currentTitle&lt;/span&gt; : &lt;span style="color: #ff0000;"&gt;&amp;quot;Custom servers&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/isset" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$title&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$title&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'servers'&lt;/span&gt; =&amp;gt; &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;'allactive'&lt;/span&gt; =&amp;gt; &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;'count'&lt;/span&gt; =&amp;gt; &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$title&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'count'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;++;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$title&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'servers'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$uri&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$active&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$active&lt;/span&gt; == &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$title&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'allactive'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/fclose" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fclose&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; __toString&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/count" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;count&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;''&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt; = &lt;span style="color: #ff0000;"&gt;&amp;quot;# Selectmirror generated &lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;foreach&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data &lt;span style="color: #2500B9; font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$country&lt;/span&gt;=&amp;gt;&lt;span style="color: #0000ff;"&gt;$cdata&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'servers'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt; .= &lt;span style="color: #ff0000;"&gt;&amp;quot;# $country&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;foreach&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$cdata&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'servers'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #2500B9; font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$uri&lt;/span&gt;=&amp;gt;&lt;span style="color: #0000ff;"&gt;$enabled&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt; .= &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$enabled&lt;/span&gt; ? &lt;span style="color: #ff0000;"&gt;''&lt;/span&gt; : &lt;span style="color: #ff0000;"&gt;'#'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; . &lt;span style="color: #ff0000;"&gt;&amp;quot;Server = &amp;quot;&lt;/span&gt; . &lt;span style="color: #0000ff;"&gt;$uri&lt;/span&gt; . &lt;span style="color: #ff0000;"&gt;&amp;quot;&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt; .= &lt;span style="color: #ff0000;"&gt;&amp;quot;&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; save&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt; == &lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_filename;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt; === &lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt; === file_put_contents&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$filename&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;__toString&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Cannot write to file: $filename&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; getCountriesList&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; setEnabledCountries&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$countries&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$disableRest&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;span style="color: #0000ff;"&gt;$countries&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$countries&lt;/span&gt; = &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$countries&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;foreach&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data &lt;span style="color: #2500B9; font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt; =&amp;gt; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;foreach&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'servers'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #2500B9; font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$k&lt;/span&gt;=&amp;gt;&lt;span style="color: #0000ff;"&gt;$v&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/in_array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;in_array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$countries&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'servers'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$k&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'allactive'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt; &lt;span style="color: #2500B9; font-weight: bold;"&gt;elseif&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$disableRest&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'servers'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$k&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'allactive'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; DialogMirrorlist &lt;span style="color: #000000; font-weight: bold;"&gt;extends&lt;/span&gt; Mirrorlist&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; getCommand&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/count" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;count&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$command&lt;/span&gt; = &lt;span style="color: #ff0000;"&gt;&amp;quot;dialog --checklist --stdout &lt;span style="color: #000099; font-weight: bold;"&gt;\&amp;quot;&lt;/span&gt;Select countries closest to you&lt;span style="color: #000099; font-weight: bold;"&gt;\&amp;quot;&lt;/span&gt; 0 0 0 &amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;foreach&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;_data &lt;span style="color: #2500B9; font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$name&lt;/span&gt; =&amp;gt; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$count&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'count'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$active&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'allactive'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; ? &lt;span style="color: #ff0000;"&gt;'on'&lt;/span&gt; : &lt;span style="color: #ff0000;"&gt;'off'&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$command&lt;/span&gt; .= &lt;span style="color: #ff0000;"&gt;&amp;quot; &lt;span style="color: #000099; font-weight: bold;"&gt;\&amp;quot;&lt;/span&gt;${name}&lt;span style="color: #000099; font-weight: bold;"&gt;\&amp;quot;&lt;/span&gt; &lt;span style="color: #000099; font-weight: bold;"&gt;\&amp;quot;&lt;/span&gt;Mirrors count: ${count}&lt;span style="color: #000099; font-weight: bold;"&gt;\&amp;quot;&lt;/span&gt; $active &amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$command&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; setEnabledCountries&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$countriesString&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$disableRest&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$countriesList&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/preg_split" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;preg_split&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'/&amp;quot;[&lt;span style="color: #000099; font-weight: bold;"&gt;\s&lt;/span&gt;]+&amp;quot;/'&lt;/span&gt;, &lt;a style="text-decoration: none;" href="http://www.php.net/trim" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;trim&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$countriesString&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;'&amp;quot;'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; parent::&lt;span style="color: #006600;"&gt;setEnabledCountries&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$countriesList&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$disableRest&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; App &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/exec" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exec&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$cmd&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$outArr&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$returnInt&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;null&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$out&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/exec" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exec&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/escapeshellcmd" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;escapeshellcmd&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$cmd&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$outArr&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$returnInt&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'code'&lt;/span&gt;=&amp;gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;int&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$returnInt&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;'out'&lt;/span&gt; =&amp;gt; &lt;span style="color: #0000ff;"&gt;$out&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;'all'&lt;/span&gt; =&amp;gt;&lt;span style="color: #0000ff;"&gt;$outArr&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; findOnPath&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$cmd&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$return&lt;/span&gt; = self::&lt;a style="text-decoration: none;" href="http://www.php.net/exec" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exec&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;which $cmd&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$return&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'code'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; == &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; checkRequirements&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/ini_get" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;ini_get&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'open_basedir'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Set open_basedir = Off directive in your php.ini before using this script.&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/function_exists" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;function_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;exec&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;exec() function is disabled in PHP. Can't work without it's support.&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!self::&lt;span style="color: #006600;"&gt;findOnPath&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'dialog'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;dialog utility is not found on path&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; run&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self::&lt;span style="color: #006600;"&gt;checkRequirements&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$mirrors&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; DialogMirrorlist&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$command&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$mirrors&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;read&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'/etc/pacman.d/mirrorlist'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;getCommand&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;span style="color: #0000ff;"&gt;$command&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/echo" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;No mirrors detected it given mirrorlist. Nothing to do. &lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/exit" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exit&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$return&lt;/span&gt; = self::&lt;a style="text-decoration: none;" href="http://www.php.net/exec" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exec&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$command&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$return&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'code'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; == &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$mirrors&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;setEnabledCountries&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$return&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'out'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;save&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/exit" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exit&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt; catch &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;Exception &lt;span style="color: #0000ff;"&gt;$e&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/echo" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;echo&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;Error: {$e-&amp;gt;getMessage()} &lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/exit" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exit&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;App::&lt;span style="color: #006600;"&gt;run&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;" rel="nofollow"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;
&lt;a name='cutid1-end'&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/y_vxyVIl8KY" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/6282.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/6282.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/6048.html</guid>
  <pubDate>Wed, 22 Sep 2010 09:34:16 GMT</pubDate>
  <title>Archlinux и устаревший список зеркал</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/RUb32z1prhw/6048.html</link>
  <description>Заметил что в Archlinux бывает проблема с обновлением списка зеркал. В пакете pacman-mirrorlist на используемых мной зеркалах не всегда самая свежая версия этого списка.&lt;br /&gt;&lt;br /&gt;Есть простое решение этой грабли:&lt;br /&gt;забрать wget-ом список зеркал прямо с сайта арча&lt;br /&gt;поправить его руками, выбрав нужные зеркала&lt;br /&gt;и сделать pacman -Syyu&lt;br /&gt;&lt;br /&gt;&lt;div class="bash"&gt;su -&lt;br /&gt;wget -O /etc/pacman.d/mirrorlist &lt;a href='http://www.archlinux.org/mirrorlist/all/' rel='nofollow'&gt;http://www.archlinux.org/mirrorlist/all/&lt;/a&gt;&lt;br /&gt;nano -w /etc/pacman.d/mirrorlist&lt;br /&gt;pacman -Syyu&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Планирую накидать небольшую тулзу на bash + dialog чтобы можно было выбирать зеркала без ручной правки mirrorlist-а.&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/RUb32z1prhw" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/6048.html</comments>
  <category>archlinux</category>
  <category>mirrorlist</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/6048.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/5728.html</guid>
  <pubDate>Wed, 09 Jun 2010 10:06:17 GMT</pubDate>
  <title>Autounmask - полезная утилита для Gentoo</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/S90kx0PRZkQ/5728.html</link>
  <description>&lt;div&gt;
&lt;p&gt;Наткнулся на весьма полезную утилиту для автоматического размаскирования пакета с его зависимостями.
Называется &lt;i&gt;autounmask&lt;/i&gt;. Ставится из официального репа: &lt;/p&gt;
&lt;pre&gt;emerge -av autounmask&lt;/pre&gt;
&lt;p&gt;Очень удобно размаскировать такие метапакеты как kde-base/kde-meta (с учетом всех зависимостей)&lt;/p&gt;
&lt;pre&gt;autounmask =kde-base/kde-meta-4.4.3&lt;/pre&gt;
&lt;p&gt;Времени занимает много, однако все же меньше, чем ковыряться с пакетами вручную.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/S90kx0PRZkQ" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/5728.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/5728.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/5490.html</guid>
  <pubDate>Sat, 29 May 2010 13:52:58 GMT</pubDate>
  <title>Xorg-server 1.8 - новые старые конфиги</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/_EDLWpLXUGc/5490.html</link>
  <description>&lt;div align="justify"&gt;
&lt;p&gt;Опробвал xorg-sever 1.8.1 на Gentoo&lt;/p&gt;
&lt;p&gt;Как известно,  в 1.8 выпилили поддержку HAL и перешли на udev. Вместо унылых конфигов в духе /etc/hal/fdi/policy/*.fdi вернулись старые - формата xorg.conf - с новыми ключевыми словами&lt;/p&gt;
&lt;p&gt;Теперь подключаемые конфиги лежат в /etc/X11/xorg.conf.d в отдельных файлах *.conf&lt;/p&gt;
&lt;p&gt;Вот пример конфигурации клавиатуры (90-keyboard.conf): 
&lt;pre&gt;Section "InputClass"
    Identifier "keyboard"
    MatchIsKeyboard "yes"
    Option  "XkbLayout" "us,ru"
    Option  "XkbVariant" ",winkeys"
    Option  "XkbOptions" "terminate:ctrl_alt_bksp,grp:caps_toggle,grp:switch,grp_led:scroll,numpad:microsoft,compose:ralt"
EndSection&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;ИМХО, MatchIsKeyboard "yes" стало удобнее писать, чем конструкции match в HAL-овских fdi&lt;/p&gt;
&lt;p&gt;В добавок приведу конфиг моего тачпада (90-touchpad.conf):
&lt;pre&gt;Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        Option      "AlwaysCore"        "true"  # send events to CorePointer
        Option      "Protocol"          "auto-dev"
        Option      "SHMConfig"         "true" # configurable at runtime? security risk
        Option      "VertEdgeScroll"    "true"  # enable vertical scroll zone
        Option      "HorizEdgeScroll"   "true"  # enable horizontal scroll zone
        Option      "MinSpeed"          "0.20"  # speed factor for low pointer movement
        Option      "MaxSpeed"          "0.50"  # maximum speed factor for fast pointer movement
        Option      "AccelFactor"       "0.005"    # acceleration factor for normal pointer movements
        Option      "VertTwoFingerScroll"   "true"  # vertical scroll anywhere with two fingers
        Option      "TapButton1" "1"
        Option      "TapButton2" "2"
        Option      "TapButton3" "3"
EndSection
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;P.S. Не забудьте персобрать xf86-* драйверы под новую версию иксов на Gentoo&lt;/p&gt;
&lt;p&gt;P.P.S. В ArchLinux нужно только подключить testing репозиторий и обновить систему&lt;/p&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/_EDLWpLXUGc" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/5490.html</comments>
  <category>xorg.conf</category>
  <category>hal</category>
  <category>udev</category>
  <category>xorg</category>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/5490.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/5184.html</guid>
  <pubDate>Wed, 19 May 2010 21:13:09 GMT</pubDate>
  <title>Radeon и горизонтальные полоски при просмотре видео</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/rHph4NiZK2c/5184.html</link>
  <description>&lt;div align="justify"&gt;
&lt;p&gt;На сей раз расскажу об извечной проблеме с Radeon - горизонтальными полосками при просмотре в видео во всех плеерах, начиная с mplayer, заканчивая vlc.&lt;/p&gt;
&lt;p&gt;Проблему эту наблюдаю давно, на разных конфигурациях как на x86, так и на x86_64: всегда и везде присутствуют эти надоедливые горизонтальные полоски, называемые на англоязычных форумах &lt;strong&gt;tearing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Довольно долго пользовался обходным путем - устанавливал OpenGL в качестве движка для отрисовки и это помогало, но наблюдались проблемы с производительность при просмотре видео большого разрешения. Ох уж этот ATI Radeon :D&lt;/p&gt;
&lt;p&gt;Решение получено в результате эксперимента с настройками XVideo после прочтения man-а xorg-video драйвера radeon - а именно строки, где упоминается утилита xvattr:
&lt;pre&gt;
The  driver supports the following X11 Xv attributes for Textured Video.  You can use the "xvattr" tool to
query/set those attributes at runtime.
&lt;/pre&gt;
&lt;p&gt;Утилита не xvattr не входит в стандартную поставку xorg (по крайней мере в ArchLinux), поэтому я собрал ее из AUR:
&lt;pre&gt;yaourt -S xvattr&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;В итоге я поигрался с параметром XV_BICUBIC, сбросив его в 0 командой:
&lt;pre&gt;xvattr -a XV_BICUBIC -v 0&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;Свершилось чудо - видео стало воспроизводиться без этого самого tearing-а! Горизонтальные полосы исчезли навсегда&lt;/p&gt;
&lt;p&gt;Решение для ATI Radeon оказалось настолько рядом, что я не мог себе этого представить.&lt;/p&gt;
&lt;p&gt;Убедился еще раз: господа, читайте маны! Стоит попробовать поиграться со всеми возможными (и невозможными) настройками, чтобы получить желаемый результат.&lt;/p&gt;
&lt;p&gt;Буду рад, если мой пост принесет владельцам ATI Radeon, сидящим под Linux, практическую пользу.&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/rHph4NiZK2c" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/5184.html</comments>
  <category>видео</category>
  <category>tearing</category>
  <category>ati</category>
  <category>xvattr</category>
  <category>горизонтальные полосы</category>
  <category>radeon</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/5184.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/5115.html</guid>
  <pubDate>Tue, 18 May 2010 12:47:41 GMT</pubDate>
  <title>ArchLinux 2010.05</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/ONyQGt1lIrw/5115.html</link>
  <description>&lt;div align="justify"&gt;
&lt;p&gt;Сегодня вышла новая версия ISO-образов &lt;a href="http://archlinux.org" rel="nofollow"&gt;ArchLinux&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Встречайте - &lt;a href="http://www.archlinux.org/news/500/" rel="nofollow"&gt;Arch Linux 2010.05&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Вкратце о нововведениях:
&lt;ul&gt;
  &lt;li&gt;Dual-arch образы для загрузки: теперь можно установить &lt;i&gt;i686&lt;/i&gt; и &lt;i&gt;x86_64&lt;/i&gt; версию с &lt;strong&gt;одного&lt;/strong&gt; диска.
  &lt;li&gt;Больше половины пакетов из репозитория &lt;i&gt;core&lt;/i&gt; теперь в формате &lt;b&gt;.xz&lt;/b&gt; (LZMA-сжатие)
  &lt;li&gt;Начиная с этого релиза в качестве загрузчика livecd используется &lt;b&gt;только&lt;/b&gt; isolinux
  &lt;li&gt;Унификация процесса записи образов на CD и USB-носители благодаря &lt;i&gt;isohybrid&lt;/i&gt;
  &lt;li&gt;Ядро в образе обновлено до версии &lt;i&gt;kernel26-2.6.33.4-1&lt;/i&gt;
  &lt;li&gt;Поддержка virtio, wpa_supplicant и загрузки с использованием PXE
  &lt;li&gt;Исправлены мелкие ошибки в AIF (Arch Installation Framework)
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;Ссылки для ленивых: &lt;a href="http://www.archlinux.org/download/" rel="nofollow"&gt;Скачать&lt;/a&gt; | &lt;a href="http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide" rel="nofollow"&gt;Руководство по установке&lt;/a&gt; | &lt;a href="http://wiki.archlinux.org/index.php/DeveloperWiki:2010.05" rel="nofollow"&gt;Список пакетов&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div align="left"&gt;
&lt;a href="http://www.websmoke.ru" target="_blank" rel="nofollow"&gt;&lt;img src="http://www.websmoke.ru/knopki/add-blog.gif" border="0" alt="добавить блог"&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/ONyQGt1lIrw" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/5115.html</comments>
  <category>новости</category>
  <category>archlinux</category>
  <category>arch</category>
  <category>релиз</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/5115.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/4802.html</guid>
  <pubDate>Mon, 17 May 2010 18:44:43 GMT</pubDate>
  <title>ATI Radeon, KMS и Xorg - веселая настройка</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/2484gsEEbks/4802.html</link>
  <description>&lt;div align="justify"&gt;
&lt;p&gt;Я являюсь счастливым обладателем карточек ATI Radeon X1200 / Radeon HD 2100 дома и на работе соответственно. Как известно Radeon под Linux - это полная жопа в настройке и эксплуатации.&lt;/p&gt;

&lt;p&gt;Взбрело мне в голову настроить KMS - начиная с ядра 2.6.33 оно якобы включено по умолчанию. Но я привык не доверять автомату и решил подстраховаться - форсировать KMS руками.&lt;/p&gt;

&lt;p&gt;
Далее идет описание как это все делалось и какие грабли были встречены на конкретном примере - &lt;a href="http://archlinux.org" rel="nofollow"&gt;Arch Linux&lt;/a&gt; :)
&lt;/p&gt;

&lt;p&gt;Настройка вкратце: форсирование KMS, обновление пакетов из AUR, настройка xorg.conf&lt;/p&gt;

&lt;a name="cutid1"&gt;&lt;/a&gt;

&lt;h2&gt;Часть 1 - Форсирование KMS&lt;/h2&gt;
&lt;p&gt;Для форсирования KMS нужно:
&lt;ul&gt;&lt;li&gt; Добавить параметр загрузки ядра: &lt;pre&gt;radeon.modeset=1&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt; Включить загрузку модуля ядра по имени radeon при старте системы.
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Приведу пример для ArchLinux с initrd.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Поправить /etc/mkinitcpio.conf:
    &lt;pre&gt;MODULES="radeon .....другие_модули_через_пробел...."&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt; Сгенерировать initrd (для стокового ядра):
    &lt;pre&gt;mkinitcpio -p kernel26&lt;/pre&gt;
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;Все это было сделано довольно быстро, и руки чесались запустить наконец-то иксы с поддержкой KMS :)&lt;/p&gt;

&lt;h2&gt;Часть 2 - Обновление пакетов для xorg&lt;/h2&gt;
&lt;p&gt;Не суждено было восцарить KMS - при запуске xinit я словил сегфолт касаемо атишных дров &lt;i&gt;dri&lt;/i&gt;.
Поигравшись с настройками xorg, я смог только настроить работу двух мониторов в режиме дублирования изображения. Но это явно не комфортно для работы! Зачем мне дублирование?
Прогуглившись, нашел &lt;a href="http://www.linuxquestions.org/questions/slackware-14/radeon-kms-works-760963/" rel="nofollow"&gt;грамотное решение для Слаквари&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Суть проста как два пальца: собрать из &lt;i&gt;git&lt;/i&gt; последнии ревизии пакетов: &lt;pre&gt;ati-dri, dri2proto, glproto, libdrm-git, libgl, mesa, xf86-video-ati&lt;/pre&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Перед установкой новых пакетов вам придется снести старые:
      &lt;pre&gt;ati-dri dri2proto glproto libdrm libgl mesa xf86-video-ati&lt;/pre&gt;
  &lt;/li&gt;
  &lt;li&gt;
    Слакваристы будут билдить все руками, мы же с вами воспользуемся AUR-овскими пакетами:
    &lt;pre&gt;dri2proto-git glproto-git libdrm-git libgl-git mesa-git xf86-video-ati-git&lt;/pre&gt;        
  &lt;/li&gt;
  &lt;li&gt;
      Учтите, что рекомендуется собрать libdrm-git руками с опцией для configure
      &lt;pre&gt;--enable-radeon-experimental-api&lt;/pre&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Итак, пакеты собраны. Перезапускаем иксы и... все запускается с двумя мониторами!&lt;/p&gt;

&lt;h2&gt;Часть 3 - Финальная настройка&lt;/h2&gt;
&lt;p&gt;Радость была недолгой - при очередном переключении на виртуальный терминал tty1-5 экраны мониторов погасли и не подавали признаков жизни. Опять разочарование :(&lt;/p&gt;

&lt;p&gt;Решение не находилось где-то с неделю, пока не решил окончательно прикрутить KMS на ноут с Radeon X1200. На ноуте KMS заработа без приколов с tty, но я невольно закричал &lt;a href="http://lurkmore.ru/FUUU" rel="nofollow"&gt;FFFFFFFUUUUU&lt;/a&gt;, когда иксы без весомой причины вылетели во время работы. В логах были сегфолты, похожие на те, которые я созерцал на работе с Radeon HD 2100.&lt;/p&gt;

&lt;p&gt;Мне повезло локализовать причину ошибки. Оказалось виноватым расширение &lt;strong&gt;AIGLX&lt;/strong&gt; - то самое, которое используется в композитных менеджерах &lt;i&gt;KDE&lt;/i&gt; и &lt;i&gt;CompizFusion&lt;/i&gt;. Оно то и глючило при активации KMS.&lt;/p&gt;

&lt;p&gt;Отключается довольно просто в &lt;strong&gt;xorg.conf&lt;/strong&gt;:&lt;/p&gt;

&lt;pre&gt;
Section "ServerLayout"
        option "AIGLX" "false"
        ...............
EndSection
&lt;/pre&gt;

&lt;p&gt;Сегфотлы ушли, но стали наблюдаться глюки с проигрыванием видео.&lt;br /&gt;
&lt;p&gt;Решилось все дело таким конфигом видеоадаптера в xorg.conf:
&lt;pre&gt;
Section "Device"
    Option     "EnableDepthMoves"       "True"
    Option     "EnablePageFlip"         "True"
    Option     "DMAForXv"               "True"
    Option     "ColorTiling"            "True"
    Option     "EXAPixmaps"             "True"

    Identifier  "Card0"
    Driver      "radeon"
EndSection
&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;Это заработало и на Radeon X1200, и на HD2100 одинаково хорошо.&lt;/p&gt;

&lt;h2&gt;Послесловие&lt;/h2&gt;
&lt;p&gt;Да. Compiz и эффекты KDE работать не будут. Но кому они нужны, правда ;) ?&lt;/p&gt;
&lt;/div&gt;
&lt;a name='cutid1-end'&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/2484gsEEbks" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/4802.html</comments>
  <category>xorg.conf</category>
  <category>aur</category>
  <category>проблемы</category>
  <category>xorg</category>
  <category>kms</category>
  <category>radeon</category>
  <category>arch</category>
  <category>ati</category>
  <category>глюки</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/4802.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/4479.html</guid>
  <pubDate>Mon, 17 May 2010 18:21:18 GMT</pubDate>
  <title>Янукович и венок</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/8hAG2RfnaX4/4479.html</link>
  <description>&lt;lj-embed id="5" /&gt;&lt;br /&gt;&lt;br /&gt;Приключения Виктора Федоровича продолжаются. То яичко на голову упадет, то венок. Что будет следующим? :)&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/8hAG2RfnaX4" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/4479.html</comments>
  <category>видео</category>
  <category>боян</category>
  <category>youtube</category>
  <category>янукович</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/4479.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/4220.html</guid>
  <pubDate>Mon, 17 May 2010 09:07:18 GMT</pubDate>
  <title>Archlinux: проблемы с Samba 3.5.2</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/wo_HulEWmSs/4220.html</link>
  <description>&lt;div align="justify"&gt;
&lt;p&gt;Решил я поднять Samba сервер на одном из домашнех компьютеров. Почитал маны и установил последнюю версию из репозиториев. Начал тестировать - при открытии списка шар на машине все было окей, но при попытке зайти в конкретную шару smbclient вылетал с segfault-ом&lt;/p&gt;
&lt;p&gt;Погуглившись, нашел информацию о том, что версии, начиная с Samba 3.5.0, в ArchLinux сломаны. Единственное решение - даунгрейд до Samba 3.4.6&lt;/p&gt;
&lt;p&gt;Искать PKGBUILD-ы было влом, поэтому воспоьзовался замечательным сервисом &lt;a href="http://arm.konnichi.com/search/index.php" rel="nofollow"&gt;поиска Arch Rollback Machine&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt; Для ленивых ссылки на x86_64 пакеты: 
&lt;ul&gt;&lt;li&gt;&lt;a href="http://arm.konnichi.com/extra/os/x86_64/samba-3.4.6-1-x86_64.pkg.tar.gz" rel="nofollow"&gt;Samba 3.4.6&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://arm.konnichi.com/extra/os/x86_64/smbclient-3.4.6-1-x86_64.pkg.tar.gz" rel="nofollow"&gt;Smbclient 3.4.6&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Качаем пакеты, делаем:
&lt;pre&gt;
pacman -Rd samba smbclient
pacman -U -f samba-3.4.6-1-x86_64.pkg.tar.gz smbclient-3.4.6-1-x86_64.pkg.tar.gz
cd /usr/lib/
ln -s libkrb5.so.26.0.0 libkrb5.so.25
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;Samba при запуске ругнулась на отсуствие libkrb5.so.25 и отвалилась. Опытным путем нашел решение - сделать симлинку на libkrb5.so.26.0.0&lt;/p&gt;
&lt;p&gt;Отпишите плиз в комменты, если кто собирал Samba из git - решена ли эта проблема&lt;/p&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/wo_HulEWmSs" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/4220.html</comments>
  <category>samba</category>
  <category>archlinux</category>
  <category>arch</category>
  <category>проблемы</category>
  <category>downgrade</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/4220.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/3870.html</guid>
  <pubDate>Thu, 18 Mar 2010 09:15:02 GMT</pubDate>
  <title>Два монитора и xorg.conf</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/rfrnq19L0M0/3870.html</link>
  <description>Есть карточка с двумя выходами - DVI и VGA. &lt;br /&gt;Необходимо настроить  два монитора в режиме одного большого рабочего стола.&lt;br /&gt;&lt;br /&gt;Как это делается?&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;1. Берем открываем /etc/X11/xorg.conf,&lt;br /&gt;&lt;br /&gt;добавляем еще одну секцию &lt;strong&gt;Monitor&lt;/strong&gt;&lt;br /&gt;устанавливаем для первого монитора идентификатор &amp;quot;&lt;strong&gt;DVI-0&lt;/strong&gt;&amp;quot;,&lt;br /&gt;для второго - &amp;quot;&lt;strong&gt;VGA-0&lt;/strong&gt;&amp;quot;&lt;br /&gt;в Section &amp;quot;Monitor&amp;quot; VGA-монитора дописываем опцию:&lt;br /&gt;Option&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;RightOf&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;DVI-0&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Должно получиться примерно так:&lt;br /&gt;&lt;div class="bash" style="font-family: monospace; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;Section &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Monitor&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Identifier&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;DVI-0&amp;quot;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VendorName&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;PHL&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ModelName&amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Philips 190V&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizSync&amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(204, 102, 204);"&gt;30.0&lt;/span&gt; - &lt;span style="color: rgb(204, 102, 204);"&gt;83.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VertRefresh&amp;nbsp; &lt;span style="color: rgb(204, 102, 204);"&gt;75.0&lt;/span&gt; - &lt;span style="color: rgb(204, 102, 204);"&gt;76.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Option&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;DPMS&amp;quot;&lt;/span&gt;&lt;br /&gt;EndSection&lt;br /&gt;&lt;br /&gt;Section &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Monitor&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Identifier&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;VGA-0&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Option&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;RightOf&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;DVI-0&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VendorName&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;PHL&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ModelName&amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Philips 190V&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HorizSync&amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(204, 102, 204);"&gt;30.0&lt;/span&gt; - &lt;span style="color: rgb(204, 102, 204);"&gt;83.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VertRefresh&amp;nbsp; &lt;span style="color: rgb(204, 102, 204);"&gt;75.0&lt;/span&gt; - &lt;span style="color: rgb(204, 102, 204);"&gt;76.0&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Option&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;DPMS&amp;quot;&lt;/span&gt;&lt;br /&gt;EndSection&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;2. Далее необходимо поправить секцию &lt;strong&gt;Screen&lt;/strong&gt;: &lt;br /&gt;залезть в каждую субсекцию SubSection &amp;quot;&lt;strong&gt;Display&lt;/strong&gt;&amp;quot; и добавить директиву &lt;strong&gt;Virtual&lt;/strong&gt;.&lt;br /&gt;Я выставил так: Virtual 2560  2048&lt;br /&gt;исходя из простой математики: 1280x2 1024x2 &lt;br /&gt;взял разрешение одного монитора и умножил на 2 ширину и высоту в пикселях.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="php" style="font-family: monospace; color: rgb(0, 0, 0);"&gt;Section &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Screen&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Identifier &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Screen0&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Device&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Card0&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Monitor&amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Monitor0&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SubSection &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Display&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Viewport&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Depth&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/virtual" rel="nofollow"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Virtual&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2560&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2048&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EndSubSection&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SubSection &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Display&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Viewport&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Depth&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;4&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/virtual" rel="nofollow"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Virtual&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2560&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2048&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EndSubSection&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SubSection &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Display&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Viewport&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Depth&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;8&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/virtual" rel="nofollow"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Virtual&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2560&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2048&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EndSubSection&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SubSection &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Display&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Viewport&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Depth&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;15&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/virtual" rel="nofollow"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Virtual&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2560&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2048&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EndSubSection&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SubSection &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Display&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Viewport&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Depth&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;16&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/virtual" rel="nofollow"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Virtual&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2560&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2048&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EndSubSection&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SubSection &lt;span style="color: rgb(255, 0, 0);"&gt;&amp;quot;Display&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Viewport&amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Depth&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: rgb(204, 102, 204);"&gt;24&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/virtual" rel="nofollow"&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Virtual&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2560&lt;/span&gt; &lt;span style="color: rgb(204, 102, 204);"&gt;2048&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EndSubSection&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;3. Перезапускаем иксы :D&lt;br /&gt;&lt;a name='cutid1-end'&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/rfrnq19L0M0" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/3870.html</comments>
  <category>xorg.conf</category>
  <category>xorg</category>
  <category>x11</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/3870.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/3752.html</guid>
  <pubDate>Wed, 17 Mar 2010 09:48:02 GMT</pubDate>
  <title>Крик о помощи с Нибиру</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/eh2DvA8fUV8/3752.html</link>
  <description>Без комментариев :D&lt;br /&gt;&lt;br /&gt;&lt;lj-embed id="2" /&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/eh2DvA8fUV8" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/3752.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/3752.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/3382.html</guid>
  <pubDate>Sun, 14 Mar 2010 11:46:05 GMT</pubDate>
  <title>Mr. Freeman - Что стало с твоей мечтой?</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/TWHA3lraP_Y/3382.html</link>
  <description>&lt;lj-embed id="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/TWHA3lraP_Y" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/3382.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/3382.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/3319.html</guid>
  <pubDate>Sun, 14 Mar 2010 11:43:37 GMT</pubDate>
  <title>Gentoo, Arch и шрифты</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/1UDIdYXZ7bI/3319.html</link>
  <description>В догонку к посту: &lt;a href='http://lamskoy.livejournal.com/3009.html'&gt;http://lamskoy.livejournal.com/3009.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;При конфиге шрифтов в посте, указанном выше, возникает проблема с битмап-шрифтами.&lt;br /&gt;Если включен 70-no-bitmaps.conf, то такие чудные шрифты, как Terminus, становятся недоступными.&lt;br /&gt;А если отключить его, то в Firefox многие растровые шрифты будут выглядеть чудовищно.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;Лечится копированием настроек в /etc/fonts/local.conf (взято из Arch-евских конфигов шрифтов):&lt;br /&gt;&lt;div class="bash" style="font-family: monospace; color: #000000;"&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;?xml&lt;/span&gt; &lt;span style="color: #000066;"&gt;version&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #00bbdd;"&gt;&amp;lt;!DOCTYPE fontconfig SYSTEM &amp;quot;fonts.dtd&amp;quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;&lt;span style="color: #808080; font-style: italic;"&gt;&amp;lt;!-- /etc/fonts/local.conf file to configure system font access --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;fontconfig&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;match&lt;/span&gt; &lt;span style="color: #000066;"&gt;target&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;font&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;edit&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;hinting&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;mode&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;assign&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;bool&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;true&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/bool&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/edit&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;edit&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;hintstyle&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;mode&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;assign&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;const&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;hintslight&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/const&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/edit&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/match&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="color: #808080; font-style: italic;"&gt;&amp;lt;!-- Replace generic bitmap font names by generic font families.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;These font-families will get replaced by other rules and&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; default to scaled ones. --&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;match&lt;/span&gt; &lt;span style="color: #000066;"&gt;target&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;pattern&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;test&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;qual&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;any&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Helvetica&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/test&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;edit&lt;/span&gt; &lt;span style="color: #000066;"&gt;mode&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;assign&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Arial&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Liberation Sans&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;sans-serif&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/edit&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/match&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;match&lt;/span&gt; &lt;span style="color: #000066;"&gt;target&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;pattern&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;test&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;qual&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;any&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Courier&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/test&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;edit&lt;/span&gt; &lt;span style="color: #000066;"&gt;mode&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;assign&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Courier New&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Liberation Mono&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;monospace&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/edit&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/match&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;match&lt;/span&gt; &lt;span style="color: #000066;"&gt;target&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;pattern&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;test&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;qual&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;any&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Times&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/test&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;edit&lt;/span&gt; &lt;span style="color: #000066;"&gt;mode&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;assign&amp;quot;&lt;/span&gt; &lt;span style="color: #000066;"&gt;name&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;family&amp;quot;&lt;/span&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Times New Roman&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Liberation Serif&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;serif&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/string&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/edit&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/match&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #009900;"&gt;&lt;span style="font-weight: bold; color: black;"&gt;&amp;lt;/fontconfig&lt;span style="font-weight: bold; color: black;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='cutid1-end'&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/1UDIdYXZ7bI" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/3319.html</comments>
  <category>arch</category>
  <category>fontconfig</category>
  <category>gentoo</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/3319.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/3009.html</guid>
  <pubDate>Sun, 24 Jan 2010 16:40:14 GMT</pubDate>
  <title>Gentoo - сглаживание шрифтов</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/bn6sDuXO0Uw/3009.html</link>
  <description>Сегодня расскажу как я настраивал сглаживание шрифтов в Gentoo Linux&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;Суть сводится к трем шагам:&lt;br /&gt;&lt;br /&gt;1. Собрать пакеты cairo, libXft, fontconfig, freetype с примененными патчами для сглаживания (cleartype). В полной мере эти пакеты с патчами доступны в оверлее devnull, официальный репозиторий более консервативен.&lt;br /&gt;2. Настроить fontconfig и поправить /etc/fonts/local.conf. В gentoo есть прекрасная утилита eselect, ей и будем производить манипуляции с настройками fontconfig&lt;br /&gt;3. Перезапустить иксы&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Теперь по порядку и детальнее:&lt;br /&gt;&lt;br /&gt;1. Подключаем оверлей devnull&lt;br /&gt;&lt;br /&gt;Если layman не установлен, устанавливаем:&lt;br /&gt;&lt;div class="bash"&gt;emerge -av layman&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Подключаем сам оверлей:&lt;br /&gt;&lt;div class="bash"&gt;layman -a devnull&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;В /etc/make.conf добавляем:&lt;br /&gt;&lt;div class="bash"&gt;PORTDIR_OVERLAY=&amp;quot;&amp;quot;&lt;br /&gt;source /usr/local/portage/layman/make.conf&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;2. Теперь необходимо размаскировать пакеты cairo, freetype, libXft, fontconfig.&lt;br /&gt;&lt;br /&gt;Правим/создаем если не создан /etc/portage/package.keywords:&lt;br /&gt;&lt;br /&gt;&lt;div class="bash"&gt;media-libs/fontconfig ~x86&lt;br /&gt;x11-libs/cairo ~x86&lt;br /&gt;media-libs/freetype ~x86&lt;br /&gt;x11-libs/libXft ~x86&lt;/div&gt;&lt;br /&gt;Естественно, вместо x86 нужно указать свою архитектуру - amd64 например.&lt;br /&gt;&lt;br /&gt;3. Устанавливаем USE-флаги для наших пакетов&lt;br /&gt;&lt;br /&gt;Добавляем глобальный флаг cleartype:&lt;br /&gt;&lt;div class="bash"&gt;euse -a cleartype&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;И локальные в /etc/portage/package.use:&lt;br /&gt;&lt;div class="bash"&gt;media-libs/freetype bindist&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;4. Собираем пакеты:&lt;br /&gt;&lt;div class="bash"&gt;emerge -avN cairo freetype libXft fontconfig&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Запускаем etc-update после инсталляции пакетов и заменяем старые конфиги fontconfig на новые.&lt;br /&gt;&lt;br /&gt;5. Настраиваем fontconfig.&lt;br /&gt;&lt;br /&gt;Делаем eselect fontconfig list, смотрим какие конфиги подключены.&lt;br /&gt;&lt;br /&gt;Чтобы включить субпиксельное сглаживание, необходимо выключить&lt;br /&gt;(eselect fontconfig disable N, где N- номер конфига)&lt;br /&gt;следующие конфиги:&lt;br /&gt;&lt;div class="bash"&gt;10-no-sub-pixel.conf&lt;br /&gt;10-unhinted.conf&lt;/div&gt;&lt;br /&gt;и включить один из:&lt;br /&gt;&lt;div class="bash"&gt;10-sub-pixel-bgr.conf&lt;br /&gt;10-sub-pixel-rgb.conf&lt;br /&gt;10-sub-pixel-vbgr.conf&lt;br /&gt;10-sub-pixel-vrgb.conf&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;В большинстве случаев это 10-sub-pixel-rgb.conf&lt;br /&gt;&lt;br /&gt;Ниже привожу свою конфигурацию fontconfig&lt;br /&gt;&lt;br /&gt;&lt;div class="bash"&gt;Available fontconfig .conf files  ( * is enabled ):&lt;br /&gt;  [1]   10-autohint.conf *&lt;br /&gt;  [2]   10-no-sub-pixel.conf&lt;br /&gt;  [3]   10-sub-pixel-bgr.conf&lt;br /&gt;  [4]   10-sub-pixel-rgb.conf *&lt;br /&gt;  [5]   10-sub-pixel-vbgr.conf&lt;br /&gt;  [6]   10-sub-pixel-vrgb.conf&lt;br /&gt;  [7]   10-unhinted.conf&lt;br /&gt;  [8]   20-fix-globaladvance.conf *&lt;br /&gt;  [9]   20-unhint-small-dejavu-sans.conf&lt;br /&gt;  [10]  20-unhint-small-dejavu-sans-mono.conf&lt;br /&gt;  [11]  20-unhint-small-dejavu-serif.conf&lt;br /&gt;  [12]  20-unhint-small-vera.conf *&lt;br /&gt;  [13]  25-unhint-nonlatin.conf&lt;br /&gt;  [14]  30-metric-aliases.conf *&lt;br /&gt;  [15]  30-urw-aliases.conf *&lt;br /&gt;  [16]  40-nonlatin.conf *&lt;br /&gt;  [17]  45-latin.conf *&lt;br /&gt;  [18]  49-sansserif.conf *&lt;br /&gt;  [19]  50-user.conf *&lt;br /&gt;  [20]  51-local.conf *&lt;br /&gt;  [21]  57-dejavu-sans.conf *&lt;br /&gt;  [22]  57-dejavu-sans-mono.conf *&lt;br /&gt;  [23]  57-dejavu-serif.conf *&lt;br /&gt;  [24]  60-latin.conf *&lt;br /&gt;  [25]  65-fonts-persian.conf *&lt;br /&gt;  [26]  65-khmer.conf&lt;br /&gt;  [27]  65-nonlatin.conf *&lt;br /&gt;  [28]  69-unifont.conf *&lt;br /&gt;  [29]  70-no-bitmaps.conf *&lt;br /&gt;  [30]  70-yes-bitmaps.conf&lt;br /&gt;  [31]  80-delicious.conf *&lt;br /&gt;  [32]  90-synthetic.conf *&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;6. Настраиваем hinting.&lt;br /&gt;&lt;br /&gt;Создаем/правим /etc/fonts/local.conf:&lt;br /&gt;&lt;br /&gt;&lt;div class="bash"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE fontconfig SYSTEM &amp;quot;fonts.dtd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;!-- /etc/fonts/local.conf file to configure system font access --&amp;gt;&lt;br /&gt;&amp;lt;fontconfig&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;match target=&amp;quot;font&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;edit name=&amp;quot;hinting&amp;quot; mode=&amp;quot;assign&amp;quot;&amp;gt;&amp;lt;bool&amp;gt;true&amp;lt;/bool&amp;gt;&amp;lt;/edit&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;edit name=&amp;quot;hintstyle&amp;quot; mode=&amp;quot;assign&amp;quot;&amp;gt;&amp;lt;const&amp;gt;hintslight&amp;lt;/const&amp;gt;&amp;lt;/edit&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/match&amp;gt;&lt;br /&gt;&amp;lt;/fontconfig&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Параметр hintstyle можно выставить в hintslight, hintmedium, hintfull и поэкспериментировать - какой стиль хинтинга вам ближе по душе.&lt;br /&gt;&lt;br /&gt;Мои предпочтения указаны выше :)&lt;br /&gt;&lt;br /&gt;7. Перегружаем иксы и наслаждаемся красивым сглаживанием шрифтов :)&lt;br /&gt;&lt;a name='cutid1-end'&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/bn6sDuXO0Uw" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/3009.html</comments>
  <category>linux</category>
  <category>fontconfig</category>
  <category>libxft</category>
  <category>gentoo</category>
  <category>freetype</category>
  <category>cairo</category>
  <lj:music>/dev/null</lj:music>
  <media:title type="plain">/dev/null</media:title>
  <lj:security>public</lj:security>
  <lj:reply-count>1</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/3009.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/2633.html</guid>
  <pubDate>Mon, 11 Jan 2010 22:43:03 GMT</pubDate>
  <title>Распаковка архивов .t3x для TYPO3 CMS</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/xxUZaM4dLE4/2633.html</link>
  <description>Несколько лет назад я работал с TYPO3 CMS, сама система меня не впечатлила ни по скорости работы, ни по коду.&lt;br /&gt;От комментариев насчет качества кода воздержусь, это не тема данного поста :)&lt;br /&gt;&lt;br /&gt;Все расширения для данной CMS идут в архиве собственного формата .t3x - самописное подобие TAR-а + gzip сжатие.&lt;br /&gt;Руками распаковывать очень неудобно, поэтому родился следующий скрипт:&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="bash" style="font-family: monospace; color: #000000;"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; ErrorHandler&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; const HANDLER_METHOD_SUFFIX = &lt;span style="color: #ff0000;"&gt;&amp;quot;Handler&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; protected &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #0000ff;"&gt;$instance&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;null&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; protected &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #0000ff;"&gt;$instanceCalled&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$errors&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; protected &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; addError&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;errors&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/func_get_args" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;func_get_args&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; protected &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; clearErrors&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;errors&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; getErrors&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$clear&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$out&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;errors&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$clear&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;clearErrors&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$out&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; instance&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$classname&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;__CLASS__&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/is_null" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;is_null&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;self::&lt;span style="color: #0000ff;"&gt;$instance&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self::&lt;span style="color: #0000ff;"&gt;$instanceCalled&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self::&lt;span style="color: #0000ff;"&gt;$instance&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$classname&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; self::&lt;span style="color: #0000ff;"&gt;$instance&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; hook&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$handler&lt;/span&gt;=&lt;span style="color: #ff0000;"&gt;&amp;quot;exception&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errorTypes&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;null&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/is_null" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;is_null&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$errorTypes&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$errorTypes&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;E_ALL&lt;/span&gt; | E_STRICT;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$method&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$handler&lt;/span&gt;.self::&lt;span style="color: #006600;"&gt;HANDLER_METHOD_SUFFIX&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$class&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/get_class" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;get_class&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/method_exists" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;method_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$method&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Method $class::$method doesn't exist&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/set_error_handler" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;set_error_handler&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$method&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errorTypes&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; unhook&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/restore_error_handler" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;restore_error_handler&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; exceptionHandler&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$errno&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errstr&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errfile&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errline&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;addError&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/func_get_args" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;func_get_args&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$errstr&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errno&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; verboseHandler&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$errno&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errstr&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errfile&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$errline&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;addError&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/func_get_args" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;func_get_args&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/dir" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;Dir&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; create&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$mode&lt;/span&gt; = &lt;span style="color: #cc66cc;"&gt;0777&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$recursive&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt; = self::&lt;span style="color: #006600;"&gt;normalize&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/file_exists" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;file_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &amp;amp;&amp;amp; &lt;a style="text-decoration: none;" href="http://www.php.net/is_dir" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;is_dir&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/mkdir" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;mkdir&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;0777&lt;/span&gt;, &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; normalize&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/trim" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;trim&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/rtrim" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;rtrim&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;&amp;quot;.&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/str_replace" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;str_replace&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;/&amp;quot;&lt;/span&gt;,&lt;span style="color: #ff0000;"&gt;&amp;quot;&lt;span style="color: #000099; font-weight: bold;"&gt;\\&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;, DIRECTORY_SEPARATOR, &lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/rtrim" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;rtrim&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;, DIRECTORY_SEPARATOR&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$path&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; Dumper &lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$fileMode&lt;/span&gt; = &lt;span style="color: #ff0000;"&gt;&amp;quot;w&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; setAppendMode&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$arg&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;true&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;fileMode&lt;/span&gt; = &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;bool&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$arg&lt;/span&gt; ? &lt;span style="color: #ff0000;"&gt;&amp;quot;a&amp;quot;&lt;/span&gt; : &lt;span style="color: #ff0000;"&gt;&amp;quot;w&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; varDump&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/ob_start" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;ob_start&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/var_dump" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;var_dump&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$out&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/ob_get_contents" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;ob_get_contents&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/ob_end_clean" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;ob_end_clean&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;writeToFile&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$out&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; writeToFile&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/fopen" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fopen&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;fileMode&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Cannot write to $f&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/fwrite" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fwrite&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/fclose" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fclose&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; TypoExtension&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; const HEADER_SIZE = &lt;span style="color: #cc66cc;"&gt;44&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$isValid&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$fileObj&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;null&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; __construct&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/unpack" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;unpack&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$targetDir&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/isset" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;isset&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'FILES'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$targetDir&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/dir" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;Dir&lt;/span&gt;&lt;/a&gt;::&lt;span style="color: #006600;"&gt;normalize&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$targetDir&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;foreach&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'FILES'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; &lt;span style="color: #2500B9; font-weight: bold;"&gt;as&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$row&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$dir&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$targetDir&lt;/span&gt;.DIRECTORY_SEPARATOR.&lt;a style="text-decoration: none;" href="http://www.php.net/dirname" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;dirname&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$row&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'name'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/dir" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;Dir&lt;/span&gt;&lt;/a&gt;::&lt;span style="color: #006600;"&gt;create&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$dir&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/dir" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;Dir&lt;/span&gt;&lt;/a&gt;::&lt;span style="color: #006600;"&gt;normalize&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$targetDir&lt;/span&gt;.DIRECTORY_SEPARATOR.&lt;span style="color: #0000ff;"&gt;$row&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'name'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file_put_contents&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$row&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;'content'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; read&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/file_exists" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;file_exists&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;No such file: '{$file}'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;!&lt;a style="text-decoration: none;" href="http://www.php.net/is_readable" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;is_readable&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;File is not readable: '{$file}'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt; = @&lt;a style="text-decoration: none;" href="http://www.php.net/fopen" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fopen&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;, &lt;span style="color: #ff0000;"&gt;&amp;quot;r&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt; === &lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Cannot open file: '{$file}'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$size&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$fileSize&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/filesize" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;filesize&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$fileSize&lt;/span&gt; &amp;lt; self::&lt;span style="color: #006600;"&gt;HEADER_SIZE&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Size of file should be &amp;gt; &amp;quot;&lt;/span&gt;.self::&lt;span style="color: #006600;"&gt;HEADER_SIZE&lt;/span&gt;.&lt;span style="color: #ff0000;"&gt;&amp;quot;: '{$file}'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$size&lt;/span&gt; -= self::&lt;span style="color: #006600;"&gt;HEADER_SIZE&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$head&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/fread" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fread&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;, self::&lt;span style="color: #006600;"&gt;HEADER_SIZE&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/**&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;* Parse params&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$params&lt;/span&gt;&amp;nbsp; = &lt;a style="text-decoration: none;" href="http://www.php.net/explode" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;explode&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;:&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$head&lt;/span&gt;, &lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$gzencode&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/array_pop" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array_pop&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$params&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$gzencode&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/array_pop" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array_pop&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$params&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$fictiveCrc&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://www.php.net/array_pop" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array_pop&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$params&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$gzencode&lt;/span&gt; !== &lt;span style="color: #ff0000;"&gt;'gzcompress'&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Invalid header found in file: '{$file}'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt; = @&lt;a style="text-decoration: none;" href="http://www.php.net/fread" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;fread&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$f&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$size&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt; === &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Cannot read data from file: '{$file}'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt; = @&lt;a style="text-decoration: none;" href="http://www.php.net/gzuncompress" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;gzuncompress&lt;/span&gt;&lt;/a&gt;&amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt; === &lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Invalid data (not gzcompressed) in file: '{$file}'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;data&lt;/span&gt; = @&lt;a style="text-decoration: none;" href="http://www.php.net/unserialize" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;unserialize&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/unserialize" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;unserialize&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;false&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; === &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;data&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Invalid data (gzcompressed, but not serialized) in file: '{$file}'&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; __app &lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/static" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;static&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #0000ff;"&gt;$singleton&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;null&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$argc&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$argv&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; instance&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/is_null" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;is_null&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;self::&lt;span style="color: #0000ff;"&gt;$singleton&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self::&lt;span style="color: #0000ff;"&gt;$singleton&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; self&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; self::&lt;span style="color: #0000ff;"&gt;$singleton&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; setArgs&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$argv&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$argc&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;argc&lt;/span&gt; = &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;int&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$argc&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;argv&lt;/span&gt; = &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$argv&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; checkArgs&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;3&lt;/span&gt; !== &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;argc&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Exception&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Arguments should be: &amp;lt;file&amp;gt; &amp;lt;target&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; getArgs&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;checkArgs&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #2500B9; font-weight: bold;"&gt;return&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.php.net/array" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;array&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;argv&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;argv&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;function&lt;/span&gt; run&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$argv&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$argc&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;setArgs&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$argv&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$argc&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/list" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;list&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$dir&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; = &lt;span style="color: #0000ff;"&gt;$this&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;getArgs&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt; = &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; TypoExtension&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$c&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;read&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$file&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;unpack&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$dir&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt; catch &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;Exception &lt;span style="color: #0000ff;"&gt;$e&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/printf" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;printf&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Error: %s&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$e&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;getMessage&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/exit" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exit&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/print" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;print&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;OK&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/exit" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exit&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #2500B9; font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://www.php.net/empty" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;empty&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$argv&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/print" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;print&lt;/span&gt;&lt;/a&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;Not running from command line&lt;span style="color: #000099; font-weight: bold;"&gt;\n&lt;/span&gt;&amp;quot;&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;a style="text-decoration: none;" href="http://www.php.net/exit" rel="nofollow"&gt;&lt;span style="color: #000066;"&gt;exit&lt;/span&gt;&lt;/a&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;__app::&lt;span style="color: #006600;"&gt;instance&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;-&amp;gt;&lt;span style="color: #006600;"&gt;run&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$argv&lt;/span&gt;, &lt;span style="color: #0000ff;"&gt;$argc&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;?&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a name='cutid1-end'&gt;&lt;/a&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/xxUZaM4dLE4" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/2633.html</comments>
  <category>scripts</category>
  <category>неопубликованное</category>
  <category>php</category>
  <lj:security>public</lj:security>
  <lj:reply-count>4</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/2633.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/2419.html</guid>
  <pubDate>Mon, 11 Jan 2010 22:20:57 GMT</pubDate>
  <title>Skype 2.1.0.47-r1 - проблема c USE="-qt-static"</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/QliOIVRlN18/2419.html</link>
  <description>Несколько дней назад я обновил дерево портов Gentoo, и при очередном emerge -avuDN world, увидел, что Skype пытается установиться с форсированным ключом сборки (qt-static), при чем ни правка /etc/make.conf, ни /etc/portage/package.use, не влияет на поведение этого флага.&lt;br /&gt;&lt;br /&gt;Скачал более старый ебилд, та же история и с ним произошла - qt-static установился форсированно.&lt;br /&gt;Статически прилинкованная либа qt мне и даром не нужна, я использую VLC и еще несколько программ, юзающих динамическую qt, в том числе и Skype. &lt;br /&gt;&lt;br /&gt;Мне стало облом искать решение в текущем дереве портов, и я сделал руками свой ебилд, избавившись от флага qt-static, и поместил его в дерево оверлея.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;Вот сам ебилд:&lt;br /&gt;&lt;div style="font-family: monospace; color: rgb(0, 0, 0);" class="bash"&gt;&lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# Copyright 1999-2010 Gentoo Foundation&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# Distributed under the terms of the GNU General Public License v2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# $Header: /var/cvsroot/gentoo-x86/net-im/skype/skype-2.1.0.47-r1.ebuild,v 1.1 2010/01/06 16:39:51 ssuominen Exp $&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;EAPI=&lt;span style="color: rgb(255, 0, 0);"&gt;2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;inherit eutils qt4 pax-utils&lt;br /&gt;&lt;br /&gt;DESCRIPTION=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;A P2P-VoiceIP client.&amp;quot;&lt;/span&gt;&lt;br /&gt;HOMEPAGE=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;http://www.skype.com/&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;DFILENAME=$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;P&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;.tar.bz2&lt;br /&gt;SRC_URI=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;http://download.skype.com/linux/${DFILENAME}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;LICENSE=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;skype-eula&amp;quot;&lt;/span&gt;&lt;br /&gt;SLOT=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;br /&gt;KEYWORDS=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;amd64 x86&amp;quot;&lt;/span&gt;&lt;br /&gt;IUSE=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# http://bugs.gentoo.org/show_bug.cgi?id=299368&lt;/span&gt;&lt;br /&gt;RESTRICT=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;mirror strip&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;EMUL_VER=&lt;span style="color: rgb(255, 0, 0);"&gt;20091231&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;RDEPEND=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;amd64? ( &amp;gt;=app-emulation/emul-linux-x86-xlibs-${EMUL_VER}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;=app-emulation/emul-linux-x86-baselibs-${EMUL_VER}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;=app-emulation/emul-linux-x86-soundlibs-${EMUL_VER}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;gt;=app-emulation/emul-linux-x86-qtlibs-${EMUL_VER} ) &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x86? ( &amp;gt;=media-libs/alsa-lib-1.0.11&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x11-libs/libXScrnSaver&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x11-libs/libXv&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x11-libs/qt-gui:4[accessibility,dbus]&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x11-libs/qt-dbus:4&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x11-libs/libX11&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x11-libs/libXau&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x11-libs/libXdmcp ) &amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# Required for lrelease command at buildtime&lt;/span&gt;&lt;br /&gt;DEPEND=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;x11-libs/qt-core:4&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;QA_EXECSTACK=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;opt/skype/skype&amp;quot;&lt;/span&gt;&lt;br /&gt;QA_WX_LOAD=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;opt/skype/skype&amp;quot;&lt;/span&gt;&lt;br /&gt;QA_DT_HASH=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;opt/skype/skype&amp;quot;&lt;/span&gt;&lt;br /&gt;QA_PRESTRIPPED=&lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;opt/skype/skype&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;src_install&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# remove mprotect() restrictions for PaX usage - see Bug 100507&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# NOTE. Commented out because it's breaking Skype 2.1.0.47.&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# pax-mark m &amp;quot;${S}&amp;quot;/skype&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; exeinto /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doexe skype || die&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fowners root:audio /opt/skype/skype&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; make_wrapper skype /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;/skype /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; /usr/bin&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; insinto /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;/sounds&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doins sounds/*.wav || die&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; insinto /etc/dbus&lt;span style="color: rgb(255, 0, 0);"&gt;-1&lt;/span&gt;/system.d&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doins $&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;.conf || die&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; insinto /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;/lang&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;#&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;#There have been some issues were lang is not updated from the .ts files&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;#but if we have qt we can rebuild it&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;#&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lrelease lang/*.ts&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doins lang/*.qm || die&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; insinto /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;/avatars&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doins avatars/*.png || die&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; insinto /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for X in &lt;span style="color: rgb(255, 0, 0);"&gt;16&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;32&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;48&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; insinto /usr/share/icons/hicolor/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;X&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;x$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;X&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;/apps&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newins &lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;${S}&amp;quot;&lt;/span&gt;/icons/SkypeBlue_$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;X&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;x$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;X&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;.png $&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;.png&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; done&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dodoc README&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# insinto /usr/share/applications/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# doins skype.desktop&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; make_desktop_entry $&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;Skype VoIP&amp;quot;&lt;/span&gt; $&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(127, 0, 127);"&gt;&amp;quot;Network;InstantMessaging;Telephony&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;#Fix for no sound notifications&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; dosym /opt/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; /usr/share/$&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;PN&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# TODO: Optional configuration of callto:// in KDE, Mozilla and friends&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(173, 173, 173); font-style: italic;"&gt;# doexe skype-callto-handler&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;/div&gt; &lt;a name='cutid1-end'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;b&gt;UPD&lt;/b&gt;: я зря старался, все лечится с помощью строки в /etc/portage/profile/use.force: &lt;div class="bash"&gt;net-im/skype -qt-static&lt;/div&gt; Спасибо за подсказку&amp;nbsp;&lt;span style="white-space: nowrap;" lj:user="dimonbb" class="ljuser ljuser-name_dimonbb"&gt;&lt;span class='ljuser ljuser-name_dimonbb' lj:user='dimonbb' style='white-space:nowrap'&gt;&lt;a href='http://dimonbb.livejournal.com/profile'&gt;&lt;img src='http://l-stat.livejournal.com/img/userinfo.gif?v=87.3' alt='[info]' width='16' height='16' style='vertical-align: bottom; border: 0; padding-right: 1px;'/&gt;&lt;/a&gt;&lt;a href='http://dimonbb.livejournal.com/'&gt;&lt;b&gt;dimonbb&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/QliOIVRlN18" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/2419.html</comments>
  <category>ebuild</category>
  <category>skype</category>
  <category>qt</category>
  <category>gentoo</category>
  <lj:security>public</lj:security>
  <lj:reply-count>3</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/2419.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/2201.html</guid>
  <pubDate>Mon, 11 Jan 2010 10:14:43 GMT</pubDate>
  <title>Утилита для быстрого создания дампа базы Magento</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/0o_MYHtXopg/2201.html</link>
  <description>По долгу службы мне приходится часто делать дампы баз многочисленных установленных копий Magento.&lt;br /&gt;Руками это делать довольно утомительно, так как приходится исключать из дампа самые большие по количеству данных таблицы со статистикой. Чтобы облегчить себе жизнь, написал небольшую консольную утилиту.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="bash" style="font-family: monospace; color: #000000;"&gt;&lt;span style="color: #808080; font-style: italic;"&gt;#!/bin/bash&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;usage&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;cat &amp;lt;&amp;lt; EOF&lt;br /&gt;usage: $&lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt; options&lt;br /&gt;&lt;br /&gt;This script dumps magento database &lt;br /&gt;excluding statistics&lt;br /&gt;&lt;br /&gt;$&lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt; -d magento -f dump&lt;br /&gt;&lt;br /&gt;will cause writing to dump.sql.bz2 with contents of &lt;span style="color: #ff0000;"&gt;&amp;quot;magento&amp;quot;&lt;/span&gt; DB&lt;br /&gt;&lt;br /&gt;OPTIONS &lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;required&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;:&lt;br /&gt;&amp;nbsp; &amp;nbsp;-d&amp;nbsp; &amp;nbsp; &amp;nbsp; database name&lt;br /&gt;&amp;nbsp; &amp;nbsp;-f&amp;nbsp; &amp;nbsp; &amp;nbsp; file prefix to dump&lt;br /&gt;&lt;br /&gt;OPTIONS &lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;optional&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;:&lt;br /&gt;&amp;nbsp; &amp;nbsp;-h&amp;nbsp; &amp;nbsp; &amp;nbsp; msyql host &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;localhost by default&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;-u&amp;nbsp; &amp;nbsp; &amp;nbsp; mysql user &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;root by default&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;-p&amp;nbsp; &amp;nbsp; &amp;nbsp; password&amp;nbsp; &amp;nbsp;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;empty by default&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;-s&amp;nbsp; &amp;nbsp; &amp;nbsp; show &lt;span style="color: #000066;"&gt;command&lt;/span&gt; only, not execute&lt;br /&gt;&amp;nbsp; &amp;nbsp;-t&amp;nbsp; &amp;nbsp; &amp;nbsp; log tables prefix &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;empty by default&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;EOF&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;DB_HOST=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;localhost&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;DB_USER=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;root&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;DB_PASS=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;DB_NAME=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;SHOW_ONLY=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;OUT_FILE=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;TABLE_PREFIX=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;while&lt;/span&gt; &lt;span style="color: #000066;"&gt;getopts&lt;/span&gt; “t:f:u:p:d:h:s” OPTION&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;do&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;$OPTION&lt;/span&gt; &lt;span style="color: #b1b100;"&gt;in&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; s&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &lt;span style="color: #0000ff;"&gt;SHOW_ONLY=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;true&amp;quot;&lt;/span&gt; ;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;h&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &lt;span style="color: #0000ff;"&gt;DB_HOST=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$OPTARG&lt;/span&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;u&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &lt;span style="color: #0000ff;"&gt;DB_USER=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$OPTARG&lt;/span&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &lt;span style="color: #0000ff;"&gt;DB_PASS=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$OPTARG&lt;/span&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;d&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &lt;span style="color: #0000ff;"&gt;DB_NAME=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$OPTARG&lt;/span&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;f&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &lt;span style="color: #0000ff;"&gt;OUT_FILE=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$OPTARG&lt;/span&gt; ;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;t&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; &lt;span style="color: #0000ff;"&gt;TABLE_PREFIX=&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;$OPTARG&lt;/span&gt; ;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;?&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #000066;"&gt;exit&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #b1b100;"&gt;esac&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt; -z &lt;span style="color: #0000ff;"&gt;$DB_NAME&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; || &lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt; -z &lt;span style="color: #0000ff;"&gt;$OUT_FILE&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;then&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;usage&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #000066;"&gt;exit&lt;/span&gt; &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;PASS_PART=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt; ! -z &lt;span style="color: #0000ff;"&gt;$DB_PASS&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; &lt;br /&gt;&lt;span style="color: #b1b100;"&gt;then&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;PASS_PART=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;--password=$DB_PASS&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;COMMON=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;mysqldump ${DB_NAME} -h ${DB_HOST} --user=${DB_USER} ${PASS_PART}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;SKIPPED_TABLES=&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;log_url_info&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;log_visitor&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;log_visitor_info&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;log_url&amp;quot;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;report_event&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;CMD=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;${COMMON}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #0000ff;"&gt;CMD2=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;${COMMON} -d --tables &amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;for&lt;/span&gt; table &lt;span style="color: #b1b100;"&gt;in&lt;/span&gt; $&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;SKIPPED_TABLES&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;@&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;do&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;CMD=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;$CMD --ignore-table=${DB_NAME}.${TABLE_PREFIX}${table}&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;CMD2=&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;$CMD2 ${TABLE_PREFIX}${table}&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt; ! -z &lt;span style="color: #0000ff;"&gt;$SHOW_ONLY&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;then&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000066;"&gt;echo&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;$CMD &amp;gt; $OUT_FILE.sql&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000066;"&gt;echo&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;$CMD2 &amp;gt;&amp;gt; $OUT_FILE.sql&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000066;"&gt;echo&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;bzip2 $OUT_FILE.sql&amp;quot;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style="color: #b1b100;"&gt;else&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$CMD&lt;/span&gt; &amp;gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;$OUT_FILE.sql&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #0000ff;"&gt;$CMD2&lt;/span&gt; &amp;gt;&amp;gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;$OUT_FILE.sql&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bzip2 &lt;span style="color: #ff0000;"&gt;&amp;quot;$OUT_FILE.sql&amp;quot;&lt;/span&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ls -lash &lt;span style="color: #ff0000;"&gt;&amp;quot;$OUT_FILE.sql.bz2&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;fi&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #808080; font-style: italic;"&gt;#&lt;br /&gt;&lt;a name='cutid1-end'&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/0o_MYHtXopg" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/2201.html</comments>
  <category>magento</category>
  <category>bash</category>
  <category>mysql</category>
  <category>mysqldump</category>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/2201.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/1873.html</guid>
  <pubDate>Sat, 09 Jan 2010 00:25:07 GMT</pubDate>
  <title>Greasemonkey + jQuery</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/pMghxelXc98/1873.html</link>
  <description>Экспериментировал с расширением GreaseMonkey для Firefox, чтобы прикрутить к пользовательскому скрипту jQuery.&lt;br /&gt;Написал следующий каркас для скрипта:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: monospace; color: rgb(0, 0, 0);" class="javascript"&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// ==UserScript==&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// @name&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Generic.script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// @namespace&amp;nbsp; &amp;nbsp; &amp;nbsp; Generic.script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// @description&amp;nbsp; &amp;nbsp; Generic.script&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// @include&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;// ==/UserScript==&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;jQuery = &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; instance: &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;null&lt;/span&gt;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; get: &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;return&lt;/span&gt; jQuery.&lt;span style="color: rgb(0, 102, 0);"&gt;instance&lt;/span&gt;;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loadInto: &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;callback&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;typeof&lt;/span&gt; unsafeWindow.&lt;span style="color: rgb(0, 102, 0);"&gt;jQuery&lt;/span&gt; !== &lt;span style="color: rgb(51, 102, 204);"&gt;'undefined'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;return&lt;/span&gt; callback&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;unsafeWindow.&lt;span style="color: rgb(0, 102, 0);"&gt;jQuery&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;jQuery.&lt;span style="color: rgb(0, 102, 0);"&gt;instance&lt;/span&gt; !== &lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;null&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;return&lt;/span&gt; callback&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;unsafeWindow.&lt;span style="color: rgb(0, 102, 0);"&gt;jQuery&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jQuery.&lt;span style="color: rgb(0, 102, 0);"&gt;instance&lt;/span&gt; = document.&lt;span style="color: rgb(0, 102, 0);"&gt;createElement&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'script'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jQuery.&lt;span style="color: rgb(0, 102, 0);"&gt;instance&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;src&lt;/span&gt; = &lt;span style="color: rgb(51, 102, 204);"&gt;'http://jquery.com/src/jquery-latest.js'&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jQuery.&lt;span style="color: rgb(0, 102, 0);"&gt;instance&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;type&lt;/span&gt; = &lt;span style="color: rgb(51, 102, 204);"&gt;'text/javascript'&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.&lt;span style="color: rgb(0, 102, 0);"&gt;getElementsByTagName&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(51, 102, 204);"&gt;'head'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;appendChild&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;jQuery.&lt;span style="color: rgb(0, 102, 0);"&gt;instance&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;if&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;typeof&lt;/span&gt; unsafeWindow.&lt;span style="color: rgb(0, 102, 0);"&gt;jQuery&lt;/span&gt; == &lt;span style="color: rgb(51, 102, 204);"&gt;'undefined'&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; window.&lt;span style="color: rgb(0, 102, 0);"&gt;setTimeout&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;arguments.&lt;span style="color: rgb(0, 102, 0);"&gt;callee&lt;/span&gt;,&lt;span style="color: rgb(204, 0, 0);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;else&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; callback&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;unsafeWindow.&lt;span style="color: rgb(0, 102, 0);"&gt;jQuery&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;jQuery.&lt;span style="color: rgb(0, 102, 0);"&gt;loadInto&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 51, 102); font-weight: bold;"&gt;function&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;$&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: rgb(0, 153, 0); font-style: italic;"&gt;//alert($);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/pMghxelXc98" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/1873.html</comments>
  <category>jquery</category>
  <category>javascript</category>
  <category>greasemonkey</category>
  <lj:security>public</lj:security>
  <lj:reply-count>2</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/1873.html</feedburner:origLink></item>
<item>
  <guid isPermaLink="false">http://lamskoy.livejournal.com/1714.html</guid>
  <pubDate>Sun, 20 Dec 2009 21:57:35 GMT</pubDate>
  <title>Приручение pulseaudio и alsa</title>
  <link>http://feedproxy.google.com/~r/lamskoy/~3/4g7VShgWTUE/1714.html</link>
  <description>Начнем с предыстории. Я долго возился с разными desktop environment-ами под Gentoo, при этом Gnome оставался установленным в системе.&lt;br /&gt;&lt;br /&gt;Когда наконец мой выбор пал на Xfce, я решил снести к едреной фене всю обвязку Gnome. Сказано-сделано, Gnome убит, пакеты вычищены, система пересобрана с USE="-gnome", Xfce установлен.&lt;br /&gt;&lt;br /&gt;Напоролся на проблему со звуком - Skype отказывался воспроизводить звуки через pulseaudio, когда в это время работал mplayer.&lt;br /&gt;При использовании Gnome этого не наблюдалось, видимо его процессы делают особую уличную магию для этого :)&lt;br /&gt;&lt;br /&gt;Погуглив и почитав суть проблемы, решил сделать так, чтобы все ALSA-приложения слали звук на pulseaudio по умолчанию.&lt;br /&gt;Спасибо толковому мануалу по PulseAudio: &lt;a href='http://www.pulseaudio.org/wiki/PerfectSetup' rel='nofollow'&gt;http://www.pulseaudio.org/wiki/PerfectSetup&lt;/a&gt;&lt;br /&gt;Создаем/правим файл /etc/asound.conf:&lt;br /&gt;&lt;div class="bash"&gt;&lt;br /&gt;pcm.pulse {&lt;br /&gt;    type pulse&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;ctl.pulse {&lt;br /&gt;    type pulse&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;pcm.!default {&lt;br /&gt;   type pulse&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#ctl.!default {&lt;br /&gt;#    type pulse&lt;br /&gt;#}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;По мануалу PulseAudio этого должно хватить. &lt;br /&gt;Однако с snd_hda_intel есть проблемы с автоопределением устройств через edev/hal&lt;br /&gt;Поэтому настраиваем дополнительно pulseaudio - лезем в /etc/pulse/default.pa&lt;br /&gt;&lt;br /&gt;Комментируем строки:&lt;br /&gt;&lt;br /&gt;&lt;div class="bash"&gt;### Automatically load driver modules depending on the hardware available&lt;br /&gt;#.ifexists module-udev-detect.so&lt;br /&gt;#load-module module-udev-detect&lt;br /&gt;#.else&lt;br /&gt;### Alternatively use the static hardware detection module (for systems that&lt;br /&gt;### lack udev support)&lt;br /&gt;#load-module module-detect&lt;br /&gt;#.endif&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;И добавляем:&lt;br /&gt;&lt;div class="bash"&gt;load-module module-alsa-sink device=hw:0&lt;br /&gt;load-module module-alsa-source device=hw:0&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Также необходимо собрать (если еще не собран) пакет alsa-plugins с поддержкой pulseaudio.&lt;br /&gt;&lt;br /&gt;После всего вышеперечисленного лучше перезапустить систему.&lt;img src="http://feeds.feedburner.com/~r/lamskoy/~4/4g7VShgWTUE" height="1" width="1"/&gt;</description>
  <comments>http://lamskoy.livejournal.com/1714.html</comments>
  <lj:security>public</lj:security>
  <lj:reply-count>0</lj:reply-count>
<feedburner:origLink>http://lamskoy.livejournal.com/1714.html</feedburner:origLink></item>
</channel>
</rss>

