}
}
$options['return'] .= '</ul>' . "\n";
if (!(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') || $_SESSION['disablesteve'] == 1)) {
    $options['output'] .= '<img src="' . IMAGE_URL . 'steve/icon_gun.gif" id="steve_gun" />' . "\n";
}
function recurse_forum_category_specialgrej($categories, $depth)
{
    foreach ($categories as $category) {
        if ($category['handle'] == 'hamsterpajs_artiklar' || $category['handle'] == 'forum_error') {
            continue;
        }
        $indent = '';
        for ($i = 0; $i < $depth; $i++) {
            $indent .= '&nbsp;&nbsp;';
        }
        $category['title'] = strlen($category['title']) > 21 ? substr($category['title'], 0, 19) . '...' : $category['title'];
        $style = $depth == 0 ? ' style="font-weight: bold;"' : '';
        $output .= '<option value="' . $category['handle'] . '"' . $style . '>' . $indent . $category['title'] . '</option>' . "\n";
        $output .= recurse_forum_category_specialgrej($category['children'], $depth + 1);
    }
    return $output;
}
$categories = discussion_forum_categories_fetch(array('parent' => 0));
if ($_SESSION['login']['id'] == 3) {
}
if (login_checklogin()) {
    $options['output'] .= '<select id="threads_module_create_thread" onchange="threads_module_create_thread()"><option value="false">Starta ny tråd</option>' . "\n";
    $options['output'] .= recurse_forum_category_specialgrej($categories, 0);
    $options['output'] .= '</select>';
}
Example #2
0
function discussion_forum_parse_request($url)
{
    $url = strtolower($url);
    $url_query_parts = explode('?', $url);
    $url_anchor_parts = explode('#', $url_query_parts[0]);
    $url = $url_anchor_parts[0];
    if (substr($url, -1) == '/') {
        $url = substr($url, 0, -1);
    }
    if ($url == '/diskussionsforum') {
        $request['action'] = 'index';
    } elseif ($url == '/diskussionsforum/flytta_traad.php' && is_numeric($_POST['new_category'])) {
        $request['action'] = 'move_thread';
        $request['thread'] = array_pop(discussion_forum_post_fetch(array('post_id' => $_POST['thread_id'])));
        $request['new_category'] = array_pop(discussion_forum_categories_fetch(array('id' => $_POST['new_category'])));
    } elseif ($url == '/diskussionsforum/nytt_inlaegg.php') {
        $request['action'] = 'new_post';
    } elseif ($url == '/diskussionsforum/soek.php') {
        $request['action'] = 'search';
        $request['freetext'] = substr($url_query_parts[1], 9);
    } elseif ($url == '/diskussionsforum/nya_traadar.php') {
        $request['action'] = 'latest_threads';
    } elseif ($url == '/diskussionsforum/dina_traadar.php') {
        $request['action'] = 'threads_by_user';
        $request['user_id'] = $_SESSION['login']['id'];
    } elseif ($url == '/diskussionsforum/notiser.php') {
        $request['action'] = 'view_notices';
    } elseif ($url == '/diskussionsforum/notiser.new.php') {
        $request['action'] = 'view_new_notices';
    } elseif (substr($url, -4) == '.php' && substr($url, strrpos($url, '/'), 11) != '/traadsida_') {
        // Note: This does NOT have to be a thread, it could also be a help-page such as regler.php
        // AND, the url might be fomatted like this: /discussionsforum/traad_handtag/sida_1.php
        $explosion = explode('/', $url);
        $page_count_start = strrpos($url, '/sida_') + 6;
        $page_count_end = strrpos($url, '.');
        $page_count_length = $page_count_end - $page_count_start;
        $request['page_num'] = substr($url, $page_count_start, $page_count_length);
        $request['action'] = 'view_thread';
        $request['thread_handle'] = $explosion[count($explosion) - 2];
        /*//trace('datamirk', print_r($explosion, true));
        		$request['category'] = array_pop(discussion_forum_categories_fetch(array('handle' => $explosion[count($explosion)-3])));
        		if(!in_array($explosion[count($explosion)-3], array('hamsterpaj', 'nyheter', 'buggar_och_fel', 'spel_och_film', 'mellan_himmel_och_jord', 'mat', 'klaeder_och_utseende', 'djur_och_husdjur', 'historier_och_skaemt', 'mobiltelefoner', 'tonaaring', 'relationer', 'kropp_och_pubertet', 'sex', 'familjen', 'vaenner', 'skola', 'pengar', 'fritid', 'sport', 'traening', 'foereningsliv', 'motor', 'musik', 'film_och_tv', 'foto', 'litteratur', 'spel', 'datorspel', 'counter_strike', 'world_of_warcraft', 'xbox', 'playstation', 'nintendo', 'retrokonsoller', 'lajv_och_rollspel', 'datorer', 'support_och_hjaelp', 'haardvara', 'mjukvara', 'operativsystem', 'lan_och_naetverk', 'programmering', 'php_scripting', 'webbdesign', 'min_hemsida', 'vetenskap', 'fysik', 'kemi', 'biologi', 'matematik', 'teknik', 'elektronik', 'astronomi', 'psykologi', 'debatt', 'politik', 'religion', 'jaemstaelldhet', 'miljoe', 'filosofi', 'alkohol_tobak_droger', 'historia', 'oevrigt', 'koep_och_saelj', 'efterlysningar', 'forumlekar', 'listor_omroestningar', 'skraep_och_spam', 'teknik', 'kaerlek', 'open_source', 'presentationsteman', 'forum_error', 'ordningsvaktsforum')))
        		{
        			if($explosion[count($explosion)-3] != 'diskussionsforum')
        			{
        				trace('extreme_datamirk', $_SESSION['login']['username'] . ':' . $explosion[count($explosion)-3] . ' = ' . print_r($explosion, true));
        			}
        		}*/
    } else {
        $request['action'] = 'view_category';
        $explosion = explode('/', $url);
        $last_piece = $explosion[count($explosion) - 1];
        if (substr($last_piece, 0, 10) == 'traadsida_' && substr($last_piece, -4) == '.php' && is_numeric(substr($last_piece, 10, -4)) && intval(substr($last_piece, 10, -4)) > 0) {
            $request['page_offset'] = intval(substr(array_pop($explosion), 10, -4)) - 1;
        } else {
            $request['page_offset'] = 0;
        }
        $handle = array_pop($explosion);
        if ($handle == url_secure_string($handle)) {
            $viewers_userlevel = login_checklogin() ? $_SESSION['login']['userlevel'] : 0;
            $request['category'] = array_pop(discussion_forum_categories_fetch(array('handle' => $handle, 'viewers_userlevel' => $viewers_userlevel, 'disable_query_caching' => true)));
            $request['category_handle'] = $handle;
            if (count($request['category']) < 1) {
                $request['action'] = 'forum_not_found';
            }
        } else {
            $request['action'] = 'forum_not_found';
        }
    }
    return $request;
}
Example #3
0
 $ui_options['menu_path'][] = 'notices';
 $ui_options['title'] = 'Bevakade trådar - Hamsterpaj.net';
 $output .= discussion_forum_locator(array('page' => 'notices'));
 $output .= discussion_forum_list_notices();
 $output .= '<h1>Bevakade trådar</h1>' . "\n";
 $options['notice_listing'] = true;
 $output .= discussion_forum_thread_list($_SESSION['forum']['subscriptions'], $options);
 foreach ($_SESSION['forum']['categories'] as $category) {
     if ($category['subscribing'] == 1) {
         $subscribing_categories[] = $category['category_id'];
     }
 }
 if (count($subscribing_categories) > 0) {
     $output .= '<h1 style="margin-top: 20px;">Kategorier du prenumererar på</h1>' . "\n";
     $viewers_userlevel = login_checklogin() ? $_SESSION['login']['userlevel'] : 0;
     $categories = discussion_forum_categories_fetch(array('id' => $subscribing_categories, 'max_levels' => 0, 'viewers_userlevel' => $viewers_userlevel));
     foreach ($categories as $category) {
         $options['show_new_threads'] = true;
         $options['forum_id'] = $category['id'];
         $threads = discussion_forum_post_fetch($options);
         $output .= '<h2><a href="' . $category['url'] . '">' . $category['title'] . '</a></h2>' . "\n";
         if (count($threads) > 0) {
             // next row gave lef a lot of spokenotices, so that has to be checked before release!
             // $output .= '<a href="/ajax_gateways/discussion_forum.php?action=set_category_read&category=' . $category['id'] . '&return=' . $_SERVER['REQUEST_URI'] . '">Markera kategori som läst</a>' . "\n";
             $options['notice_listing'] = false;
             $output .= discussion_forum_thread_list($threads, $options);
         } else {
             $output .= '<p>Inga nya trådar i kategorin :(</p>' . "\n";
         }
     }
 }
         $out .= '<tr>' . "\n";
         $out .= '<th><label for="create_post">Svara i trådar <strong>*</strong></label></th>' . "\n";
         $out .= '<td><select name="create_post">' . "\n";
         $out .= '<option ' . ($category['create_post'] == 'no_one' ? 'selected="selected"' : '') . ' value="no_one">Ingen</option>' . "\n";
         $out .= '<option ' . ($category['create_post'] == 'logged_in' ? 'selected="selected"' : '') . ' value="logged_in">Inloggade</option>' . "\n";
         $out .= '<option ' . ($category['create_post'] == 'ov' ? 'selected="selected"' : '') . ' value="ov">Ordningsvakter</option>' . "\n";
         $out .= '<option ' . ($category['create_post'] == 'joshua' ? 'selected="selected"' : '') . ' value="joshua">Joshua</option>' . "\n";
         $out .= '</select></td>' . "\n";
         $out .= '</tr>' . "\n";
         $out .= '</table>' . "\n";
         $out .= '<input type="submit" value="Spara" />' . "\n";
         $out .= '</form>';
         break;
     case 'list_categories':
     default:
         $categories = discussion_forum_categories_fetch(array('disable_query_caching' => true, 'parent' => 0));
         $out .= '<fieldset>' . "\n";
         $out .= '<legend>Forumkategorier</legend>' . "\n";
         $out .= '<table class="form">' . "\n";
         $out .= '<tr>' . "\n";
         $out .= '<th>Titel</th>' . "\n";
         $out .= '<th>Ändra</th>' . "\n";
         $out .= '<th>Ta bort</th>' . "\n";
         $out .= '</tr>' . "\n";
         $out .= forum_admin_category_recursive_list($categories, 0);
         $out .= '</table>' . "\n";
         $out .= '</fieldset>' . "\n";
         break;
 }
 ui_top($ui_options);
 echo rounded_corners_tabs_top($rounded_corners_tabs_options, true);
