示例#1
0
 public static function export(Tiki_Profile_Writer $writer, $moduleId)
 {
     $modlib = TikiLib::lib('mod');
     if (!($info = $modlib->get_assigned_module($moduleId))) {
         return false;
     }
     $spec = $modlib->get_module_info($info['name']);
     TikiLib::parse_str($info['params'], $module_params);
     foreach ($module_params as $param => &$value) {
         if (isset($spec['params'][$param])) {
             $def = $spec['params'][$param];
             if (isset($def['profile_reference'])) {
                 $value = self::handleValueExport($writer, $def, $value);
             }
         }
     }
     $info['params'] = $module_params;
     $data = array('name' => $info['name'], 'position' => $info['position'], 'order' => $info['ord'], 'cache' => $info['cache_time'], 'rows' => $info['rows'], 'groups' => unserialize($info['groups']), 'params' => $info['params']);
     if ($custom = $modlib->get_user_module($info['name'])) {
         $data['custom'] = $custom['data'];
         $data['parse'] = $custom['parse'];
     }
     $writer->addObject('module', $moduleId, $data);
     return true;
 }
示例#2
0
/**
 * @param $mod_reference
 * @param $module_params
 */
function module_shoutbox($mod_reference, $module_params)
{
    global $tikilib;
    require_once 'lib/tikilib.php';
    global $shoutboxlib, $prefs, $user, $tiki_p_view_shoutbox;
    global $tiki_p_admin_shoutbox, $tiki_p_post_shoutbox, $base_url, $smarty, $access;
    include_once 'lib/shoutbox/shoutboxlib.php';
    if ($tiki_p_view_shoutbox == 'y') {
        if (true || $prefs['feature_ajax'] !== 'y') {
            $setup_parsed_uri = parse_url($_SERVER['REQUEST_URI']);
            if (isset($setup_parsed_uri['query'])) {
                TikiLib::parse_str($setup_parsed_uri['query'], $sht_query);
            } else {
                $sht_query = array();
            }
            $shout_father = $setup_parsed_uri['path'];
            if (isset($sht_query) && count($sht_query) > 0) {
                $sht = array();
                foreach ($sht_query as $sht_name => $sht_val) {
                    $sht[] = $sht_name . '=' . $sht_val;
                }
                $shout_father .= '?' . implode('&', $sht) . '&';
            } else {
                $shout_father .= '?';
            }
        } else {
            // $prefs['feature_ajax'] == 'y'			// AJAX_TODO
            $shout_father = 'tiki-shoutbox.php?';
        }
        $smarty->assign('shout_ownurl', $shout_father);
        if (isset($_REQUEST['shout_remove'])) {
            $info = $shoutboxlib->get_shoutbox($_REQUEST['shout_remove']);
            if ($tiki_p_admin_shoutbox == 'y' || $info['user'] == $user) {
                $access->check_authenticity();
                $shoutboxlib->remove_shoutbox($_REQUEST["shout_remove"]);
            }
        }
        if ($tiki_p_post_shoutbox == 'y') {
            if (isset($_REQUEST['shout_send'])) {
                doProcessShout($_REQUEST);
            }
        }
        $maxrows = isset($module_params['maxrows']) ? $module_params['maxrows'] : 5;
        $shout_msgs = $shoutboxlib->list_shoutbox(0, $maxrows, 'timestamp_desc', '');
        $smarty->assign('shout_msgs', $shout_msgs['data']);
        // Subst module parameters
        $smarty->assign('tooltip', isset($module_params['tooltip']) ? $module_params['tooltip'] : 0);
        $smarty->assign('buttontext', isset($module_params['buttontext']) ? $module_params['buttontext'] : tra('Post'));
        $smarty->assign('waittext', isset($module_params['waittext']) ? $module_params['waittext'] : tra('Please wait...'));
        $smarty->assign('tweet', isset($module_params['tweet']) && $tikilib->get_user_preference($user, 'twitter_token') != '' ? $module_params['tweet'] : '0');
        $smarty->assign('facebook', isset($module_params['facebook']) && $tikilib->get_user_preference($user, 'facebook_token') != '' ? $module_params['facebook'] : '0');
    }
}
示例#3
0
 function action_execute($input)
 {
     $modlib = TikiLib::lib('mod');
     $modname = $input->module->text();
     if ($modname) {
         $params = (array) $input->params->array();
         $moduleId = $input->moduleId->int();
         if ($moduleId) {
             $module_reference = $modlib->get_assigned_module($moduleId);
             TikiLib::parse_str($module_reference['params'], $module_reference['params']);
             $module_reference['params'] = array_merge($params, $module_reference['params']);
         } else {
             $module_reference = array('name' => $modname, 'params' => $params);
         }
         $result = $modlib->execute_module($module_reference);
     }
     return array('html' => $result);
 }
