Jump to content

[Фича] загрузка авы в альбом группы


Recommended Posts


1 заходим в system\modules открыть там файл groups.php

ишим

//################### Страница загрузки главного фото сообщества ###################//
		case "loadphoto_page":
			NoAjaxQuery();
			$tpl->load_template('groups/load_photo.tpl');
			$tpl->set('{id}', $_POST['id']);
			$tpl->compile('content');
			AjaxTpl();
			die();
		break;


//################### Загрузка и изминение главного фото сообщества ###################//
		case "loadphoto":
			NoAjaxQuery();
			
			$id = intval($_GET['id']);
			
			//Проверка на то, что фото обновляет адмиH
			$row = $db->super_query("SELECT admin, photo, del, ban FROM `".PREFIX."_communities` WHERE id = '{$id}'");
			if(stripos($row['admin'], "u{$user_id}|") !== false AND $row['del'] == 0 AND $row['ban'] == 0){
			
				//Разришенные форматы
				$allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif');
				
				//Получаем данные о фотографии
				$image_tmp = $_FILES['uploadfile']['tmp_name'];
				$image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата
				$image_rename = substr(md5($server_time+rand(1,100000)), 0, 20); // имя фотографии
				$image_size = $_FILES['uploadfile']['size']; // размер файла
				$type = end(explode(".", $image_name)); // формат файла
				
				//Проверям если, формат верный то пропускаем
				if(in_array(strtolower($type), $allowed_files)){
					if($image_size < 5000000){
						$res_type = strtolower('.'.$type);
						
						$upload_dir = ROOT_DIR."/uploads/groups/{$id}/";

						if(move_uploaded_file($image_tmp, $upload_dir.$image_rename.$res_type)){
							//Подключаем класс для фотографий
							include ENGINE_DIR.'/classes/images.php';
							
							$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
							$tmb->size_auto(770);
							$tmb->jpeg_quality(95);
							$tmb->save($upload_dir.'o_'.$image_rename.$res_type);
							
							//Создание оригинала 200
							$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
							$tmb->size_auto(200, 1);
							$tmb->jpeg_quality(97);
							$tmb->save($upload_dir.$image_rename.$res_type);

							//Создание маленькой копии 100
							$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
							$tmb->size_auto('100x100');
							$tmb->jpeg_quality('100');
							$tmb->save($upload_dir.'100_'.$image_rename.$res_type);
							
							//Создание маленькой копии 50
							$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
							$tmb->size_auto('50x50');
							$tmb->jpeg_quality('100');
							$tmb->save($upload_dir.'50_'.$image_rename.$res_type);

							if($row['photo']){
								@unlink($upload_dir.$row['photo']);
								@unlink($upload_dir.'50_'.$row['photo']);
								@unlink($upload_dir.'100_'.$row['photo']);
							}
						
							//Добавляем на стену
							$wall_text = "<div class=\"profile_update_photo\"><a href=\"\" onClick=\"epage.vPhoto2(\'{$id}\', \'o_{$image_rename}{$res_type}\'); return false\"><img src=\"/uploads/groups/{$id}/o_{$image_rename}{$res_type}\" style=\"margin-top:3px\"></a></div>";
						
							$db->query("INSERT INTO `".PREFIX."_communities_wall` SET public_id = '{$id}', text = '{$wall_text}', add_date = '{$server_time}', type = 'в сообществе обновилась фотография:'");
							$dbid = $db->insert_id();
						
							$db->query("UPDATE `".PREFIX."_communities` SET rec_num = rec_num+1 WHERE id = '{$id}'");

							//Вставляем фотографию
							$db->query("UPDATE `".PREFIX."_communities` SET photo = '{$image_rename}{$res_type}' WHERE id = '{$id}'");

							//Результат для ответа
							echo $image_rename.$res_type;
							
							mozg_clear_cache_folder('groups');
						} else
							echo 'big_size';
					} else
						echo 'big_size';
				} else
					echo 'bad_format';
			}
			die();
		break;

Заменить на 

