Exemple #1
0
function faq_mini($position, $block)
{
    global $Cache, $Template, $FAQ_LANG, $FAQ_CATS, $RANDOM_QUESTIONS;
    load_module_lang('faq');
    $Cache->load('faq');
    include_once PATH_TO_ROOT . '/faq/faq_begin.php';
    include_once PATH_TO_ROOT . '/faq/faq_cats.class.php';
    $tpl = new Template('faq/faq_mini.tpl');
    import('core/menu_service');
    MenuService::assign_positions_conditions($tpl, $block);
    $no_random_question = array('L_FAQ_RANDOM_QUESTION' => $FAQ_LANG['random_question'], 'FAQ_QUESTION' => $FAQ_LANG['no_random_question'], 'U_FAQ_QUESTION' => TPL_PATH_TO_ROOT . '/faq/' . url('faq.php'));
    if (empty($RANDOM_QUESTIONS)) {
        $tpl->assign_vars($no_random_question);
        return $tpl->parse(TEMPLATE_STRING_MODE);
    }
    $random_question = $RANDOM_QUESTIONS[array_rand($RANDOM_QUESTIONS)];
    $faq_cats = new FaqCats();
    $i = 0;
    while (!$faq_cats->check_auth($random_question['idcat']) && $i < 5) {
        $random_question = $RANDOM_QUESTIONS[array_rand($RANDOM_QUESTIONS)];
        $i++;
    }
    if ($i < 5 && !empty($random_question['question'])) {
        $tpl->assign_vars(array('L_FAQ_RANDOM_QUESTION' => $FAQ_LANG['random_question'], 'FAQ_QUESTION' => $random_question['question'], 'U_FAQ_QUESTION' => PATH_TO_ROOT . '/faq/' . ($random_question['idcat'] > 0 ? url('faq.php?id=' . $random_question['idcat'] . '&amp;question=' . $random_question['id'], 'faq-' . $random_question['idcat'] . '+' . url_encode_rewrite($FAQ_CATS[$random_question['idcat']]['name']) . '.php?question=' . $random_question['id']) . '#q' . $random_question['id'] : url('faq.php?question=' . $random_question['id'], 'faq.php?question=' . $random_question['id']) . '#q' . $random_question['id'])));
    } else {
        $tpl->assign_vars($no_random_question);
    }
    return $tpl->parse(TEMPLATE_STRING_MODE);
}
function guestbook_mini($position, $block)
{
    global $LANG, $Cache, $_guestbook_rand_msg;
    if (strpos(SCRIPT, '/guestbook/guestbook.php') === false) {
        load_module_lang('guestbook');
        $Cache->load('guestbook');
        ###########################Affichage##############################
        $tpl = new Template('guestbook/guestbook_mini.tpl');
        import('core/menu_service');
        MenuService::assign_positions_conditions($tpl, $block);
        $rand = array_rand($_guestbook_rand_msg);
        $guestbook_rand = isset($_guestbook_rand_msg[$rand]) ? $_guestbook_rand_msg[$rand] : array();
        if ($guestbook_rand === array()) {
            $tpl->assign_vars(array('C_ANY_MESSAGE_GESTBOOK' => false, 'L_RANDOM_GESTBOOK' => $LANG['title_guestbook'], 'L_NO_MESSAGE_GESTBOOK' => $LANG['no_message_guestbook']));
        } else {
            if ($guestbook_rand['user_id'] != -1) {
                $guestbook_login = '******' . TPL_PATH_TO_ROOT . '/member/member' . url('.php?id=' . $guestbook_rand['user_id'], '-' . $guestbook_rand['user_id'] . '.php') . '" title="' . $guestbook_rand['login'] . '"><span style="font-weight:bold;">' . wordwrap_html($guestbook_rand['login'], 13) . '</span></a>';
            } else {
                $guestbook_login = '******' . (!empty($guestbook_rand['login']) ? wordwrap_html($guestbook_rand['login'], 13) : $LANG['guest']) . '</span>';
            }
            $tpl->assign_vars(array('C_ANY_MESSAGE_GESTBOOK' => true, 'L_RANDOM_GESTBOOK' => $LANG['title_guestbook'], 'RAND_MSG_ID' => $guestbook_rand['id'], 'RAND_MSG_CONTENTS' => strlen($guestbook_rand['contents']) > 149 ? ucfirst($guestbook_rand['contents']) . ' <a href="' . TPL_PATH_TO_ROOT . '/guestbook/guestbook.php" class="small_link">' . $LANG['guestbook_more_contents'] . '</a>' : ucfirst($guestbook_rand['contents']), 'RAND_MSG_LOGIN' => $guestbook_login, 'L_BY' => $LANG['by']));
        }
        return $tpl->parse(TEMPLATE_STRING_MODE);
    }
    return '';
}
function menu_themeswitcher_themeswitcher($position, $block)
{
    global $CONFIG, $THEME_CONFIG, $User, $LANG, $Session;
    $switchtheme = !empty($_GET['switchtheme']) ? urldecode($_GET['switchtheme']) : '';
    if (!empty($switchtheme)) {
        if ($User->check_level(MEMBER_LEVEL)) {
            $Session->csrf_get_protect();
        }
        if (preg_match('`[ a-z0-9_-]{3,20}`i', $switchtheme) && strpos($switchtheme, '\'') === false) {
            $User->update_user_theme($switchtheme);
            if (QUERY_STRING != '') {
                redirect(trim(HOST . SCRIPT . '?' . preg_replace('`switchtheme=[^&]+`', '', QUERY_STRING), '?'));
            } else {
                redirect(HOST . SCRIPT);
            }
        }
    }
    $tpl = new Template('menus/themeswitcher/themeswitcher.tpl');
    import('core/menu_service');
    MenuService::assign_positions_conditions($tpl, $block);
    $utheme = get_utheme();
    foreach ($THEME_CONFIG as $theme => $array_info) {
        if ($User->check_level($array_info['secure']) && $theme != 'default') {
            $selected = $utheme == $theme ? ' selected="selected"' : '';
            $info_theme = @parse_ini_file(PATH_TO_ROOT . '/templates/' . $theme . '/config/' . get_ulang() . '/config.ini');
            $tpl->assign_block_vars('themes', array('NAME' => $info_theme['name'], 'IDNAME' => $theme, 'SELECTED' => $selected));
        }
    }
    $tpl->assign_vars(array('DEFAULT_THEME' => $CONFIG['theme'], 'L_SWITCHTHEME' => 'Changer le thème', 'L_DEFAULT_THEME' => 'Thème par défaut', 'L_SUBMIT' => $LANG['submit']));
    return $tpl->parse(TEMPLATE_STRING_MODE);
}
function newsletter_mini($position, $block)
{
    global $LANG, $User;
    load_module_lang('newsletter');
    $tpl = new Template('newsletter/newsletter_mini.tpl');
    import('core/menu_service');
    MenuService::assign_positions_conditions($tpl, $block);
    $tpl->assign_vars(array('SUBSCRIBE' => $LANG['subscribe'], 'UNSUBSCRIBE' => $LANG['unsubscribe'], 'USER_MAIL' => $User->get_attribute('user_mail') != '' ? $User->get_attribute('user_mail') : '', 'L_NEWSLETTER' => $LANG['newsletter'], 'L_SUBMIT' => $LANG['submit'], 'L_ARCHIVES' => $LANG['archives']));
    return $tpl->parse(TEMPLATE_STRING_MODE);
}
Exemple #5
0
function search_mini($position, $block)
{
    global $LANG;
    load_module_lang('search');
    $search = retrieve(REQUEST, 'q', '');
    $tpl = new Template('search/search_mini.tpl');
    import('core/menu_service');
    MenuService::assign_positions_conditions($tpl, $block);
    $tpl->assign_vars(array('TITLE_SEARCH' => TITLE, 'SEARCH' => $LANG['title_search'], 'TEXT_SEARCHED' => !empty($search) ? stripslashes(retrieve(REQUEST, 'q', '')) : $LANG['search'] . '...', 'WARNING_LENGTH_STRING_SEARCH' => addslashes($LANG['warning_length_string_searched']), 'L_SEARCH' => $LANG['search'], 'U_FORM_VALID' => url(TPL_PATH_TO_ROOT . '/search/search.php#results'), 'L_ADVANCED_SEARCH' => $LANG['advanced_search'], 'U_ADVANCED_SEARCH' => url(TPL_PATH_TO_ROOT . '/search/search.php')));
    return $tpl->parse(TEMPLATE_STRING_MODE);
}
 public function display()
 {
     if ($this->is_displayed()) {
         $template = $this->get_template_to_use();
         MenuService::assign_positions_conditions($template, $this->get_block());
         $this->assign_common_template_variables($template);
         $template->put_all(array('ID' => $this->get_menu_id(), 'TITLE' => $this->get_menu_title(), 'CONTENTS' => $this->get_menu_content()));
         return $template->render();
     }
     return '';
 }