示例#4
0
function smarty_function_button($params, $smarty)
{
    if (!is_array($params) || !isset($params['_text'])) {
        return;
    }
    global $tikilib, $prefs, $auto_query_args;
    $class = null;
    $smarty->loadPlugin('smarty_block_self_link');
    $selected = false;
    if (!empty($params['_selected'])) {
        // Filter the condition
        if (preg_match('/[a-zA-Z0-9 =<>!]+/', $params['_selected'])) {
            $error_report = error_reporting(~E_ALL);
            $return = eval('$selected =' . $params['_selected'] . ";");
            error_reporting($error_report);
            if ($return !== FALSE) {
                if ($selected) {
                    if (!empty($params['_selected_class'])) {
                        $params['_class'] = $params['_selected_class'];
                    } else {
                        $params['_class'] = 'selected';
                    }
                    if (!empty($params['_selected_text'])) {
                        $params['_text'] = $params['_selected_text'];
                    }
                    if (!empty($params['_selected_title'])) {
                        $params['_title'] = $params['_selected_title'];
                    }
                    if (!empty($params['_selected_icon'])) {
                        $params['_icon'] = $params['_selected_icon'];
                    }
                    if (!empty($params['_selected_icon_name'])) {
                        $params['_icon_name'] = $params['_selected_icon_name'];
                    }
                }
            }
        }
    }
    $disabled = false;
    if (!empty($params['_disabled'])) {
        // Filter the condition
        if (preg_match('/[a-zA-Z0-9 =<>!]+/', $params['_disabled'])) {
            $error_report = error_reporting(~E_ALL);
            $return = eval('$disabled =' . $params['_disabled'] . ";");
            error_reporting($error_report);
            if ($return !== FALSE) {
                if ($disabled) {
                    if (!empty($params['_disabled_class'])) {
                        $params['_class'] = $params['_disabled_class'];
                    } else {
                        $params['_class'] = 'disabled';
                    }
                    if (!empty($params['_disabled_text'])) {
                        $params['_text'] = $params['_disabled_text'];
                    }
                    if (!empty($params['_disabled_title'])) {
                        $params['_title'] = $params['_disabled_title'];
                    }
                    if (!empty($params['_disabled_icon'])) {
                        $params['_icon'] = $params['_disabled_icon'];
                    }
                    if (!empty($params['_disabled_icon_name'])) {
                        $params['_icon_name'] = $params['_disabled_icon_name'];
                    }
                }
            }
        }
        unset($params['_disabled']);
    }
    //apply class only to the button
    if (!empty($params['_class'])) {
        $class = $params['_class'];
    }
    if (!empty($params['_id'])) {
        $id = ' id="' . $params['_id'] . '"';
    } else {
        $id = '';
    }
    unset($params['_class']);
    if (!$disabled) {
        $flip_id = '';
        if (!empty($params['_flip_id'])) {
            $params['_onclick'] = "javascript:flip('" . $params['_flip_id'] . "');flip('" . $params['_flip_id'] . "_close','inline');return false;";
            if (!empty($params['_escape']) && $params['_escape'] === 'y') {
                $params['_onclick'] = addslashes($params['_onclick']);
            }
            if (!isset($params['_flip_hide_text']) || $params['_flip_hide_text'] != 'n') {
                $cookie_key = 'show_' . $params['_flip_id'];
                $params['_text'] .= '<span id="' . $params['_flip_id'] . '_close" style="display:' . (isset($_SESSION['tiki_cookie_jar'][$cookie_key]) && $_SESSION['tiki_cookie_jar'][$cookie_key] == 'y' || isset($params['_flip_default_open']) && $params['_flip_default_open'] == 'y' ? 'inline' : 'none') . ';"> (' . tra('Hide') . ')</span>';
            }
        }
        $auto_query_args_orig = $auto_query_args;
        if (!empty($params['_auto_args'])) {
            if ($params['_auto_args'] != '*') {
                if (!isset($auto_query_args)) {
                    $auto_query_args = null;
                }
                $auto_query_args = explode(',', $params['_auto_args']);
            }
        } else {
            $params['_noauto'] = 'y';
        }
        // Remove params that does not start with a '_', since we don't want them to modify the URL except when in auto_query_args
        if (!isset($params['_keepall']) || $params['_keepall'] != 'y') {
            foreach ($params as $k => $v) {
                if ($k[0] != '_' && $k != 'href' && (empty($auto_query_args) || !in_array($k, $auto_query_args))) {
                    unset($params[$k]);
                }
            }
        }
        $url_args = array();
        if (!empty($params['href'])) {
            // Handle anchors
            if (strpos($params['href'], '#')) {
                list($params['href'], $params['_anchor']) = explode('#', $params['href'], 2);
            }
            // Handle script and URL arguments
            if (($pos = strpos($params['href'], '?')) !== false) {
                $params['_script'] = substr($params['href'], 0, $pos);
                TikiLib::parse_str($tikilib->htmldecode(substr($params['href'], $pos + 1)), $url_args);
                $params = array_merge($params, $url_args);
            } else {
                $params['_script'] = $params['href'];
            }
            unset($params['href']);
        }
        $html = smarty_block_self_link($params, $params['_text'], $smarty);
    } else {
        $params['_disabled'] = 'y';
        $html = smarty_block_self_link($params, $params['_text'], $smarty);
    }
    $type = isset($params['_type']) ? $params['_type'] : 'default';
    $auto_query_args = $auto_query_args_orig;
    $html = preg_replace('/<a /', '<a class="btn btn-' . $type . ' ' . $class . '" data-role="button" data-inline="true" ' . $id . ' ', $html);
    return $html;
}
示例#5
0
文件: modlib.php 项目: rjsmelo/tiki
 /**
  * @global TikiLib $tikilib
  * @param bool $added shows current prefs not in defaults
  * @return array (prefname => array( 'current' => current value, 'default' => default value ))
  */
 function getModulesForExport()
 {
     $export = array();
     $assigned_modules = $this->get_assigned_modules();
     foreach ($assigned_modules as $zone => $modules) {
         foreach ($modules as $pos => $module) {
             $modtogo['type'] = 'module';
             $modtogo['data'] = array();
             $modtogo['data']['name'] = $module['name'];
             TikiLib::parse_str($module['params'], $modtogo['data']['params']);
             $modtogo['data']['groups'] = unserialize($module['groups']);
             $modtogo['data']['order'] = $module['ord'];
             $modtogo['data']['position'] = str_replace('_modules', '', $this->module_zones[$module['position']]);
             if ($this->is_user_module($module['name'])) {
                 $um = $this->get_user_module($module['name']);
                 if (preg_match("/^\\!*\\{.*\\}\$/", trim($um['data']), $matches)) {
                     // start and end with { and } makes yaml parser think it's a serialized value
                     $um['data'] = $um['data'] . "\n";
                     // so force it to be a literal block
                 }
                 $modtogo['data']['custom'] = $um['data'];
                 // the yaml dumper copes with linefeeds etc as a literal block
                 $modtogo['data']['parse'] = empty($um['parse']) ? 'n' : $um['parse'];
             }
             $export[] = $modtogo;
         }
     }
     return $export;
 }
