CMS DataLife Engine - Система управления сайтами

Sign in to follow this  
zipr3i

[Help] PHP код

Recommended Posts

Есть след. код ротатора:

<?php

...

if( ! defined( 'DATALIFEENGINE' ) ) {

die( "Hacking attempt!" );

}

if($member_id['user_group'] != 1){ msg("error", "Доступ разрешен только администраторам", $lang['db_denied']); }

require_once ENGINE_DIR.'/data/rotator.php';

$action = $_REQUEST['action'];

$alert = intval($_REQUEST['alert']);

function opentable() {

echo <<<HTML

<div style="padding-top:5px;padding-bottom:2px;">

<table width="100%">

<tr>

<td width="4"><img src="engine/skins/images/tl_lo.gif" width="4" height="4" border="0"></td>

<td background="engine/skins/images/tl_oo.gif"><img src="engine/skins/images/tl_oo.gif" width="1" height="4" border="0"></td>

<td width="6"><img src="engine/skins/images/tl_ro.gif" width="6" height="4" border="0"></td>

</tr>

<tr>

<td background="engine/skins/images/tl_lb.gif"><img src="engine/skins/images/tl_lb.gif" width="4" height="1" border="0"></td>

<td style="padding:5px;" bgcolor="#FFFFFF">

HTML;

}

function closetable() {

echo <<<HTML

</td>

<td background="engine/skins/images/tl_rb.gif"><img src="engine/skins/images/tl_rb.gif" width="6" height="1" border="0"></td>

</tr>

<tr>

<td><img src="engine/skins/images/tl_lu.gif" width="4" height="6" border="0"></td>

<td background="engine/skins/images/tl_ub.gif"><img src="engine/skins/images/tl_ub.gif" width="1" height="6" border="0"></td>

<td><img src="engine/skins/images/tl_ru.gif" width="6" height="6" border="0"></td>

</tr>

</table>

HTML;

}

function tableheader($value) {

echo <<<HTML

<table width="100%">

<tr>

<td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">{$value}</div></td>

</tr>

</table>

HTML;

unterline();

}

function unterline()

{

echo <<<HTML

<div class="unterline"></div>

HTML;

}

