Вход Регистрация
Файл: sysadm/styles.php
Строк: 352
<?
define
('ROOT','../');
require_once (
ROOT.'system/power.php');
$fuser->aut();
$admin->user_can('site_style',$ya['id'],true,ROOT.'sysadm/');
///Оптимизация дизайна
$d $db -> query("SELECT `style`,`id` FROM `users`");
while (
$dir $d -> fetch_assoc())
{
$styles $db -> query("SELECT `id` FROM `styles` where `url`='".$dir['style']."'");
if(
$styles -> num_rows == 0){
$db -> query("UPDATE `users` SET `style`='".$db->settings()."' WHERE `id` = '".$dir['id']."'");
}
}
$diz -> head('Стили сайта');
switch(
$mode) {
////Новый стиль
case 'new':
$diz -> title('Новый стиль');
if (empty(
$_POST['name']) || empty($_POST['url'])) {
echo 
'<div class="fon"><form action="?mode=new" method="post">
'
.language('Название').':<br/><input type="text" name="name" required/></br>
'
.language('Папка').':<br/><input type="text" name="url" required/></br>
<input type="submit" value="'
.language('Добавить').'"/></form></div>';
} else {
$nameshit($_POST['name']); 
$url shit($_POST['url']); 
$sql $db -> query("SELECT * FROM `styles` WHERE `url` = '".$url."'");
if (
$sql -> num_rows == 0) {
if (
is_dir(ROOT.'styles/'.$url)){
$db -> query("Insert `styles` SET `name` = '".$name."',`url` = '".$url."',`time` = '".time()."'");
echo 
'<div class="fon">'.language('Стиль добавлен').'</div>';
}else echo
'<div class="fon">'.language('Оишбка').'</div>';
}else echo
'<div class="fon">'.language('Ошибка').'</div>';
}
echo 
'<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
break;  

////управление css
case 'css':
$sql $db -> query("SELECT * FROM `styles` WHERE `id` = '".$id."'");
if (
$sql -> num_rows 0) {
$style $sql -> fetch_assoc();
$url=ROOT.'styles/'.$style['url'].'/style.css';
$diz -> title('CSS');
if (empty(
$_POST['css'])) {
$lines file($url);
echo 
'<div class="fon"><form action="?mode=css&id='.$id.'" method="post"><textarea name="css">';
foreach (
$lines as $line_num => $line) {echo $line;}
echo 
'</textarea><br/><input type="submit" value="'.language('Сохранить').'"/></form></div>';
echo 
'<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
} else {
$fp=fopen($url,'w+');
if(
fwrite($fp,$_POST['css'])==true){
header('Location: ?mode=css&id='.$id);
}else echo
'<div class="fon">'.language('Произошла ошибка').'</div>';
echo 
'<div class="levo"><a href="?mode=css&id='.$id.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
}
}else 
header('Location: ?');
break;  
////управление логотипом
case 'logo':
$sql $db -> query("SELECT * FROM `styles` WHERE `id` = '".$id."'");
if (
$sql -> num_rows 0) {
$style $sql -> fetch_assoc();
$diz -> title('Логотип');
$logo_size getimagesize(ROOT.'styles/'.$style['url'].'/images/logo.png'); 
echo 
'<div class="fon">'.language('Текущий логотип').':<br/>
'
.language('Файл').': <span class="text"/>styles/'.$style['url'].'/images/logo.png</span><br/>
'
.language('Размер файла').': <span class="text"/>'.$func->size(filesize(ROOT.'styles/'.$style['url'].'/images/logo.png')).'</span><br/>
'
.language('Размер изображения').': <span class="text"/>'.$logo_size[0].'x'.$logo_size[1].'</span><br/>
<img src="'
.ROOT.'styles/'.$style['url'].'/images/logo.png"/></div>';
if (!isset(
$_POST['submit'])) {
echo 
'<div class="fon">
<form action="?mode=logo&id='
.$id.'" method="post" enctype="multipart/form-data">';
echo 
'<br/>'.language('Выберите изображение').' ('.language('PNG').'):<br/>
'
.$diz->import('file','Выберите файл',true,'image/png').'
<input type="submit" name="submit" value="'
.language('Загрузить').'"/>
</form></div>'
;
echo 
'<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
} else {
$ex pathinfo($_FILES['file']['name']);
$ext strtolower($ex['extension']);
if (
$ext == 'png') {
if (
move_uploaded_file($_FILES['file']['tmp_name'], ROOT.'styles/'.$style['url'].'/images/logo.png')) {
header('Location: ?mode=logo&id='.$id);
}else echo 
'<div class="fon">'.language('Произошла ошибка').'</div>';
}else echo 
'<div class="fon">'.language('Произошла ощибка').'</div>';
echo 
'<div class="levo"><a href="?mode=logo&id='.$id.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
}
}else 
header('Location: ?');
break;  
///настройки стиля
case 'style':
$sql $db -> query("SELECT * FROM `styles` WHERE `id` = '".$id."'");
if (
$sql -> num_rows 0) {
$style $sql -> fetch_assoc();
$diz -> title('Изменяем стиль');
if (empty(
$_POST['name']) || empty($_POST['url'])) {
echo 
'<div class="fon"><form action="?mode=style&id='.$id.'" method="post">
'
.language('Название').':<br/><input type="text" name="name" value="'.$style['name'].'"/></br>
'
.language('Папка').':<br/><input type="text" name="url" value="'.$style['url'].'"/><br/>
<input type="submit" value="'
.language('Изменить').'"/></form></div>';
} else {
$name shit($_POST['name']); 
$url shit($_POST['url']); 
$sql2 $db -> query("SELECT * FROM `styles` WHERE `url` = '".$url."'");
$other_style $sql2 -> fetch_assoc();
if ((
$name!=$other_style['name'] and $other_style['url']==$style['url'])or($sql2 -> num_rows == 0)){
if (
is_dir(ROOT.'styles/'.$url)){
$db -> query("UPDATE `styles` SET `name` = '".$name."',`url` = '".$url."' WHERE `id` = '".$id."'");
echo 
'<div class="fon">'.language('Изменения приняты').'</div>';
}else echo
'<div class="fon">'.language('Ошибка').'</div>';
}else echo
'<div class="fon">'.language('Ошибка').'</div>';
}
echo 
'<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
} else 
header('Location: ?');
break;
///удаление стиля
case 'del':
$sql $db -> query("SELECT * FROM `styles` WHERE `id` = '".$id."'");
$sql2 $db -> query("SELECT * FROM `styles`");
if (
$sql -> num_rows and $sql2->num_rows!=1) {
$diz -> title('Удаление стиля');
switch(
$do) {
case 
'yes':
$db -> query("DELETE FROM `styles` where `id` = '".$id."'");
header('Location: ?');
break;
default:
echo 
'<div class="fon">'.language('Вы подтверждаете это действие').'?</div>';
echo 
'<div class="dialog">
<a class="dialog_m" href="?mode=del&do=yes&id='
.$id.'">'.language('Да').'</a>
<a class="dialog_m" href="?">'
.language('Нет').'</a>
</div>'

}
} else 
header('Location: ?');
break;
///устанавливаем стандартный стиль
case 'sost':
$sql $db -> query("SELECT * FROM `styles` WHERE `id` = '".$id."'");
if (
$sql -> num_rows 0) {
$s=$sql->fetch_assoc();
$db -> query("UPDATE `settings` SET `parametr` = '".$s['url']."' where `name`='ststyle'");
header('Location: ?');
} else 
header('Location: ?');
break;
//управление иконками
case 'icons':
$sql $db -> query("SELECT * FROM `styles` WHERE `id` = '".$id."'");
if (
$sql -> num_rows 0) {
$style $sql -> fetch_assoc();
$diz -> title('Иконки');
include_once (
ROOT.'styles/'.$style['url'].'/icon.php');
$files scandir(ROOT.'styles/'.$style['url'].'/images/icons/');
echo 
'<div class="fon">'.language('Всего иконок').': <span class="count">'.(count($files)-2).'</span></div>';
echo 
'<div class="menu"><a href="?mode=new_icon&id='.$id.'" class="menutuch">'.$diz -> icon('r.png').' '.language('Загрузить иконку').'</a></div>';
echo 
'<div class="fon"><table width="100%"><tr>';
foreach (
$files as $key => $value) {
$ex pathinfo($value);
$ext strtolower($ex['extension']);
if(
$ext=='png'){
echo 
'<td style="width:20%;">'.$diz -> icon($value).' '.$value.'</td>';
echo 
'<td>'.$array_style_icons[$value].'</td>';
echo 
'<td><a href="?mode=del_icon&act='.$value.'&id='.$id.'"/>'.language('Удалить').'</a></td>'
echo 
'</tr>';
}
}
echo 
'</tr></table></div>';
echo 
'<div class="levo"><a href="?" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
} else 
header('Location: ?');
break;
////загрузка новой иконки
case 'new_icon':
$sql $db -> query("SELECT * FROM `styles` WHERE `id` = '".$id."'");
if (
$sql -> num_rows 0) {
$style $sql -> fetch_assoc();
$diz -> title('Иконки');
if (!isset(
$_POST['submit'])) {
echo 
'<div class="fon">
<form action="?mode=new_icon&id='
.$id.'" method="post" enctype="multipart/form-data">';
echo 
''.language('Выберите файл').' (PNG):<br/>
'
.$diz->import('file','Выберите файл',true,'image/png').'
'
.language('Название').'<br/>
<input type="text" name="name" required/><br />
<input type="submit" name="submit" value="'
.language('Загрузить').'"/>
</form></div>'
;
echo 
'<div class="levo"><a href="?mode=icons&id='.$id.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
} else {
$name=shit($_POST['name']);
if(
mb_strlen($func->delprobel($name))>2)$name=$name; else $name=$_FILES['file']['name'];    
$ex pathinfo($_FILES['file']['name']);
$ext strtolower($ex['extension']);
if (
$ext == 'png') {
if (
move_uploaded_file($_FILES['file']['tmp_name'], ROOT.'styles/'.$style['url'].'/images/icons/'.$_FILES['file']['name'])) {
include_once (
ROOT.'styles/'.$style['url'].'/icon.php');
if(
in_array($_FILES['file']['name'],$array_style_icons)==false){
$array_style_icons[$_FILES['file']['name']]=$name;
$new_array=null;$i=0;
foreach (
$array_style_icons as $key => $value) {
$new_array.='"'.$key.'"=>"'.$value.'"'
if(
count($array_style_icons)-1>$i){$new_array.=',
'
;
}
$i++;    
}    
$file_icons=fopen(ROOT.'styles/'.$style['url'].'/icon.php','w+');
$text_file='<?
$array_style_icons=array('
.$new_array.');
?>'
;
if(
fwrite($file_icons,$text_file)==true){
fclose($file_icons);    
header('Location: ?mode=icons&id='.$id);
}else{ 
echo 
'<div class="fon">'.language('Произошла ошибка').'</div>';
fclose($file_icons);    
}
}else 
header('Location: ?mode=icons&id='.$id);
}
}else echo 
'<div class="fon">'.language('Неверный формат').'</div>';
echo 
'<div class="levo"><a href="?mode=new_icon&id='.$id.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
}
}else 
header('Location: ?');
break; 
///удаление иконки
case 'del_icon':
$sql $db -> query("SELECT `url` FROM `styles` WHERE `id` = '".$id."'");
if (
$sql -> num_rows 0) {
$style $sql -> fetch_assoc();
if (
is_file(ROOT.'styles/'.$style['url'].'/images/icons/'.$act)) {
$diz -> title('Удаление иконки');
switch(
$do) {
case 
'yes':
if(
unlink(ROOT.'styles/'.$style['url'].'/images/icons/'.$act)){
include_once (
ROOT.'styles/'.$style['url'].'/icon.php');
unset(
$array_style_icons[$act]);
$new_array=null;$i=0;
foreach (
$array_style_icons as $key => $value) {
$new_array.='"'.$key.'"=>"'.$value.'"'
if(
count($array_style_icons)-1>$i){$new_array.=',
'
;
}
$i++;    
}    
$file_icons=fopen(ROOT.'styles/'.$style['url'].'/icon.php','w+');
$text_file='<?
$array_style_icons=array('
.$new_array.');
?>'
;
if(
fwrite($file_icons,$text_file)==true){
fclose($file_icons);    
header('Location: ?mode=icons&id='.$id);
}else{ 
echo 
'<div class="fon">'.language('Произошла ошибка').'</div>';
fclose($file_icons);    
}
}else echo 
'<div class="fon">'.language('Произошла ошибка').'</div>';
echo 
'<div class="levo"><a href="?mode=icons&id='.$id.'" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Назад').'</a></div>';
break;
default:
echo 
'<div class="fon">'.language('Вы подтверждаете это действие').'?</div>';
echo 
'<div class="dialog">
<a class="dialog_m" href="?mode=del_icon&do=yes&act='
.$act.'&id='.$id.'">'.language('Да').'</a>
<a class="dialog_m" href="?mode=icons&id='
.$id.'">'.language('Нет').'</a>
</div>'

}
} else 
header('Location: ?mode=icons&id='.$id);
} else 
header('Location: ?mode=icons&id='.$id);
break;
///главная
default:
$diz -> title('Стили сайта');
echo 
'<div class="menu"><a href="?mode=new" class="menutuch">'.$diz -> icon('settings.png').' '.language('Добавить стиль').'</a></div>';
$sql $db -> query("SELECT * FROM `styles` ORDER BY `time`");
if (
$sql -> num_rows 0) {
while (
$s $sql -> fetch_assoc()) {
if(
$db->settings()==$s['url'])$sost=language('Стандартный'); else $sost='<a href="?mode=sost&id='.$s['id'].'">'.language('Установить как стандартный').'</a>';
$people $db -> dbcount('count(`id`)','users',"`style`='".$s['url']."'");
echo 
'<div class="fon">
'
.language('Название').': <span class="text">'.$s['name'].'</span></br>
'
.language('Папка').': <span class="text">'.$s['url'].'</span></br>
'
.language('Статус').': <span class="text">'.$sost.'</span></br>
'
.language('Используют').': <span class="count">'.$people.'</span></br>
'
.language('Добавлен').': <span class="date">'.$func -> vremja(ustime($ya['gmt'],$s['time'])).'</span>
</div>'
;
echo 
'<div class="zap">
<a class="zap_b" href="?mode=style&id='
.$s['id'].'">'.language('Редактировать').'</a>';
echo 
'<a class="zap_b" href="?mode=icons&id='.$s['id'].'">'.language('Иконки').'</a>';
echo 
'<a class="zap_b" href="?mode=logo&id='.$s['id'].'">'.language('Логотип').'</a>';
echo 
'<a class="zap_b" href="?mode=css&id='.$s['id'].'">'.language('CSS').'</a>';
if(
$sql -> num_rows != 1)echo'<a class="zap_b" href="?mode=del&id='.$s['id'].'">'.language('Удалить').'</a>';
echo
'</div>';
}
}else echo 
'<div class="fon">'.language('Список пуст').'</div>';
}
echo 
'<div class="levo"><a href="./" class="levo_tuch">'.$diz -> icon('back.png').' '.language('Управление').'</a></div>';
echo 
'<div class="levo"><a href="'.ROOT.'" class="levo_tuch">'.$diz -> icon('home.png').' '.language('На главную').'</a></div>';
#####Копирайт#######
$diz -> out($msg);
?>
Онлайн: 0
Реклама