示例#6
0
/**
 * @param $mod_reference
 * @param $module_params
 */
function module_user_bookmarks($mod_reference, $module_params)
{
    $tikilib = TikiLib::lib('tiki');
    $smarty = TikiLib::lib('smarty');
    global $user, $prefs, $tiki_p_create_bookmarks;
    global $bookmarklib;
    include_once 'lib/bookmarks/bookmarklib.php';
    $setup_parsed_uri = parse_url($_SERVER["REQUEST_URI"]);
    if (isset($setup_parsed_uri["query"])) {
        TikiLib::parse_str($setup_parsed_uri["query"], $setup_query_data);
    } else {
        $setup_query_data = array();
    }
    if ($user && $tiki_p_create_bookmarks == 'y') {
        // check the session to get the directory or create directory =0
        $smarty->assign('ownurl', $tikilib->httpPrefix() . $_SERVER["REQUEST_URI"]);
        if (isset($_REQUEST["bookmarks_directory"])) {
            $_SESSION["bookmarks_directory"] = $_REQUEST["bookmarks_directory"];
        } elseif (!isset($_SESSION["bookmarks_directory"])) {
            $_SESSION["bookmarks_directory"] = 0;
        }
        $ownurl = $tikilib->httpPrefix() . $_SERVER["REQUEST_URI"];
        // Now build urls
        if (strstr($ownurl, '?')) {
            $modb_sep = '&amp;';
        } else {
            $modb_sep = '?';
        }
        $smarty->assign('modb_sep', $modb_sep);
        if (isset($_REQUEST["bookmark_removeurl"])) {
            $bookmarklib->remove_url($_REQUEST["bookmark_removeurl"], $user);
        }
        if (isset($_REQUEST["bookmark_create_folder"])) {
            $bookmarklib->add_folder($_SESSION["bookmarks_directory"], $_REQUEST['modb_name'], $user);
        }
        if (isset($_REQUEST["bookmark_mark"])) {
            $name = $_REQUEST["modb_name"];
            if (empty($name)) {
                // Check if we are bookmarking a wiki-page
                if (strstr($_SERVER["REQUEST_URI"], 'tiki-index')) {
                    // Get the page
                    if (isset($setup_query_data["page"])) {
                        $name = $setup_query_data["page"];
                    } else {
                        $name = $prefs['wikiHomePage'];
                    }
                }
                // Check if we are bookmarking an article
                if (strstr($_SERVER["REQUEST_URI"], 'tiki-read_article')) {
                    $artlib = TikiLib::lib('art');
                    $info = $artlib->get_article($setup_query_data["articleId"]);
                    $name = $info["title"];
                }
                // Check if we are bookmarking a file gallery
                if (strstr($_SERVER["REQUEST_URI"], 'tiki-list_file_gallery')) {
                    $filegallib = TikiLib::lib('filegal');
                    $info = $filegallib->get_file_gallery($setup_query_data["galleryId"]);
                    $name = $info["name"];
                }
                // Check if we are bookmarking an image gallery
                if (strstr($_SERVER["REQUEST_URI"], 'tiki-browse_gallery') || strstr($_SERVER["REQUEST_URI"], 'tiki-list_gallery')) {
                    $imagegallib = TikiLib::lib('imagegal');
                    $info = $imagegallib->get_gallery($setup_query_data["galleryId"]);
                    $name = $info["name"];
                }
                // Check if we are bookmarking an image
                if (strstr($_SERVER["REQUEST_URI"], 'tiki-browse_image')) {
                    $imagegallib = TikiLib::lib('imagegal');
                    $info = $imagegallib->get_image($setup_query_data["imageId"]);
                    $name = $info["name"];
                }
                // Check if we are bookmarking a forum
                if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_forum')) {
                    $info = TikiLib::lib('comments')->get_forum($setup_query_data["forumId"]);
                    $name = $info["name"];
                }
                // Check if we are bookmarking a faq
                if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_faq')) {
                    $info = TikiLib::lib('faq')->get_faq($setup_query_data["faqId"]);
                    $name = $info["title"];
                }
                // Check if we are bookmarking a weblog
                if (strstr($_SERVER["REQUEST_URI"], 'tiki-view_blog')) {
                    $bloglib = TikiLib::lib('blog');
                    $info = $bloglib->get_blog($setup_query_data["blogId"]);
                    $name = $info["title"];
                }
            }
            if (!empty($name)) {
                $bookmarklib->replace_url(0, $_SESSION["bookmarks_directory"], $name, $ownurl, $user);
            }
        }
        $modb_p_info = $bookmarklib->get_folder($_SESSION["bookmarks_directory"], $user);
        $modb_father = $modb_p_info["parentId"];
        // get urls
        $modb_urls = $bookmarklib->list_folder($_SESSION["bookmarks_directory"], 0, -1, 'name_asc', '', $user);
        $smarty->assign('modb_urls', $modb_urls["data"]);
        // get folders
        $modb_folders = $bookmarklib->get_child_folders($_SESSION["bookmarks_directory"], $user);
        $modb_pf = array("name" => "..", "folderId" => $modb_father, "parentId" => 0, "user" => $user);
        if ($_SESSION["bookmarks_directory"]) {
            array_unshift($modb_folders, $modb_pf);
        }
        $smarty->assign('modb_folders', $modb_folders);
        $smarty->clear_assign('tpl_module_title');
    }
}
function _refererhi()
{
    $referer = parse_url($_SERVER['HTTP_REFERER']);
    if (empty($referer['query'])) {
        return '';
    }
    TikiLib::parse_str($referer['query'], $vars);
    if (isset($vars['q'])) {
        return $vars['q'];
    } else {
        if (isset($vars['p'])) {
            return $vars['p'];
        }
    }
    return '';
}
示例#8
0
/**
 * @param $url
 * @param bool $use_tidy
 * @return array
 */