Exemple #7
0
function online_mini($position, $block)
{
    if (strpos(SCRIPT, '/online/online.php') === false) {
        global $LANG, $Cache, $Sql, $CONFIG, $CONFIG_ONLINE;
        load_module_lang('online');
        $Cache->load('online');
        $tpl = new Template('online/online_mini.tpl');
        import('core/menu_service');
        MenuService::assign_positions_conditions($tpl, $block);
        list($count_visit, $count_member, $count_modo, $count_admin) = array(0, 0, 0, 0);
        $i = 0;
        $array_class = array('member', 'modo', 'admin');
        $result = $Sql->query_while("SELECT s.user_id, s.level, s.session_time, m.user_groups, m.login\n    \tFROM " . DB_TABLE_SESSIONS . " s\n    \tLEFT JOIN " . DB_TABLE_MEMBER . " m ON m.user_id = s.user_id\n    \tWHERE s.session_time > '" . (time() - $CONFIG['site_session_invit']) . "'\n    \tORDER BY " . $CONFIG_ONLINE['display_order_online'], __LINE__, __FILE__);
        while ($row = $Sql->fetch_assoc($result)) {
            if ($i < $CONFIG_ONLINE['online_displayed']) {
                if ($row['level'] !== '-1') {
                    $group_color = User::get_group_color($row['user_groups'], $row['level']);
                    $tpl->assign_block_vars('online', array('USER' => '<a href="' . TPL_PATH_TO_ROOT . '/member/member' . url('.php?id=' . $row['user_id'], '-' . $row['user_id'] . '.php') . '" class="' . $array_class[$row['level']] . '"' . (!empty($group_color) ? ' style="color:' . $group_color . '"' : '') . '>' . wordwrap_html($row['login'], 19) . '</a><br />'));
                    $i++;
                }
            }
            switch ($row['level']) {
                case '-1':
                    $count_visit++;
                    break;
                case '0':
                    $count_member++;
                    break;
                case '1':
                    $count_modo++;
                    break;
                case '2':
                    $count_admin++;
                    break;
            }
        }
        $Sql->query_close($result);
        $count_visit = empty($count_visit) && empty($count_member) && empty($count_modo) && empty($count_admin) ? '1' : $count_visit;
        $total = $count_visit + $count_member + $count_modo + $count_admin;
        $total_member = $count_member + $count_modo + $count_admin;
        $member_online = $LANG['member_s'] . ' ' . strtolower($LANG['online']);
        $more = '<br /><a href="../online/online.php' . SID . '" title="' . $member_online . '">' . $member_online . '</a><br />';
        $more = $total_member > $CONFIG_ONLINE['online_displayed'] ? $more : '';
        $l_guest = $count_visit > 1 ? $LANG['guest_s'] : $LANG['guest'];
        $l_member = $count_member > 1 ? $LANG['member_s'] : $LANG['member'];
        $l_modo = $count_modo > 1 ? $LANG['modo_s'] : $LANG['modo'];
        $l_admin = $count_admin > 1 ? $LANG['admin_s'] : $LANG['admin'];
        $tpl->assign_vars(array('VISIT' => $count_visit, 'USER' => $count_member, 'MODO' => $count_modo, 'ADMIN' => $count_admin, 'MORE' => $more, 'TOTAL' => $total, 'L_VISITOR' => $l_guest, 'L_USER' => $l_member, 'L_MODO' => $l_modo, 'L_ADMIN' => $l_admin, 'L_ONLINE' => $LANG['online'], 'L_TOTAL' => $LANG['total']));
        return $tpl->parse(TEMPLATE_STRING_MODE);
    }
    return '';
}
Exemple #8
0
function stats_mini($position, $block)
{
    global $LANG, $Cache, $nbr_members, $last_member_id, $last_member_login;
    load_module_lang('stats');
    #########################Stats.tpl###########################
    $tpl = new Template('stats/stats_mini.tpl');
    import('core/menu_service');
    MenuService::assign_positions_conditions($tpl, $block);
    $Cache->load('stats');
    $l_member_registered = $nbr_members > 1 ? $LANG['member_registered_s'] : $LANG['member_registered'];
    $tpl->assign_vars(array('SID' => SID, 'L_STATS' => $LANG['stats'], 'L_MORE_STAT' => $LANG['more_stats'], 'L_USER_REGISTERED' => sprintf($l_member_registered, $nbr_members), 'L_LAST_REGISTERED_USER' => $LANG['last_member'], 'U_LINK_LAST_USER' => '<a href="' . HOST . DIR . '/member/member' . url('.php?id=' . $last_member_id, '-' . $last_member_id . '.php') . '">' . $last_member_login . '</a>'));
    return $tpl->parse(TEMPLATE_STRING_MODE);
}
 public function display($tpl = false)
 {
     global $LANG;
     if (!Url::is_current_url('/user/login')) {
         $tpl = new FileTemplate('connect/connect_mini.tpl');
         $user = AppContext::get_current_user();
         MenuService::assign_positions_conditions($tpl, $this->get_block());
         if ($user->check_level(User::MEMBER_LEVEL)) {
             $unread_contributions = UnreadContributionsCache::load();
             //Vaut 0 si l'utilisateur n'a aucune contribution. Est > 0 si on connait le nombre de contributions
             //Vaut -1 si l'utilisateur a au moins une contribution (mais on ne sait pas combien à cause des recoupements entre les groupes)
             $contribution_number = 0;
             if ($user->check_level(User::ADMIN_LEVEL)) {
                 $contribution_number = $unread_contributions->get_admin_unread_contributions_number();
             } elseif ($user->check_level(User::MODERATOR_LEVEL)) {
                 if ($unread_contributions->have_moderators_unread_contributions()) {
                     $contribution_number = -1;
                 }
             } else {
                 if ($unread_contributions->have_members_unread_contributions()) {
                     $contribution_number = -1;
                 } else {
                     if ($unread_contributions->has_user_unread_contributions($user->get_id())) {
                         $contribution_number = -1;
                     } else {
                         foreach ($user->get_groups() as $group_id) {
                             if ($unread_contributions->has_group_unread_contributions($group_id)) {
                                 $contribution_number = -1;
                                 break;
                             }
                         }
                     }
                 }
             }
             $user_accounts_config = UserAccountsConfig::load();
             $user_avatar = AppContext::get_session()->get_cached_data('user_avatar');
             if (empty($user_avatar)) {
                 $user_avatar = '/templates/' . AppContext::get_current_user()->get_theme() . '/images/' . $user_accounts_config->get_default_avatar_name();
             }
             $total_alert = $user->get_unread_pm() + $contribution_number + ($user->check_level(User::ADMIN_LEVEL) ? AdministratorAlertService::get_number_unread_alerts() : 0);
             $user_group_color = User::get_group_color($user->get_groups(), $user->get_level(), true);
             $tpl->put_all(array('C_ADMIN_AUTH' => $user->check_level(User::ADMIN_LEVEL), 'C_MODERATOR_AUTH' => $user->check_level(User::MODERATOR_LEVEL), 'C_UNREAD_CONTRIBUTION' => $contribution_number != 0, 'C_KNOWN_NUMBER_OF_UNREAD_CONTRIBUTION' => $contribution_number > 0, 'C_UNREAD_ALERT' => (bool) AdministratorAlertService::get_number_unread_alerts(), 'C_HAS_PM' => $user->get_unread_pm() > 0, 'C_USER_GROUP_COLOR' => !empty($user_group_color), 'NUMBER_UNREAD_CONTRIBUTIONS' => $contribution_number, 'NUMBER_UNREAD_ALERTS' => AdministratorAlertService::get_number_unread_alerts(), 'NUMBER_PM' => $user->get_unread_pm(), 'NUMBER_TOTAL_ALERT' => $total_alert, 'PSEUDO' => $user->get_display_name(), 'USER_LEVEL_CLASS' => UserService::get_level_class($user->get_level()), 'USER_GROUP_COLOR' => $user_group_color, 'U_USER_PROFILE' => UserUrlBuilder::profile($user->get_id())->rel(), 'U_USER_PM' => UserUrlBuilder::personnal_message($user->get_id())->rel(), 'U_AVATAR_IMG' => Url::to_rel($user_avatar), 'L_NBR_PM' => $user->get_unread_pm() > 0 ? $user->get_unread_pm() . ' ' . ($user->get_unread_pm() > 1 ? $LANG['message_s'] : $LANG['message']) : $LANG['private_messaging'], 'L_PROFIL' => LangLoader::get_message('profile', 'user-common'), 'L_ADMIN_PANEL' => $LANG['admin_panel'], 'L_MODO_PANEL' => $LANG['modo_panel'], 'L_PRIVATE_PROFIL' => $LANG['my_private_profile'], 'L_DISCONNECT' => LangLoader::get_message('disconnect', 'user-common'), 'L_CONTRIBUTION_PANEL' => $LANG['contribution_panel']));
         } else {
             $authentication_config = AuthenticationConfig::load();
             $tpl->put_all(array('C_USER_NOTCONNECTED' => true, 'C_USER_REGISTER' => UserAccountsConfig::load()->is_registration_enabled(), 'C_FB_AUTH_ENABLED' => $authentication_config->is_fb_auth_available(), 'C_GOOGLE_AUTH_ENABLED' => $authentication_config->is_google_auth_available(), 'L_REQUIRE_PSEUDO' => $LANG['require_pseudo'], 'L_REQUIRE_PASSWORD' => $LANG['require_password'], 'L_CONNECT' => LangLoader::get_message('connection', 'user-common'), 'L_PSEUDO' => LangLoader::get_message('login', 'user-common'), 'L_PASSWORD' => LangLoader::get_message('password', 'user-common'), 'L_AUTOCONNECT' => LangLoader::get_message('autoconnect', 'user-common'), 'L_FORGOT_PASS' => LangLoader::get_message('forget-password', 'user-common'), 'L_REGISTER' => LangLoader::get_message('register', 'user-common'), 'U_CONNECT' => UserUrlBuilder::connect()->rel(), 'SITE_REWRITED_SCRIPT' => substr(REWRITED_SCRIPT, strlen(GeneralConfig::load()->get_site_path()))));
         }
         return $tpl->render();
     }
     return '';
 }
