Ноя 09
2008Кодлинч. Выпуск – 3. WordPress.
Рубрики: (КодЛинч 0.1 beta, пиздец, Пиздец CMS'ы) Автор: phpdude 09-11-2008
Теги : wordpress, говно, КодЛинч 0.1 beta, пиздец, Пиздец CMS'ы, полное говно
Как и предугадывалось, вордпресс внутри написан мудаками …
вот скажите мне нахуй столько функций? аа в шаблонах чтобы использовать, ну да, для этого. А не проще ли шаблонизатор нормальный написать? задаю я вопрос этим разработчикам.
не ну смотрите сами.
function mysql2date( $dateformatstring, $mysqlstring, $translate = true ) {
global $wp_locale;
$m = $mysqlstring;
if ( empty( $m ) )
return false;if( ‘G’ == $dateformatstring ) {
return gmmktime(
(int) substr( $m, 11, 2 ), (int) substr( $m, 14, 2 ), (int) substr( $m, 17, 2 ),
(int) substr( $m, 5, 2 ), (int) substr( $m, 8, 2 ), (int) substr( $m, 0, 4 )
);
}$i = mktime(
(int) substr( $m, 11, 2 ), (int) substr( $m, 14, 2 ), (int) substr( $m, 17, 2 ),
(int) substr( $m, 5, 2 ), (int) substr( $m, 8, 2 ), (int) substr( $m, 0, 4 )
);if( ‘U’ == $dateformatstring )
return $i;if ( -1 == $i || false == $i )
$i = 0;if ( !empty( $wp_locale->month ) && !empty( $wp_locale->weekday ) && $translate ) {
$datemonth = $wp_locale->get_month( date( ‘m’, $i ) );
$datemonth_abbrev = $wp_locale->get_month_abbrev( $datemonth );
$dateweekday = $wp_locale->get_weekday( date( ‘w’, $i ) );
$dateweekday_abbrev = $wp_locale->get_weekday_abbrev( $dateweekday );
$datemeridiem = $wp_locale->get_meridiem( date( ‘a’, $i ) );
$datemeridiem_capital = $wp_locale->get_meridiem( date( ‘A’, $i ) );
$dateformatstring = ‘ ‘ . $dateformatstring;
$dateformatstring = preg_replace( «/([^\\\])D/», «\\1″ . backslashit( $dateweekday_abbrev ), $dateformatstring );
$dateformatstring = preg_replace( «/([^\\\])F/», «\\1″ . backslashit( $datemonth ), $dateformatstring );
$dateformatstring = preg_replace( «/([^\\\])l/», «\\1″ . backslashit( $dateweekday ), $dateformatstring );
$dateformatstring = preg_replace( «/([^\\\])M/», «\\1″ . backslashit( $datemonth_abbrev ), $dateformatstring );
$dateformatstring = preg_replace( «/([^\\\])a/», «\\1″ . backslashit( $datemeridiem ), $dateformatstring );
$dateformatstring = preg_replace( «/([^\\\])A/», «\\1″ . backslashit( $datemeridiem_capital ), $dateformatstring );$dateformatstring = substr( $dateformatstring, 1, strlen( $dateformatstring ) -1 );
}
$j = @date( $dateformatstring, $i );/*
if ( !$j ) // for debug purposes
echo $i.» «.$mysqlstring;
*/return $j;
}
Вы не думаете ли что это полный пиздец? я думаю.
нахуй так извращатьсяи коверкать даты, ебаться над ними, в мускуле хранить так, тут так, выовидть по третьему, а вы знаете что эта функция выполняется на каждую запись в рсс ленте? если в ленте 20 элементов, то на одну ленту больше 100 регулярок, думаю что значение ближе к 1000, а то и 10000, ибо там до хуя подобных ненужных функций.
вот что бывает когда какие то мудаки начинают писать чтото, нихуя не зная, нихуя не делая, нихуя не собираясь учиться.
на этом сервере, где сейчас стоит блог – Core 2 Duo 8500(3.2 ГГц + 4 гига оперы) вордпресс генерил страницу 200мс, после моей ебли с акселераторами, подкачками, tmpfs на худой конец, время стало приближаться к 80мс, сейчас не знаю, думаю где то так же осталось. скажу я вам – это до хуя для одного блога на такой машине.
это пиздец короче одним словом, не пишите такой говнокод.
вот примеры
function current_time( $type, $gmt = 0 ) {
switch ( $type ) {
case ‘mysql’:
return ( $gmt ) ? gmdate( ‘Y-m-d H:i:s’ ) : gmdate( ‘Y-m-d H:i:s’, ( time() + ( get_option( ‘gmt_offset’ ) * 3600 ) ) );
break;
case ‘timestamp’:
return ( $gmt ) ? time() : time() + ( get_option( ‘gmt_offset’ ) * 3600 );
break;
}
}function do_enclose( $content, $post_ID ) {
global $wpdb;
include_once( ABSPATH . WPINC . ‘/class-IXR.php’ );$log = debug_fopen( ABSPATH . ‘enclosures.log’, ‘a’ );
$post_links = array();
debug_fwrite( $log, ‘BEGIN ‘ . date( ‘YmdHis’, time() ) . «\n» );$pung = get_enclosed( $post_ID );
$ltrs = ‘\w’;
$gunk = ‘/#~:.?+=&%@!\-’;
$punc = ‘.:?\-’;
$any = $ltrs . $gunk . $punc;preg_match_all( «{\b http : [$any] +? (?= [$punc] * [^$any] | $)}x», $content, $post_links_temp );
debug_fwrite( $log, ‘Post contents:’ );
debug_fwrite( $log, $content . «\n» );foreach ( $post_links_temp[0] as $link_test ) {
if ( !in_array( $link_test, $pung ) ) { // If we haven’t pung it already
$test = parse_url( $link_test );
if ( isset( $test['query'] ) )
$post_links[] = $link_test;
elseif ( $test['path'] != ‘/’ && $test['path'] != » )
$post_links[] = $link_test;
}
}foreach ( $post_links as $url ) {
if ( $url != » && !$wpdb->get_var( $wpdb->prepare( «SELECT post_id FROM $wpdb->postmeta WHERE post_id = %d AND meta_key = ‘enclosure’ AND meta_value LIKE (%s)», $post_ID, $url . ‘%’ ) ) ) {
if ( $headers = wp_get_http_headers( $url) ) {
$len = (int) $headers['content-length'];
$type = $wpdb->escape( $headers['content-type'] );
$allowed_types = array( ‘video’, ‘audio’ );
if ( in_array( substr( $type, 0, strpos( $type, «/» ) ), $allowed_types ) ) {
$meta_value = «$url\n$len\n$type\n»;
$wpdb->query( $wpdb->prepare( «INSERT INTO `$wpdb->postmeta` ( `post_id` , `meta_key` , `meta_value` )
VALUES ( %d, ‘enclosure’ , %s)», $post_ID, $meta_value ) );
}
}
}
}
}
уверен что при правильном планировании такое гавно бы не получилось, может конечно я не прав, но для себя я уверен. первая цель при старте проекта – узнать «что это будет?» и только тогда начинать «планировать!», а потом только задумываться над написанием.
короче я в шоке, Но я понял почему так медленно работает гпресс.
удачи всем кто еще со мной.
Всея ПЫХА
adw0rd
Мавр
ГО
Irinax
global $wp_locale;
$m = $mysqlstring;
if ( empty( $m ) )
return false;
дальше читать не стал – полный пиздец.
во-во)
Первый раз встречаю человека который наконец то сказал, что все эти джумлы, оскоммерсы это полный пизде и в коде и в структуре проекта.
Сколько раз уже приходилось сталкиваться с доработкой сайтов слепленых из этого говна, это же просто не реально исправить или дополнить именно тот модуль(это наверное громко сказано – модуль) что мне нужен!
Да, пиздец. А если еще и послушать меня и брать на блог движок Друпал, то ваще сладкая жизнь буит.
Хм… ПИЗДЕЦ. Скока же времени уходит в проеб на этот блог. Не жалко?
Да… Какие нахуй там модули… Там куски говна, и все из них слепленно и кое-как держится… Я раньше так же писал, но слава богу один человек (не будем показывать пальцем
) открыл мне глаза на то что такое говно, мягко говоря, писать не стоит…
лестно.
)
а опенсорц кмсы это пиздец.
Пиздец (крик души)