Example #1
0
function get_html_results(&$results, &$html_results, &$results_name)
{
    global $CONFIG;
    $modules = new ModulesDiscoveryService();
    $display_all_results = $results_name == 'all' ? true : false;
    $tpl_results = new Template('search/search_generic_pagination_results.tpl');
    $tpl_results->assign_vars(array('RESULTS_NAME' => $results_name, 'C_ALL_RESULTS' => $display_all_results));
    $nb_pages = round(count($results) / NB_RESULTS_PER_PAGE) + 1;
    $nb_results = count($results);
    if (!$display_all_results) {
        $module = $modules->get_module(strtolower($results_name));
        $results_data = array();
        $personnal_parse_results = $module->has_functionality('compute_search_results') && $module->has_functionality('parse_search_result');
        if ($personnal_parse_results && $results_name != 'all') {
            $results_data = $module->functionality('compute_search_results', array('results' => $results));
            $nb_results = min($nb_results, count($results_data));
        }
    }
    for ($num_page = 0; $num_page < $nb_pages; $num_page++) {
        $tpl_results->assign_block_vars('page', array('NUM_PAGE' => $num_page, 'BLOCK_DISPLAY' => $num_page == 0 ? 'block' : 'none'));
        for ($i = 0; $i < NB_RESULTS_PER_PAGE; $i++) {
            $num_item = $num_page * NB_RESULTS_PER_PAGE + $i;
            if ($num_item >= $nb_results) {
                break;
            }
            if ($display_all_results || !$personnal_parse_results) {
                $tpl_result = new Template('search/search_generic_results.tpl');
                if ($display_all_results) {
                    $module = $modules->get_module($results[$num_item]['module']);
                    $tpl_result->assign_vars(array('C_ALL_RESULTS' => true, 'L_MODULE_NAME' => $module->get_name()));
                } else {
                    $tpl_result->assign_vars(array('C_ALL_RESULTS' => false, 'L_MODULE_NAME' => $module->get_name()));
                }
                $tpl_result->assign_vars(array('TITLE' => $results[$num_item]['title'], 'U_LINK' => url($results[$num_item]['link'])));
                $tpl_results->assign_block_vars('page.results', array('result' => $tpl_result->parse(TEMPLATE_STRING_MODE)));
            } else {
                $tpl_results->assign_block_vars('page.results', array('result' => $module->functionality('parse_search_result', $results_data[$num_item])));
            }
        }
    }
    $html_results = $tpl_results->parse(TEMPLATE_STRING_MODE);
}
Example #2
0
 function generate_module_file($module_name, $no_alert_on_error = false)
 {
     global $Errorh;
     import('modules/modules_discovery_service');
     $modulesLoader = new ModulesDiscoveryService();
     $module = $modulesLoader->get_module($module_name);
     if ((!$module->get_errors() || $module->got_error(ACCES_DENIED)) && $module->has_functionality('get_cache')) {
         $this->write($module_name, $module->functionality('get_cache'));
     } elseif (!$no_alert_on_error) {
         $Errorh->handler('Cache -&gt; Le module <strong>' . $module_name . '</strong> n\'a pas de fonction de cache!', E_USER_ERROR, __LINE__, __FILE__);
     }
 }
Example #3
0
$module_id = retrieve(GET, 'm', '');
if (!empty($module_id)) {
    $feed_name = retrieve(GET, 'name', DEFAULT_FEED_NAME);
    $category_id = retrieve(GET, 'cat', 0);
    $feed = null;
    switch (retrieve(GET, 'feed', 'rss')) {
        case 'atom':
            import('content/syndication/atom');
            $feed = new ATOM($module_id, $feed_name, $category_id);
            break;
        default:
            import('content/syndication/rss');
            $feed = new RSS($module_id, $feed_name, $category_id);
            break;
    }
    if ($feed != null && $feed->is_in_cache()) {
        echo $feed->read();
    } else {
        import('modules/modules_discovery_service');
        $modules_discovery_service = new ModulesDiscoveryService();
        $module = $modules_discovery_service->get_module($module_id);
        if (is_object($module) && $module->got_error() == 0 && $module->has_functionality('get_feed_data_struct')) {
            $feed->load_data($module->get_feed_data_struct($category_id, $feed_name));
            $feed->cache();
            echo $feed->export();
        } else {
            redirect('member/error.php?e=e_uninstalled_module');
        }
    }
}
require_once PATH_TO_ROOT . '/kernel/footer_no_display.php';
Example #4
0
<?php

