<?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"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Karlkori.name</title>
	
	<link>http://karlkori.name</link>
	<description />
	<lastBuildDate>Wed, 16 May 2012 14:10:57 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Karlkori" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="karlkori" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Karlkori</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Отключить показ обновлений Вордпрес для не администраторов</title>
		<link>http://karlkori.name/snippets/otklyuchit-pokaz-obnovlenij-vordpres-dlya-ne-administratorov/</link>
		<comments>http://karlkori.name/snippets/otklyuchit-pokaz-obnovlenij-vordpres-dlya-ne-administratorov/#comments</comments>
		<pubDate>Mon, 09 Apr 2012 14:29:09 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Снипеты]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=102</guid>
		<description><![CDATA[Установить плагин: Disable WordPress Core Updates Либо в файл functions.php добавить код (взят с плагина): &#60;?php if ( !current_user_can('administrator') ) { # для версий 2.3 - 2.7: add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 ); add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) ); # 2.8 - 3.0: remove_action( 'wp_version_check', 'wp_version_check' ); remove_action( [...]]]></description>
			<content:encoded><![CDATA[<p>Установить плагин: <a href="http://wordpress.org/extend/plugins/disable-wordpress-core-update/" title="Disable WordPress Core Updates">Disable WordPress Core Updates</a><br />
Либо в файл <em>functions.php</em> добавить код (взят с плагина):</p>
<pre class="php">
<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span>
<span class="phpKeyword">
if </span><span class="phpOperator">(</span> <span class="phpOperator">!</span>current_user_can<span class="phpOperator">(</span><span class="phpString">'administrator'</span><span class="phpOperator">)</span> <span class="phpOperator">)</span> <span class="phpOperator">{</span>
  # для версий <span class="phpNumber">2</span><span class="phpOperator">.</span><span class="phpNumber">3</span> - <span class="phpNumber">2</span><span class="phpOperator">.</span><span class="phpNumber">7</span><span class="phpOperator">:</span>
  add_action<span class="phpOperator">(</span> <span class="phpString">'init'</span>, <span class="phpFunction">create_<span class="phpFunctionKeyword">function</span></span><span class="phpOperator">(</span> <span class="phpString">'$a'</span>, <span class="phpString">"remove_action<span class="phpOperator">(</span> <span class="phpString">'init'</span>, <span class="phpString">'wp_version_check'</span> <span class="phpOperator">)</span><span class="phpText">;</span>"</span> <span class="phpOperator">)</span>, <span class="phpNumber">2</span> <span class="phpOperator">)</span><span class="phpText">;</span>
  add_filter<span class="phpOperator">(</span> <span class="phpString">'pre_option_update_core'</span>, <span class="phpFunction">create_<span class="phpFunctionKeyword">function</span></span><span class="phpOperator">(</span> <span class="phpString">'$a'</span>, <span class="phpString"><span class="phpKeyword">"return </span>null;"</span> <span class="phpOperator">)</span> <span class="phpOperator">)</span><span class="phpText">;</span>
  # <span class="phpNumber">2</span><span class="phpOperator">.</span><span class="phpNumber">8</span> - <span class="phpNumber">3</span><span class="phpOperator">.</span><span class="phpNumber">0</span><span class="phpOperator">:</span>
  remove_action<span class="phpOperator">(</span> <span class="phpString">'wp_version_check'</span>, <span class="phpString">'wp_version_check'</span> <span class="phpOperator">)</span><span class="phpText">;</span>
  remove_action<span class="phpOperator">(</span> <span class="phpString">'admin_init'</span>, <span class="phpString">'_maybe_update_core'</span> <span class="phpOperator">)</span><span class="phpText">;</span>
  add_filter<span class="phpOperator">(</span> <span class="phpString">'pre_transient_update_core'</span>, <span class="phpFunction">create_<span class="phpFunctionKeyword">function</span></span><span class="phpOperator">(</span> <span class="phpString">'$a'</span>, <span class="phpString"><span class="phpKeyword">"return </span>null;"</span> <span class="phpOperator">)</span> <span class="phpOperator">)</span><span class="phpText">;</span>
  # <span class="phpNumber">3</span><span class="phpOperator">.</span><span class="phpNumber">0</span><span class="phpOperator">:</span>
  add_filter<span class="phpOperator">(</span> <span class="phpString">'pre_site_transient_update_core'</span>, <span class="phpFunction">create_<span class="phpFunctionKeyword">function</span></span><span class="phpOperator">(</span> <span class="phpString">'$a'</span>, <span class="phpString"><span class="phpKeyword">"return </span>null;"</span> <span class="phpOperator">)</span> <span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/snippets/otklyuchit-pokaz-obnovlenij-vordpres-dlya-ne-administratorov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chmod. Выставляем правильные права на файлы и каталоги сайта</title>
		<link>http://karlkori.name/razrabotka/chmod-vystavlyaem-pravilnye-prava-na-fajly-i-katalogi-sajta/</link>
		<comments>http://karlkori.name/razrabotka/chmod-vystavlyaem-pravilnye-prava-na-fajly-i-katalogi-sajta/#comments</comments>
		<pubDate>Sat, 17 Mar 2012 17:05:26 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Разработка]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=74</guid>
		<description><![CDATA[Как просмотреть права на файлы: ls -lA ~/sites/domains/site/ или в восьмеричном виде stat -c '%a %n' ~/sites/domains/site/ Какие права выставлять на каталоги и файлы сайтов: 755 для всех каталогов, в которых должны записываться файлы, но не надо регулярно их стирать 777 для каталогов, в которые должны записываться и стираться файлы (например, каталог кеша) 644 для [...]]]></description>
			<content:encoded><![CDATA[<h2>Как просмотреть права на файлы:</h2>
<pre class="">
ls -lA ~/sites/domains/site/
</pre>
<p>или в восьмеричном виде</p>
<pre class="">
stat -c '%a %n' ~/sites/domains/site/
</pre>
<h2>Какие права выставлять на каталоги и файлы сайтов:</h2>
<table class="table table-bordered">
<tr>
<td>755</td>
<td>для всех каталогов, в которых должны записываться файлы, но не надо регулярно их стирать</td>
</tr>
<tr>
<td>777</td>
<td>для каталогов, в которые должны записываться и стираться файлы (например, каталог кеша)</td>
</tr>
<tr>
<td>644</td>
<td>для простых файлов, используемых только для чтения (.html, .php и др.)</td>
</tr>
<tr>
<td>666</td>
<td>для файлы в которые может понадобится осуществлять запись (например, sitemap.xml)</td>
</tr>
</table>
<h2>Как быстро назначить права 755 на все папки и 644 на все файлы рекурсивно:</h2>
<pre class="">
chmod -R u=rw,g=r,o=r,a+X ~/sites/domains/site/
</pre>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/razrabotka/chmod-vystavlyaem-pravilnye-prava-na-fajly-i-katalogi-sajta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Простая модель для базы данных в Codeigniter</title>
		<link>http://karlkori.name/codeigniter/prostaya-model-dlya-bazy-dannyx-v-codeigniter/</link>
		<comments>http://karlkori.name/codeigniter/prostaya-model-dlya-bazy-dannyx-v-codeigniter/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 15:08:55 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=73</guid>
		<description><![CDATA[Пример простой модели с методами для основных операций по работе з базой данных. CRUD = Create Read Update Delete Вполне естественно если этих методов вам будет не хватать при разработке приложения, тогда вы сможете просто розширить классы наследники, добавив все необходимые вам методы. Создаем файл Crud_Model.php в /application/models/ &#60;?php if ( ! defined('BASEPATH')) exit('No direct [...]]]></description>
			<content:encoded><![CDATA[<p>Пример простой модели с методами для основных операций по работе з базой данных.</p>
<div class="info_box">CRUD = Create Read Update Delete</div>
<p>Вполне естественно если этих методов вам будет не хватать при разработке приложения, тогда вы сможете просто розширить классы наследники, добавив все необходимые вам методы.<br />
<span id="more-73"></span><br />
Создаем файл Crud_Model.php в /application/models/</p>
<pre class="php">
<span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php<span class="phpKeyword"> if </span><span class="phpOperator">(</span> <span class="phpOperator">!</span> <span class="phpFunction">defined</span><span class="phpOperator">(</span><span class="phpString">'BASEPATH'</span><span class="phpOperator">)</span><span class="phpOperator">)</span> <span class="phpFunction">exit</span><span class="phpOperator">(</span><span class="phpString">'No direct script access allowed'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">class </span>Crud_Model<span class="phpKeyword"><span class="phpKeyword"> extends </span></span>CI_Model <span class="phpOperator">{</span>
   <span class="phpKeyword"> var </span>$table <span class="phpOperator">=</span> <span class="phpString">""</span><span class="phpText">;</span>
    <span class="phpFunctionKeyword">function</span> __construct<span class="phpOperator">(</span><span class="phpOperator">)</span>
    <span class="phpOperator">{</span>
        parent<span class="phpOperator">:</span><span class="phpOperator">:</span>__construct<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
        <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>load<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>database<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
    <span class="phpOperator">}</span>
    <span class="phpFunctionKeyword">function</span> insert<span class="phpOperator">(</span>$data<span class="phpOperator">)</span>
    <span class="phpOperator">{</span>
        <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>insert<span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>table, $data<span class="phpOperator">)</span><span class="phpText">;</span>
       <span class="phpKeyword"> return </span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>insert_id<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
    <span class="phpOperator">}</span>
    <span class="phpFunctionKeyword">function</span> find_id<span class="phpOperator">(</span>$id<span class="phpOperator">)</span>
    <span class="phpOperator">{</span>
       <span class="phpKeyword"> if </span><span class="phpOperator">(</span>$id <span class="phpOperator"><span class="phpOperator">=</span>=</span> NULL<span class="phpOperator">)</span>
        <span class="phpOperator">{</span>
           <span class="phpKeyword"> return </span>NULL<span class="phpText">;</span>
        <span class="phpOperator">}</span>
        <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>where<span class="phpOperator">(</span><span class="phpString">'id'</span>, $id<span class="phpOperator">)</span><span class="phpText">;</span>
        $query <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>get<span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>table<span class="phpOperator">)</span><span class="phpText">;</span>
        $result <span class="phpOperator">=</span> $query<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>result_array<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
       <span class="phpKeyword"> return </span><span class="phpOperator">(</span><span class="phpFunction">count</span><span class="phpOperator">(</span>$result<span class="phpOperator">)</span> <span class="phpOperator">&gt;</span> <span class="phpNumber">0</span> <span class="phpOperator">?</span> $result<span class="phpOperator">[</span><span class="phpNumber">0</span><span class="phpOperator">]</span> <span class="phpOperator">:</span> NULL<span class="phpOperator">)</span><span class="phpText">;</span>
    <span class="phpOperator">}</span>
    <span class="phpFunctionKeyword">function</span> find_all<span class="phpOperator">(</span>$sort <span class="phpOperator">=</span> <span class="phpString">'id'</span>, $order <span class="phpOperator">=</span> <span class="phpString">'asc'</span><span class="phpOperator">)</span>
    <span class="phpOperator">{</span>
        <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>order_by<span class="phpOperator">(</span>$sort, $order<span class="phpOperator">)</span><span class="phpText">;</span>
        $query <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>get<span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>table<span class="phpOperator">)</span><span class="phpText">;</span>
       <span class="phpKeyword"> return </span>$query<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>result_array<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
    <span class="phpOperator">}</span>
    <span class="phpFunctionKeyword">function</span> update<span class="phpOperator">(</span>$id, $data<span class="phpOperator">)</span>
    <span class="phpOperator">{</span>
        <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>where<span class="phpOperator">(</span><span class="phpString">'id'</span>, $id<span class="phpOperator">)</span><span class="phpText">;</span>
        <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>update<span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>table, $data<span class="phpOperator">)</span><span class="phpText">;</span>
    <span class="phpOperator">}</span>
    <span class="phpFunctionKeyword">function</span> <span class="phpFunction">delete</span><span class="phpOperator">(</span>$id<span class="phpOperator">)</span>
    <span class="phpOperator">{</span>
       <span class="phpKeyword"> if </span><span class="phpOperator">(</span>$id <span class="phpOperator">!</span><span class="phpOperator">=</span> NULL<span class="phpOperator">)</span>
        <span class="phpOperator">{</span>
            <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>where<span class="phpOperator">(</span><span class="phpString">'id'</span>, $id<span class="phpOperator">)</span><span class="phpText">;</span>
            <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>db<span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="phpFunction">delete</span><span class="phpOperator">(</span><span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>table<span class="phpOperator">)</span><span class="phpText">;</span>
        <span class="phpOperator">}</span>
    <span class="phpOperator">}</span>
<span class="phpOperator">}</span>
</pre>
<p>Затем все последующий модели наследуем от Crud_Model, например:</p>
<pre class="php">
<span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php
<span class="phpKeyword">class </span>Book<span class="phpKeyword"><span class="phpKeyword"> extends </span></span>Crud_Model <span class="phpOperator">{</span>
    <span class="phpFunctionKeyword">function</span> __construct<span class="phpOperator">(</span><span class="phpOperator">)</span>
    <span class="phpOperator">{</span>
	parent<span class="phpOperator">:</span><span class="phpOperator">:</span>__construct<span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
	<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>table <span class="phpOperator">=</span> <span class="phpString">'book'</span><span class="phpText">;</span>
    <span class="phpOperator">}</span>
<span class="phpOperator">}</span>
</pre>
<p>Затем в контроллере можно писать так:<br />
<em>Вставка данных</em></p>
<pre class="php">
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>load<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>model<span class="phpOperator">(</span><span class="phpString">'book'</span><span class="phpOperator">)</span><span class="phpText">;</span>
$book <span class="phpOperator">=</span> <span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpOperator">)</span><span class="phpText">;</span>
$book<span class="phpOperator">[</span><span class="phpString">'title'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'The Black Dahlia'</span><span class="phpText">;</span>
$book<span class="phpOperator">[</span><span class="phpString">'author'</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">'James Ellroy'</span><span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>book<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>insert<span class="phpOperator">(</span>$book<span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p><em>Получение одной строки данных</em></p>
<pre class="php">
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>load<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>model<span class="phpOperator">(</span><span class="phpString">'book'</span><span class="phpOperator">)</span><span class="phpText">;</span>
$book <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>book<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>find_id<span class="phpOperator">(</span><span class="phpString">'47'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpFunction">echo</span> $book<span class="phpOperator">[</span><span class="phpString">'title'</span><span class="phpOperator">]</span><span class="phpText">;</span>
</pre>
<p><em>Получение отсортированного массива данных</em></p>
<pre class="php">
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>load<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>model<span class="phpOperator">(</span><span class="phpString">'book'</span><span class="phpOperator">)</span><span class="phpText">;</span>
$book_list <span class="phpOperator">=</span> <span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>book<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>find_all<span class="phpOperator">(</span><span class="phpString">'title'</span>, <span class="phpString">'asc'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpKeyword">
foreach </span><span class="phpOperator">(</span>$book_list<span class="phpKeyword"> as </span>book<span class="phpOperator">)</span>
<span class="phpOperator">{</span>
    <span class="phpFunction">echo</span> $book<span class="phpOperator">[</span><span class="phpString">'title'</span><span class="phpOperator">]</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
</pre>
<p><em>Удаление</em></p>
<pre class="php">
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>load<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>model<span class="phpOperator">(</span><span class="phpString">'book'</span><span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpScriptVar">$this</span><span class="phpOperator">-<span class="phpOperator">&gt;</span></span>book<span class="phpOperator">-<span class="phpOperator">&gt;</span></span><span class="phpFunction">delete</span><span class="phpOperator">(</span><span class="phpString">'47'</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>Подсмотрено здесь: <a href="http://maestric.com/doc/php/codeigniter_models" title="http://maestric.com/doc/php/codeigniter_models">http://maestric.com/doc/php/codeigniter_models</a></p>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/codeigniter/prostaya-model-dlya-bazy-dannyx-v-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Настраиваем поиск по блогу</title>
		<link>http://karlkori.name/snippets/nastraivaem-poisk-po-blogu/</link>
		<comments>http://karlkori.name/snippets/nastraivaem-poisk-po-blogu/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 11:35:38 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Снипеты]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=64</guid>
		<description><![CDATA[Поиск только по определенным типам постов (feeds, podcasts). Добавляем код в файл functions.php function SearchFilter($query) { if ($query-&#62;is_search) { $query-&#62;set('post_type', array('feeds', 'podcasts')); } return $query; } add_filter('pre_get_posts','SearchFilter'); Поиск по определенным рубрикам (рубрики с ID 8,9,12) function SearchFilter($query) { if ($query-&#62;is_search) { $query-&#62;set('cat', '8,9,12'); } return $query; } add_filter('pre_get_posts','SearchFilter');]]></description>
			<content:encoded><![CDATA[<p>Поиск только по определенным типам постов (feeds, podcasts).<br />
Добавляем код в файл functions.php</p>
<pre class="php">
<span class="phpFunctionKeyword">function</span> SearchFilter<span class="phpOperator">(</span>$query<span class="phpOperator">)</span> <span class="phpOperator">{</span>
 <span class="phpKeyword"> if </span><span class="phpOperator">(</span>$query<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>is_search<span class="phpOperator">)</span> <span class="phpOperator">{</span>
    $query<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>set<span class="phpOperator">(</span><span class="phpString">'post_type'</span>, <span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpString">'feeds'</span>, <span class="phpString">'podcasts'</span><span class="phpOperator">)</span><span class="phpOperator">)</span><span class="phpText">;</span>
  <span class="phpOperator">}</span>
 <span class="phpKeyword"> return </span>$query<span class="phpText">;</span>
<span class="phpOperator">}</span>
add_filter<span class="phpOperator">(</span><span class="phpString">'pre_get_posts'</span>,<span class="phpString">'SearchFilter'</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>Поиск по определенным рубрикам (рубрики с ID 8,9,12)</p>
<pre class="php">
<span class="phpFunctionKeyword">function</span> SearchFilter<span class="phpOperator">(</span>$query<span class="phpOperator">)</span> <span class="phpOperator">{</span>
 <span class="phpKeyword"> if </span><span class="phpOperator">(</span>$query<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>is_search<span class="phpOperator">)</span> <span class="phpOperator">{</span>
    $query<span class="phpOperator">-<span class="phpOperator">&gt;</span></span>set<span class="phpOperator">(</span><span class="phpString">'cat'</span>, <span class="phpString">'<span class="phpNumber">8</span>,9,12'</span><span class="phpOperator">)</span><span class="phpText">;</span>
  <span class="phpOperator">}</span>
 <span class="phpKeyword"> return </span>$query<span class="phpText">;</span>
<span class="phpOperator">}</span>
add_filter<span class="phpOperator">(</span><span class="phpString">'pre_get_posts'</span>,<span class="phpString">'SearchFilter'</span><span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/snippets/nastraivaem-poisk-po-blogu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>0day уязвимость в темах WordPress</title>
		<link>http://karlkori.name/wp/0day-uyazvimost-v-temax-wordpress/</link>
		<comments>http://karlkori.name/wp/0day-uyazvimost-v-temax-wordpress/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 10:11:53 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Вордпрес]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=61</guid>
		<description><![CDATA[Утилита для ресайза изображений timthumb.php, поставляемая со многими темами WordPress, уязвима к загрузке произвольного PHP-кода. Поиск Google говорит о наличии 39 миллионов таких скриптов в Сети. Утилита недостаточно проверяет передаваемые параметры, в результате чего у злоумышленников появляется возможность загрузить произвольный скрипт в директорию на сервере. В конфигурационном файле для скрипта определены домены, с которых ему [...]]]></description>
			<content:encoded><![CDATA[<p>Утилита для ресайза изображений timthumb.php, поставляемая со многими темами WordPress, уязвима к загрузке произвольного PHP-кода. Поиск Google говорит о наличии 39 миллионов таких скриптов в Сети.</p>
<p>Утилита недостаточно проверяет передаваемые параметры, в результате чего у злоумышленников появляется возможность загрузить произвольный скрипт в директорию на сервере.<br />
<span id="more-61"></span><br />
В конфигурационном файле для скрипта определены домены, с которых ему разрешено получать изображения:</p>
<pre class="php">
$allowedSites <span class="phpOperator">=</span> <span class="phpFunction">array</span> <span class="phpOperator">(</span>
<span class="phpString">'flickr.com'</span>,
<span class="phpString">'picasa.com'</span>,
<span class="phpString">'blogger.com'</span>,
<span class="phpString">'wordpress<span class="phpOperator">.</span>com'</span>,
<span class="phpString">'img<span class="phpOperator">.</span>youtube.com'</span>,
<span class="phpString">'upload<span class="phpOperator">.</span>wikimedia.org'</span>,
<span class="phpString">'photobucket.com'</span>,
<span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
<p>Однако ошибка в коде проверки допускает загрузку с произвольных сайтов, лишь содержащих такие поддомены четвертого или больше уровней. </p>
<p>Например: http://blogger.com.somebadhackersite.com/badscript.php</p>
<h2>Как узнать использует ли ваша тема timthumb.php ?</h2>
<p>Просто зайдите в папку с вашей активной темой и поищите там этот файл, если такой есть то замените его на новую версию.</p>
<p>Скачать обновленную версию скрипта можно с репозитория Google Code <a href="http://code.google.com/p/timthumb/source/browse/trunk/timthumb.php">timthumb</a></p>
<div class='ref'>Источник: <a href='http://xakep.ru/56374/'>xakep.ru</a></div>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/wp/0day-uyazvimost-v-temax-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Устанавливаем интервал для автосохранения</title>
		<link>http://karlkori.name/snippets/ustanavlivaem-interval-dlya-avtosoxraneniya/</link>
		<comments>http://karlkori.name/snippets/ustanavlivaem-interval-dlya-avtosoxraneniya/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 10:02:22 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Снипеты]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=60</guid>
		<description><![CDATA[Добавляем код в wp-config.php. Число 200 &#8212; интервал в секундах между автосохранениями. define('AUTOSAVE_INTERVAL', 200);]]></description>
			<content:encoded><![CDATA[<p>Добавляем код в wp-config.php. Число 200 &#8212; интервал в секундах между автосохранениями.</p>
<pre class="php">
<span class="phpFunction">define</span><span class="phpOperator">(</span><span class="phpString">'AUTOSAVE_INTERVAL'</span>, 200<span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/snippets/ustanavlivaem-interval-dlya-avtosoxraneniya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Защищенная админка с SSL</title>
		<link>http://karlkori.name/snippets/zashhishhennaya-adminka-s-ssl/</link>
		<comments>http://karlkori.name/snippets/zashhishhennaya-adminka-s-ssl/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 09:12:30 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Снипеты]]></category>
		<category><![CDATA[wp-config.php]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=59</guid>
		<description><![CDATA[Работаем в админке Вордпреса по защищенному протоколу SSL. Для входа используем адрес https://вашсайт/wp-admin/ Добавляем код в wp-config.php. define('FORCE_SSL_ADMIN', true);]]></description>
			<content:encoded><![CDATA[<p>Работаем в админке Вордпреса по защищенному протоколу SSL.<br />
Для входа используем адрес <strong>https://вашсайт/wp-admin/</strong><br />
Добавляем код в <em>wp-config.php</em>.</p>
<pre class="php">
<span class="phpFunction">define</span><span class="phpOperator">(</span><span class="phpString">'FORCE_SSL_ADMIN'</span>,<span class="phpKeyword"> true<span class="phpOperator">)</span></span><span class="phpText">;</span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/snippets/zashhishhennaya-adminka-s-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отключить виджеты на конкретной странице</title>
		<link>http://karlkori.name/snippets/otklyuchit-vidzhety-na-konkretnoj-stranice/</link>
		<comments>http://karlkori.name/snippets/otklyuchit-vidzhety-na-konkretnoj-stranice/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 08:34:09 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Снипеты]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=58</guid>
		<description><![CDATA[Добавляем код в functions.php, который будет отключить виджеты на главной странице. Вы можете изменить условие is_home(), на is_page () и указать id нужной страницы или использовать другие условия проверки. &#60;?php add_filter( 'sidebars_widgets', 'disable_all_widgets' ); function disable_all_widgets( $sidebars_widgets ) { if ( is_home() ) $sidebars_widgets = array( false ); return $sidebars_widgets; } ?&#62;]]></description>
			<content:encoded><![CDATA[<p>Добавляем код в <em>functions.php</em>, который будет отключить виджеты на главной странице. Вы можете изменить условие <em>is_home()</em>, на  is_page () и указать id нужной страницы или использовать другие условия проверки.</p>
<pre class="php">
<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span>
add_filter<span class="phpOperator">(</span> <span class="phpString">'sidebars_widgets'</span>, <span class="phpString">'disable_all_widgets'</span> <span class="phpOperator">)</span><span class="phpText">;</span>
<span class="phpFunctionKeyword">function</span> disable_all_widgets<span class="phpOperator">(</span> $sidebars_widgets <span class="phpOperator">)</span> <span class="phpOperator">{</span>
 <span class="phpKeyword"> if </span><span class="phpOperator">(</span> is_home<span class="phpOperator">(</span><span class="phpOperator">)</span> <span class="phpOperator">)</span>
    $sidebars_widgets <span class="phpOperator">=</span> <span class="phpFunction">array</span><span class="phpOperator">(</span><span class="phpKeyword"> false </span><span class="phpOperator">)</span><span class="phpText">;</span>
 <span class="phpKeyword"> return </span>$sidebars_widgets<span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/snippets/otklyuchit-vidzhety-na-konkretnoj-stranice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Если виджеты в сайтбаре не активны</title>
		<link>http://karlkori.name/snippets/esli-vidzhety-v-sajtbare-ne-aktivny/</link>
		<comments>http://karlkori.name/snippets/esli-vidzhety-v-sajtbare-ne-aktivny/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 08:16:09 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Снипеты]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=56</guid>
		<description><![CDATA[Код для sidebar.php, проверяет если виджеты в сайтбаре неактивны то выводит информацию чтобы сайтбар не пустовал. &#60;?php if ( function_exists('is_sidebar_active') and is_sidebar_active('sidebar') ) { ?&#62; &#60;div id=&#34;sidebar&#34;&#62; &#60;ul&#62; &#60;?php dynamic_sidebar('sidebar'); ?&#62; &#60;/ul&#62; &#60;/div&#62; &#60;?php }else{ ?&#62; /*здесь код для вывода информации, если виджеты в сайтбаре отключены*/ &#60;?php } ?&#62;]]></description>
			<content:encoded><![CDATA[<p>Код для sidebar.php, проверяет если виджеты в сайтбаре неактивны то выводит информацию чтобы сайтбар не пустовал.</p>
<pre class="php">
<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span><span class="phpKeyword"> if </span><span class="phpOperator">(</span> <span class="phpFunction"><span class="phpFunctionKeyword">function</span>_exists</span><span class="phpOperator">(</span><span class="phpString">'is_sidebar_active'</span><span class="phpOperator">)</span> and is_sidebar_active<span class="phpOperator">(</span><span class="phpString">'sidebar'</span><span class="phpOperator">)</span> <span class="phpOperator">)</span> <span class="phpOperator">{</span> <span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
  &lt;div id=&quot;sidebar&quot;&gt;
    &lt;ul&gt;
      <span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span> dynamic_sidebar<span class="phpOperator">(</span><span class="phpString">'sidebar'</span><span class="phpOperator">)</span><span class="phpText">;</span> <span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
    &lt;/ul&gt;
  &lt;/div&gt;
<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span> <span class="phpKeyword"><span class="phpOperator">}</span>else<span class="phpOperator">{</span></span>  <span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
  /*здесь код для вывода информации,
  если виджеты в сайтбаре отключены*/
<span class="phpScriptTag"><span class="phpOperator">&lt;</span><span class="phpOperator">?</span>php</span> <span class="phpOperator">}</span> <span class="phpScriptTag"><span class="phpOperator">?</span><span class="phpOperator">&gt;</span></span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/snippets/esli-vidzhety-v-sajtbare-ne-aktivny/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Добавляем в библиотеку медиафайлов колонку с размерами картинок</title>
		<link>http://karlkori.name/snippets/dobavlyaem-v-biblioteku-mediafajlov-kolonku-s-razmerami-kartinok/</link>
		<comments>http://karlkori.name/snippets/dobavlyaem-v-biblioteku-mediafajlov-kolonku-s-razmerami-kartinok/#comments</comments>
		<pubDate>Wed, 27 Jul 2011 09:38:18 +0000</pubDate>
		<dc:creator>karlkori</dc:creator>
				<category><![CDATA[Снипеты]]></category>

		<guid isPermaLink="false">http://karlkori.name/?p=55</guid>
		<description><![CDATA[Добавляем код в файл functions.php и в разделе Медиафайлы/Библиотека в списке файлов появится новая колонка с их размерами. function wh_column( $cols ) { $cols["dimensions"] = "Размер ШxВ)"; return $cols; } function wh_value( $column_name, $id ) { $meta = wp_get_attachment_metadata($id); if(isset($meta['width'])) echo $meta['width'].' x '.$meta['height']; } add_filter( 'manage_media_columns', 'wh_column' ); add_action( 'manage_media_custom_column', 'wh_value', 10, 2 );]]></description>
			<content:encoded><![CDATA[<p>Добавляем код в файл functions.php и в разделе <em>Медиафайлы/Библиотека</em> в списке файлов появится новая колонка с их размерами.</p>
<pre class="php">
<span class="phpFunctionKeyword">function</span> wh_column<span class="phpOperator">(</span> $cols <span class="phpOperator">)</span> <span class="phpOperator">{</span>
  $cols<span class="phpOperator">[</span><span class="phpString">"dimensions"</span><span class="phpOperator">]</span> <span class="phpOperator">=</span> <span class="phpString">"Размер ШxВ<span class="phpOperator">)</span>"</span><span class="phpText">;</span>
 <span class="phpKeyword"> return </span>$cols<span class="phpText">;</span>
<span class="phpOperator">}</span>
<span class="phpFunctionKeyword">function</span> wh_value<span class="phpOperator">(</span> $column_name, $id <span class="phpOperator">)</span> <span class="phpOperator">{</span>
  $meta <span class="phpOperator">=</span> wp_get_attachment_metadata<span class="phpOperator">(</span>$id<span class="phpOperator">)</span><span class="phpText">;</span>
 <span class="phpKeyword"> if<span class="phpOperator">(</span></span><span class="phpFunction">isset</span><span class="phpOperator">(</span>$meta<span class="phpOperator">[</span><span class="phpString">'width'</span><span class="phpOperator">]</span><span class="phpOperator">)</span><span class="phpOperator">)</span>
    <span class="phpFunction">echo</span> $meta<span class="phpOperator">[</span><span class="phpString">'width'</span><span class="phpOperator">]</span>.<span class="phpString">' x '</span>.$meta<span class="phpOperator">[</span><span class="phpString">'height'</span><span class="phpOperator">]</span><span class="phpText">;</span>
<span class="phpOperator">}</span>
add_filter<span class="phpOperator">(</span> <span class="phpString">'manage_media_columns'</span>, <span class="phpString">'wh_column'</span> <span class="phpOperator">)</span><span class="phpText">;</span>
add_action<span class="phpOperator">(</span> <span class="phpString">'manage_media_custom_column'</span>, <span class="phpString">'wh_value'</span>, 10, <span class="phpNumber">2</span> <span class="phpOperator">)</span><span class="phpText">;</span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://karlkori.name/snippets/dobavlyaem-v-biblioteku-mediafajlov-kolonku-s-razmerami-kartinok/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

