web module beta

Тема закрыта
4.87K
.
Ego vir viden
# Creative (13.02.2014 / 00:30)
selemet, Я извеняюсь, но я не соцку делаю а этот мне очень понравился, такой ещё видел secwind но Джон намного круче
secwind с моего разрешения дизайн поставил себе,я не говорю что новый двиг будет,просто новый веб модуль (с темой),который будет работать на 5.2
.
selemet, а долга ждать?
.
Ego vir viden
# bushidO (17.02.2014 / 15:29)
selemet, а долга ждать?
не от меня зависит
.
ждим)
.
как сделать чтобы с компа отображалось веб тема.
на данный момент если юзер первый раз посещяет сайт то ему будет вап тема даже с компа
.
Sensus veris
# zver (10.03.2014 / 12:52)
как сделать чтобы с компа отображалось веб тема.
на данный момент если юзер первый раз посещяет сайт то ему будет вап тема даже с компа
Дописать автоопределение. Тут только переключатель.
.
(\/)____o_O____(\/)
сканеры нагружают класс, хотя вернуть пару методов и будет все
.
# Libra (10.03.2014 / 13:34)
Дописать автоопределение. Тут только переключатель.
можешь сделать а то у меня не работает с

if (mobile == false) {
}
.
(\/)____o_O____(\/)
# zver (11.03.2014 / 20:00)
можешь сделать а то у меня не работает с

if (mobile == false) {
}
константа мобайл или ты забыл $
.
(\/)____o_O____(\/)
selemet, тебе инструкция по решению тех проблем что были, конечно почти не быдлокод, но инклюд в инклюде не захватывает область видимых переменных, так как методами инклюдит
в ядро добавляем
/incfiles/core.php
/*
if ($set['gzip'] && @extension_loaded('zlib')) {
    @ini_set('zlib.output_compression_level', 3);
    ob_start('ob_gzhandler');
} else {
    ob_start();
}
после этого в конец файла
*/ 

require('classes/kswitcher.php');

$KSwitcher = new KSwitcher;