Exemple #10
0
function poll_mini($position, $block)
{
    global $Cache, $LANG, $CONFIG_POLL, $_array_poll;
    $Cache->load('poll');
    if (!empty($CONFIG_POLL['poll_mini']) && $CONFIG_POLL['poll_mini'] != array() && strpos(SCRIPT, '/poll/poll.php') === false) {
        load_module_lang('poll');
        $poll_mini = $_array_poll[array_rand($_array_poll)];
        $tpl = new Template('poll/poll_mini.tpl');
        import('core/menu_service');
        MenuService::assign_positions_conditions($tpl, $block);
        #####################R�sultats######################
        $array_cookie = isset($_COOKIE[$CONFIG_POLL['poll_cookie']]) ? explode('/', $_COOKIE[$CONFIG_POLL['poll_cookie']]) : array();
        if (in_array($poll_mini['id'], $array_cookie)) {
            $tpl->assign_vars(array('THEME' => get_utheme(), 'MODULE_DATA_PATH' => $tpl->get_module_data_path('poll'), 'L_MINI_POLL' => $LANG['mini_poll'], 'L_VOTE' => $poll_mini['total'] > 1 ? $LANG['poll_vote_s'] : $LANG['poll_vote']));
            $tpl->assign_block_vars('result', array('QUESTION' => $poll_mini['question'], 'VOTES' => $poll_mini['total']));
            foreach ($poll_mini['votes'] as $answer => $width) {
                $tpl->assign_block_vars('result.answers', array('ANSWERS' => $answer, 'WIDTH' => number_round($width, 0), 'PERCENT' => $width));
            }
        } else {
            #####################Questions######################
            $tpl->assign_vars(array('L_MINI_POLL' => $LANG['mini_poll'], 'L_VOTE' => $LANG['poll_vote'], 'L_POLL_RESULT' => $LANG['poll_result'], 'U_POLL_RESULT' => url('.php?id=' . $poll_mini['id'] . '&amp;r=1', '-' . $poll_mini['id'] . '-1.php')));
            global $Session;
            $tpl->assign_block_vars('question', array('ID' => url('.php?id=' . $poll_mini['id'] . '&amp;token=' . $Session->get_token(), '-' . $poll_mini['id'] . '.php?token=' . $Session->get_token()), 'QUESTION' => $poll_mini['question']));
            $z = 0;
            if ($poll_mini['type'] == '1') {
                foreach ($poll_mini['votes'] as $answer => $width) {
                    $tpl->assign_block_vars('question.radio', array('NAME' => $z, 'ANSWERS' => $answer));
                    $z++;
                }
            } elseif ($poll_mini['type'] == '0') {
                foreach ($poll_mini['votes'] as $answer => $width) {
                    $tpl->assign_block_vars('question.checkbox', array('NAME' => $z, 'ANSWERS' => $answer));
                    $z++;
                }
            }
        }
        return $tpl->parse(TEMPLATE_STRING_MODE);
    }
    return '';
}
Exemple #11
0
function connect_mini($position, $block)
{
    global $User, $LANG, $CONFIG_USER, $CONTRIBUTION_PANEL_UNREAD, $ADMINISTRATOR_ALERTS, $Session;
    $tpl = new Template('connect/connect_mini.tpl');
    import('core/menu_service');
    MenuService::assign_positions_conditions($tpl, $block);
    if ($User->check_level(MEMBER_LEVEL)) {
        $contribution_number = 0;
        if ($User->check_level(ADMIN_LEVEL)) {
            $contribution_number = $CONTRIBUTION_PANEL_UNREAD['r2'];
        } elseif ($User->check_level(MODERATOR_LEVEL)) {
            $contribution_number = $CONTRIBUTION_PANEL_UNREAD['r1'];
        } else {
            if ($CONTRIBUTION_PANEL_UNREAD['r0'] > 0) {
                $contribution_number = -1;
            }
            if ($contribution_number == 0) {
                if (!empty($CONTRIBUTION_PANEL_UNREAD['m' . $User->get_attribute('user_id')]) && $CONTRIBUTION_PANEL_UNREAD['m' . $User->get_attribute('user_id')] == 1) {
                    $contribution_number = -1;
                }
            }
            if ($contribution_number == 0) {
                foreach ($User->get_groups() as $id_group) {
                    if (!empty($CONTRIBUTION_PANEL_UNREAD['g' . $id_group]) && $CONTRIBUTION_PANEL_UNREAD['g' . $id_group] == 1) {
                        $contribution_number = -1;
                        break;
                    }
                }
            }
        }
        import('events/administrator_alert_service');
        $tpl->assign_vars(array('C_ADMIN_AUTH' => $User->check_level(ADMIN_LEVEL), 'C_MODERATOR_AUTH' => $User->check_level(MODERATOR_LEVEL), 'C_UNREAD_CONTRIBUTION' => $contribution_number != 0, 'C_KNOWN_NUMBER_OF_UNREAD_CONTRIBUTION' => $contribution_number > 0, 'C_UNREAD_ALERT' => (bool) AdministratorAlertService::get_number_unread_alerts(), 'NUM_UNREAD_CONTRIBUTIONS' => $contribution_number, 'NUMBER_UNREAD_ALERTS' => AdministratorAlertService::get_number_unread_alerts(), 'IMG_PM' => $User->get_attribute('user_pm') > 0 ? 'new_pm.gif' : 'pm_mini.png', 'U_USER_PM' => TPL_PATH_TO_ROOT . '/member/pm' . url('.php?pm=' . $User->get_attribute('user_id'), '-' . $User->get_attribute('user_id') . '.php'), 'U_USER_ID' => url('.php?id=' . $User->get_attribute('user_id') . '&amp;view=1', '-' . $User->get_attribute('user_id') . '.php?view=1'), 'U_DISCONNECT' => HOST . DIR . '/member/member.php?disconnect=true&amp;token=' . $Session->get_token(), 'L_NBR_PM' => $User->get_attribute('user_pm') > 0 ? $User->get_attribute('user_pm') . ' ' . ($User->get_attribute('user_pm') > 1 ? $LANG['message_s'] : $LANG['message']) : $LANG['private_messaging'], 'L_PROFIL' => $LANG['profile'], 'L_ADMIN_PANEL' => $LANG['admin_panel'], 'L_MODO_PANEL' => $LANG['modo_panel'], 'L_PRIVATE_PROFIL' => $LANG['my_private_profile'], 'L_DISCONNECT' => $LANG['disconnect'], 'L_CONTRIBUTION_PANEL' => $LANG['contribution_panel']));
    } else {
        $tpl->assign_vars(array('C_USER_REGISTER' => (bool) $CONFIG_USER['activ_register'], 'L_REQUIRE_PSEUDO' => $LANG['require_pseudo'], 'L_REQUIRE_PASSWORD' => $LANG['require_password'], 'L_CONNECT' => $LANG['connect'], 'L_PSEUDO' => $LANG['pseudo'], 'L_PASSWORD' => $LANG['password'], 'L_AUTOCONNECT' => $LANG['autoconnect'], 'L_FORGOT_PASS' => $LANG['forget_pass'], 'L_REGISTER' => $LANG['register'], 'U_CONNECT' => QUERY_STRING != '' ? '?' . str_replace('&', '&amp;', QUERY_STRING) . '&amp;' : '', 'U_REGISTER' => TPL_PATH_TO_ROOT . '/member/register.php' . SID));
    }
    return $tpl->parse(TEMPLATE_STRING_MODE);
}
function shoutbox_mini($position, $block)
{
    global $Cache, $LANG, $User, $CONFIG_SHOUTBOX, $nbr_members, $last_member_id, $last_member_login, $Sql;
    if (strpos(SCRIPT, '/shoutbox/shoutbox.php') === false) {
        load_module_lang('shoutbox');
        $Cache->load('shoutbox');
        ###########################Insertion##############################
        $shoutbox = retrieve(POST, 'shoutbox', false);
        if ($shoutbox) {
            if ($User->get_attribute('user_readonly') > time()) {
                $Errorh->handler('e_readonly', E_USER_REDIRECT);
            }
            $shout_pseudo = substr(retrieve(POST, 'shout_pseudo', $LANG['guest']), 0, 25);
            $shout_contents = retrieve(POST, 'shout_contents', '', TSTRING_UNCHANGE);
            if (!empty($shout_pseudo) && !empty($shout_contents)) {
                if ($User->check_level($CONFIG_SHOUTBOX['shoutbox_auth'])) {
                    $check_time = $User->get_attribute('user_id') !== -1 && $CONFIG['anti_flood'] == 1 ? $Sql->query("SELECT MAX(timestamp) as timestamp FROM " . PREFIX . "shoutbox WHERE user_id = '" . $User->get_attribute('user_id') . "'", __LINE__, __FILE__) : '';
                    if (!empty($check_time) && !$User->check_max_value(AUTH_FLOOD)) {
                        if ($check_time >= time() - $CONFIG['delay_flood']) {
                            redirect(HOST . DIR . '/shoutbox/shoutbox.php' . url('?error=flood', '', '&'));
                        }
                    }
                    $shout_contents = strparse($shout_contents, $CONFIG_SHOUTBOX['shoutbox_forbidden_tags']);
                    if (!check_nbr_links($shout_pseudo, 0)) {
                        redirect(HOST . DIR . '/shoutbox/shoutbox.php' . url('?error=lp_flood', '', '&'));
                    }
                    if (!check_nbr_links($shout_contents, $CONFIG_SHOUTBOX['shoutbox_max_link'])) {
                        redirect(HOST . DIR . '/shoutbox/shoutbox.php' . url('?error=l_flood', '', '&'));
                    }
                    $Sql->query_inject("INSERT INTO " . PREFIX . "shoutbox (login, user_id, level, contents, timestamp) VALUES ('" . $shout_pseudo . "', '" . $User->get_attribute('user_id') . "', '" . $User->get_attribute('level') . "', '" . $shout_contents . "', '" . time() . "')", __LINE__, __FILE__);
                    redirect(HOST . url(SCRIPT . '?' . QUERY_STRING, '', '&'));
                } else {
                    redirect(HOST . DIR . '/shoutbox/shoutbox.php' . url('?error=auth', '', '&'));
                }
            }
        }
        ###########################Affichage##############################
        $tpl = new Template('shoutbox/shoutbox_mini.tpl');
        import('core/menu_service');
        MenuService::assign_positions_conditions($tpl, $block);
        if ($User->get_attribute('user_id') !== -1) {
            $tpl->assign_vars(array('SHOUTBOX_PSEUDO' => $User->get_attribute('login'), 'C_HIDDEN_SHOUT' => true));
        } else {
            $tpl->assign_vars(array('SHOUTBOX_PSEUDO' => $LANG['guest'], 'C_VISIBLE_SHOUT' => true));
        }
        $refresh_delay = empty($CONFIG_SHOUTBOX['shoutbox_refresh_delay']) ? 60 : $CONFIG_SHOUTBOX['shoutbox_refresh_delay'];
        $tpl->assign_vars(array('SID' => SID, 'SHOUT_REFRESH_DELAY' => (int) max($refresh_delay, 0), 'L_ALERT_TEXT' => $LANG['require_text'], 'L_ALERT_UNAUTH_POST' => $LANG['e_unauthorized'], 'L_ALERT_FLOOD' => $LANG['e_flood'], 'L_ALERT_LINK_FLOOD' => sprintf($LANG['e_l_flood'], $CONFIG_SHOUTBOX['shoutbox_max_link']), 'L_ALERT_LINK_PSEUDO' => $LANG['e_link_pseudo'], 'L_ALERT_INCOMPLETE' => $LANG['e_incomplete'], 'L_ALERT_READONLY' => $LANG['e_readonly'], 'L_DELETE_MSG' => $LANG['alert_delete_msg'], 'L_SHOUTBOX' => $LANG['title_shoutbox'], 'L_MESSAGE' => $LANG['message'], 'L_PSEUDO' => $LANG['pseudo'], 'L_SUBMIT' => $LANG['submit'], 'L_REFRESH' => $LANG['refresh'], 'L_ARCHIVES' => $LANG['archives']));
        $array_class = array('member', 'modo', 'admin');
        $result = $Sql->query_while("SELECT id, login, user_id, level, contents\n    \tFROM " . PREFIX . "shoutbox\n    \tORDER BY timestamp DESC\n    \t" . $Sql->limit(0, 25), __LINE__, __FILE__);
        while ($row = $Sql->fetch_assoc($result)) {
            $row['user_id'] = (int) $row['user_id'];
            if ($User->check_level(MODO_LEVEL) || $row['user_id'] === $User->get_attribute('user_id') && $User->get_attribute('user_id') !== -1) {
                $del_message = '<script type="text/javascript"><!--
    			document.write(\'<a href="javascript:Confirm_del_shout(' . $row['id'] . ');" title="' . $LANG['delete'] . '"><img src="' . TPL_PATH_TO_ROOT . '/templates/' . get_utheme() . '/images/delete_mini.png" alt="" /></a>\');
    			--></script><ins><noscript><p><a href="' . TPL_PATH_TO_ROOT . '/shoutbox/shoutbox' . url('.php?del=true&amp;id=' . $row['id']) . '"><img src="' . TPL_PATH_TO_ROOT . '/templates/' . get_utheme() . '/images/delete_mini.png" alt="" /></a></p></noscript></ins>';
            } else {
                $del_message = '';
            }
            if ($row['user_id'] !== -1) {
                $row['login'] = $del_message . ' <a style="font-size:10px;" class="' . $array_class[$row['level']] . '" href="' . TPL_PATH_TO_ROOT . '/member/member' . url('.php?id=' . $row['user_id'], '-' . $row['user_id'] . '.php') . '">' . (!empty($row['login']) ? wordwrap_html($row['login'], 16) : $LANG['guest']) . '</a>';
            } else {
                $row['login'] = $del_message . ' <span class="text_small" style="font-style: italic;">' . (!empty($row['login']) ? wordwrap_html($row['login'], 16) : $LANG['guest']) . '</span>';
            }
            $tpl->assign_block_vars('shout', array('IDMSG' => $row['id'], 'PSEUDO' => $row['login'], 'CONTENTS' => ucfirst(second_parse($row['contents']))));
        }
        $Sql->query_close($result);
        return $tpl->parse(TEMPLATE_STRING_MODE);
    }
    return '';
}
Exemple #13
0
 /**
  * @desc Assign tpl vars
  * @access protected
  * @param Template $template the template on which we gonna assign vars
  */
 protected function _assign($template)
 {
     MenuService::assign_positions_conditions($template, $this->get_block());
 }
Exemple #14
0
function gallery_mini($position, $block)
{
    global $Cache, $User, $CAT_GALLERY, $CONFIG_GALLERY, $LANG, $_array_random_pics, $Sql;
    $tpl = new Template('gallery/gallery_mini.tpl');
    import('core/menu_service');
    MenuService::assign_positions_conditions($tpl, $block);
    load_module_lang('gallery');
    $Cache->load('gallery');
    $i = 0;
    $array_pics_mini = 'var array_pics_mini = new Array();' . "\n";
    list($nbr_pics, $sum_height, $sum_width, $scoll_mode, $height_max, $width_max) = array(0, 0, 0, 0, 142, 142);
    if (isset($_array_random_pics) && $_array_random_pics !== array()) {
        if (!defined('READ_CAT_GALLERY')) {
            define('READ_CAT_GALLERY', 0x1);
        }
        $gallery_mini = array();
        shuffle($_array_random_pics);
        $CAT_GALLERY[0]['auth'] = $CONFIG_GALLERY['auth_root'];
        $break = 0;
        foreach ($_array_random_pics as $array_pics_info) {
            if ($User->check_auth($CAT_GALLERY[$array_pics_info['idcat']]['auth'], READ_CAT_GALLERY)) {
                $gallery_mini[] = $array_pics_info;
                $break++;
            }
            if ($break == $CONFIG_GALLERY['nbr_pics_mini']) {
                break;
            }
        }
        if (count($gallery_mini) == 0) {
            $_array_random_pics = array();
            $result = $Sql->query_while("SELECT g.id, g.name, g.path, g.width, g.height, g.idcat, gc.auth\n    \t\tFROM " . PREFIX . "gallery g\n    \t\tLEFT JOIN " . PREFIX . "gallery_cats gc on gc.id = g.idcat\n    \t\tWHERE g.aprob = 1 AND gc.aprob = 1\n    \t\tORDER BY RAND()\n    \t\t" . $Sql->limit(0, $CONFIG_GALLERY['nbr_pics_mini']), __LINE__, __FILE__);
            while ($row = $Sql->fetch_assoc($result)) {
                $_array_random_pics[] = $row;
            }
            $break = 0;
            foreach ($_array_random_pics as $key => $array_pics_info) {
                if ($User->check_auth($CAT_GALLERY[$array_pics_info['idcat']]['auth'], READ_CAT_GALLERY)) {
                    $gallery_mini[] = $array_pics_info;
                    $break++;
                }
                if ($break == $CONFIG_GALLERY['nbr_pics_mini']) {
                    break;
                }
            }
        }
        switch ($CONFIG_GALLERY['scroll_type']) {
            case 0:
                $tpl->assign_vars(array('C_FADE' => true));
                break;
            case 1:
                $tpl->assign_vars(array('C_VERTICAL_SCROLL' => true));
                break;
            case 2:
                $tpl->assign_vars(array('C_HORIZONTAL_SCROLL' => true));
                break;
            case 3:
                $tpl->assign_vars(array('C_STATIC' => true));
                break;
        }
        include_once PATH_TO_ROOT . '/gallery/gallery.class.php';
        $Gallery = new Gallery();
        foreach ($gallery_mini as $key => $row) {
            if (!is_file(PATH_TO_ROOT . '/gallery/pics/thumbnails/' . $row['path'])) {
                $Gallery->Resize_pics(PATH_TO_ROOT . '/gallery/pics/' . $row['path']);
            }
            if ($row['width'] == 0 || $row['height'] == 0) {
                list($row['width'], $row['height']) = @getimagesize(PATH_TO_ROOT . '/gallery/pics/thumbnails/' . $row['path']);
            }
            if ($row['width'] == 0 || $row['height'] == 0) {
                list($row['width'], $row['height']) = array(142, 142);
            }
            $tpl->assign_block_vars('pics_mini', array('ID' => $i, 'PICS' => TPL_PATH_TO_ROOT . '/gallery/pics/thumbnails/' . $row['path'], 'NAME' => strprotect($row['name'], HTML_PROTECT, ADDSLASHES_FORCE), 'HEIGHT' => $row['height'], 'WIDTH' => $row['width'], 'U_PICS' => TPL_PATH_TO_ROOT . '/gallery/gallery' . url('.php?cat=' . $row['idcat'] . '&amp;id=' . $row['id'], '-' . $row['idcat'] . '-' . $row['id'] . '.php')));
            $sum_height += $row['height'] + 5;
            $sum_width += $row['width'] + 5;
            $i++;
            if ($CONFIG_GALLERY['scroll_type'] == 3) {
                break;
            }
        }
    }
    $tpl->assign_vars(array('SID' => SID, 'MODULE_DATA_PATH' => $tpl->get_module_data_path('gallery'), 'ARRAY_PICS' => $array_pics_mini, 'HEIGHT_DIV' => $CONFIG_GALLERY['height'], 'SUM_HEIGHT' => $sum_height + 10, 'HIDDEN_HEIGHT' => $CONFIG_GALLERY['height'] + 10, 'WIDTH_DIV' => $CONFIG_GALLERY['width'], 'SUM_WIDTH' => $sum_width + 30, 'HIDDEN_WIDTH' => $CONFIG_GALLERY['width'] * 3 + 30, 'SCROLL_DELAY' => 0.2 * (11 - $CONFIG_GALLERY['speed_mini_pics']), 'L_RANDOM_PICS' => $LANG['random_img'], 'L_NO_RANDOM_PICS' => $i == 0 ? '<br /><span class="text_small"><em>' . $LANG['no_random_img'] . '</em></span><br />' : '', 'L_GALLERY' => $LANG['gallery']));
    return $tpl->parse(TEMPLATE_STRING_MODE);
}
Exemple #15
0
 function _assign(&$template)
 {
     import('core/menu_service');
     MenuService::assign_positions_conditions($template, $this->get_block());
 }