if( !$action ) {

$all_exts = array ("jpg", "png", "jpe", "jpeg", "gif" );

$handle = opendir(ROOT_DIR.'/content/teasers');

$nm_arr = array();

while (false !== ($file = readdir($handle))) {

if ($file != "." && $file != "..") {

$fname = explode(".", $file);

$format = end($fname);

$name = $fname[0];

if( (in_array( $format, $all_exts ) or in_array( strtolower( $format ), $all_exts ) ) ) {

array_push($nm_arr, $name);

}

}

}

closedir($handle);

$newname = end($nm_arr)+1;

echoheader("","");

opentable();

tableheader("Загрузка картинки в ротатор");

echo <<<HTML

<style>

.highslide-wrapper, .highslide-outline {

background: #FFFFFF;

}

.highslide-image {

border: 2px solid #FFFFFF;

}

.highslide-active-anchor {

visibility: hidden;

}

.highslide-active-anchor img {

visibility: hidden;

}

.highslide-dimming {

background: black;

}

.highslide-html {

background-color: white;

}

.highslide-html-content {

display: none;

}

.highslide-loading {

display: block;

color: #ffffff;

font-size: 9px;

font-weight: bold;

text-decoration: none;

padding: 3px;

border: 1px solid #ffffff;

background-color: #000000;

}

a.highslide-full-expand {

background: url(templates/{$config[skin]}/dleimages/fullexpand.gif) no-repeat;

display: block;

margin: 0 10px 10px 0;

width: 34px;

height: 34px;

}

.highslide-footer {

height: 11px;

}

.highslide-footer .highslide-resize {

float: right;

height: 12px;

width: 11px;

background: url(templates/{$config[skin]}/dleimages/resize.gif);

}

.highslide-resize {

cursor: nw-resize;

}

.highslide-display-block {

display: block;

}

.highslide-display-none {

display: none;

}

.highslide-caption {

display: none;

padding: 5px;

background: white;

}

.highslide-controls {

width: 195px;

height: 40px;

background: url(engine/classes/highslide/graphics/controlbar-black-border.gif) 0 -90px no-repeat;

margin-right: 15px;

margin-bottom: 10px;

margin-top: 10px;

}

.highslide-controls ul {

position: relative;

left: 15px;

height: 40px;

list-style: none;

margin: 0;

padding: 0;

background: url(engine/classes/highslide/graphics/controlbar-black-border.gif) right -90px no-repeat;

}

.highslide-controls li {

float: left;

padding: 5px 0;

}

.highslide-controls a {

background: url(engine/classes/highslide/graphics/controlbar-black-border.gif);

display: block;

float: left;

height: 30px;

width: 30px;

outline: none;

}

.highslide-controls a.disabled {

cursor: default;

}

.highslide-controls a span {

/* hide the text for these graphic buttons */

display: none;

}

/* The CSS sprites for the controlbar */

.highslide-controls .highslide-previous a {

background-position: 0 0;

}

.highslide-controls .highslide-previous a:hover {

background-position: 0 -30px;

}

.highslide-controls .highslide-previous a.disabled {

background-position: 0 -60px !important;

}

.highslide-controls .highslide-play a {

background-position: -30px 0;

}

.highslide-controls .highslide-play a:hover {

background-position: -30px -30px;

}

.highslide-controls .highslide-play a.disabled {

background-position: -30px -60px !important;

}

.highslide-controls .highslide-pause a {

background-position: -60px 0;

}

.highslide-controls .highslide-pause a:hover {

background-position: -60px -30px;

}

.highslide-controls .highslide-next a {

background-position: -90px 0;

}

.highslide-controls .highslide-next a:hover {

background-position: -90px -30px;

}

.highslide-controls .highslide-next a.disabled {

background-position: -90px -60px !important;

}

.highslide-controls .highslide-move a {

background-position: -120px 0;

}

.highslide-controls .highslide-move a:hover {

background-position: -120px -30px;

}

.highslide-controls .highslide-full-expand a {

background-position: -150px 0;

}

.highslide-controls .highslide-full-expand a:hover {

background-position: -150px -30px;

}

.highslide-controls .highslide-full-expand a.disabled {

background-position: -150px -60px !important;

}

.highslide-controls .highslide-close a {

background-position: -180px 0;

}

.highslide-controls .highslide-close a:hover {

background-position: -180px -30px;

}

</style>

<script type="text/javascript" src="/engine/classes/highslide/highslide.js"></script>

<script type="text/javascript">

hs.graphicsDir = '/engine/classes/highslide/graphics/';

hs.outlineType = 'rounded-white';

hs.numberOfImagesToPreload = 0;

hs.showCredits = false;

hs.lang = {

loadingText : 'Загрузка...',

fullExpandTitle : 'Развернуть до полного размера',

restoreTitle : 'Кликните для закрытия картинки, нажмите и удерживайте для перемещения',

focusTitle : 'Сфокусировать',

loadingTitle : 'Нажмите для отмены'

};

</script>

<form enctype="multipart/form-data" method="post" action="">

<table width="100%" border="0">

<tr>

<td width="8%" height="37" class=\"list\" style=\"padding: 4px;\">Картинка</td>

<td width="92%" class=\"list\" style=\"padding: 4px;\">&nbsp; <input type="file" name="newpic" class="edit" size="50"></td>

</tr>

<tr>

<td height="50" colspan="2" class=\"list\" style=\"padding: 4px;\"><input type="submit" value="Загрузить" class="edit"></td>

</tr>

</table>

<input type="hidden" name="mod" value="rotator">

<input type="hidden" name="action" value="upload">

<input type="hidden" name="newname" value="{$newname}">

</form>

HTML;

closetable();

opentable();

tableheader("Управление картинками в ротаторе");

echo '<form method="post" action="">';

echo "<table width=\"100%\" border=\"0\">

<tr>

<td class=\"list\" style=\"padding: 4px;\" width=\"10%\" align=\"left\">Картинка</td>

<td class=\"list\" style=\"padding: 4px;\" width=\"30%\" align=\"center\">Ссылка</td>

<td class=\"list\" style=\"padding: 4px;\" width=\"10%\" align=\"center\">Окно</td>

<td class=\"list\" style=\"padding: 4px;\" width=\"10%\" align=\"center\">Включить</td>

<td class=\"list\" style=\"padding: 4px;\" width=\"10%\" align=\"right\">Удалить</td>

<tr><td colspan=\"7\"><div class=\"hr_line\"></div></td></tr>

</tr>";

$all_exts = array ("jpg", "png", "jpe", "jpeg", "gif" );

$handle = opendir(ROOT_DIR.'/content/teasers');

$num=0;

while (false !== ($file = readdir($handle))) {

if ($file != "." && $file != "..") {

$fname = explode(".", $file);

$format = end($fname);

$name = $fname[0];

if( (in_array( $format, $all_exts ) or in_array( strtolower( $format ), $all_exts ) ) ) {

$num++;

$link = $rotator['link_'.$name];

$linktype = $rotator['linktype_'.$fname[0]];

if( $linktype == 1 ) $typeselector = "<option value=\"1\" selected>В новом</option>\r\n<option value=\"2\">В этом же</option>\r\n";

elseif( $linktype == 2) $typeselector = "<option value=\"1\">В новом</option>\r\n<option value=\"2\" selected>В этом же</option>\r\n";

if( $rotator['on_'.$name] == 'on' ) $enabled = 'checked';

else $enabled = '';

echo "<tr>

<td class=\"list\" style=\"padding: 4px;\" align=\"left\">

<a class=\" \" href=\"".$config['http_home_url'].'content/teasers/'.$file."\" onClick=\"return hs.expand(this)\">$file</a>

<input type=\"hidden\" name=\"save_config[image_{$num}]\" value=\"{$name}.{$format}\">

<td class=\"list\" style=\"padding: 4px;\" align=\"center\"><input type=\"text\" class=\"edit\" name=\"save_config[link_{$name}]\" size=\"40\" value={$link}>\n</td>

<td class=\"list\" style=\"padding: 4px;\" align=\"center\"><select class=\"edit\" name=\"save_config[linktype_{$name}]\">

{$typeselector}

</select>\n</td>

<td class=\"list\" style=\"padding: 4px;\" align=\"center\"><input type=\"checkbox\" class=\"edit\" name=\"save_config[on_{$name}]\" $enabled>\n</td>

<td class=\"list\" style=\"padding: 4px;\" align=\"right\"><a href=\"$PHP_SELF?mod=rotator&action=deleteimage&name={$name}&ext={$format}\"><img src=\"engine/skins/images/rot_del.gif\" alt=\"Удалить\" title=\"Удалить\" border=\"0\"></a>\n</td>

</tr>

<tr><td colspan=\"7\" background=\"engine/skins/images/mline.gif\" height=\"1\"></td></tr>\r\n";

}

}

}

closedir($handle);

echo "<tr><td colspan=\"7\"><div class=\"hr_line\"></div></td></tr></table>";

if($alert AND $alert == 1) $msgsave = '<font color="red">Внимание! Нужно <strong>сохранить</strong> для обновления списка</font>';

else $msgsave ='';

echo <<<HTML

Размер ротатора Ширина: <input type="text" name="save_config[rotator_width]" class="edit" value="{$rotator[rotator_width]}">&nbsp;Высота: <input type="text" name="save_config[rotator_height]" class="edit" value="{$rotator[rotator_height]}">

<div class="hr_line"></div>

HTML;

echo <<<HTML

Скорость смены слайдов: <input type="text" name="save_config[seconds]" class="edit" value="{$rotator[seconds]}"> секунд

HTML;

echo '

<div class="hr_line"></div>

<br>

<input type="submit" class="edit" value="Сохранить">&nbsp;'.$msgsave.'

<input type="hidden" name="mod" value="rotator">

<input type=hidden name=savecfg value="savecfg">

<input type="hidden" name="action" value="dosaveimages">

<input type="hidden" name="save_config[total]" value="'.$num.'">

</form>';

closetable();

echofooter();

}