/*
-----------------------------------------------------------------
Фиксация местоположений посетителей
-----------------------------------------------------------------
*/
$sql = '';
$set_karma = unserialize($set['karma']);
if ($user_id) {
    // Фиксируем местоположение авторизованных
if (!$datauser['karma_off'] && $set_karma['on'] && $datauser['karma_time'] <= (time() - 86400)) {
    $sql .= " `karma_time` = '" . time() . "', ";
}
$movings = $datauser['movings'];
if ($datauser['lastdate'] < (time() - 300)) {
    $movings = 0;
    $sql .= " `sestime` = '" . time() . "', ";
}
if ($datauser['place'] != $headmod) {
    ++$movings;
    $sql .= " `place` = '" . mysql_real_escape_string($headmod) . "', ";
}
if ($datauser['browser'] != $agn)
    $sql .= " `browser` = '" . mysql_real_escape_string($agn) . "', ";
$totalonsite = $datauser['total_on_site'];
if ($datauser['lastdate'] > (time() - 300))
    $totalonsite = $totalonsite + time() - $datauser['lastdate'];
mysql_query("UPDATE `users` SET $sql
        `movings` = '$movings',
        `total_on_site` = '$totalonsite',
        `lastdate` = '" . time() . "'
        WHERE `id` = '$user_id'
    ");

    /*
    -----------------------------------------------------------------
    Ссылки на непрочитанное
    -----------------------------------------------------------------
*/
$list = array();
$new_sys_mail = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_mail` WHERE `from_id`='$user_id' AND `read`='0' AND `sys`='1' AND `delete`!='$user_id';"), 0);
if ($new_sys_mail) $list[] = '<a href="' . $home . '/mail/index.php?act=systems">Система</a> (+' . $new_sys_mail . ')';
$new_mail = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_mail` LEFT JOIN `cms_contact` ON `cms_mail`.`user_id`=`cms_contact`.`from_id` AND `cms_contact`.`user_id`='$user_id' WHERE `cms_mail`.`from_id`='$user_id' AND `cms_mail`.`sys`='0' AND `cms_mail`.`read`='0' AND `cms_mail`.`delete`!='$user_id' AND `cms_contact`.`ban`!='1' AND `cms_mail`.`spam`='0'"), 0);
if ($new_mail) $list[] = '<a href="' . $home . '/mail/index.php?act=new">' . $lng['mail'] . '</a> (+' . $new_mail . ')';
if ($datauser['comm_count'] > $datauser['comm_old']) $list[] = '<a href="' . core::$system_set['homeurl'] . '/users/profile.php?act=guestbook&amp;user=' . $user_id . '">' . $lng['guestbook'] . '</a> (' . ($datauser['comm_count'] - $datauser['comm_old']) . ')';
$new_album_comm = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_album_files` WHERE `user_id` = '" . core::$user_id . "' AND `unread_comments` = 1"), 0);
if ($new_album_comm) $list[] = '<a href="' . core::$system_set['homeurl'] . '/users/album.php?act=top&amp;mod=my_new_comm">' . $lng['albums_comments'] . '</a>';

} else {
    // Фиксируем местоположение гостей
    $movings = 0;
    $session = md5(core::$ip . core::$ip_via_proxy . core::$user_agent);
    $req = mysql_query("SELECT * FROM `cms_sessions` WHERE `session_id` = '$session' LIMIT 1");
    if (mysql_num_rows($req)) {
        // Если есть в базе, то обновляем данные
        $res = mysql_fetch_assoc($req);
        $movings = ++$res['movings'];
        if ($res['sestime'] < (time() - 300)) {
            $movings = 1;
            $sql .= " `sestime` = '" . time() . "', ";
        }
        if ($res['place'] != $headmod) {
            $sql .= " `place` = '" . mysql_real_escape_string($headmod) . "', ";
        }
        mysql_query("UPDATE `cms_sessions` SET $sql
            `movings` = '$movings',
            `lastdate` = '" . time() . "'
            WHERE `session_id` = '$session'
        ");
    } else {
        // Если еще небыло в базе, то добавляем запись
        mysql_query("INSERT INTO `cms_sessions` SET
            `session_id` = '" . $session . "',
            `ip` = '" . core::$ip . "',
            `ip_via_proxy` = '" . core::$ip_via_proxy . "',
            `browser` = '" . mysql_real_escape_string($agn) . "',
            `lastdate` = '" . time() . "',
            `sestime` = '" . time() . "',
            `place` = '" . mysql_real_escape_string($headmod) . "'
        ");
    }
}
/* перенести нужно с шапки, тогда все работает, карма и письма */

в шапке инклюды так прописываем
require('/leftside.php');
require('/rightside.php');

и класс
class KSwitcher {
    private $path;
    private $autodetect = 0; // 0 -> off | 1 -> on | 2 -> user select

    public function __construct() {
        $this->setPath();
    }

    public function setPath() {
        $_SESSION['path'] = $this->getUserTheme();
    }

    public function getPath() {
        return $_SESSION['path'];
    }

    public function getUserTheme() {
        global $user_id;
        if ($user_id) {
            $st =  mysql_result(mysql_query("SELECT `set_user` FROM `users` WHERE `id`= " . $user_id) , 0);
            if (!empty($st)) {
                $serialize = unserialize($st);
                return $serialize['skin'];
            } else {
                return $this->getSiteDefaultTheme();
            }
        } else {
            return $this->getSiteDefaultTheme();
        }
    }

    public function getSiteDefaultTheme() {
        return mysql_result(mysql_query("SELECT `val` FROM `cms_settings` WHERE `key`='skindef'"), 0);
    }

    public function getElement($element) {
        $exp = explode('/', $element);
        return end($exp);
    }

    public function selectTheme() {
        $array = array();
        $schems = array_map(array($this, 'getElement'), glob('../theme/*'));
        foreach ($schems as $type) {
            $style = array_map(array($this, 'getElement'), glob('../theme/' . $type . '/*'));
            foreach ($style as $vid) {
                $array[$type . ' - ' . $vid] = 'theme/' . $type . '/' . $vid . '/';
            }
        }
        return $array;
    }

    public function head() {
        foreach ($GLOBALS as $k => $v) {
        global $$k;
        $$k = $v;
        }
        $head = file_exists($rootpath . $this->getPath() . 'head.php') ? $rootpath . $this->getPath() . 'head.php' : $rootpath . 'theme/wap/default/head.php';
        require($head);
    }

    public function end() {
        foreach ($GLOBALS as $k => $v) {
        global $$k; 
        $$k = $v;
        }
        $end = file_exists($rootpath . $this->getPath() . 'end.php') ? $rootpath . $this->getPath() . 'end.php' : $rootpath . 'theme/wap/default/end.php';
        require($end);
    }

    public function main() {
        foreach ($GLOBALS as $k => $v) {
        global $$k; 
        $$k = $v;
        }
        $main = file_exists($rootpath . $this->getPath() . 'main.php') ? $rootpath . $this->getPath() . 'main.php' : $rootpath . 'theme/wap/default/main.php';
        require($main);
    }
}

так как ты тему уже поизменял, смысл кидать файлы, если не получится пиши в ЛС, кину файлы
Всего: 184