Rips777
Создатель
- Регистрация
- 22 Апр 2010
- Сообщения
- 13
- Реакции
- 0
- Автор темы
- #1
PHP:
<?php
function save_block_to_file( $num_block )
{
$big_str = "<?PHP \$num_block = array ();";
foreach ( $num_block as $key1 => $value1 )
{
$big_str .= "\$num_block[\"".$key1."\"]= array (";
foreach ( $value1 as $key2 => $value2 )
{
$big_str .= "'".$key2."' => '".$value2."',";
}
$big_str = substr( $big_str, 0, strlen( $big_str ) - 1 );
$big_str .= ");";
}
$big_str .= " ?>";
$f = fopen( ENGINE_DIR."/data/newsblock_config.php", "w" );
fwrite( $f, $big_str );
$res = fclose( $f );
return $res;
}
function del_cash_files( $teg_file_cache )
{
$ffilecache = ENGINE_DIR."/cache/system/newsblock_".$teg_file_cache.".tmp";
if ( file_exists( $ffilecache ) )
{
@unlink( $ffilecache );
}
}
if ( defined( "DATALIFEENGINE" ) )
{
}
if ( !defined( "LOGGED_IN" ) )
{
exit( "Hacking attempt!" );
}
@include( ENGINE_DIR."/data/newsblock_config.php" );
if ( !$user_group[$member_id['user_group']]['admin_categories'] )
{
msg( "error", $lang['index_denied'], $lang['cat_perm'] );
}
if ( $action == "add" )
{
if ( $_REQUEST['user_hash'] == "" || $_REQUEST['user_hash'] != $dle_login_hash )
{
exit( "Hacking attempt! User not found" );
}
$block_desc = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_desc'] ) ), ENT_QUOTES ) );
if ( 0 < $_POST['block_type'] )
{
$block_type = intval( $_POST['block_type'] );
}
else
{
$block_type = 0;
}
$teg_block = $db->safesql( htmlspecialchars( totranslit( strip_tags( stripslashes( $_POST['teg_block'] ) ), ENT_QUOTES ) ) );
$hor_count = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['hor_count'] ) ), ENT_QUOTES ) );
$vert_count = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['vert_count'] ) ), ENT_QUOTES ) );
$max_img = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['max_img'] ) ), ENT_QUOTES ) );
$title_length = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['title_length'] ) ), ENT_QUOTES ) );
$short_story_length = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['short_story_length'] ) ), ENT_QUOTES ) );
if ( 0 < $_POST['block_status'] )
{
$block_status = intval( $_POST['block_status'] );
}
else
{
$block_status = 0;
}
$block_period = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_period'] ) ), ENT_QUOTES ) );
$block_border = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_border'] ) ), ENT_QUOTES ) );
$block_border_color = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_border_color'] ) ), ENT_QUOTES ) );
$block_image_load = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_image_load'] ) ), ENT_QUOTES ) );
if ( !$block_desc )
{
msg( "error", "Ошибка!!!", "Введите название блока.", "javascript:history.go(-1)" );
}
if ( !$teg_block )
{
msg( "error", "Ошибка!!!", "Введите тег блока.", "javascript:history.go(-1)" );
}
if ( $num_block[$teg_block]['block_desc'] == $block_desc )
{
msg( "error", "Ошибка!!!", "Блок c именем \"".$block_desc."\" уже существует.", "javascript:history.go(-1)" );
}
if ( $num_block[$teg_block] )
{
msg( "error", "Ошибка!!!", "Тег \"".$teg_block."\" уже существует.", "javascript:history.go(-1)" );
}
if ( !$hor_count )
{
msg( "error", "Ошибка!!!", "Введите количество новостей по горизонтали.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $hor_count ) && round( $hor_count ) != $hor_count || $hor_count < 1 || 15 < $hor_count )
{
msg( "error", "Ошибка!!!", "Недопустимое значение количества новостей по горизонтали.", "javascript:history.go(-1)" );
}
if ( !$vert_count )
{
msg( "error", "Ошибка!!!", "Введите количество новостей по вертикали.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $vert_count ) && round( $vert_count ) != $vert_count || $vert_count < 1 || 15 < $vert_count )
{
msg( "error", "Ошибка!!!", "Недопустимое значение количества новостей по вертикали.", "javascript:history.go(-1)" );
}
if ( !$max_img )
{
msg( "error", "Ошибка!!!", "Введите длину наибольшей стороны картинки.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $max_img ) && round( $max_img ) != $max_img || $max_img < 50 || 150 < $max_img )
{
msg( "error", "Ошибка!!!", "Недопустимое значение длины наибольшей стороны картинки.", "javascript:history.go(-1)" );
}
if ( !$title_length )
{
msg( "error", "Ошибка!!!", "Введите количество символов в заголовке новости.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $title_length ) && round( $title_length ) != $title_length || $title_length < 0 || 500 < $title_length )
{
msg( "error", "Ошибка!!!", "Недопустимое значение длины заголовка.", "javascript:history.go(-1)" );
}
if ( !$short_story_length )
{
msg( "error", "Ошибка!!!", "Введите количество символов в описании новости.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $short_story_length ) && round( $short_story_length ) != $short_story_length || $short_story_length < 0 || 1000 < $short_story_length )
{
msg( "error", "Ошибка!!!", "Недопустимое значение длины описания новости.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $block_period ) && round( $block_period ) != $block_period || $block_period < 0 )
{
msg( "error", "Ошибка!!!", "Недопустимое значение периода выборки новостей.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $block_border ) && round( $block_border ) != $block_border || $block_border < 0 || 10 < $block_border )
{
msg( "error", "Ошибка!!!", "Недопустимое значение толщины линии рамки.", "javascript:history.go(-1)" );
}
if ( $block_type != "0" )
{
msg( "error", "Ошибка!!!", "Даный тип блока доступен только в полной версии модуля.<br>Для приобретения полной версии - email:kandriy2004@ukr.net", "javascript:history.go(-1)" );
}
$num_block[$teg_block] = array(
"block_desc" => $block_desc,
"block_type" => $block_type,
"teg_block" => $teg_block,
"hor_count" => $hor_count,
"vert_count" => $vert_count,
"max_img" => $max_img,
"title_length" => $title_length,
"short_story_length" => $short_story_length,
"block_status" => $block_status,
"block_period" => $block_period,
"block_border" => $block_border,
"block_border_color" => $block_border_color,
"block_image_load" => $block_image_load
);
if ( save_block_to_file( $num_block ) )
{
msg( "info", "Блок новостей добавлен.", "Блок новостей был успешно добавлен!", "?mod=newsblock" );
}
else
{
msg( "error", "Ошибка!!!", "Блок новостей нихрена не сохранился.", "javascript:history.go(-1)" );
}
}
else
{
if ( $action == "remove" )
{
if ( $_REQUEST['user_hash'] == "" || $_REQUEST['user_hash'] != $dle_login_hash )
{
exit( "Hacking attempt! User not found" );
}
$teg = $_GET['teg'];
if ( !$teg )
{
msg( "error", "Ошибка !!!", "Нет тега блока новостей!", "{$PHP_SELF}?mod=newsblock" );
}
unset( $num_block[$teg] );
if ( save_block_to_file( $num_block ) )
{
del_cash_files( $teg );
msg( "info", $lang['Блок удален'], "Блок новостей был успешно удален.", "?mod=newsblock" );
}
else
{
msg( "error", "Ошибка!!!", "Блок новостей нихрена не удален.", "javascript:history.go(-1)" );
}
}
else if ( $action == "edit" )
{
echoheader( "options", $lang['cat_head'] );
$teg = $_GET['teg'];
if ( !$teg )
{
msg( "error", "Ошибка !!!", "Нет тега блока новостей!", "{$PHP_SELF}?mod=newsblock" );
}
$block_desc = $num_block[$teg]['block_desc'];
$block_type = $num_block[$teg]['block_type'];
$dropdown_block_type = "";
if ( $block_type == "0" )
{
$dropdown_block_type .= "<option value=\"0\" selected>случайные новости</option> ";
}
else
{
$dropdown_block_type .= "<option value=\"0\">случайные новости</option> ";
}
if ( $block_type == "1" )
{
$dropdown_block_type .= "<option value=\"1\" style=\"color:grey\" selected>последние новости</option> ";
}
else
{
$dropdown_block_type .= "<option value=\"1\" style=\"color:grey\">последние новости</option> ";
}
if ( $block_type == "2" )
{
$dropdown_block_type .= "<option value=\"2\" style=\"color:grey\" selected>популярные новости (по рейтингу)</option> ";
}
else
{
$dropdown_block_type .= "<option value=\"2\" style=\"color:grey\">популярные новости (по рейтингу)</option> ";
}
if ( $block_type == "3" )
{
$dropdown_block_type .= "<option value=\"3\" style=\"color:grey\" selected>популярные новости (по просмотрам)</option> ";
}
else
{
$dropdown_block_type .= "<option value=\"3\" style=\"color:grey\">популярные новости (по просмотрам)</option> ";
}
if ( $block_type == "4" )
{
$dropdown_block_type .= "<option value=\"4\" style=\"color:grey\" selected>фиксированные новости</option> ";
}
else
{
$dropdown_block_type .= "<option value=\"4\" style=\"color:grey\">фиксированные новости</option> ";
}
$teg_block = $num_block[$teg]['teg_block'];
$hor_count = $num_block[$teg]['hor_count'];
$vert_count = $num_block[$teg]['vert_count'];
$max_img = $num_block[$teg]['max_img'];
$title_length = $num_block[$teg]['title_length'];
$short_story_length = $num_block[$teg]['short_story_length'];
$block_status = $num_block[$teg]['block_status'];
$dropdown_block_status = "";
if ( $block_status == "0" )
{
$dropdown_block_status .= "<option value=\"0\" selected>активен</option>";
}
else
{
$dropdown_block_status .= "<option value=\"0\">активен</option>";
}
if ( $block_status == "1" )
{
$dropdown_block_status .= "<option value=\"1\" selected>не активен</option>";
}
else
{
$dropdown_block_status .= "<option value=\"1\">не активен</option>";
}
$block_period = $num_block[$teg]['block_period'];
$block_border = $num_block[$teg]['block_border'];
$block_border_color = $num_block[$teg]['block_border_color'];
$block_image_load = $num_block[$teg]['block_image_load'];
$dropdown_block_image_load = "";
if ( $block_image_load == "0" )
{
$dropdown_block_image_load .= "<option value=\"0\" selected>каждый раз загружать из источника</option>";
}
else
{
$dropdown_block_image_load .= "<option value=\"0\">каждый раз загружать из источника</option>";
}
if ( $block_image_load == "1" )
{
$dropdown_block_image_load .= "<option value=\"1\" selected>вставка уменьшенной копии картинки (thumb)</option>";
}
else
{
$dropdown_block_image_load .= "<option value=\"1\">вставка уменьшенной копии картинки (thumb)</option>";
}
echo "<form method=\"post\" action=\"\">\n<div style=\"padding-top:5px;padding-bottom:2px;\">\n<table width=\"100%\" border=\"0\">\n <tr>\n <td width=\"4\"><img src=\"engine/skins/images/tl_lo.gif\" width=\"4\" height=\"4\" border=\"0\"></td>\n <td background=\"engine/skins/images/tl_oo.gif\"><img src=\"engine/skins/images/tl_oo.gif\" width=\"1\" height=\"4\" border=\"0\"></td>\n <td width=\"6\"><img src=\"engine/skins/images/tl_ro.gif\" width=\"6\" height=\"4\" border=\"0\"></td>\n </tr>\n <tr>\n <td background=\"engine/skins/images/tl_lb.gif\"><img src=\"engine/skins/images/tl_lb.gif\" width=\"4\" height=\"1\" border=\"0\"></td>\n <td style=\"padding:5px;\" bgcolor=\"#FFFFFF\">\n<table width=\"100%\" border=\"0\">\n <tr>\n <td bgcolor=\"#EFEFEF\" height=\"29\" style=\"padding-left:10px;\"><div class=\"navigation\">Редактирование блока</div></td>\n </tr>\n</table>\n<div class=\"unterline\"></div>\n<table width=\"100%\" border=\"0\"> \n<tr> \n <td width=\"320\" style=\"padding:4px;\">Описание:</td> \n\t<td><input style=\"width:345px;\" class=\"edit\" type=\"text\" name=\"block_desc\" value=\"";
echo $block_desc;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Описание блока новостей. Например: Блок на правой панели (5х2)', this, event, '250px')\">[?]</a>\t</td> \n</tr>\n<tr>\n <td style=\"padding:4px;\">Тип:</td> \n\t<td>\n\t<select size=1 name=\"block_type\"> \n ";
echo $dropdown_block_type;
echo " \n\t</select>\n\t</td> \n</tr>\t\t\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Тег:</td> \n\t<td><input class=\"edit\" type=\"text\" name=\"teg_block\" value=\"";
echo $teg_block;
echo "\" disabled><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Тег, с помощью которого блок будет выводиться на странице. Например: block_left_panel', this, event, '250px')\">[?]</a></td> \n</tr>\n<tr>\n <td width=\"260\" style=\"padding:4px;\">Количество новостей по горизонтали (1-15):</td>\n <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"hor_count\" value=\"";
echo $hor_count;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Введите количество новостей по горизонтали (1-10)', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr>\n <td width=\"260\" style=\"padding:4px;\">Количество новостей по вертикали (1-15):</td> \n\t\t<td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"vert_count\" value=\"";
echo $vert_count;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Введите количество новостей по вертикали (1-10)', this, event, '250px')\">[?]</a></td> \n</tr>\t\t\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Длина наибольшей стороны картинки (50-150px):</td> \n\t\t<td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"max_img\" value=\"";
echo $max_img;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Укажите длинну наибольшей стороны картики в блоке (50-150px). По этому значению пропорционально будет выровнена картика', this, event, '250px')\">[?]</a></td> \n</tr>\t\t\t\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Количество символов в заголовке:</td> \n\t <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"title_length\" value=\"";
echo $title_length;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Количество символов в заголовке новости', this, event, '250px')\">[?]</a></td> \n</tr>\t\t\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Количество символов в описании:</td> \n\t <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"short_story_length\" value=\"";
echo $short_story_length;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Количество символов в описании новости', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr>\n <td style=\"padding:4px;\">Споcоб вывода картинки:</td> \n\t<td>\n\t<select size=1 name=\"block_image_load\"> \n\t\t";
echo $dropdown_block_image_load;
echo " \n\t</select>\n\t<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Способ вывода картинок в блоке.<br>Первый вариант предполагает то, что картинки всегда будут подгружаться из источника в исходном размере, уменьшаться до нужного размера и выводиться в блоке.<br>Второй вариант предполагает загрузку картинки один раз на веб-сервер в уменшенном виде (thumb) и хранение ее там. В этом случае пользователь подгружет картинку значительно меньшего рзмера нежели в первом варианте. Это ускорит вывод картинок в блоке. Примечание: во втором варианте поддерживаются только файлы с расширением *.jpg, *.gif и *.png ', this, event, '400px')\">[?]</a></td>\n\t</td> \n</tr>\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Период, за который выбирать новости (дней назад):</td> \n\t <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"block_period\" value=\"";
echo $block_period;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Период, за который будут выбираться новости. Например: значение 0 - весь период, значение 30 - с даты 30 дней назад по текущую дату.', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Рамка блока (px):</td> \n\t <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"block_border\" value=\"";
echo $block_border;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Толщина линии рамки (в пикселях) вокруг новостей блока. 0 - без рамки.', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Цвет рамки блока:</td> \n\t <td><input style=\"width:60px;\" class=\"edit\" type=\"text\" name=\"block_border_color\" value=\"";
echo $block_border_color;
echo "\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Цвет рамки. Например: #000000 - черный, #ffffff - белый, red - красный и т.д.', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr>\n <td style=\"padding:4px;\">Статус:</td> \n\t<td>\n\t<br>\n\t<select size=1 name=\"block_status\"> \n ";
echo $dropdown_block_status;
echo " \n\t</select>\n\t</td> \n</tr>\t\n <tr>\n <td colspan=\"2\"><div class=\"hr_line\"></div></td>\n </tr>\n <tr>\n <td style=\"padding:4px;\"> </td>\n <td> \n\t\t\t<input type=\"submit\" class=\"buttons\" value=\"Сохранить\">\n\t\t\t<input type=\"hidden\" name=mod value=newsblock>\n\t\t\t<input type=\"hidden\" name=\"user_hash\" value=\"";
echo $dle_login_hash;
echo "\" />\n\t\t\t <input type=hidden name=action value=doedit></td>\n\t\t\t <input type=hidden name=teg value=";
echo $teg_block;
echo ">\n </tr>\t\t\n</table>\n</td>\n\n <td background=\"engine/skins/images/tl_rb.gif\"><img src=\"engine/skins/images/tl_rb.gif\" width=\"6\" height=\"1\" border=\"0\"></td>\n </tr>\n <tr>\n <td><img src=\"engine/skins/images/tl_lu.gif\" width=\"4\" height=\"6\" border=\"0\"></td>\n <td background=\"engine/skins/images/tl_ub.gif\"><img src=\"engine/skins/images/tl_ub.gif\" width=\"1\" height=\"6\" border=\"0\"></td>\n <td><img src=\"engine/skins/images/tl_ru.gif\" width=\"6\" height=\"6\" border=\"0\"></td>\n </tr>\n</table>\n</div></form>";
echofooter( );
exit( );
}
else if ( $action == "doedit" )
{
if ( $_REQUEST['user_hash'] == "" || $_REQUEST['user_hash'] != $dle_login_hash )
{
exit( "Hacking attempt! User not found" );
}
$teg = $_GET['teg'];
if ( !$teg )
{
msg( "error", "Ошибка !!!", "Нет тега блока новостей!", "{$PHP_SELF}?mod=newsblock" );
}
$block_desc = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_desc'] ) ), ENT_QUOTES ) );
if ( 0 < $_POST['block_type'] )
{
$block_type = intval( $_POST['block_type'] );
}
else
{
$block_type = 0;
}
$teg_block = $db->safesql( htmlspecialchars( totranslit( strip_tags( stripslashes( $_POST['teg_block'] ) ), ENT_QUOTES ) ) );
$hor_count = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['hor_count'] ) ), ENT_QUOTES ) );
$vert_count = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['vert_count'] ) ), ENT_QUOTES ) );
$max_img = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['max_img'] ) ), ENT_QUOTES ) );
$title_length = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['title_length'] ) ), ENT_QUOTES ) );
$short_story_length = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['short_story_length'] ) ), ENT_QUOTES ) );
if ( 0 < $_POST['block_status'] )
{
$block_status = intval( $_POST['block_status'] );
}
else
{
$block_status = 0;
}
$block_period = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_period'] ) ), ENT_QUOTES ) );
$block_border = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_border'] ) ), ENT_QUOTES ) );
$block_border_color = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_border_color'] ) ), ENT_QUOTES ) );
$block_image_load = $db->safesql( htmlspecialchars( strip_tags( stripslashes( $_POST['block_image_load'] ) ), ENT_QUOTES ) );
if ( !$block_desc )
{
msg( "error", "Ошибка!!!", "Введите название блока.", "javascript:history.go(-1)" );
}
if ( !$hor_count )
{
msg( "error", "Ошибка!!!", "Введите количество новостей по горизонтали.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $hor_count ) && round( $hor_count ) != $hor_count || $hor_count < 1 || 15 < $hor_count )
{
msg( "error", "Ошибка!!!", "Недопустимое значение количества новостей по горизонтали.", "javascript:history.go(-1)" );
}
if ( !$vert_count )
{
msg( "error", "Ошибка!!!", "Введите количество новостей по вертикали.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $vert_count ) && round( $vert_count ) != $vert_count || $vert_count < 1 || 15 < $vert_count )
{
msg( "error", "Ошибка!!!", "Недопустимое значение количества новостей по вертикали.", "javascript:history.go(-1)" );
}
if ( !$max_img )
{
msg( "error", "Ошибка!!!", "Введите длину наибольшей стороны картинки.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $max_img ) && round( $max_img ) != $max_img || $max_img < 50 || 150 < $max_img )
{
msg( "error", "Ошибка!!!", "Недопустимое значение длины наибольшей стороны картинки.", "javascript:history.go(-1)" );
}
if ( !$title_length )
{
msg( "error", "Ошибка!!!", "Введите количество символов в заголовке новости.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $title_length ) && round( $title_length ) != $title_length || $title_length < 0 || 500 < $title_length )
{
msg( "error", "Ошибка!!!", "Недопустимое значение длины заголовка.", "javascript:history.go(-1)" );
}
if ( !$short_story_length )
{
msg( "error", "Ошибка!!!", "Введите количество символов в описании новости.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $short_story_length ) && round( $short_story_length ) != $short_story_length || $short_story_length < 0 || 1000 < $short_story_length )
{
msg( "error", "Ошибка!!!", "Недопустимое значение длины описания новости.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $block_period ) && round( $block_period ) != $block_period || $block_period < 0 )
{
msg( "error", "Ошибка!!!", "Недопустимое значение периода выборки новостей.", "javascript:history.go(-1)" );
}
if ( !is_numeric( $block_border ) && round( $block_border ) != $block_border || $block_border < 0 || 10 < $block_border )
{
msg( "error", "Ошибка!!!", "Недопустимое значение толщины линии рамки.", "javascript:history.go(-1)" );
}
if ( $block_type != "0" )
{
msg( "error", "Ошибка!!!", "Даный тип блока доступен только в полной версии модуля.<br>Для приобретения полной версии - email:kandriy2004@ukr.net", "javascript:history.go(-1)" );
}
$num_block[$teg] = array(
"block_desc" => $block_desc,
"block_type" => $block_type,
"teg_block" => $teg,
"hor_count" => $hor_count,
"vert_count" => $vert_count,
"max_img" => $max_img,
"title_length" => $title_length,
"short_story_length" => $short_story_length,
"block_status" => $block_status,
"block_period" => $block_period,
"block_border" => $block_border,
"block_border_color" => $block_border_color,
"block_image_load" => $block_image_load
);
if ( save_block_to_file( $num_block ) )
{
del_cash_files( $teg );
msg( "info", "Блок новостей изменен.", "Блок новостей был успешно изменен!", "?mod=newsblock" );
}
else
{
msg( "error", "Ошибка!!!", "Блок новостей нихрена не изменен.", "javascript:history.go(-1)" );
}
}
}
echoheader( "options", $lang['cat_head'] );
$categories_list = categorynewsselection( 0, 0 );
if ( $config['allow_multi_category'] )
{
$category_multiple = "class=\"cat_select\" multiple";
}
else
{
$category_multiple = "";
}
echo "<form method=\"post\" action=\"\">\n<div style=\"padding-top:5px;padding-bottom:2px;\">\n<table width=\"100%\" border=\"0\">\n <tr>\n <td width=\"4\"><img src=\"engine/skins/images/tl_lo.gif\" width=\"4\" height=\"4\" border=\"0\"></td>\n <td background=\"engine/skins/images/tl_oo.gif\"><img src=\"engine/skins/images/tl_oo.gif\" width=\"1\" height=\"4\" border=\"0\"></td>\n <td width=\"6\"><img src=\"engine/skins/images/tl_ro.gif\" width=\"6\" height=\"4\" border=\"0\"></td>\n </tr>\n <tr>\n <td background=\"engine/skins/images/tl_lb.gif\"><img src=\"engine/skins/images/tl_lb.gif\" width=\"4\" height=\"1\" border=\"0\"></td>\n <td style=\"padding:5px;\" bgcolor=\"#FFFFFF\">\n<table width=\"100%\" border=\"0\">\n <tr>\n <td bgcolor=\"#EFEFEF\" height=\"29\" style=\"padding-left:10px;\"><div class=\"navigation\">Добавление нового блока</div></td>\n </tr>\n</table>\n<div class=\"unterline\"></div>\n<table width=\"100%\" border=\"0\"> \n<tr> \n <td width=\"320\" style=\"padding:4px;\">Описание*:</td> \n\t<td><input style=\"width:345px;\" class=\"edit\" type=\"text\" name=\"block_desc\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Описание блока новостей. Например: Блок на правой панели (5х2)', this, event, '250px')\">[?]</a>\t</td> \n</tr>\n<tr>\n <td style=\"padding:4px;\">Тип:</td> \n\t<td>\n\t<select size=1 name=\"block_type\"> \n\t<option value=\"0\">случайные новости</option> \n\t<option value=\"1\" style=\"color:grey\">последние новости</option> \n\t<option value=\"2\" style=\"color:grey\">популярные новости (по рейтингу)</option>\t\t\t\t\t\t\t\t\n\t<option value=\"3\" style=\"color:grey\">популярные новости (по просмотрам)</option> \n\t<option value=\"4\" style=\"color:grey\">фиксированные новости</option> \t\n\t</select>\n\t</td> \n</tr>\t\t\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Тег*:</td> \n\t<td><input class=\"edit\" type=\"text\" name=\"teg_block\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Тег, с помощью которого блок будет выводиться на странице. Например: block_left_panel', this, event, '250px')\">[?]</a></td> \n</tr>\n<tr>\n <td width=\"260\" style=\"padding:4px;\">Количество новостей по горизонтали (1-15)*:</td>\n <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"hor_count\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Введите количество новостей по горизонтали (1-10)', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr>\n <td width=\"260\" style=\"padding:4px;\">Количество новостей по вертикали (1-15)*:</td> \n\t\t<td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"vert_count\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Введите количество новостей по вертикали (1-10)', this, event, '250px')\">[?]</a></td> \n</tr>\t\t\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Длина наибольшей стороны картинки (50-150px)*:</td> \n\t\t<td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"max_img\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Укажите длинну наибольшей стороны картики в блоке (50-150px). По этому значению пропорционально будет выровнена картика', this, event, '250px')\">[?]</a></td> \n</tr>\t\t\t\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Количество символов в заголовке*:</td> \n\t <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"title_length\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Количество символов в заголовке новости', this, event, '250px')\">[?]</a></td> \n</tr>\t\t\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Количество символов в описании*:</td> \n\t <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"short_story_length\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Количество символов в описании новости', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr>\n <td style=\"padding:4px;\">Споcоб вывода картинки:</td> \n\t<td>\n\t<select size=1 name=\"block_image_load\"> \n\t<option value=\"0\">каждый раз загружать из источника</option> \n\t<option value=\"1\">вставка уменьшенной копии картинки (thumb)</option> \n\t</select>\n\t<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Способ вывода картинок в блоке.<br>Первый вариант предполагает то, что картинки всегда будут подгружаться из источника в исходном размере, уменьшаться до нужного размера и выводиться в блоке.<br>Второй вариант предполагает загрузку картинки один раз на веб-сервер в уменшенном виде (thumb) и хранение ее там. В этом случае пользователь подгружет картинку значительно меньшего рзмера нежели в первом варианте. Это ускорит вывод картинок в блоке. Примечание: во втором варианте поддерживаются только файлы с расширением *.jpg, *.gif и *.png ', this, event, '400px')\">[?]</a></td>\n\t</td> \n</tr>\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Период, за который выбирать новости (дней назад):</td> \n\t <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"block_period\" value=\"0\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Период, за который будут выбираться новости. Например: значение 0 - весь период, значение 30 - с даты 30 дней назад по текущую дату.', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Рамка блока (px):</td> \n\t <td><input style=\"width:50px;\" class=\"edit\" type=\"text\" name=\"block_border\" value=\"0\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Толщина линии рамки (в пикселях) вокруг новостей блока. 0 - без рамки.', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr> \n <td width=\"260\" style=\"padding:4px;\">Цвет рамки блока:</td> \n\t <td><input style=\"width:60px;\" class=\"edit\" type=\"text\" name=\"block_border_color\" value=\"#000000\"><a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('Цвет рамки. Например: #000000 - черный, #ffffff - белый, red - красный и т.д.', this, event, '250px')\">[?]</a></td>\n</tr>\n<tr>\n <td style=\"padding:4px;\">Статус*:</td> \n\t<td>\n\t<br>\n\t<select size=1 name=\"block_status\"> \n\t<option value=\"0\">активен</option> \n\t<option value=\"1\">не активен</option> \n\t</select>\n\t</td> \n</tr>\n <tr>\n <td colspan=\"2\"><div class=\"hr_line\"></div></td>\n </tr>\n <tr>\n <td style=\"padding:4px;\"> </td>\n <td><input type=\"submit\" class=\"buttons\" value=\"";
echo $lang['vote_new'];
echo "\">\n\t\t\t<input type=\"hidden\" name=mod value=newsblock>\n\t\t\t<input type=\"hidden\" name=\"user_hash\" value=\"";
echo $dle_login_hash;
echo "\" />\n\t\t\t<input type=\"hidden\" name=action value=add></td>\n </tr>\t\t\n</table>\n</td>\n\n <td background=\"engine/skins/images/tl_rb.gif\"><img src=\"engine/skins/images/tl_rb.gif\" width=\"6\" height=\"1\" border=\"0\"></td>\n </tr>\n <tr>\n <td><img src=\"engine/skins/images/tl_lu.gif\" width=\"4\" height=\"6\" border=\"0\"></td>\n <td background=\"engine/skins/images/tl_ub.gif\"><img src=\"engine/skins/images/tl_ub.gif\" width=\"1\" height=\"6\" border=\"0\"></td>\n <td><img src=\"engine/skins/images/tl_ru.gif\" width=\"6\" height=\"6\" border=\"0\"></td>\n </tr>\n</table>\n</div></form>";
if ( !count( $num_block ) )
{
echo "<div style=\"padding-top:5px;padding-bottom:2px;\">\n<table width=\"100%\" border=\"0\">\n <tr>\n <td width=\"4\"><img src=\"engine/skins/images/tl_lo.gif\" width=\"4\" height=\"4\" border=\"0\"></td>\n <td background=\"engine/skins/images/tl_oo.gif\"><img src=\"engine/skins/images/tl_oo.gif\" width=\"1\" height=\"4\" border=\"0\"></td>\n <td width=\"6\"><img src=\"engine/skins/images/tl_ro.gif\" width=\"6\" height=\"4\" border=\"0\"></td>\n </tr>\n <tr>\n <td background=\"engine/skins/images/tl_lb.gif\"><img src=\"engine/skins/images/tl_lb.gif\" width=\"4\" height=\"1\" border=\"0\"></td>\n <td style=\"padding:5px;\" bgcolor=\"#FFFFFF\">\n<table width=\"100%\">\n <tr>\n <td bgcolor=\"#EFEFEF\" height=\"29\" style=\"padding-left:10px;\"><div class=\"navigation\">";
echo $lang['cat_list'];
echo "</div></td>\n </tr>\n</table>\n<div class=\"unterline\"></div>\n<table width=\"100%\">\n <tr>\n <td height=\"100\" align=\"center\"><b>Блоков новостей нет</b><br>Блоки новостей создаются при желании, вы можете прекрасно обойтись и без них.</td>\n </tr>\n</table>\n</td>\n <td background=\"engine/skins/images/tl_rb.gif\"><img src=\"engine/skins/images/tl_rb.gif\" width=\"6\" height=\"1\" border=\"0\"></td>\n </tr>\n <tr>\n <td><img src=\"engine/skins/images/tl_lu.gif\" width=\"4\" height=\"6\" border=\"0\"></td>\n <td background=\"engine/skins/images/tl_ub.gif\"><img src=\"engine/skins/images/tl_ub.gif\" width=\"1\" height=\"6\" border=\"0\"></td>\n <td><img src=\"engine/skins/images/tl_ru.gif\" width=\"6\" height=\"6\" border=\"0\"></td>\n </tr>\n</table>\n</div>";
}
else
{
echo "<form method=\"post\" action=\"\">\n<div style=\"padding-top:5px;padding-bottom:2px;\">\n<table width=\"100%\" border=\"0\">\n <tr>\n <td width=\"4\"><img src=\"engine/skins/images/tl_lo.gif\" width=\"4\" height=\"4\" border=\"0\"></td>\n <td background=\"engine/skins/images/tl_oo.gif\"><img src=\"engine/skins/images/tl_oo.gif\" width=\"1\" height=\"4\" border=\"0\"></td>\n <td width=\"6\"><img src=\"engine/skins/images/tl_ro.gif\" width=\"6\" height=\"4\" border=\"0\"></td>\n </tr>\n <tr>\n <td background=\"engine/skins/images/tl_lb.gif\"><img src=\"engine/skins/images/tl_lb.gif\" width=\"4\" height=\"1\" border=\"0\"></td>\n <td style=\"padding:5px;\" bgcolor=\"#FFFFFF\">\n<table width=\"100%\" border=\"0\">\n <tr>\n <td bgcolor=\"#EFEFEF\" height=\"29\" style=\"padding-left:10px;\"><div class=\"navigation\">Список блоков новостей</div></td>\n </tr>\n</table>\n<div class=\"unterline\"></div>\n<table width=\"100%\" border=\"0\">\n <tr align=\"center\">\n <td width=\"160\">Название блока</td>\n <td width=\"100\">Тег</td>\n <td width=\"100\">Тип</td>\n <td>По горизонтали</td>\n\t\t<td>По вертикали</td>\n\t\t<td width=\"120\">Статус</td>\n\t\t<td width=\"120\">Действие</td>\n </tr>\n <tr>\n <td colspan=\"7\"><div class=\"hr_line\"></div></td>\n </tr>";
$s_tr = "<tr>";
foreach ( $num_block as $key1 => $value1 )
{
default :
switch ( $key2 );
{
foreach ( $value1 as $key2 => $value2 )
{
case "block_desc" :
$block_desc = $value2;
continue;
case "block_type" :
if ( $value2 == "0" )
{
$block_type = "случайные новости";
}
if ( $value2 == "1" )
{
$block_type = "последние новости";
}
if ( $value2 == "2" )
{
$block_type = "популярные (по рейтингу)";
}
if ( $value2 == "3" )
{
$block_type = "популярные (по просмотрам)";
}
if ( $value2 == "4" )
{
$block_type = "фиксированные новости";
}
continue;
case "teg_block" :
$teg_block = $value2;
continue;
case "hor_count" :
$hor_count = $value2;
continue;
case "vert_count" :
$vert_count = $value2;
}
continue;
case "block_status" :
if ( $value2 == "0" )
{
$block_status = "активен";
}
if ( $value2 == "1" )
{
$block_status = "не активен";
}
}
echo "<tr>\n\t\t\t\t\t<td width=\"160\">".$block_desc."</td>\n\t\t\t\t\t<td width=\"100\" align=\"center\">".$teg_block."</td>\n\t\t\t\t\t<td width=\"180\" align=\"center\">".$block_type."</td>\n\t\t\t\t\t<td align=\"center\">".$hor_count."</td>\n\t\t\t\t\t<td align=\"center\">".$vert_count."</td>\n\t\t\t\t\t<td width=\"100\" align=\"center\">".$block_status."</td>\n\t\t\t\t\t<td width=\"140\"> [<a href=?mod=newsblock&action=edit&teg=".$teg_block.">изменить</a>] [<a class=maintitle href=?mod=newsblock&user_hash=".$dle_login_hash."&action=remove&teg=".$teg_block.">удалить</a>]</td>\n\t\t\t\t</tr>\n\t\t\t <tr>\n\t\t\t\t\t<td colspan=\"7\"><div class=\"hr_line\"></div></td>\n\t\t\t\t</tr>";
}
echo "</table>";
}
echofooter( );
?>