elseif ($action == "upload") {

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

$image = $_FILES['newpic']['tmp_name'];

$image_name = $_FILES['newpic']['name'];

$image_size = $_FILES['newpic']['size'];

$img_name_arr = explode( ".", $image_name );

$type = end( $img_name_arr );

if( $image_name != "" ) $image_name = totranslit( stripslashes( $img_name_arr[0] ) ) . "." . totranslit( $type );

if( is_uploaded_file( $image )) {

if($image_size < (4096 * 1024) )

{

$allowed_extensions = array ("jpg", "png", "jpe", "jpeg", "gif" );

if( (in_array( $type, $allowed_extensions ) or in_array( strtolower( $type ), $allowed_extensions )) and $image_name )

{

include_once ENGINE_DIR . '/classes/thumb.class.php';

$res = @move_uploaded_file( $image, ROOT_DIR . "/content/teasers/tmp_" . $newname . "." . $type );

if( $res )

{

@chmod( ROOT_DIR . "/content/teasers/tmp_" . $newname . "." . $type, 0666 );

@rename( ROOT_DIR . "/content/teasers/tmp_" . $newname . "." . $type, ROOT_DIR . "/content/teasers/" . $newname . "." . $type );

@chmod( ROOT_DIR . "/content/teasers/" . $newname . "." . $type, 0666 );

$img_name = $newname . "." . $type;

}

else $stop .= 'Картинка не может быть загружена проверьте права на запись.';

}

else $stop .= 'Формат картинки не подходит.';

} else $stop .= 'Картинка слишком большая';

@unlink( ROOT_DIR . "/content/teasers/tmp_" . $newname . "." . $type );

}

if( $stop ) msg( 'error', 'Ошибка', $stop."<br><br><input type='button' value=\" Вернуться назад \" class='bbcodes' onclick=\"window.location='$PHP_SELF?mod=rotator'\">" );

else @header("Location: $PHP_SELF?mod=rotator");

}