//################### Страница загрузки главного фото сообщества ###################//
		case "loadphoto_page":
			NoAjaxQuery();
			$tpl->load_template('groups/load_photo.tpl');
			$tpl->set('{id}', $_POST['id']);
			$tpl->compile('content');
			AjaxTpl();
			die();
		break;
		
				//################### Загрузка и изменение главного фото сообщества ###################//
		case "loadphoto":
			NoAjaxQuery();

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

			//Проверка на то, что фото обновляет админ
			$row = $db->super_query("SELECT admin, photo, del, ban FROM `".PREFIX."_communities` WHERE id = '{$id}'");
			if(stripos($row['admin'], "u{$user_id}|") !== false AND $row['del'] == 0 AND $row['ban'] == 0){

				//Разрешенные форматы
				$allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif');

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

				//Проверяем если, формат верный то пропускаем
				if(in_array(strtolower($type), $allowed_files)){
					if($image_size < 5000000){
						$res_type = strtolower('.'.$type);

						$upload_dir = ROOT_DIR."/uploads/groups/{$id}/";

						if(move_uploaded_file($image_tmp, $upload_dir.$image_rename.$res_type)){
							//Подключаем класс для фотографий
							include ENGINE_DIR.'/classes/images.php';

							//Создание оригинала
							$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
							$tmb->size_auto('200', 1);
							$tmb->jpeg_quality('100');
							$tmb->save($upload_dir.$image_rename.$res_type);

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

							//Создание маленькой копии 50
							$tmb = new thumbnail($upload_dir.$image_rename.$res_type);
							$tmb->size_auto('50x50');
							$tmb->jpeg_quality('100');
							$tmb->save($upload_dir.'50_'.$image_rename.$res_type);

							$check_system_albums = $db->super_query("SELECT aid, cover FROM `".PREFIX."_communities_albums` WHERE pid = '{$id}' AND system = 1");
							
							if(!$check_system_albums) {
								$hash = md5(md5($server_time).$name.$descr.md5($user_info['user_id']).md5($user_info['user_email']).$_IP);
								$date_create = date('Y-m-d H:i:s', $server_time);
									
								$sql_ = $db->query("INSERT INTO `".PREFIX."_communities_albums` (pid, name, descr, ahash, adate, position, system) VALUES ('{$id}', 'Фотографии со страницы сообщества', '', '{$hash}', '{$date_create}', '0', '1')");
								$aid_fors = $db->insert_id();
								$db->query("UPDATE `".PREFIX."_communities` SET albums_num = albums_num+1 WHERE id = '{$id}'");
							} else $aid_fors = $check_system_albums['aid'];
							
							$date = date('Y-m-d H:i:s', $server_time);
								
							$position_all = $_SESSION['position_all'];
							if($position_all){
								$position_all = $position_all+1;
								$_SESSION['position_all'] = $position_all;
							} else {
								$position_all = 100000;
								$_SESSION['position_all'] = $position_all;
							}

							$db->query("INSERT INTO `".PREFIX."_communities_photos` (album_id, photo_name, pid, date, position, userid) VALUES ('{$aid_fors}', '{$image_rename}{$res_type}', '{$id}', '{$date}', '{$position_all}', '0')");
							
							if(!$check_system_albums['cover'] OR !$check_system_albums) $db->query("UPDATE `".PREFIX."_communities_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid_fors}'");
							
							$db->query("UPDATE `".PREFIX."_communities_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid_fors}'");

			$wall_text = "<div class=\"profile_update_photo\"><a href=\"\" onclick=\"epage.vPhoto(\'{$id}\', \'{$image_rename}\'); return false\"
><img src=\"/uploads/groups/{$id}/{$image_rename}{$res_type}\" style=\"margin-top:3px\"></a></div>";
						

			$dbid = $db->insert_id();
			
                            						
							//Вставляем фотографию
							$db->query("UPDATE `".PREFIX."_communities` SET photo = '{$image_rename}{$res_type}' WHERE id = '{$id}'");

							//Результат для ответа
							echo $image_rename.$res_type;

							mozg_clear_cache_folder('groups');
						} else
							echo 'big_size';
					} else
						echo 'big_size';
				} else
					echo 'bad_format';
			}
			die();
		break;

автор неизвестен

вырезано из сборки mixnet pro

Edited by kphp
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...