public static function setStatus($code, $iuser) { $sql = ' SELECT {{codes_type}}.* FROM {{codes}} INNER JOIN {{codes_type}} ON {{codes_type}}.id={{codes}}.ctype WHERE {{codes}}.code=\'' . $code . '\' AND iuser=0 '; $data = DB::getRow($sql); if ($data) { $data['code'] = $code; if ($data['fromdate'] < date('Y-m-d H:i:s') && date('Y-m-d H:i:s') < $data['todate']) { $data['code'] = $code; $data['multiple'] = true; Codes::saveStatus($code, $iuser, $data); } else { $data['code'] = ''; $data['error'] = 'Время для использования кода истекло'; } } else { $sql = ' SELECT * FROM {{codes_type}} WHERE code=\'' . $code . '\' '; $data = DB::getRow($sql); if ($data) { $sql = ' SELECT COUNT(*) FROM {{codes}} WHERE ctype=\'' . $data['id'] . '\' '; $count = DB::getOne($sql); if ($data['num'] > $count) { $sql = ' SELECT id FROM {{codes}} WHERE ctype=\'' . $data['id'] . '\' AND iuser='******' '; $id = DB::getOne($sql); if ($id) { $data['code'] = ''; $data['error'] = 'Вы уже использовали данный код'; } else { if ($data['fromdate'] < date('Y-m-d H:i:s') && date('Y-m-d H:i:s') < $data['todate']) { $data['code'] = $code; $data['multiple'] = true; Codes::saveStatus($code, $iuser, $data); } else { $data['code'] = ''; $data['error'] = 'Время для использования кода истекло'; } } } else { $data['code'] = ''; $data['error'] = 'Данный код активирован максимальное количество раз'; } } else { $data['code'] = ''; $data['error'] = 'Такого промо-кода не существует'; } } return $data; }