file: functions.php
//Making jQuery Google API
function modify_jquery() {
if (!is_admin()) {
// comment out the next two lines to load the local copy of jQuery
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js', false, '1.8.1');
wp_enqueue_script('jquery');
}
}
add_action('init', 'modify_jquery');
замяна на текст във всички файлове(рекурсивно)
Пряспа -- Интересен проект
Исках да споделя един проект за компанията "Пряспа". Сайта е на три езика като админ панела е 100% custom т.е. написан изцяло за Пряспа.
Трите версии на сайта са независими т.е. разделени една от друга и с различни домейни , а именно: priaspa.com , en.priaspa.com , ru.priaspa.com което е по- красиво нали .. ? :) Секция блог също е на три езика и са разделени на три т.е. блог публикациите които са в английската версия са си само за там.
Идеята е, че публикациите за англоговорящите могат да бъдат различни от тези на руско говорящите и българо говорящите. Идеята е, че всяка националност има различно виждане за нещата :)
Премахване на facebook sharer cache
Проблема е следния: Имам едно url което искам да споделя във фейсбук обаче съм направил промени по съдържанието. Фейсбук не разбира(още не е разбрал, че има промени) и показва старото съдържание. Идеята е да кажем на фейсбук(веднага) да покаже новото съдържание т.е. да изтрием кеша(информацията) на фейсбук за съответното url.
Това се прави с debug-ера на фейсбук които е изключително полезен :
Намаляване на html output-а през php
Идеята е да се премахнат някои излишни байтове в output html през php
Без обяснения, а директно с пример:
<?php
ob_start();
echo "line 1
line 4
line 6
line 10";
$search = array(
'/\>[^\S ]+/s', //strip whitespaces after tags, except space
'/[^\S ]+\</s', //strip whitespaces before tags, except space
'/(\s)+/s' // shorten multiple whitespace sequences
);
$replace = array(
'>',
'<',
'\\1'
);
$output = ob_get_contents();
$output = preg_replace($search, $replace, $output);
ob_end_clean();
echo $output;exit;
?>
Вижда се, че вместо да се листнат 10 реда(в сорса разбира се) се листват 4 реда ;)
Копиране на таблица и нейното съдържание в MySQL
Как да разархивираме ZIP файл разбит на няколко части под Линукс
Имаме архивирана папка "site" разбита на 2 части от по 15 MB т.е. "site.z01" и "site.zip"
Когато опитаме обаче:
unzip site.z*;
Archive: site.z01
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip: cannot find zipfile directory in one of site.z01 or
site.z01.zip, and cannot find site.z01.ZIP, period.
За да се получи правим следното :) :
cat site.z* > combined.zip && unzip combined.zip;
Това е :)
Postfix + SPF Policy сървър (Debian)
apt-get update && apt-get install postfix-policyd-spf-perl -y
vim /etc/postfix/master.cf
…
policy-spf unix -- n n -- -- spawn
user=nobody argv=/usr/bin/perl /usr/sbin/postfix-policyd-spf-perl
vim /etc/postfix/main.cf
…
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,check_policy_service unix:private/policy-spf
…
Важно: check_policy_service да се намира непосредствено след permit_mynetworks
Prestashop- Order | Fatal error: Allowed memory size of XX bytes exhausted
Системата е prestashop и проблема е, че когато се направи поръчка (order) излиза бял екран (blank page). След debug(показване на грешките) се видя следното:
…
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32 bytes) in /home/arogans/public_html/classes/CartRule.php on line 263
…
Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 89 bytes) in /home/arogans/public_html/classes/db/DbPDO.php on line 101
…
Проблема очевидно е, че се ползва повече memory_limit от колкото е позволено. В този момент е позволено да се ползва 512 MB което не е никак малко.
Разгледах за решения от други колеги, но решението беше да се увеличи на повече. Пример: Имаме разрешен 128 MB memory_limit и за да решим проблема трябва да го увеличим на 256MB . До кога с това "решение" … ? Както и да е за мен това не е решение, а по- скоро задълбочаване на проблема.
Както и да е понеже не съм разцъквал особено prestashop направих следното(Изчистих следните таблици, че всяка таблица имаше няколко милиона реда):
truncate ps_connections;
truncate ps_connections_page;
truncate ps_connections_source;
truncate ps_guest;
truncate ps_pagenotfound;
truncate ps_page_viewed;
truncate ps_referrer_cache;
truncate ps_date_range;
Проблема не се оправи :), но все пак се оптимизира сайта и работи далеч по- бързо от преди;
Проблема се оказа в следното: В таблицата където са описани ваучерите имаше изкл. голям брой редове(автоматично се генерират от фейсбук приложение което явно е прекалило с броя ). За да се реши проблема тествах да премахна първо неактивните ваучери т.е. изтеклите:
delete FROM ps_cart_rule WHERE date_to < NOW();
, но това не помогна. За целта премахнах всички ваучери:
truncate ps_cart_rule;
Вярно е, че ваучерите ги няма, но всичко си работи. Сега ще се генерират наново НЕОБХОДИМИЯ БРОЙ ВАУЧЕРИ и всичко ще си е наред :)
PS: Не препоръчвам употребата на готови системи, но няма как те също имат предимстава… макар и не толкова колкото custom системите.
Електронни таблици- проверка за дублирани клетки
Идеята е, че имаме списък с имейл адреси и фирми , но понеже има вероятност да бъдат дублирани затова се налага да ги премахнем. За целта използваме openoffice.Казвам "електронни таблици" защото това не е excel, но да и в excel също ще работи :)
Може да се премахне през mysql, но тук става по- лесно защото не е въпроса просто да се махнат дублиращите , а да се определи кои ред ще остане като критериите не са особено ясни( т.е. не са известни всички вариации на колоните и затова се налага човешки интелект . Затова не може да се автоматизира така лесно).
Вместо куп обяснения, ще има малка шепа снимки:
Фиг. 1
Фиг. 2
Фиг. 3
Фиг. 4
Фиг. 5
Става ясно, че калкулира дублите и оцветява тези стойности които са по- големи от 1 ;)