require_once '../kernel/begin.php';
require_once '../news/news_begin.php';
require_once '../kernel/header.php';
$is_admin = $User->check_level(ADMIN_LEVEL);
if (empty($idnews) && empty($idcat)) {
    import('modules/modules_discovery_service');
    $modulesLoader = new ModulesDiscoveryService();
    $module_name = 'news';
    $module = $modulesLoader->get_module($module_name);
    if ($module->has_functionality('get_home_page')) {
        echo $module->functionality('get_home_page');
        require_once '../kernel/footer.php';
        exit;
    } elseif (!$no_alert_on_error) {
        global $Errorh;
        $Errorh->handler('Le module <strong>' . $module_name . '</strong> n\'a pas de fonction get_home_page!', E_USER_ERROR, __LINE__, __FILE__);
        exit;
    }
} elseif (!empty($idnews)) {
    if (empty($news['id'])) {
        $Errorh->handler('e_unexist_news', E_USER_REDIRECT);
    }
    import('content/comments');
    import('content/syndication/feed');
    $tpl_news = new Template('news/news.tpl');
    $next_news = $Sql->query_array(PREFIX . "news", "title", "id", "WHERE visible = 1 AND id > '" . $idnews . "' " . $Sql->limit(0, 1), __LINE__, __FILE__);
    $previous_news = $Sql->query_array(PREFIX . "news", "title", "id", "WHERE visible = 1 AND id < '" . $idnews . "' ORDER BY id DESC " . $Sql->limit(0, 1), __LINE__, __FILE__);
    $tpl_news->assign_vars(array('C_IS_ADMIN' => $is_admin, 'C_NEWS_BLOCK' => true, 'C_NEWS_NAVIGATION_LINKS' => true, 'C_PREVIOUS_NEWS' => !empty($previous_news['id']), 'C_NEXT_NEWS' => !empty($next_news['id']), 'TOKEN' => $Session->get_token(), 'PREVIOUS_NEWS' => $previous_news['title'], 'NEXT_NEWS' => $next_news['title'], 'U_PREVIOUS_NEWS' => url('.php?id=' . $previous_news['id'], '-0-' . $previous_news['id'] . '+' . url_encode_rewrite($previous_news['title']) . '.php'), 'U_NEXT_NEWS' => url('.php?id=' . $next_news['id'], '-0-' . $next_news['id'] . '+' . url_encode_rewrite($next_news['title']) . '.php'), 'L_SYNDICATION' => $LANG['syndication'], 'L_ALERT_DELETE_NEWS' => $LANG['alert_delete_news'], 'L_ON' => $LANG['on'], 'L_DELETE' => $LANG['delete'], 'L_EDIT' => $LANG['edit']));
    $tpl_news->assign_block_vars('news', array('C_IMG' => !empty($news['img']), 'C_ICON' => !empty($news['icon']) && $CONFIG_NEWS['activ_icon'] == 1, 'ID' => $news['id'], 'IDCAT' => $news['idcat'], 'ICON' => second_parse_url($news['icon']), 'TITLE' => $news['title'], 'CONTENTS' => second_parse($news['contents']), 'EXTEND_CONTENTS' => second_parse($news['extend_contents']) . '<br /><br />', 'IMG' => second_parse_url($news['img']), 'IMG_DESC' => $news['alt'], 'PSEUDO' => $CONFIG_NEWS['display_author'] ? $news['login'] : '', 'DATE' => $CONFIG_NEWS['display_date'] ? $LANG['on'] . ': ' . gmdate_format('date_format_short', $news['timestamp']) : '', 'U_COM' => $CONFIG_NEWS['activ_com'] == 1 ? Comments::com_display_link($news['nbr_com'], '../news/news' . url('.php?cat=0&amp;id=' . $idnews . '&amp;com=0', '-0-' . $idnews . '+' . url_encode_rewrite($news['title']) . '.php?com=0'), $idnews, 'news') : '', 'U_USER_ID' => url('.php?id=' . $news['user_id'], '-' . $news['user_id'] . '.php'), 'U_NEWS_LINK' => url('.php?id=' . $news['id'], '-0-' . $news['id'] . '+' . url_encode_rewrite($news['title']) . '.php'), 'FEED_MENU' => Feed::get_feed_menu(FEED_URL)));
Example #5
0
 function get_parsed($module_id, $name = DEFAULT_FEED_NAME, $idcat = 0, $tpl = false, $number = 10, $begin_at = 0)
 {
     if (of_class($tpl, 'template')) {
         $template = $tpl->copy();
     } else {
         import('io/template');
         $template = new Template($module_id . '/framework/content/syndication/feed.tpl');
         if (gettype($tpl) == 'array') {
             $template->assign_vars($tpl);
         }
     }
     $feed_data_cache_file = FEEDS_PATH . $module_id . '_' . $name . '_' . $idcat . '.php';
     $result = @(include $feed_data_cache_file);
     if ($result === false) {
         import('modules/modules_discovery_service');
         $modules = new ModulesDiscoveryService();
         $module = $modules->get_module($module_id);
         if ($module->got_error() || !$module->has_functionality('get_feed_data_struct')) {
             return '';
         }
         $data = $module->functionality('get_feed_data_struct', $idcat);
         if (!$module->got_error()) {
             Feed::update_cache($module_id, $name, $data, $idcat);
         }
     }
     if (!DEBUG) {
         $result = @(include $feed_data_cache_file);
     } else {
         if (file_exists($feed_data_cache_file)) {
             $result = (include $feed_data_cache_file);
         } else {
             $result = FALSE;
         }
     }
     if ($result === false) {
         user_error(sprintf(ERROR_GETTING_CACHE, $module_id, $idcat), E_USER_WARNING);
         return '';
     }
     $feed = new Feed($module_id, $name);
     $feed->load_data($__feed_object);
     return $feed->export($template, $number, $begin_at);
 }
        }
        $results = array();
        $ids_search = array();
        get_search_results($search_txt, $search_modules, $modules_args, $results, $ids_search, true);
        if (empty($ids_search[$module_id])) {
            $ids_search[$module_id] = 0;
        }
        foreach ($ids_search as $module_name => $id_search) {
            $search->id_search[$module_name] = $id_search;
            echo 'idSearch[\'' . $module_name . '\'] = ' . $id_search . ';';
        }
    } else {
        $search->id_search[$module_id] = $id_search;
    }
    echo 'var resultsAJAX = new Array();';
    $nb_results = $search->get_results_by_id($results, $search->id_search[$module_id]);
    if ($nb_results > 0) {
        $module = $modules->get_module($module_id);
        $html_results = '';
        get_html_results($results, $html_results, $module_id);
        echo 'nbResults[\'' . $module_id . '\'] = ' . $nb_results . ';
                resultsAJAX[\'nbResults\'] = \'' . $nb_results . ' ' . addslashes($nb_results > 1 ? $LANG['nb_results_found'] : $LANG['one_result_found']) . '\';
                resultsAJAX[\'results\'] = \'' . str_replace(array("\r", "\n", '\''), array('', ' ', '\\\''), $html_results) . '\';';
    } else {
        echo 'nbResults[\'' . $module_id . '\'] = 0;
                resultsAJAX[\'nbResults\'] = \'' . addslashes($LANG['no_results_found']) . '\';
                resultsAJAX[\'results\'] = \'\';';
    }
} else {
    echo 'var syncErr = true;';
}