elseif ($action == "dosaveimages") {

if ($_REQUEST['savecfg'] != "savecfg")

require_once ENGINE_DIR.'/data/rotator.php';

if($_REQUEST['savecfg'] == "savecfg")

{

$find[] = "'\r'";

$replace[] = "";

$find[] = "'\n'";

$replace[] = "";

$save_con['fw'] = "dt";

$save_config = $save_config + $save_con;

$handler = fopen(ENGINE_DIR.'/data/rotator.php', "w");

fwrite($handler, "<?PHP\r\n\$rotator = array (\r\n");

foreach($save_config as $name => $value)

{

$value = stripslashes ($value);

$value = addslashes($value);

$value = preg_replace($find, $replace, $value);

fwrite($handler, "'{$name}' => \"{$value}\",\r\n");

}

fwrite($handler, ");\r\n?>");

fclose($handler);

clear_cache ();

msg("info", "Готово", "Изменения в ротаторе произведены успешно.<br><br><input type='button' value=\" Вернуться назад \" class='bbcodes' onclick=\"window.location='$PHP_SELF?mod=rotator'\">", "");

}

}

elseif( $action == "deleteimage" ) {

$name = intval($_REQUEST['name']);

$ext = strip_tags($_REQUEST['ext']);

if( !$name OR !$ext OR empty($name) OR empty($ext) ) msg("error", "Ошибка", "'Не указана картинка.'.<br><br><input type='button' value=\" Вернуться назад \" class='bbcodes' onclick=\"window.location='$PHP_SELF?mod=rotator'\">", "");

@unlink( ROOT_DIR . "/content/teasers/" . $name . "." . strtolower($ext) );

@header("Location: $PHP_SELF?mod=rotator&alert=1");

}

?>

подскажите где нужно изменить код, чтобы все загружаемые картинки не меняли свое название на цифры, а оставались под своим именем, с которым оно загружается.

Буду очень признателен

Share this post


Link to post
Share on other sites
Если ваша тема начинается с вопроса и вам нужна какая либо помощь, то в самой теме в обязательном порядке вы должны указывать ссылку на ваш сайт. Если ваш сайт находится в локальной сети и вы не можете предоставить ссылку то отправляйте персональное сообщение с вопросом в службу поддержки непосредственно с сайта http://dle-news.ru/, вам ответят на ваш вопрос в персональном порядке, в случае если пользуетесь легальной копией скрипта. Если вы не указали сайт, то ваша тема будет закрыта, а аккаунт на форуме заблокирован.

Share this post


Link to post
Share on other sites

Я в принципе ничего другого не ожидал.

У меня Demo 8.3 на localhost. Уже писал об этом.

А это код вообще стороннего модуля!

"...отправляйте персональное сообщение с вопросом в службу поддержки..." - зачем мне это если я у пользователей спрашиваю?!

Share this post


Link to post
Share on other sites

Через 10 дней в школу, уроки лучше повторяйте

Share this post


Link to post
Share on other sites

3 курс ДонНАСА! Спасибо за ненужный совет, но помощи не увидел! Только флуд! Абсолютно бессмысленный!

Share this post


Link to post
Share on other sites

zipr3i,

А что вы хотели нарушая и игнорируя правила чужого сообщества? Как вы к нему относитесь, так оно относиться и к вам. Вы хотели что вы придете в чужое общество, будете игнорировать его правила и устои, а вам благодарно будут радоваться только за то что вы пришли.

Правила едины для всех, и будьте любезны их соблюдать, независимо от того нравятся они вам или нет. Таков порядок везде и в любом обществе. А наплевательски относясь к правилам этого общества вы нагнетаете только исключительно негативную реакцию этого общества. При этом именно вы просите у этого общества помощи, а не они у вас.

Тема закрыта, за нарушение правил форума. В следующих раз, если нужна помощь, создавайте тему с соблюдением правил.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this