- 1
- 2
- 3
- 4
if($strNavQueryString <> "" && $strParam <> "")
$strNavQueryString = "&".$strNavQueryString;
if($strNavQueryString == "" && $strParam == "")
return $sUrlPath;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+163
if($strNavQueryString <> "" && $strParam <> "")
$strNavQueryString = "&".$strNavQueryString;
if($strNavQueryString == "" && $strParam == "")
return $sUrlPath;
Горе от ума
+163
function isInt($val) {
return is_int($val) || (string)(int)$val === (string)$val;
}
Проверка на целое число
+163
function onsub(text){
if (confirm(text)) {
return true;
}
else {
return false;
}
}
Копаюсь в системе биллинга...
Убило!
+163
throw new TSilentException("");
+163
<?
class Thread {
<...>
function Thread($proc_id) {
$this->db=new ezSQL_mssql(s_login, s_password, s_db_name_threads, s_host);
$this->proc_id=$proc_id;
$this->timeout=500;
$this->last_busy=0;
$this->notactive_num=0;
$query="INSERT INTO threads(proc_id, last_beat) VALUES('".$this->proc_id."','".(time()+60)."');";
$this->db->query($query);
}
static function Create($url,$proc_id) {
$t = new Thread($proc_id);
//### execute thread
//NB!!!
//BE CAREFUL WITH LOG PATHS, IF YOU MISS OR MISSPEL THE PATH, IT IS HARDLY POSSIBLE TO DEBUG
//IF YOU MISSPELL THE PATH YOU CAN FACE THE PROBLEM OF THREADS SIMPLY DO NOT START OR DO NOT LOG WITHOUT ANY NOTIFICATION
//USE YOUR OWN PATHS FOR PHP, LOGS AND COMMAND LINE COMMANDS AD PARAMETERS FOR YOUR SPECIFIC OS, WINDOWS EXAMPLE IS BELOW
//start /B will execute background process in windows, > symbol will store the output of current process into log file
//you can call threads from another server via http request etc.
pclose(popen("start /B \"$proc_id\" C:\php\php.exe D:\wwwroot\\newimport\elko\import_ignitor_thread.php > D:\globalimport\logs\\".$proc_id.".txt $proc_id","r"));
//give some time to start the thread
Sleeper(1000);
return $t;
}
//check is Thread active or not
//check active, busy, last beat etc.
//you can put here your own business logic how thread should be checked for statused etc.
function isActive () {
if($this->state==3){
return false;
}elseif ($this->last_busy==1){
return true;
}
$cur_time=time();
if($cur_time>$this->last_beat){
$result=$this->db->get_var("SELECT last_beat FROM threads WHERE proc_id=".$this->proc_id);
$this->state=$this->db->get_var("SELECT state FROM threads WHERE proc_id=".$this->proc_id);
if($cur_time<$result){
return true;
}
}else{
return true;
}
return true;
}
//check is Thread is busy or not, in order to give a new task/job
//it is similat to the previous procedure
function isBusy() {
//$this->tell("ping"); - this could be implemented in the future
$cur_time=time();
if($cur_time>$this->last_beat or $this->last_busy==0){
$result=$this->db->get_var("SELECT busy FROM threads WHERE proc_id=".$this->proc_id);
$this->last_busy=$result;
if($result==1){
return true;
}else{
return false;
}
}else{
return false;
}
}
//tells a command to the thread
function tell($thought, $params = NULL) {
$param=base64_encode(serialize($params));
$query="INSERT INTO cmd(proc_id, cmd, param) VALUES('".$this->proc_id."','".$thought."','".$param."');";
$this->db->query($query);
}
}
'многопоточность'
+163
function IndexDownloadsAddVote()
{
global $db, $config, $site, $user;
$ip = getip();
$file = SafeEnv($_GET['file'], 11, int); // ид файла
$cat = SafeEnv($_GET['cat'], 11, int); // категория
$vote = SafeEnv($_POST['vote'], 1, int); // голос
$site->OtherMeta .= '<meta http-equiv="REFRESH" content="2; URL=index.php?name=downloads&op=full&cat='.$cat.'&file='.$file.'">';
$where = "`id`='$file' and `active`='1'"; // where для downloads
$ex_where = GetWhereByAccess('view'); // видимость
if($ex_where != ''){
$where .= ' and ('.$ex_where.')';
}
$db->Select('downloads', $where); // ищем файл
if($db->NumRows() > 0){ // существует ли файл
$dfile = $db->FetchRow(); // пищем файл в переменную
if($dfile['allow_votes']=='1'){ // оценки разрешены
if($user->Auth) {
$where = "`user_id` = '".$user->Get('u_id')."'";
} else {
$where = "`ip` = '".$ip."'";
}
$db->Select('downloads_rating', $where); // Делаем запрос
if($vote==0){
$site->AddTextBox('','<center>Вы не выбрали оценку.<br /><br /><a href="javascript:history.go(-1)">Назад</a></center>');
} else {
$user->ChargePoints($config['points']['download_rating']);
$time = time();
if($db->NumRows()>0) {
$db->Update('downloads_rating', "`vote` = '$vote'", "(`user_id` = '".($user->Auth ? $user->Get('u_id') : 0)."' or `ip` = '$ip') and `downid` = '$file'");
$numvotes = SafeDB($dfile['votes_amount'],11,int);
} else {
$db->Insert('downloads_rating',"'','$file','$ip','$time','$vote','".($user->Auth ? $user->Get('u_id') : 0)."'");
$numvotes = SafeDB($dfile['votes_amount'],11,int)+1;
}
$vote = SafeDB($dfile['votes'],11,int)+$vote;
$db->Update('downloads',"votes_amount='$numvotes',votes='$vote'","`id`='$file'");
$site->AddTextBox('','<center>Спасибо за вашу оценку.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
}
}else{
//Оценка запрещена
$site->AddTextBox('','<center>Извините, оценка этого файла запрещена.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
}
}else{
//Файл не существует
$site->AddTextBox('','<center>Произошла ошибка. Файл, который вы пытаетесь оценить, не найден в нашем файловом архиве. Возможно он был удален.<br><br><a href="javascript:history.go(-1)">Назад</a></center>');
}
}
Функция оценки файла из русской CMS
+163
Engine::GetSingleton()->SetCallbacks(
new myname::Method<void(void),Application>(&Application::Render, boost::weak_ptr<Application>(application)),
new myname::Method<void(void),Application>(&Application::Update, boost::weak_ptr<Application>(application)),
0,
0,
new myname::Method<void(void),Application>(&Application::Init, boost::weak_ptr<Application>(application)),
new myname::Method<void(void),Application>(&Application::Cleanup, boost::weak_ptr<Application>(application))
);
Особая шаблонная магия + ООП мозга.
+163
if (!isset($caseMenu['child'])) {
$catsArr['list'][$caseMenu['parent']]['status'] = "active";
}else{
$catsArr['list'][$caseMenu['parent']]['children']['list'][0]['status'] = "active";
}
помоему это охуенно
+163
<?php
public function selectMenu($iLaId)
{
if (!is_numeric($iLaId))
$iLaId = intval($iLaId);
ob_start();
?>
SELECT m.m_name
FROM menu AS m
WHERE m.la_id = <?= $iLaId ?>
<?php
$sQuery = ob_get_clean();
$oResult = mysql_query($sQuery);
return mysql_fetch_array($oResult);
}
//...
$oQueries = new Queries;
$aData = Queries->selectMenu(1);
$sOutput = '<ol>';
foreach ($aData as $v)
{
$sOutput .= '<li>'.$v['m_name'].'</li>';
}
$sOutput .= '</ol>';
echo $sOutput;
+163
#define nCyrLang 40
char CyrNumLang[nCyrLang];
memset(&CyrNumLang[0],0,nCyrLang);
CyrNumLang[1]=7;
CyrNumLang[2]=9;
CyrNumLang[3]=11;
CyrNumLang[4]=83;
CyrNumLang[5]=84;
CyrNumLang[6]=85;
CyrNumLang[7]=86;
CyrNumLang[8]=44;
CyrNumLang[9]=87;
CyrNumLang[10]=48;
CyrNumLang[11]=88;
CyrNumLang[12]=89;
CyrNumLang[13]=53;
CyrNumLang[14]=56;
CyrNumLang[15]=6;
Труъ способ инициализации массивов.