Example #5
0
function render_full_article($article)
{
    if (empty($article)) {
        $out .= rounded_corners_top(array('color' => 'red'));
        $out .= '<h1>Den här artikeln kunde tyvärr inte hittas</h1>' . "\n";
        $out .= '<a href="?action=list"><< Gå till listan över artiklar</a>' . "\n";
        $out .= rounded_corners_bottom(array('color' => 'red'));
    } else {
        $out .= render_article($article);
        if ($article['photo_category_id'] > 0) {
            $options['category'] = $article['photo_category_id'];
            $photos = photos_fetch($options);
            $out .= '<h2>Tillhörande bilder</h2>' . "\n";
            $out .= photos_list($photos);
        }
        if ($article['showauthor'] == 1) {
            $out .= render_author($article['author']);
        }
        if (isset($article['forum_category_id']) && $article['forum_category_id'] != 0) {
            $all_categories_list = discussion_forum_categories_fetch(array('id' => $article['forum_category_id']));
            $category = array_pop($all_categories_list);
            $forum_security = forum_security(array('action' => 'view_category', 'category' => $category));
            if ($forum_security == true) {
                $path_to_category = discussion_forum_path_to_category(array('id' => $category['id']));
                $locator_options['categories'] = $path_to_category;
                unset($options);
                $options['max_levels'] = 0;
                $options['parent'] = $category['id'];
                $categories = discussion_forum_categories_fetch($options);
                $out .= discussion_forum_categories_list($categories);
                $out .= '<h2>Trådar</h2>' . "\n";
                $post_options['forum_id'] = $category['id'];
                $post_options['threads_only'] = true;
                $post_options['order_by_sticky'] = true;
                $post_options['page_offset'] = $request['page_offset'];
                $post_options['url_lookup'] = true;
                $threads = discussion_forum_post_fetch($post_options);
                //$threads['url'] = $path_to_trailing_category = array_pop($path_to_category) . '/' . $thread['handle'] . '/sida_1.php';
                $out .= discussion_forum_thread_list($threads);
                $path_to_trailing_category = array_pop($path_to_category);
                $out .= '<a href="' . $path_to_trailing_category['url'] . '">Skapa en egen tråd länkad till artikeln</a>' . '<br style="clear: both;" />';
                forum_update_category_session(array('category' => $category, 'threads' => $threads));
            }
        }
        if ($article['commentable'] == 1) {
            $out .= rounded_corners_top(array('color' => 'blue_deluxe'));
            if ($article['rankable'] == 1) {
                $out .= rank_input_draw($article['id'], 'articles');
            }
            $out .= comments_input_draw($article['id'], 'articles');
            $out .= '<div style="clear: both;"></div>' . "\n";
            $out .= rounded_corners_bottom();
            $out .= comments_list($article['id'], 'articles');
        }
    }
    if (is_privilegied('articles_admin')) {
        $out .= '<a href="/artiklar/index.php?action=admin&article=edit&id=' . $article['id'] . '">Ändra i artikeln</a>' . "\n";
    }
    return $out;
}
Example #6
0
/* Renaming posts (threads). Fix a function for this later on... */
if ($_GET['action'] == 'rename_post' && is_privilegied('discussion_forum_rename_threads') && is_numeric($_GET['post_id'])) {
    $posts = discussion_forum_post_fetch(array('post_id' => $_GET['post_id']));
    $post = array_pop($posts);
    $message = 'Hej, din tråd i forumet med titeln "%TITLE%" har blivit omdöpt till %NEW_TITLE%
								Ordningsvakten som döpte om din tråd var: %RENAMERS_USERNAME%.' . "\n" . '
								Har du frågor så är du välkommen att fråga honom/henne, annars, may the force be with you!
							 ';
    $guestbook_message = array('sender' => 2348, 'recipient' => intval($post['author']), 'message' => mysql_real_escape_string(str_replace(array('%TITLE%', '%CONTENT%', '%RENAMERS_USERNAME%', '%NEW_TITLE%'), array($post['title'], $post['content'], $_SESSION['login']['username'], $_GET['new_title']), $message)));
    guestbook_insert($guestbook_message);
    $query = 'UPDATE forum_posts SET title = "' . $_GET['new_title'] . '" WHERE id = "' . $_GET['post_id'] . '" LIMIT 1';
    mysql_query($query) or report_sql_error($query, __FILE__, __LINE__);
    log_admin_event('forum rename post', $post['title'] . ' -> ' . $_GET['new_title'], $_SESSION['login']['id'], $post['author'], $_GET['post_id']);
}
/* Remove answer to notice */
if ($_GET['action'] == 'remove_answer_notice' && is_numeric($_GET['post_id']) && login_checklogin()) {
    $query = 'DELETE FROM forum_notices WHERE post_id = ' . $_GET['post_id'] . ' AND user = "******" LIMIT 1';
    mysql_query($query) or report_sql_error($query, __FILE__, __LINE__);
}
/* Category read */
if ($_GET['action'] == 'set_category_read') {
    $category = discussion_forum_categories_fetch(array('id' => $_GET['category']));
    $options['show_new_threads'] = true;
    $options['forum_id'] = $_GET['category'];
    $threads = discussion_forum_post_fetch($options);
    forum_update_category_session(array('category' => $category[0], 'threads' => $threads));
    discussion_forum_reload_category_subscriptions();
    if (!empty($_GET['return'])) {
        header('Location: ' . $_GET['return'] . '');
    }
}