Всея ПЫХА epsyl adw0rd Мавр ГО Irinax http://hell.helldude.ru - это пиздец

Кодлинч. Выпуск – 3. WordPress.

Рубрики: (КодЛинч 0.1 beta, пиздец, Пиздец CMS'ы) Автор: phpdude 09-11-2008

Теги : , , , , ,

Как и предугадывалось, вордпресс внутри написан мудаками …

вот скажите мне нахуй столько функций? аа в шаблонах чтобы использовать, ну да, для этого. А не проще ли шаблонизатор нормальный написать? задаю я вопрос этим разработчикам.

не ну смотрите сами.

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

уверен что при правильном планировании такое гавно бы не получилось, может конечно я не прав, но для себя я уверен. первая цель при старте проекта – узнать «что это будет?» и только тогда начинать «планировать!», а потом только задумываться над написанием.

короче я в шоке, Но я понял почему так медленно работает гпресс.

удачи всем кто еще со мной.

Комментарии RSS тут:

Всего отзывов: 7 на Кодлинч. Выпуск – 3. WordPress.

Оставьте свой отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

О САЙТЕ

Крик души может быть будет на этом сайте, а может и будет что-нибудь другое :)