Вход Регистрация
Файл: system/modules/api.php
Строк: 256
<?php


 
if(!defined('MOZG'))
 die(
'И че ты тут забыл??');

 if(
$ajax == 'yes')
 
NoAjaxQuery();


 
$key = 'sofwar';

 
$act = $_GET['act'];
 if(
$logged){
 if(
$ajax == 'yes')

 
NoAjaxQuery();

 
$user_id = $user_info['user_id'];

 
$key = '0PFXXTE349BMNFSV9801DZ843VUAA482';

 
$tpl->set('{hash}', md5($key.'asd4465a4das56d4as65'.$user_id));

 
$act = $_GET['act'];


 switch(
$act){

 case 
"view":

 
NoAjaxQuery();

 
$id = intval($_POST['id']);

 
$row = $db->super_query("SELECT `id`,`cols`,`title`,`img`,`desc` FROM `".PREFIX."_apps` WHERE id='{$id}'");

 
$num = $row['cols'];

 
//Склонение поля человека смотрящего обьявление
 
if($user_info['user_sex'] == '1'){

 
$user_sex = 'первым';

 }else{

 
$user_sex = 'первой';

 }

 
//Проверка устанавливал ли кто нибудь Приложения
 
if($row['cols'] == 0){

 
$application_f = 'Приложения еще ни кто не установил будь '.$user_sex;

 }else{

 
$application_f = 'Приложения установили '.$num.' '.gram_record($num, 'apps');

 }

 
//Если нету Изображение Приложения то ставим стандарт..

 
if($row['img']){

 
$application_img = $config['home_url'].'uploads/apps/'.$row['id'].'/'.$row['img'];

 } else {

 
$application_img = '/images/no_apps.gif';

 }

 
$tpl->set('{id}', $row['id']);

 
$tpl->set('{nums}', $application_f);

 
$tpl->set('{title}', $row['title']);

 
$tpl->set('{desc}', $row['desc']);

 
$tpl->set('{ava}', $application_img);

 
$tpl->load_template('apps/viewapplication.tpl');

 
$tpl->compile('content');

 
AjaxTpl();

 die();

 break;

 
//############### Вывод игры ###############

 
case "app":

 
$id = intval($_GET['id']);

 
//Создание приложения
 
case "create":
 
$metatags['title'] = 'Создание приложения';
 
$tpl->load_template('apps/editapp/create.tpl');
 
$tpl->compile('content');

 break;
 
//Создание приложения
 
case "do_create":
 
$title = $_POST['title'];
 
$desc = $_POST['desc'];
 
$secret = md5($key.'asd4465a4das56d4as65'.rand(99,9999)); // Генерируем секретный ключ
 
$db->query("SET NAMES 'utf8'"); // Я почему то не смог нормально записать)

 
$db->query("INSERT INTO `".PREFIX."_apps` (`id`,`title`,`desc`,`secret`,`user_id`) VALUES ('','".$title."','".$desc."','".$secret."','".$user_id."') ");
 
$dbid = $db->insert_id();
 echo 
$dbid;
 die(); 
// Пришлось закрывать дальнейшию работу что бы скрипт выдал только ответ
 
break;
 
//Вкладка info
 
case "info":
 
$metatags['title'] = 'Редактирование приложения';
 
$id = intval($_GET['id']);
 
$row = $db->super_query("SELECT `id`, `title`, `desc`, `img`,`secret`,`user_id`,`admins` FROM `".PREFIX."_apps` WHERE `id`='{$id}'");
 
$array_admin = explode('|', $row['admins']);

 if(
in_array($user_id, $array_admin) or $user_id == $row['user_id'] ){
 if(
$row['img'] == ''){
 
$img = '/uploads/apps/no.gif';
 } else 
$img = '/uploads/apps/'.$row['id'].'/100_'.$row['img'];

 
$tpl->set('{id}', $row['id']);
 
$tpl->set('{title}', $row['title']);
 
$tpl->set('{img}', $img);
 
$tpl->set('{desc}', $row['desc']);
 
$tpl->set('{hash}', md5($id.'_'.$key));
 
$tpl->load_template('apps/editapp/info.tpl');
 
$tpl->compile('content');
 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }
 break;

 
// Сохранение страницы info
 
case "save_info":
 
NoAjaxQuery();

 
$id = intval($_POST['app']);
 
$app_hash = $_POST['app_hash'];
 
$title = $_POST['app_title'];
 
$desc = $_POST['app_desc'];

 if(
$app_hash == md5($id.'_'.$key)){
 if(
$title == '') die("name");
 elseif(
$desc == '') die("desc");

 
$db->query("SET NAMES 'utf8'"); // Я почему то не смог нормально записать)

 
$db->query("UPDATE `".PREFIX."_apps` SET `title`='{$title}', `desc`='{$desc}' WHERE `id`='{$id}'");
 echo 
"ok";
 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }
 break;


 
//Вкладка настройки

 
case "options":
 
$metatags['title'] = 'Редактирование приложения';
 
$id = intval($_GET['id']);

 
$row = $db->super_query("SELECT `id`, `title`, `desc`, `img`,`status`,`secret`,`width`,`height`,`url`,`user_id`,`admins`,`type` FROM `".PREFIX."_apps` WHERE `id`='{$id}'");

 
$array_admin = explode('|', $row['admins']);

 if(
in_array($user_id, $array_admin) or $user_id == $row['user_id'] ){
 
// Немного убого, но я ленив)
 
if($row['status'] == 1){
 
$option = '<option value="1" selected="selected">Приложение включено и видно всем</option><option value="-1" >Приложение отключено</option>';
 }else{
 
$option = '<option value="1" >Приложение включено и видно всем</option><option value="-1" selected="selected">Приложение отключено</option>';
 }

 if(
$row['type'] == 1){
 
$type = '<option value="1" selected="selected">Iframe</option><option value="2">Flash</option>';
 
$tpl->set('{sflash}', 'none');
 
$tpl->set('{siframe}', 'table');
 }else{
 
$type = '<option value="1">Iframe</option><option value="2" selected="selected">Flash</option>';
 
$tpl->set('{sflash}', 'table');
 
$tpl->set('{siframe}', 'none');
 }
 
$tpl->set('{id}', $row['id']);
 
$tpl->set('{url}', $row['url']);
 
$tpl->set('{title}', $row['title']);
 
$tpl->set('{desc}', $row['desc']);
 
$tpl->set('{height}', $row['height']);
 
$tpl->set('{width}', $row['width']);
 
$tpl->set('{img}', '/uploads/apps/'.$row['id'].'/100_'.$row['img']);
 
$tpl->set('{status}', $row['status']);
 
$tpl->set('{option}', $option);
 
$tpl->set('{type}', $type);
 
$tpl->set('{secret}', $row['secret']);
 
$tpl->set('{hash}', md5($id.'_'.$key));
 
$tpl->load_template('apps/editapp/options.tpl');
 
$tpl->compile('content');
 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }
 break;

 
// Сохранение страницы info
 
case "save_options":
 
NoAjaxQuery();

 
$id = intval($_POST['app']);
 
$app_hash = $_POST['app_hash'];
 
$secret = $_POST['app_secret'];
 
$url = $_POST['app_url'];
 
$status = intval($_POST['app_status']);
 
$width = intval($_POST['app_width']);
 
$height = intval($_POST['app_height']);
 
$type = intval($_POST['app_type']);

 if(
$secret == '') die("secret2");
 elseif(
$url == '' and $type == '1') die("iframe_url");
 elseif(
$width == '' and $type == '1') die("iframe_width");
 elseif(
$height == '' and $type == '1') die("iframe_height");

 if(
$app_hash == md5($id.'_'.$key)){
 
$db->query("UPDATE `".PREFIX."_apps` SET `secret`='{$secret}', `status`='{$status}', `url`='{$url}', `width`='{$width}', `height`='{$height}', `type`='{$type}' WHERE `id`='{$id}'");
 echo 
"ok";
 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }
 break;

 
//Окно загрузки swf
 
case "load_flash":
 
NoAjaxQuery();
 
$tpl->set('{id}', intval($_GET['id']));
 
$tpl->load_template('/apps/editapp/load_flash.tpl');
 
$tpl->compile('content');
 
AjaxTpl();
 die();
 break;


 case 
'flash':
 
NoAjaxQuery();

 
$id = intval($_GET['id']);

 
$flash_tmp = $_FILES['uploadfile']['tmp_name'];
 
$flash_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата
 
$flash_rename = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии
 
$flash_size = $_FILES['uploadfile']['size']; // размер файла
 
$type = end(explode(".", $flash_name)); // формат файла

 //Проверям если, формат верный то пропускаем
 
if(strtolower($type) == 'swf'){
 
$res_type = '.'.$type;
 
$db->query("UPDATE `".PREFIX."_apps` SET `flash`='{$flash_rename}{$res_type}' WHERE `id`='{$id}'");

 
$flash_dir = ROOT_DIR.'/uploads/apps/'.$id.'/';
 if(!
is_dir($flash_dir)){
 @
mkdir($flash_dir, 0777);
 @
chmod($flash_dir, 0777);
 }

 
move_uploaded_file($flash_tmp, $flash_dir.$flash_rename.'.swf');
 echo 
'ok';
 } else echo 
'bad_format';
 break;



 
//Вкладка платежи

 
case "payments":
 
$metatags['title'] = 'Редактирование приложения';
 
$id = intval($_GET['id']);
 
$row = $db->super_query("SELECT `id`,`user_id`,`balance`,`admins` FROM `".PREFIX."_apps` WHERE `id`='{$id}'");

 
$array_admin = explode('|', $row['admins']);

 if(
in_array($user_id, $array_admin) or $user_id == $row['user_id'] ){
 
$row1 = $db->super_query("SELECT `id`, `votes`, `from`, `whom`,`date`,`application_id` FROM `".PREFIX."_apps_transactions` WHERE `id`='{$id}' ORDER BY id DESC LIMIT 20",1);

 
$tpl->load_template('apps/editapp/table.tpl');
 foreach(
$row1 as $rowsd){
 
$users = $db->super_query("SELECT `user_name`, `user_lastname` FROM `".PREFIX."_users` WHERE `user_id`='{$rowsd[from]}'");

 if(
date('Y-m-d', $rowsd['date']) == date('Y-m-d', $server_time)) $dateTell = langdate('сегодня в H:i', $rowsd['date']); else $dateTell = langdate('j F Y в H:i', $rowsd['date']);

 
$tpl->set('{name}', $users['user_name'].' '.$users['user_lastname']);
 
$tpl->set('{from}', $rowsd['from']);
 
$tpl->set('{whom}', $rowsd['whom']);
 
$tpl->set('{date}', $dateTell);
 
$tpl->set('{application_id}', $rowsd['application_id']);
 
$tpl->set('{id}', $rowsd['id']);
 
$tpl->set('{votes}', $rowsd['votes']);
 
$tpl->compile('payments');

 }
 
$tpl->set('{id}', $id);
 
$tpl->set('{balance}', $row['balance']);
 
$tpl->load_template('apps/editapp/payments.tpl');
 
$tpl->set('{payments}', $tpl->result['payments']);
 
$tpl->compile('content');
 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }

 break;

 
//Вкладка Администраторы

 
case "admins":
 
$metatags['title'] = 'Редактирование приложения';
 
$id = intval($_GET['id']);

 
$row = $db->super_query("SELECT `id`,`user_id`,`admins` FROM `".PREFIX."_apps` WHERE `id`='{$id}'");
 
$array_admin = explode('|', $row['admins']);

 if(
in_array($user_id, $array_admin) or $user_id == $row['user_id'] ){

 
$array_admins = explode('|', $row['admins']);
 
$tpl->load_template('apps/editapp/admin_all.tpl');
 foreach(
$array_admins as $user){
 if(
$user){
 
$infoUser = $db->super_query("SELECT user_photo, user_search_pref FROM `".PREFIX."_users` WHERE user_id = '{$user}'");

 if(
$infoUser['user_photo'])
 
$tpl->set('{img}', '/uploads/users/'.$user.'/50_'.$infoUser['user_photo']);
 else
 
$tpl->set('{img}', '/images/no_ava_50.png');

 
$tpl->set('{name}', $infoUser['user_search_pref']);
 
$tpl->set('{uid}', $user);

 
$tpl->compile('all');
 }
 }

 
$users = $db->super_query("SELECT user_search_pref, user_photo FROM `".PREFIX."_users` WHERE `user_id`='{$row[user_id]}'");

 
$tpl->set('{id}', $id);
 if(
$users['user_photo'])
 
$tpl->set('{img}', '/uploads/users/'.$row['user_id'].'/50_'.$users['user_photo']);
 else
 
$tpl->set('{img}', '/images/no_ava_50.png');

 
$tpl->set('{name}', $users['user_search_pref']);
 
$tpl->set('{uid}', $row['user_id']);
 
$tpl->set('{hash}', md5($id.'_'.$key));
 
$tpl->set('{all}', $tpl->result['all']);
 
$tpl->load_template('apps/editapp/admins.tpl');
 
$tpl->compile('content');

 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }

 break;

 case 
'save_admin':
 
$id = intval($_POST['id']);
 
$app_hash = $_POST['hash'];
 
$addr = intval($_POST['addr']);

 if(
$app_hash == md5($id.'_'.$key)){
 
//Проверяем на существование юзера
 
$row = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_users` WHERE user_id = '{$addr}'");
 if(!
$row['cnt']) die('not_user');
 
$myRow = $db->super_query("SELECT admins,user_id FROM `".PREFIX."_apps` WHERE id = '{$id}'");
 
$array_admin = explode('|', $myRow['admins']);
 if(!
in_array($addr, $array_admin) AND $user_id != $addr AND $myRow['user_id'] != $addr){
 
$db->query("UPDATE `".PREFIX."_apps` SET admins_num = admins_num+1, admins = '{$myRow['admins']}|{$addr}|' WHERE id = '{$id}'");
 echo 
'ok';
 } else echo 
"not";

 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }
 die();
 break;

 case 
'del_admin':
 
$id = intval($_POST['id']);
 
$app_hash = $_POST['hash'];
 
$addr = intval($_POST['addr']);

 if(
$app_hash == md5($id.'_'.$key)){

 
$myRow = $db->super_query("SELECT admins,user_id FROM `".PREFIX."_apps` WHERE id = '{$id}'");
 
$array_admin = explode('|', $myRow['admins']);

 if(
$myRow['user_id'] == $addr) die("general");

 if(
in_array($addr, $array_admin) AND $user_id != $addr){
 
$myRow['admins'] = str_replace("|{$addr}|", "", $myRow['admins']);
 
$db->query("UPDATE `".PREFIX."_apps` SET admins_num = admins_num-1, admins = '{$myRow['admins']}' WHERE id = '{$id}'");
 echo 
'ok';
 } else echo 
"not";

 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }
 die();
 break;

 case 
"del_admin_form":
 
$id = intval($_POST['id']);
 
$addr = intval($_POST['addr']);
 
$app_hash = $_POST['hash'];

 if(
$app_hash == md5($id.'_'.$key)){
 
$app = $db->super_query("SELECT `title` FROM `".PREFIX."_apps` WHERE id = '{$id}'");
 
$users = $db->super_query("SELECT `user_name`, `user_lastname` FROM `".PREFIX."_users` WHERE user_id = '{$addr}'");

 
$tpl->set('{id}', $id);
 
$tpl->set('{title}', $app['title']);
 
$tpl->set('{uid}', $addr);
 
$tpl->set('{name}', $users['user_name']. ' '. $users['user_lastname']);
 
$tpl->load_template('apps/editapp/del_admin_form.tpl');
 
$tpl->compile('content');
 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }
 
AjaxTpl();
 die();
 
$tpl->clear();
 
$db->free();
 break;

 case 
"search_admin":
 
$row = $db->super_query("SELECT user_photo, user_id FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'");
 
$tpl->load_template('apps/editapp/add_admin.tpl');
 if(
$row['user_photo']){
 
$tpl->set('{ava}', $config['home_url'].'uploads/users/'.$row['user_id'].'/50_'.$row['user_photo']);
 } else {
 
$tpl->set('{ava}', '/images/no_ava.gif');
 }
 
$tpl->compile('content');
 
AjaxTpl();
 die();
 
$tpl->clear();
 
$db->free();
 break;

 case 
"checkAdmin":
 
NoAjaxQuery();
 
$id = intval($_POST['id']);
 
$row = $db->super_query("SELECT user_photo, user_search_pref FROM `".PREFIX."_users` WHERE user_id = '{$id}'");
 if(
$row) echo $row['user_search_pref']."|".$row['user_photo'];
 die();
 break;
 
//Удаление приложения


 
case "deleteapp":
 
$id = intval($_POST['app']);
 
$app_hash = $_POST['app_hash'];

 if(
$app_hash == md5($id.'_'.$key)){
 
$app = $db->super_query("SELECT `title` FROM `".PREFIX."_apps` WHERE id = '{$id}'");
 if(
$app['user_id'] == $user_id){
 
$db->query("DELETE FROM `".PREFIX."_apps` WHERE `id`='{$id}'");
 echo 
"ok";
 } else echo 
"not";

 }else{
 
$tpl->load_template('apps/editapp/error.tpl');
 
$tpl->compile('content');
 }
 break;



 
//Окно загрузки фотографий
 
case "load_photo":
 
NoAjaxQuery();
 
$tpl->set('{id}', intval($_GET['id']));
 
$tpl->load_template('/apps/editapp/load_photo.tpl');
 
$tpl->compile('content');
 
AjaxTpl();
 die();
 break;

 
//Функция загрузки фото
 
case "upload":
 
NoAjaxQuery();

 include 
ENGINE_DIR.'/classes/images.php';

 
$id = intval($_GET['id']);

 
$uploaddir = ROOT_DIR.'/uploads/apps/';

 
//Если нет папок юзера, то создаём её
 
if(!is_dir($uploaddir.$id)){
 @
mkdir($uploaddir.$id, 0777 );
 @
chmod($uploaddir.$id, 0777 );
 }
 
//Разришенные форматы
 
$allowed_files = array('jpg', 'png', 'gif');

 
//Получаем данные о фотографии
 
$image_tmp = $_FILES['uploadfile']['tmp_name'];
 
$image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата
 
$image_rename = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии
 
$image_size = $_FILES['uploadfile']['size']; // размер файла
 
$type = end(explode(".", $image_name)); // формат файла

 
if(in_array($type, $allowed_files)){
 if(
$image_size < 5000000){
 
$res_type = '.'.$type;
 
$uploaddir = ROOT_DIR.'/uploads/apps/'.$id.'/'; // Директория куда загружать
 
if(move_uploaded_file($image_tmp, $uploaddir.$image_rename.$res_type)) {

 
//Создание уменьшеной копии 100х100
 
$tmb = new thumbnail($uploaddir.$image_rename.$res_type);
 
$tmb->size_auto('100x100');
 
$tmb->jpeg_quality(97);
 
$tmb->save($uploaddir.'100_'.$image_rename.$res_type);

 
$image_rename = $db->safesql($image_rename);
 
$res_type = $db->safesql($res_type);

 
$db->query("UPDATE `".PREFIX."_apps` SET `img`='{$image_rename}{$res_type}' WHERE `id`='{$id}'");
 echo 
$config['home_url'].'uploads/apps/'.$id.'/100_'.$image_rename.$res_type;

 } else
 echo 
'bad';
 } else
 echo 
'big_size';
 } else
 echo 
'bad_format';

 break;

 }
 
$db->free();
 
$tpl->clear();
 } else {
 
$user_speedbar = 'Информация';
 
msgbox('', $lang['not_logged'], 'info');
 }
 
?>
Онлайн: 1
Реклама