Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

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


Рекомендуемые сообщения


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

Изменено пользователем kphp
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...