All posts by amri

Изтриване на всички постове от WordPress през MySQL

#Листва постовете от категория 2

SELECT * FROM TABLE_PREFIX_posts p
JOIN TABLE_PREFIX_term_relationships r ON p.ID = r.object_id
JOIN TABLE_PREFIX_term_taxonomy tt ON r.term_taxonomy_id = tt.term_taxonomy_id
JOIN TABLE_PREFIX_term_taxonomy t ON tt.term_id = t.term_id
WHERE t.term_id = 2;

#Листва всички постове

SELECT * FROM TABLE_PREFIX_posts p
JOIN TABLE_PREFIX_term_relationships r ON p.ID = r.object_id
JOIN TABLE_PREFIX_term_taxonomy tt ON r.term_taxonomy_id = tt.term_taxonomy_id
JOIN TABLE_PREFIX_term_taxonomy t ON tt.term_id = t.term_id;

#Изтрива постовете от категория 36
delete a,b,c,d
FROM TABLE_PREFIX_posts a
LEFT JOIN TABLE_PREFIX_term_relationships b ON ( a.ID = b.object_id )
LEFT JOIN TABLE_PREFIX_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN TABLE_PREFIX_term_taxonomy d ON ( d.term_taxonomy_id = b.term_taxonomy_id )
LEFT JOIN TABLE_PREFIX_terms e ON ( e.term_id = d.term_id )
WHERE e.term_id =36;

 

#Изтрива всички постове
delete a,b,c,d
FROM TABLE_PREFIX_posts a
LEFT JOIN TABLE_PREFIX_term_relationships b ON ( a.ID = b.object_id )
LEFT JOIN TABLE_PREFIX_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN TABLE_PREFIX_term_taxonomy d ON ( d.term_taxonomy_id = b.term_taxonomy_id )
LEFT JOIN TABLE_PREFIX_terms e ON ( e.term_id = d.term_id );

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Добавяне на администратор в WordPress от MySQL

#Добавяне на тестов администратор

INSERT INTO `TABLE_PREFIX_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('99999', 'martinwpmartin', md5('superparola'), 'Martin Petrov', '[email protected]', 'http://mpetrov.net', '2014-04-04 00:00:00', ", '0', 'Martin Petrov');

INSERT INTO `TABLE_PREFIX_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '99999', 'TABLE_PREFIX_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');

INSERT INTO `TABLE_PREFIX_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '99999', 'TABLE_PREFIX_user_level', '10');

#Изтриване на тестовия администратор

delete from `TABLE_PREFIX_users` where ID='99999';
delete from `TABLE_PREFIX_usermeta` where user_id='99999';

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

WordPress: Промяна на стандартното jquery в темплейт

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');

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

замяна на текст във всички файлове(рекурсивно)

Искам текста "Twenty Thirteen" да го заменя с текста "Distance Running" но във всички файлове в тази директория както и файловете в под директориите и т.н. Ето как става с един ред ;)

find . -type f -print0 | xargs -0 sed -i 's/Twenty Thirteen/Distance Running/g'

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Пряспа -- Интересен проект

priaspaИсках да споделя един проект за компанията "Пряспа". Сайта е на три езика като админ панела е 100% custom т.е. написан изцяло за Пряспа.

Трите версии на сайта са независими т.е. разделени една от друга и с различни домейни , а именно: priaspa.com , en.priaspa.com , ru.priaspa.com  което е по- красиво нали .. ? :) Секция блог също е на три езика и са разделени на три т.е. блог публикациите които са в английската версия са си само за там.

Идеята е, че публикациите за англоговорящите могат да бъдат различни от тези на руско говорящите и българо говорящите. Идеята е, че всяка националност има различно виждане за нещата :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Премахване на facebook sharer cache

Проблема е следния: Имам едно url което искам да споделя във фейсбук обаче съм направил промени по съдържанието. Фейсбук не разбира(още не е разбрал, че има промени) и показва старото съдържание. Идеята е да кажем на фейсбук(веднага) да покаже новото съдържание т.е. да изтрием кеша(информацията) на фейсбук за съответното url.

Това се прави с debug-ера на фейсбук които е изключително полезен :

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Намаляване на 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 реда ;)

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Копиране на таблица и нейното съдържание в MySQL

Идеята е таблицата "articles" да бъде копирана като "articles_bg" + съдържанието в таблицата "articles":

Ето го и сложното решение от две заявки:

CREATE TABLE articles_bg LIKE articles; INSERT articles_bg SELECT * FROM articles;

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Как да разархивираме 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;

Това е :)

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +2 (from 2 votes)

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

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)