- 1
- 2
- 3
- 4
- 5
- 6
ob_start();
print_r($_POST);
#error_log(print_r($_POST,true)."\n",3,"/ramdisk/addcm.log");
$r = ob_get_contents();
ob_end_clean();
//$err[] = $r;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+4
ob_start();
print_r($_POST);
#error_log(print_r($_POST,true)."\n",3,"/ramdisk/addcm.log");
$r = ob_get_contents();
ob_end_clean();
//$err[] = $r;
Debug by ©senior shaurma developer
+4
if ($_SESSION['USER_LOGIN_IN']) {
if ($Page != 'notice') {
$Num = mysqli_fetch_row(mysqli_query($CONNECT, "SELECT COUNT(`id`) FROM `notice` WHERE `status` = 0 AND `uid` = $_SESSION[USER_ID]"));
if ($Num[0]) MessageSend(2, 'У вас есть непрочитанные уведомления. <a href="/notice">Прочитать ( <b>'.$Num[0].'</b> )</a>', '', 0);
}
$Count = mysqli_fetch_row(mysqli_query($CONNECT, "SELECT COUNT(`id`) FROM `dialog` WHERE `recive` = $_SESSION[USER_ID] AND `status` = 0"));
if ($Count[0]) MessageSend(2, 'У вас есть непрочитанные диалоги ( <b>'.$Count[0].'</b> )', '', 0);
}
Кто хочет, может использовать данную уязвимость, потому что автор сего говна имеет сайт своего паршива, написанного по его же говноурокам. http://php.webtm.ru/
Архивы с говнокодом(больше лулзов) можно скачать тут http://php.webtm.ru/archive/
Группа вконтактке тут http://vk.com/php.youtube
Страничка автора говноуроков(да он думал что может скрыться) http://vk.com/vyjt3dfc1azyr0lilcq ранее назывался Артем Кодов
0
function loadQuestionsInTest() {
$mysqli = connectDB();
$testID = $_POST['testID'];
$testSets = $mysqli -> query('select * from testsets where test_id = '.$testID.';');
if ($testSets->num_rows > 0) {
$query = [];
while ($row = $testSets -> fetch_assoc()) {
$loID = $row['lo_id'];
$questionsCount = $row['count'];
$questionsInLO = $mysqli -> query('select count(*) as num from questions where lo_id = '.$loID.';') -> fetch_assoc()['num'];
if ($questionsCount > $questionsInLO)
$questionsCount = $questionsInLO;
$query[] = '(select id, content, result, lo_id from questions where lo_id = '.$loID.' order by rand() limit '.$questionsCount.')';
}
$query = implode(' union ', $query).' order by rand();';
$questionRes = $mysqli -> query($query);
$questions = array();
while ($row = $questionRes->fetch_assoc()) {
$questionType = json_decode($row['result']) -> type;
if ($questionType == 'check') {
$question = array(
'id' => $row['id'],
'content' => $row['content'],
'loID' => $row['lo_id']
);
array_push($questions, $question);
} else if ($questionType == 'input') {
$questionContent = json_decode($row['result']);
$questionText = $questionContent -> text;
$answers = $questionContent -> answers;
for ($i = count($answers) -1; $i >= 0; $i--)
$questionText = mb_substr_replace($questionText, '(|answer'.$answers[$i] -> id.'|)', $answers[$i] -> posStart, $answers[$i] -> posEnd - $answers[$i] -> posStart);
$content = array( 'type' => 'input', 'text' => $questionText );
$question = array(
'id' => $row['id'],
'content' => json_encode($content, JSON_UNESCAPED_UNICODE),
'loID' => $row['lo_id']
);
array_push($questions, $question);
}
}
$response = json_encode($questions, JSON_UNESCAPED_UNICODE);
echo $response;
$mysqli -> close();
return;
}
echo '[]';
$mysqli -> close();
}
Моя дипломная работа по теме "тестирование студентов". Загрузка вопросов для прохождения теста из базы. Вопросы должны идти в рандомном порядке, варианты ответов тоже.
+1
if (round($this->shot, 2, PHP_ROUND_HALF_DOWN) > round($this->getSumBonus(), 2, PHP_ROUND_HALF_DOWN)) {
return false;
}
Сравнение двух double числе
+9
<?
if(/*!get($conf, 'settings', 'canonical') &&*/ !array_key_exists("null", $_GET) && !array_key_exists("p", $_GET) && ($conf['settings']['theme/*:admin'] != $conf['settings']['theme']) && !array_search($arg['fn'], ['', 'ajax', 'json', '404', 'img'])){ # Нет перезагрузки страницы адреса
if(!($diff = array_diff_key($_GET, array_filter($_GET)))){
if($alias = "{$arg['modpath']}:{$arg['fn']}". (($keys = array_keys(array_diff_key($_GET, array_flip(["m", "id"])))) ? "/". implode("/", $keys) : "")){
if($seo_cat = fk("{$conf['db']['prefix']}seo_cat", $w = array("alias"=>$alias), $w += array("name"=>$conf['modules'][$arg['modpath']]['name']. " » ". (get($conf, 'settings', "{$arg['modpath']}_{$arg['fn']}") ?: $arg['fn']))/*, $w*/)){
if(empty($seo_cat['hide'])){
if($settings = mpzam($conf['settings'], "settings")){
if($characters_lang = rb("{$conf['db']['prefix']}seo_characters_lang", "name", $w = "[". ((strpos($_SERVER['HTTP_HOST'], "xn--") === 0) ? "Русские" : "Английские"). "]")){
if($characters = array_column(rb("{$conf['db']['prefix']}seo_characters", "characters_lang_id", "id", array_flip([$characters_lang['id'],0])), "to", "from")){
if($seo_cat['href'] && ("/" == substr($seo_cat['href'], 0, 1)) /*&& ("/" == substr($seo_cat['href'], -1, 1))*/){
if(get($_GET, 'id')){ # Проверка и формирование методанных объекта
if(($default = rb($arg['fn'], "id", $_GET['id']))){
foreach(array_intersect_key($seo_cat, array_flip(array('title', 'description', 'keywords', "href"))) as $n){
if(preg_match_all("#{([\w-_]+):(\w+)}#", $n, $match)){ mpre($n, $match);
foreach($match[0] as $n=>$m){
if(empty($e) || !rb($e, "table", "field", "[{$match[1][$n]}]", "[{$match[2][$n]}]")){
$e[] = array("id"=>(empty($e) ? 0 : count($e)), "table"=>$match[1][$n], "field"=>$match[2][$n]);
}
}
}//else{ mpre($n, $match); }
} if(!empty($e)){
foreach($e as $t){
if(strpos($t['table'], "-")){
if($id = get($_GET, $t['table'])){
$data[$t['table']] = rb($t['table'], "id", (int)$id);
}else{ mpre("Ключ не найден"); }
}
} while(($tabs = array_intersect_key((empty($d) ? ($d = $default) : $d), array_flip(array_map(function($v){ return "{$v}_id"; }, array_column($e, "table"))))) && (($loop = /*mpre*/(empty($loop) ? 1 : $loop+1)) < 10 /* Максимальное количество итераций */)){ # Если есть ключи от требующихся тегов
foreach($tabs as $k=>$id){
$data[$t = substr($k, 0, -3)] = rb($t, "id", $id);
$d += $data[$t = substr($k, 0, -3)];
$e = array_diff_key($e, rb($e, "table", "id", "[{$t}]"));
}
}
} if($mpzam = mpzam(empty($data) ? $default : array(""=>$default)+$data)){// exit(mpre($mpzam));
foreach(array_intersect_key($seo_cat, array_flip(array('title', 'description', 'keywords'))) as $k=>$m){
if($m){ $meta[$k] = strtr(strtr($m, $settings), $mpzam); }
} if($src = htmlspecialchars_decode(mb_strtolower(strtr($seo_cat['href'], $mpzam+$settings), 'UTF-8'))){
if(!preg_match_all("#{(.*):?(.*?)}#", $src. implode("", $meta), $match) && (substr($src, -1) != "/")){
if($meta && ($meta = meta(array(urldecode($_SERVER['REQUEST_URI']), strtr($src, $characters)), $meta += array("cat_id"=>$seo_cat['id'])))){
exit(header("Location: {$meta[0]}"));
}else{ mpre("Мета информация не установлена"); }
}else{ mpre("В адресе категории <a href='/seo:admin/r:{$conf['db']['prefix']}seo_cat?&where[id]={$seo_cat['id']}'>{$seo_cat['name']}</a> и метаинформации заменены не все теги", $src, $meta); }
}else{ mpre("Ошибка формирования адреса страницы"); }
}else{ mpre("Таблица языка перекодировки не найдена <a href='/seo:admin/r:mp_seo_characters_lang'>{$w}</a>"); }
}else{ mpre("Элемент с указанных номером не найден", $_GET['id']); }
}else if($src = htmlspecialchars_decode(mb_strtolower(strtr(implode("/", array_slice(explode("/", $seo_cat['href']), 0, 2)), $settings), 'UTF-8'))){ // mpre($src); # Список элементов
if(!preg_match_all("#{(.*):?(.*?)}#", $src. implode("", $seo_cat), $match) && (substr($src, -1) != "/")){// exit(mpre($src, $match));
if($meta = meta(array(urldecode($_SERVER['REQUEST_URI']), strtr($src, $characters)), $seo_cat + array("cat_id"=>$seo_cat['id']))){
exit(header("Location: {$meta[0]}"));
}else{ mpre("Мета информация не установлена"); }
}else{ mpre("В адресе и метаинформации заменены не все теги <a href='/seo:admin/r:{$conf['db']['prefix']}seo_cat?&where[id]={$seo_cat['id']}'>{$seo_cat['name']}</a>", $src, $seo_cat); }
}else{ mpre("Элемент не найден и адрес списка не верный"); }
}else{ mpre("Не верный формат seo адреса <a href='/seo:admin/r:{$conf['db']['prefix']}seo_cat?&where[id]={$seo_cat['id']}'>{$seo_cat['name']}</a>"); }
}else{ mpre("Не установлена таблица перекодировки <a href='/seo:admin/r:mp_seo_characters'>seo_characters</a>"); }
}else{ mpre("Не найдены данные перекодировки"); }
}else{ mpre("Ошибка формирования системных переменных"); }
}else{ /*mpre("Категория отмечена как скрытая");*/ }
}else{ mpre("Не найдена категория переадресации"); }
}else{ mpre("Алиас сфоримрован ошибочно"); }
}else{ mpre("Входящие параметры содержат пустые значения", $diff); }
}else{ /*mpre(get($conf, "settings", "canonical"));*/ }
Больше веселухи тут https://github.com/mpak2/mpak.su
+2
foreach(mpqn(mpqw("SELECT * FROM {$conf['db']['prefix']}modules_index", "Список модулей", function($error) use($conf){
if(strpos($error, "doesn't exist")){
qw(pre("ALTER TABLE {$conf['db']['prefix']}modules RENAME {$conf['db']['prefix']}modules_index"));
}else{ pre("Ошибка обработки ошибки", $error); }
})) as $modules){
if(array_search($conf['user']['uname'], explode(',', $conf['settings']['admin_usr'])) !== false) $modules['access'] = 5;
$conf['modules'][ $modules['folder'] ] = $modules;
$conf['modules'][ $modules['folder'] ]['modname'] = $modules['modname'] = (strpos($_SERVER['HTTP_HOST'], "xn--") !== false) ? mb_strtolower($modules['name'], 'UTF-8') : $modules['folder'];
$conf['modules'][ $modules['modname'] ] = &$conf['modules'][ $modules['folder'] ];
$conf['modules'][ mb_strtolower($modules['name']) ] = &$conf['modules'][ $modules['folder'] ];
$conf['modules'][ $modules['id'] ] = &$conf['modules'][ $modules['folder'] ];
}
https://github.com/mpak2/mpak.su/blob/master/index.php
https://habrahabr.ru/post/283166/ - "Самый простой способ создать сайт"
+7
private function checkPlaces(){
$popups = array();
foreach($this->popups as $popup){
if($popup->showOnThisPage()){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkExcludes(){
$popups = array();
foreach($this->popups as $popup){
if(!$popup->excludeOnThisPage()){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkPage(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkPageCount($this->user_info['popup_page'])){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkReferer(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkReferer()){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkGETParams(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkGETParams()){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkVisitCount(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkVisitCount($this->user_info['visit_count'])){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkFirstVisitDate(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkFirstVisitDate()){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkLastVisitDate(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkLastVisitDate()){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkCustom(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkCustom()){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkDate(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkDate()){
$popups[] = $popup;
}
}
$this->popups = $popups;
}
private function checkDevice(){
$popups = array();
foreach($this->popups as $popup){
if($popup->checkDevice()){
$popups[] = $popup;
}
}
$this->popups = $popups;
Скилл Ctrl+C - Ctrl+V прокачан до 80го уровня.
−2
<? require 'config/bd.php'; ?>
<?
if($_POST["title"]){
$id = intval($_POST["id"]);
$title = intval($_POST["title"]);
$num = mysql_num_rows(mysql_query("SELECT id FROM banner WHERE id = '".$id."'"));
if($num>0){
mysql_query("UPDATE banner SET url = '$url', img = '$img', title = '$title', day = '$day', active = '".$_POST["active"]."', active_to = '$active_to' WHERE id = '".$id."'");
?>
<div class="color='red'">Баннер отредактирован</div>
<?
}
}
if($_POST["id"]){
$id = intval($_POST["id"]);
$title = intval($_POST["title"]);
$num = mysql_num_rows(mysql_query("SELECT id FROM banner WHERE id = '".$id."'"));
if($num>0){
$row = mysql_fetch_array(mysql_query("SELECT * FROM banner WHERE id = '".$id."'"));
?>
<form method="post" action="">
<strong>ID:</strong> <?=$row['id'];?><br>
<strong>Ссылка перехода:</strong> <?=$row['url'];?><br>
<strong>Ссылка на баннер:</strong> <?=$row['img'];?><br>
<strong>Заголовок:</strong> <?=$row['title'];?><br>
<strong>Дней:</strong> <input type="text" size="5" name="id" value="<?=$row['day'];?>">
<strong>Активен?:</strong><select name="active"><option value="1" <? if($row["active"]==1){?>selected="selected"<? }?>>Да</option><option value="0" <? if($row["active"]==0){?>selected="selected"<? }?>>Нет</option></select><br>
<strong>Активен до:</strong> <input type="text" size="10" name="id" value="<?=$row['active_to'];?>">
<input type="hidden" name="id" value="<?=$row['id'];?>">
<input type="submit" value="Сохранить">
</form>
<?
}else{
?>
Баннер не найден
<?
}
}?>
<form method="post" action="">
Введите ID баннера: <input type="text" name="id">
<input type="submit" value="Поиск">
</form>
Что здесь не так? Первую часть поиск по ID проходит! Дале выскакивает форма редактирования, ввел данные нажимаю Сохранить но ничего не происходит! Просто игнор! Исправьте пж!
+1
// новый тестовый экшн в контроллере
public function actionNew($alias)
{
$model=Partners::model()->model()->findByAttributes(array('alias'=>$alias));
if($model==null)
throw new CHttpException(404,'The requested page does not exist.');
$this->render('view',array(
'model'=>$this->loadModel($model->id),
));
}
// правило в конфиге
// '<module:\w+>/<controller:\w+>/<alias:\w+>' => '<module>/<controller>/new',
https://vk.com/echo_php?w=wall-175_189930%2Fall
Уи1
0
<?php
namespace DoctrineExtensions;
use \Doctrine\ORM\Event\LoadClassMetadataEventArgs;
/**
* Расширение для Doctrine ORM
* Позволяет отслеживать и работать не со всей базой, а только с таблицами с префиксом
* Необходимо для уживания с битриксом
*
* Class TablePrefix
* @package DoctrineExtensions
*/
class TablePrefix
{
protected $prefix = '';
public function __construct($prefix)
{
$this->prefix = (string) $prefix;
}
public function loadClassMetadata(LoadClassMetadataEventArgs $eventArgs)
{
$classMetadata = $eventArgs->getClassMetadata();
$classMetadata->setTableName($this->prefix . $classMetadata->getTableName());
foreach ($classMetadata->getAssociationMappings() as $fieldName => $mapping) {
if ($mapping['type'] == \Doctrine\ORM\Mapping\ClassMetadataInfo::MANY_TO_MANY) {
$mappedTableName = $classMetadata->associationMappings[$fieldName]['joinTable']['name'];
$classMetadata->associationMappings[$fieldName]['joinTable']['name'] = $this->prefix . $mappedTableName;
}
}
}
}
Адепты битрикса добрались до Doctrine ORM. И вот что из этого получилось.
Заставь дурака ORM подключать, он и events задрочит.