function fnclist($pi_name, $template, $group_id, $perpage, $page, $order, $gcode) { global $_CONF; global $_TABLES; global $_DATABOX_CONF; global $perpage; global $LANG_DATABOX; global $LANG_DATABOX_ADMIN; if ($group_id === "") { if ($gcode != "") { $group_id = DATABOX_codetoid($gcode, 'DATABOX_def_group', "group_id"); } } //----- if ($page == 0) { $page = 1; } //----- $tbl1 = $_TABLES['DATABOX_category']; $tbl2 = $_TABLES['DATABOX_base']; $tbl3 = $_TABLES['DATABOX_def_category']; $tbl4 = $_TABLES['DATABOX_def_group']; //@@@@@ //----- $sql = "SELECT " . LB; $sql .= " t1.category_id " . LB; $sql .= " ,t3.name " . LB; $sql .= " ,t3.code " . LB; $sql .= " ,t3.description " . LB; $sql .= " ,Count(t1.id) AS count" . LB; $sql .= " ,t4.name AS group_name " . LB; $sql .= " ,t4.group_id " . LB; $sql .= " ,t4.code AS group_code " . LB; $sql .= " FROM " . LB; $sql .= " {$tbl1} AS t1 " . LB; $sql .= " ,{$tbl2} AS t2 " . LB; $sql .= " ,{$tbl3} AS t3 " . LB; $sql .= " ,{$tbl4} AS t4 " . LB; $sql .= " WHERE " . LB; $sql .= " t1.id = t2.id " . LB; $sql .= " AND t1.category_id = t3.category_id " . LB; if ($group_id != "") { $sql .= " AND t3.categorygroup_id = " . $group_id . LB; } $sql .= " AND t3.categorygroup_id = t4.group_id " . LB; //管理者の時,下書データも含む //if ( SEC_hasRights('databox.admin')) { //}else{ $sql .= " AND t2.draft_flag=0" . LB; //} //アクセス権のないデータ はのぞく $sql .= COM_getPermSql('AND', 0, 2, "t2") . LB; //公開日以前のデータはのぞく $sql .= " AND (released <= NOW())" . LB; //公開終了日を過ぎたデータはのぞく $sql .= " AND (expired=0 OR expired > NOW())" . LB; $sql .= " GROUP BY " . LB; $sql .= " t1.category_id" . LB; $sql .= " ORDER BY " . LB; $sql .= " t4.orderno,t3.orderno" . LB; $result = DB_query($sql); $cnt = DB_numRows($result); $pages = 0; if ($perpage > 0) { $pages = ceil($cnt / $perpage); } //ヘッダ、左ブロック if ($page > 1) { $page_title = sprintf('%s (%d)', $LANG_DATABOX['category_top'], $page); } else { $page_title = sprintf('%s ', $LANG_DATABOX['category_top']); } $headercode = "<title>" . $_CONF['site_name'] . " - " . $page_title . "</title>"; // Meta Tags $headercode .= DATABOX_getheadercode("category", $template, $pi_name, 0, $_CONF['site_name'], $_CONF['meta_description'], $_CONF['smeta_keywords'], $_CONF['meta_description']); $retval .= DATABOX_siteHeader($pi_name, '', $page_title, $headercode); // $tmplfld = DATABOX_templatePath('category', $template, $pi_name); $templates = new Template($tmplfld); $templates->set_file(array('list' => 'list.thtml', 'nav' => 'navigation.thtml', 'row' => 'row.thtml', 'col' => "col.thtml", 'grp' => "grp.thtml", 'pagenav' => 'pagenavigation.thtml')); $languageid = COM_getLanguageId(); $language = COM_getLanguage(); $templates->set_var('languageid', $languageid); $templates->set_var('language', $language); if ($languageid != "") { $templates->set_var('_languageid', "_" . $languageid); } else { $templates->set_var('_languageid', ""); } // $templates->set_var('site_url', $_CONF['site_url']); $templates->set_var('this_script', THIS_SCRIPT); $templates->set_var('home', $LANG_DATABOX['home']); if ($group_id != "") { $group_name = DB_getItem($tbl4, 'name', "group_id = " . $group_id); $templates->set_var('lang_category_list_h2', $group_name . $LANG_DATABOX['category_top']); } else { $templates->set_var('lang_category_list_h2', $LANG_DATABOX['category_top']); } //page $offset = ($page - 1) * $perpage; $sql .= " LIMIT {$offset}, {$perpage}"; $lin1 = $offset + 1; $lin2 = $lin1 + $perpage - 1; if ($lin2 > $cnt) { $lin2 = $cnt; } $templates->set_var('lang_view', $LANG_DATABOX['view']); $templates->set_var('lin', $lin1 . "-" . $lin2); $templates->set_var('cnt', $cnt); $templates->set_var('lang_name', $LANG_DATABOX_ADMIN['name']); $templates->set_var('lang_count', $LANG_DATABOX['count']); $result = DB_query($sql); $numrows = DB_numRows($result); $old_group_name = ""; if ($numrows > 0) { for ($i = 0; $i < $numrows; $i++) { $A = DB_fetchArray($result); $A = array_map('stripslashes', $A); $group_name = COM_applyFilter($A['group_name']); $name = COM_applyFilter($A['name']); $description = COM_applyFilter($A['description']); $url = $_CONF['site_url'] . "/" . THIS_SCRIPT; $url .= "?"; //コード使用の時 if ($_DATABOX_CONF['categorycode']) { $url .= "code=" . $A['code']; $url .= "&m=code"; } else { $url .= "id=" . $A['category_id']; $url .= "&m=id"; } $url = COM_buildUrl($url); $link = COM_createLink($name, $url); $templates->set_var('category_link', $link); $templates->set_var('category_name', $name); $templates->set_var('category_description', $description); $templates->set_var('category_url', $url); $templates->set_var('count', $A['count']); $templates->set_var('category_id', $A['category_id']); $templates->set_var('category_code', $A['code']); //===== if ($old_group_name != $group_name) { $url = $_CONF['site_url'] . "/" . THIS_SCRIPT; $url .= "?"; //コード使用の時 if ($_DATABOX_CONF['groupcode']) { $url .= "gcode=" . $A['group_code']; //@@@@@ $url .= "&m=gcode"; } else { $url .= "gid=" . $A['group_id']; //@@@@@ $url .= "&m=gid"; } $url = COM_buildUrl($url); $link = COM_createLink($group_name, $url); $templates->set_var('group_link', $link); $templates->set_var('group_name', $group_name); $templates->parse('grp_var', 'grp', true); $old_group_name = $group_name; } $templates->parse('col_var', 'col', true); $templates->parse('row_var', 'row', true); $templates->set_var('grp_var', ''); $templates->set_var('col_var', ''); } // Call to plugins to set template variables in the databox PLG_templateSetVars('databox', $templates); //ページなび //$url = $_CONF['site_url'] . '/'.THIS_SCRIPT."?m=".$m;//."?order=$order"; $url = $_CONF['site_url'] . '/' . THIS_SCRIPT; $templates->set_var('page_navigation', COM_printPageNavigation($url, $page, $pages)); //------------ $templates->parse('nav_var', 'nav', true); $templates->set_var('blockfooter', COM_endBlock()); $templates->set_var('msg', ""); $templates->parse('output', 'list'); $school_content = $templates->finish($templates->get_var('output')); $retval .= $school_content; } else { $templates->set_var('msg', $LANG_DATABOX["nohit"]); $templates->parse('output', 'list'); $content = $templates->finish($templates->get_var('output')); $retval .= $content; } $retval = PLG_replacetags($retval); return $retval; }
} $value = COM_applyFilter(COM_getArgument('value')); $template = COM_applyFilter(COM_getArgument('template')); } else { $id = COM_applyFilter($_GET['id'], true); $code = COM_applyFilter($_GET['code']); $value = COM_applyFilter($_GET['value']); $template = COM_applyFilter($_GET['template']); } $page = COM_applyFilter($_GET['page'], true); $perpage = COM_applyFilter($_GET['perpage'], true); $order = COM_applyFilter($_GET['order']); //@@@@@@!!! if ($id === 0) { if ($code != "") { $id = DATABOX_codetoid($code, 'USERBOX_def_field', "field_id", "templatesetvar"); } } if ($perpage === 0) { $perpage = $_USERBOX_CONF['perpage']; // 1ページの行数 @@@@@ } //ログイン要否チェック if (COM_isAnonUser()) { // Geeklogすべてにログインを必要とする=0 はい // または UserBox ログインを要求する=3 はい // または UserBox ログインを要求する=2 一覧と詳細 if ($_CONF['loginrequired'] or $_USERBOX_CONF['loginrequired'] == 3 or $_USERBOX_CONF['loginrequired'] == 2 and $value != "") { $display .= DATABOX_siteHeader($pi_name, '', $page_title); $display .= SEC_loginRequiredForm(); $display .= DATABOX_siteFooter($pi_name);