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; }
function fnclist($id, $template) { global $_CONF; global $_TABLES; global $_USER_CONF; global $perpage; global $LANG_USERBOX; global $LANG_USERBOX_ADMIN; global $LANG_USERBOX_NOYES; //----- $page = COM_applyFilter($_REQUEST['page'], true); if (!isset($page) or $page == 0) { $page = 1; } $pi_name = "userbox"; $field_def = DATABOX_getadditiondef($pi_name); //----- $tbl1 = $_TABLES['USERBOX_addition']; $tbl2 = $_TABLES['USERBOX_base']; $tbl3 = $_TABLES['USERBOX_def_field']; $tbl5 = $_TABLES['users']; //----- $sql = "SELECT " . LB; $sql .= " t1.field_id " . LB; $sql .= " ,t1.value " . LB; $sql .= " ,t3.name " . LB; $sql .= " ,t3.templatesetvar" . LB; $sql .= " ,t3.description " . LB; $sql .= " ,Count(t1.id) AS count" . LB; $sql .= " FROM " . LB; $sql .= " {$tbl1} AS t1 " . LB; $sql .= " ,{$tbl2} AS t2 " . LB; $sql .= " ,{$tbl3} AS t3 " . LB; $sql .= " ,{$tbl5} AS t5 " . LB; $sql .= " WHERE " . LB; $sql .= " t1.value <>''" . LB; $sql .= " AND t1.id = t2.id " . LB; $sql .= " AND t1.id = t5.uid " . LB; $sql .= " AND t1.field_id = t3.field_id " . LB; //TYPE[0] = '一行テキストフィールド'; //TYPE[2] = 'いいえ/はい'; //TYPE[3] = '日付 (date picker対応)'; //TYPE[7] = 'オプションリスト'; //TYPE[8] = 'ラジオボタンリスト'; //TYPE[9] = 'オプションリスト(マスタ) (既定リスト)'; $sql .= " AND t3.type IN (0,2,3,4,7,8,9,16) " . LB; //ALLOW_DISPLAY[0] ='表示する(orderに指定可能)'; //ALLOW_DISPLAY[1] ='ログインユーザのみ表示する'; if (COM_isAnonUser()) { $sql .= " AND t3.allow_display=0 " . LB; } else { $sql .= " AND t3.allow_display IN (0,1) " . LB; } if ($id != 0) { $sql .= " AND t1.field_id = " . $id . LB; } //管理者の時,下書データも含む //if ( SEC_hasRights('userbox.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.field_id , t1.value" . LB; $sql .= " ORDER BY " . LB; $sql .= " t1.field_id,t1.value" . LB; $result = DB_query($sql); $cnt = DB_numRows($result); $pages = 0; if ($perpage > 0) { $pages = ceil($cnt / $perpage); } //ヘッダ、左ブロック //@@@@@@ 修正要 if ($id == 0) { $w = $LANG_USERBOX['attribute_top']; $attribute_top = $w; $field_top = ""; $col = "col.thtml"; } else { $url = $_CONF['site_url'] . "/userbox/attribute.php"; $attribute_top = ":<a href='" . $url . "'>" . $LANG_USERBOX['attribute_top'] . "</a>"; $w = $field_def[$id]['name'] . $LANG_USERBOX['countlist']; $field_top = $w; $col = "col2.thtml"; } if ($page > 1) { $page_title = sprintf('%s (%d)', $w, $page); } else { $page_title = sprintf('%s ', $w); } $headercode .= DATABOX_getheadercode("attribute", $template, $pi_name, 0, $_CONF['site_name'], $_CONF['meta_description'], $_CONF['meta_keywords'], $_CONF['meta_description']); $retval .= DATABOX_siteHeader($pi_name, '', $page_title, $headercode); // $tmplfld = DATABOX_templatePath('attribute', $template, $pi_name); $templates = new Template($tmplfld); $templates->set_file(array('list' => 'list.thtml', 'nav' => 'navigation.thtml', 'row' => 'row.thtml', 'col' => $col, '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_USERBOX['home']); $templates->set_var('attribute_top', $attribute_top); $templates->set_var('field_top', $field_top); //page $offset = ($page - 1) * $perpage; $lin1 = $offset + 1; $lin2 = $lin1 + $perpage - 1; if ($lin2 > $cnt) { $lin2 = $cnt; } $templates->set_var('lang_view', $LANG_USERBOX['view']); $templates->set_var('lin', $lin1 . "-" . $lin2); $templates->set_var('cnt', $cnt); // $templates->set_var('lang_name', $LANG_USERBOX_ADMIN['name']); $templates->set_var('lang_count', $LANG_USERBOX['count']); $sql .= " LIMIT {$offset}, {$perpage}"; $result = DB_query($sql); $numrows = DB_numRows($result); if ($numrows > 0) { for ($i = 0; $i < $numrows; $i++) { $A = DB_fetchArray($result); $name = COM_applyFilter($A['name']); $description = COM_applyFilter($A['description']); $fid = $A["field_id"]; $value = $A["value"]; $fieldvalue = DATABOX_getfieldvalue($value, $field_def[$fid]['type'], $field_def[$fid]['selectionary'], $LANG_USERBOX_NOYES, $field_def[$fid]['selectlist'], $pi_name); $url = $_CONF['site_url'] . "/" . THIS_SCRIPT; $url .= "?"; $url .= "id=" . $A['field_id']; $url .= "&m=id"; $url2 = $url . "&value=" . $A['value']; $url = COM_buildUrl($url); $link = COM_createLink($name, $url); $url2 = COM_buildUrl($url2); $link2 = COM_createLink($fieldvalue, $url2); $templates->set_var('field_link', $link); $templates->set_var('value_link', $link2); $templates->set_var('field_description', $description); $templates->set_var('field_name', $name); $templates->set_var('field_url', $url); $templates->set_var('value_url', $url2); $templates->set_var('value', $fieldvalue); $templates->set_var('count', $A['count']); //===== $templates->parse('col_var', 'col', true); $templates->parse('row_var', 'row', true); $templates->set_var('col_var', ''); } // Call to plugins to set template variables in the databox PLG_templateSetVars('userbox', $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_USERBOX["nohit"]); $templates->parse('output', 'list'); $content = $templates->finish($templates->get_var('output')); $retval .= $content; } $retval = PLG_replacetags($retval); return $retval; }