function verif_url($url, $use_tidy = TRUE)
{
    global $cookies;
    static $purifier;
    static $loaded = false;
    $smarty = TikiLib::lib('smarty');
    $result = array();
    $get = get_from_dom($url->getElementsByTagName('get')->item(0));
    $post = get_from_dom($url->getElementsByTagName('post')->item(0));
    $xpath = $url->getElementsByTagName('xpath')->item(0)->textContent;
    $data = $url->getElementsByTagName('data')->item(0)->textContent;
    $urlstr = $url->getAttribute('src');
    if (extension_loaded('http')) {
        $options['timeout'] = 2;
        $options['connecttimeout'] = 2;
        $options['url'] = $url->getAttribute('src');
        $options['referer'] = $url->getAttribute('referer');
        $options['redirect'] = 0;
        $options['cookies'] = $cookies;
        $options['cookiestore'] = tempnam('/tmp/', 'tiki-tests');
        // Close the session to avoid timeout
        session_write_close();
        switch (strtolower($url->getAttribute('method'))) {
            case 'get':
                $buffer = http_get($urlstr, $options, $info);
                break;
            case 'post':
                $buffer = http_post_fields($urlstr, $post, NULL, $options, $info);
        }
        $headers = http_parse_headers($buffer);
        if (isset($headers['Set-Cookie'])) {
            foreach ($headers['Set-Cookie'] as $c) {
                TikiLib::parse_str($c, $cookies);
            }
        }
        $buffer = http_parse_message($buffer)->body;
    } elseif (extension_loaded('curl')) {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $urlstr);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 2);
        curl_setopt($curl, CURLOPT_TIMEOUT, 2);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_HEADER, true);
        curl_setopt($curl, CURLOPT_REFERER, $url->getAttribute('referer'));
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
        curl_setopt($curl, CURLOPT_USERAGENT, 'TikiTest');
        // We deal with the cookies
        $cookies_string = '';
        foreach ($cookies as $c => $v) {
            $cookies_string .= "{$c}={$v}; path=/;";
        }
        curl_setopt($curl, CURLOPT_COOKIE, $cookies_string);
        switch (strtolower($url->getAttribute('method'))) {
            case 'get':
                curl_setopt($curl, CURLOPT_HTTPGET, true);
                break;
            case 'post':
                curl_setopt($curl, CURLOPT_POST, true);
                $post_string = '';
                foreach ($post as $p => $v) {
                    if ($post_string != '') {
                        $post_string .= '&';
                    }
                    $post_string .= "{$p}={$v}";
                }
                curl_setopt($curl, CURLOPT_POSTFIELDS, $post_string);
        }
        // Close the session to avoid timeout
        session_write_close();
        $http_response = curl_exec($curl);
        $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
        $header = substr($http_response, 0, $header_size);
        $body = substr($http_response, $header_size);
        preg_match_all('|Set-Cookie: (.*);|U', $header, $cookies_array);
        foreach ($cookies_array[1] as $c) {
            $cookies_tmp .= "&{$c}";
        }
        TikiLib::parse_str($cookies_tmp, $cookies_titi);
        if (!is_array($cookies)) {
            $cookies = array();
        }
        $cookies = array_merge($cookies, $cookies_titi);
        $buffer = $body;
        curl_close($curl);
    }
    if (extension_loaded('tidy')) {
        $data = tidy_parse_string($data, array(), 'utf8');
        $buffer = tidy_parse_string($buffer, array(), 'utf8');
        if ($use_tidy) {
            tidy_diagnose($data);
            $result['ref_error_count'] = tidy_error_count($data);
            $result['ref_error_msg'] = tidy_get_error_buffer($data);
            tidy_diagnose($buffer);
            $result['replay_error_count'] = tidy_error_count($buffer);
            $result['replay_error_msg'] = tidy_get_error_buffer($buffer);
        }
    } else {
        if (!$loaded) {
            require_once 'lib/htmlpurifier_tiki/HTMLPurifier.tiki.php';
            $config = getHTMLPurifierTikiConfig();
            $purifier = new HTMLPurifier($config);
            $loaded = true;
        }
        if ($purifier) {
            $data = '<html><body>' . $purifier->purify($data) . '</body></html>';
            $buffer = '<html><body>' . $purifier->purify($buffer) . '</body></html>';
        }
        $result['ref_error_msg'] = tra('The Tidy extension is not present');
        $result['replay_error_msg'] = tra('The Tidy extension is not present');
    }
    // If we have a XPath then we extract the new DOM and print it in HTML
    if (trim($xpath) != '') {
        $dom_ref = DOMDocument::loadHTML($data);
        $xp_ref = new DomXPath($dom_ref);
        $res_ref = $xp_ref->query($xpath);
        $new_data = new DOMDocument('1.0');
        $root = $new_data->createElement('html');
        $root = $new_data->appendChild($root);
        $body = $new_data->createElement('html');
        $body = $root->appendChild($body);
        foreach ($res_ref as $ref) {
            $tmp = $new_data->importNode($ref, TRUE);
            $body->appendChild($tmp);
        }
        $data = $new_data->saveHTML();
        $dom_buffer = DOMDocument::loadHTML($buffer);
        $xp_buffer = new DomXPath($dom_buffer);
        $res_buffer = $xp_buffer->query($xpath);
        $new_buffer = new DOMDocument('1.0');
        $root = $new_buffer->createElement('html');
        $root = $new_buffer->appendChild($root);
        $body = $new_buffer->createElement('html');
        $body = $root->appendChild($body);
        foreach ($res_buffer as $ref) {
            $tmp = $new_buffer->importNode($ref, TRUE);
            $body->appendChild($tmp);
        }
        $buffer = $new_buffer->saveHTML();
    }
    $tmp = diff2($data, $buffer, "htmldiff");
    if (trim($xpath) != '') {
        $result['html'] = preg_replace(array("/<html>/", "/<\\/html>/"), array("<div style='overflow: auto; width:500px; text-align: center'> ", "</div>"), $tmp);
    } else {
        $result['html'] = preg_replace(array("/<html.*<body/U", "/<\\/body><\\/html>/U"), array("<div style='overflow: auto; width:500px; text-align: center' ", "</div>"), $tmp);
    }
    $result['url'] = $urlstr;
    $result['method'] = $url->getAttribute('method');
    if (strtolower($result['method']) == 'post') {
        $result['post'] = $post;
    }
    return $result;
}
示例#9
0
} elseif (!strstr($orig_url, '.php')) {
    $orig_url = preg_replace('#\\/([^\\/\\?]+)(\\?.*)?$#', '/tiki-index.php?page=$1', $orig_url);
    $params = parse_url($orig_url);
    if (empty($params['query'])) {
        $orig_url = $prefs['tikiIndex'];
    }
}
if (strstr($orig_url, 'tiki-index.php') || strstr($orig_url, 'tiki-read_article.php')) {
    $multilinguallib = TikiLib::lib('multilingual');
    $orig_url = urldecode($orig_url);
    if (($txt = strstr($orig_url, '?')) == false) {
        $txt = '';
    } else {
        $txt = substr($txt, 1);
    }
    TikiLib::parse_str($txt, $param);
    if (!empty($param['page_id'])) {
        $pageId = $param['page_id'];
        $type = 'wiki page';
    } else {
        if (!empty($param['articleId'])) {
            $pageId = $param['articleId'];
            $type = 'article';
        } else {
            if (!empty($param['page'])) {
                $page = $param['page'];
                $info = $tikilib->get_page_info($page);
                $pageId = $info['page_id'];
                $type = 'wiki page';
            } else {
                $wikilib = TikiLib::lib('wiki');
示例#10
0
文件: comments.php 项目: rjsmelo/tiki
        }
    }
}
$smarty->assign('comments_request_data', $comments_aux);
if (!isset($_REQUEST['comments_threshold'])) {
    $_REQUEST['comments_threshold'] = 0;
} else {
    $smarty->assign('comments_threshold_param', '&amp;comments_threshold=' . $_REQUEST['comments_threshold']);
}
$smarty->assign('comments_threshold', $_REQUEST['comments_threshold']);
// This sets up comments father as the father
$comments_parsed = parse_url($tikilib->httpPrefix() . $_SERVER["REQUEST_URI"]);
if (!isset($comments_parsed["query"])) {
    $comments_parsed["query"] = '';
}
TikiLib::parse_str($comments_parsed["query"], $comments_query);
$comments_father = $comments_parsed["path"];
$comments_complete_father = $comments_father . $comments_t_query;
if (strstr($comments_complete_father, "?")) {
    $comments_complete_father .= '&amp;';
} else {
    $comments_complete_father .= '?';
}
$smarty->assign('comments_father', $comments_father);
$smarty->assign('comments_complete_father', $comments_complete_father);
if (!isset($_REQUEST["comments_threadId"])) {
    $_REQUEST["comments_threadId"] = 0;
}
$smarty->assign("comments_threadId", $_REQUEST["comments_threadId"]);
// The same for replies to comments threads
if (!isset($_REQUEST["comments_reply_threadId"])) {
示例#11
0
 function dispatchValues($input, &$params)
 {
     if (is_string($input)) {
         TikiLib::parse_str($input, $module_params);
     } else {
         $module_params = $input;
     }
     foreach ($params as $name => &$inner) {
         if (isset($module_params[$name])) {
             if (isset($inner['separator'])) {
                 $inner['value'] = implode($inner['separator'], (array) $module_params[$name]);
             } else {
                 $inner['value'] = $module_params[$name];
             }
         } else {
             $inner['value'] = null;
         }
     }
     // resort params into sections
     $reorderedparams = array();
     foreach ($params as $k => $p) {
         if (!isset($reorderedparams[$p['section']])) {
             $reorderedparams[$p['section']] = array();
         }
         $reorderedparams[$p['section']][$k] = $p;
     }
     $params = $reorderedparams;
 }
	if ($_REQUEST['moduleId'] > 0) {
		foreach ($modinfo['params'] as $pname => $param) {
			if ($param['required'] && empty($_REQUEST['assign_params'][$pname]))
				$missing_params[] = $param['name'];
		}
	}
	$smarty->assign('missing_params', $missing_params);
}

$smarty->assign('preview', 'n');
if (isset($_REQUEST['preview'])) {
	check_ticket('admin-modules');
	$smarty->assign('preview', 'y');
	$smarty->assign_by_ref('assign_name', $_REQUEST['assign_name']);
	if (!is_array($_REQUEST['assign_params'])) {
		TikiLib::parse_str($_REQUEST['assign_params'], $module_params);
	} else {
		$module_params=$_REQUEST['assign_params'];
	}
	$smarty->assign_by_ref('module_params', $module_params);
	if (isset($module_params['title'])) {
		$smarty->assign('tpl_module_title', tra($module_params['title']));
	}

	if (isset($_REQUEST['assign_rows'])) {
		$module_rows = $_REQUEST['assign_rows'];
		$smarty->assign_by_ref('assign_rows', $_REQUEST['assign_rows']);
	} elseif (isset($_REQUEST['assign_params']['rows']))
	$module_rows = $_REQUEST['assign_params']['rows'];
	else
		$module_rows = 10;