Esempio n. 1
0
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 .= "&amp;m=code";
            } else {
                $url .= "id=" . $A['category_id'];
                $url .= "&amp;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 .= "&amp;m=gcode";
                } else {
                    $url .= "gid=" . $A['group_id'];
                    //@@@@@
                    $url .= "&amp;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;
}
Esempio n. 2
0
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 .= "&amp;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;
}