Файл: core/modules/users_status_color.php
Строк: 74
<?php
if (!defined('CMS')) { die('Access Denied!'); }
$colors = array(
'006400' => 'Темно-зеленый',
'0000FF' => 'Синий',
'000080' => 'Темно-синий',
'00FFFF' => 'Голубой',
'FFFF00' => 'Желтый',
'808080' => 'Серый',
'C0C0C0' => 'Светло-серый',
'9ACD32' => 'Желто-зеленый',
'7FFF00' => 'Салатовый',
'90EE90' => 'Светло-зеленый',
'D1E231' => 'Грушевый',
'4B0082' => 'Индиго',
'8A2BE2' => 'Фиолетовый',
'991199' => 'Фиолетово-баклажанный',
'008B8B' => 'Темно-голубой',
'4682B4' => 'Голубая сталь',
'87CEEB' => 'Светло-голубой',
'FF7F50' => 'Кораловый',
'8B4513' => 'Коричневый',
'FF2400' => 'Алый',
'DC143C' => 'Малиновый',
'FF1493' => 'Ярко-розовый',
'FF69B4' => 'Розовый',
'FF8C00' => 'Оранжевый',
'FFD700' => 'Золото',
'BDB76B' => 'Хаки',
'FFA07A' => 'Оранжево-розовый',
'008080' => 'Мурена',
'FFDB58' => 'Горчичный',
'40826D' => 'Ядовито-зелёный',
'1E90FF' => 'Защитно-синий',
'808000' => 'Оливковый',
'660000' => 'Коричнево-малиновый',
'D2B48C' => 'Желто-коричневый',
);
$arr = array();
foreach($colors as $key => $val) {
$arr[$key] = '<span style="font-weight:bold;color:#' . $key . '">' . $val . '</span>';
}
function gradient($text = '', $from = '', $to = '', $mode = 'hex') {
if (empty($to)) return '<span style="font-weight:bold;color: #' . $from . ';">' . $text . '</span>';
if ($mode == 'hex') {
$to = array( @hexdec($to[0].$to[1]), @hexdec($to[2].$to[3]), @hexdec($to[4].$to[5]));
$from = array( @hexdec($from[0].$from[1]), @hexdec($from[2].$from[3]), @hexdec($from[4].$from[5]));
}
if ( empty($text) ) {
return '';
}
else {
$levels = cms_strlen($text);
}
$from = !empty($from) ? $from : array(0,0,255);
$to = !empty($to) ? $to : array(255,0,0);
$output = '';
$text = iconv('UTF-8', 'cp1251', $text);
for ($i = 1; $i <= $levels; $i++) {
for ($ii = 0; $ii < 3; $ii++) {
$tmp[$ii] = $from[$ii] - $to[$ii];
$tmp[$ii] = floor($tmp[$ii] / $levels);
$rgb[$ii] = $from[$ii] - ($tmp[$ii] * $i);
if ($rgb[$ii] > 255) $rgb[$ii] = 255;
$rgb[$ii] = dechex($rgb[$ii]);
$rgb[$ii] = strtoupper($rgb[$ii]);
if (strlen($rgb[$ii]) < 2) $rgb[$ii] = '0' . $rgb[$ii];
}
$output .= ($rgb[0].$rgb[1].$rgb[2] == '000000') ? $text[$i-1] : '<span style="color: #' . $rgb[0] . $rgb[1] . $rgb[2] . ';">' . $text[$i-1] . '</span>';
}
return '<span style="font-weight:bold;">' . iconv('cp1251', 'UTF-8', $output) . '</span>';
}
if ($is_logged) {
$error = '';
if (!empty($_POST['buy'])) { // Изменение цвета статуса
if (!empty($_POST['color'])) {
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if ($uset['users_money'] >= $config['edit_color_money']) {
if ($uset['users_timenickname'] < SITE_TIME) {
if (cms_strlen($_POST['color']) == 6) {
if (!empty($uset['users_text'])) {
$text = gradient(strip_tags($uset['users_text']), $_POST['color'], $_POST['color2']);
$time = is_admin() ? 0 : (SITE_TIME + 86400);
$db->query("UPDATE ?_users SET `users_money` = (`users_money` - ?), `users_text` = ?, `users_timenickname` = ?
WHERE `users_login` = ?", $config['edit_color_money'], $text, $time, $log);
set_users_shop($log, 'Смена цвета статуса', 'status_color', $config['edit_color_money']);
$inSes->addMessage('Поздравлем с покупкой цветного статуса, теперь он стал таким: ' . $text . '.<br />C вашего счета списано ' . moneys($config['edit_color_money']), 'ok');
gen_red('start', '', RND);
}
else $error = 'У Вас не установлен статус!';
}
else $error = 'Неверно указан цвет ника!';
}
else $error = 'Изменять цвет ника можно не чаще чем 1 раз в сутки!';
}
else $error = 'У Вас, недостаточно денег на счету, для покупки цветного ника.';
}
else $error = 'Неверный идентификатор сессии, повторите действие!';
}
else $error = 'Вы не выбрали цвет ника!';
if (!empty($error)) $inSes->addMessage('Ошибка! ' . $error, 'error');
}
show_header('Смена цвета статуса');
if (!empty($uset['users_text'])) {
if (!empty($_POST['color']) && !empty($_POST['demo'])) {
echo '<div class="bc"><big>' . gradient(strip_tags($uset['users_text']), $_POST['color'], $_POST['color2']) . '</big><br /></div>';
}
$form = new cmsForm('?rnd=' . $_SESSION['token']);
$form->addRadio('Выберите цвет:', 'color', request('color', '006400'), $arr);
//$arr = array_merge(array('0' => 'Одноцветный'), $arr);
//$form->addRadio('<br />Конечный цвет:', 'color2', request('color2','0'), $arr);
if ($uset['users_money'] < $config['edit_color_money']) echo $form->Submit('Демо', 'demo');
else echo $form->Submit(array('Просмотр', 'Купить'), array('demo', 'buy'));
unset($form);
echo '<div class="bl">Стоймость покупки составляет ' . moneys($config['edit_color_money']) . '<br />';
echo 'В наличии: ' . moneys($uset['users_money']) . '<br />';
if ($uset['users_money'] < $config['edit_color_money']) echo 'У Вас, недостаточно денег на счету, для покупки цветного статуса.<br />';
echo '</div>';
}
else show_error('Ошибка! Сначалу добавте статус у себя в профиле!');
}
else {
show_header('Мои данные');
show_login('Вы не авторизованы, чтобы изменять свои данные, необходимо');
}
echo '<div class="bl">' . icon('return.png');
echo '<a href="' . gen_uri('index', '', RND) . '">В личку</a> | ';
echo '<a href="' . $config['site_url'] . DS . gen_uri('shop', '', RND) . '">В магазин</a></div>';
?>