Exemplo n.º 1
0
function fncList()
{
    $pi_name = "userbox";
    global $_CONF;
    global $_TABLES;
    global $LANG_ADMIN;
    global $LANG09;
    global $LANG28;
    global $LANG_USERBOX_ADMIN;
    global $LANG_USERBOX;
    global $_USERBOX_CONF;
    $table = $_TABLES['USERBOX_base'];
    $table1 = $_TABLES['users'];
    $table2 = $_TABLES['USERBOX_def_fieldset'];
    $table5 = $_TABLES['USERBOX_stats'];
    $retval = '';
    //フィルタ filter
    if (!empty($_GET['filter_val'])) {
        $filter_val = COM_applyFilter($_GET['filter_val']);
    } elseif (!empty($_POST['filter_val'])) {
        $filter_val = COM_applyFilter($_POST['filter_val']);
    } else {
        $filter_val = $LANG09[9];
    }
    if ($filter_val == $LANG09[9]) {
        $exclude = "";
    } else {
        $exclude = " AND t.fieldset_id={$filter_val}";
    }
    $filter = "{$LANG_USERBOX_ADMIN['fieldset']}:";
    $filter .= "<select name='filter_val' style='width: 125px' onchange='this.form.submit()'>";
    $filter .= "<option value='{$LANG09[9]}'";
    if ($filter_val == $LANG09[9]) {
        $filter .= " selected='selected'";
    }
    $filter .= " >{$LANG09[9]}</option>";
    $filter .= COM_optionList($_TABLES['USERBOX_def_fieldset'], 'fieldset_id,name', $filter_val, 0, "fieldset_id<>0");
    $filter .= "</select>";
    //ヘッダ:編集~
    $header_arr[] = array('text' => $LANG_USERBOX_ADMIN['orderno'], 'field' => 'orderno', 'sort' => true);
    $header_arr[] = array('text' => $LANG_ADMIN['edit'], 'field' => 'editid', 'sort' => false);
    $header_arr[] = array('text' => $LANG28['2'], 'field' => 'id', 'sort' => true);
    $header_arr[] = array('text' => $LANG28['3'], 'field' => 'username', 'sort' => username);
    $header_arr[] = array('text' => $LANG28['4'], 'field' => 'fullname', 'sort' => fullname);
    $header_arr[] = array('text' => $LANG_USERBOX_ADMIN['fieldset'], 'field' => 'fieldset_name', 'sort' => true);
    $header_arr[] = array('text' => $LANG_USERBOX_ADMIN['hits'], 'field' => 'hits', 'sort' => true);
    $header_arr[] = array('text' => $LANG_USERBOX_ADMIN['udatetime'], 'field' => 'udatetime', 'sort' => true);
    $header_arr[] = array('text' => $LANG_USERBOX_ADMIN['draft'], 'field' => 'draft_flag', 'sort' => true);
    //
    $text_arr = array('has_menu' => true, 'has_extras' => true, 'form_url' => $_CONF['site_admin_url'] . "/plugins/" . THIS_SCRIPT);
    //Query
    $sql = "SELECT ";
    $sql .= " t.id";
    $sql .= " ,draft_flag";
    $sql .= " ,modified";
    $sql .= " ,UNIX_TIMESTAMP(t.udatetime) AS udatetime";
    $sql .= " ,orderno";
    $sql .= " ,t2.name AS fieldset_name";
    $sql .= " ,t.fieldset_id";
    $sql .= " ,t5.hits";
    $sql .= " ,t1.username";
    $sql .= " ,t1.fullname";
    $sql .= " FROM ";
    $sql .= " {$table} AS t";
    $sql .= " JOIN {$table1} AS t1       ON t.id=t1.uid";
    $sql .= " JOIN {$table2} AS t2       ON t.fieldset_id=t2.fieldset_id";
    $sql .= " LEFT JOIN {$table5} AS t5  ON t.id=t5.id";
    $sql .= " WHERE 1=1";
    $query_arr = array('table' => " {$table} AS t ,{$table1} AS t1", 'sql' => $sql, 'query_fields' => array('t.id', 't1.username', 't1.fullname', 't.draft_flag', 't.orderno', 'hits'), 'default_filter' => $exclude);
    //デフォルトソート項目:
    if ($_USERBOX_CONF["sort_list_by"] == "udatetime") {
        $defsort_arr = array('field' => 'udatetime', 'direction' => 'DESC');
    } else {
        $defsort_arr = array('field' => $_USERBOX_CONF["sort_list_by"], 'direction' => 'ASC');
    }
    $form_arr = array('bottom' => '', 'top' => '');
    $pagenavurl = '&amp;filter_val=' . $filter_val;
    //List 取得
    if (COM_versionCompare(VERSION, "2.0.0", '>=')) {
        $retval .= ADMIN_list('userbox', "fncGetListField", $header_arr, $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true, $pagenavurl);
    } else {
        $retval .= ADMIN_list('userbox', "fncGetListField", $header_arr, $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true);
    }
    return $retval;
}
Exemplo n.º 2
0
/**
* Returns true if the database server version matches the criteria and the required
* file is available in the plugin, false otherwise.
*
* @param    $db              string     The name of the dbms to check for
* @param    $pi_name         string     The short name of the plugin for which to check support
* @param    $version         string     A version to ask for, the default operator is '>='
* @param    $operator        string     Optional operator to override the default
*                                       See COM_versionCompare() for all valid operators
* @return                    bool
*
* @since    Geeklog 1.8.0
*
*/
function PLG_checkAvailableDb($db, $pi_name, $version, $operator = '>=')
{
    global $_CONF;
    // check if the plugin supports the dbms
    $dbFile = $_CONF['path'] . 'plugins/' . $pi_name . '/sql/' . strtolower($db) . '_install.php';
    // if both requirements are satisfied, return true
    if (file_exists($dbFile) && COM_versionCompare(DB_getVersion(), $version, $operator)) {
        return true;
    }
    return false;
}
Exemplo n.º 3
0
// | MAIN                                                                      |
// +---------------------------------------------------------------------------+
// 引数
if ($mode == "" or $mode == "importform" or $mode == "deleteform") {
} else {
    if (!SEC_checkToken()) {
        //    if (SEC_checkToken()){//テスト用
        COM_accessLog("User {$_USER['username']} tried to illegally and failed CSRF checks.");
        echo COM_refresh($_CONF['site_admin_url'] . '/index.php');
        exit;
    }
}
$menuno = 1;
$display = '';
$information = array();
$information['what'] = 'menu';
$information['pagetitle'] = $LANG_ASSIST_ADMIN['piname'];
$information['rightblock'] = false;
if (isset($_REQUEST['msg'])) {
    $display .= COM_showMessage(COM_applyFilter($_REQUEST['msg'], true), 'assist');
}
$display .= ppNavbarjp($navbarMenu, $LANG_ASSIST_admin_menu[$menuno]);
$display .= fncDisplay();
//FOR GL2.0.0
if (COM_versionCompare(VERSION, "2.0.0", '>=')) {
    $display = COM_createHTMLDocument($display, $information);
} else {
    $display = COM_siteHeader($information['what'], $information['pagetitle']) . $display;
    $display .= COM_siteFooter($information['rightblock']);
}
COM_output($display);
Exemplo n.º 4
0
function LIB_List($pi_name)
{
    global $_CONF;
    global $_TABLES;
    global $LANG_ADMIN;
    global $LANG09;
    $lang_box_admin = "LANG_" . strtoupper($pi_name) . "_ADMIN";
    global ${$lang_box_admin};
    $lang_box_admin = ${$lang_box_admin};
    $lang_box = "LANG_" . strtoupper($pi_name);
    global ${$lang_box};
    $lang_box = ${$lang_box};
    $table = $_TABLES[strtoupper($pi_name) . '_def_category'];
    $table2 = $_TABLES[strtoupper($pi_name) . '_def_group'];
    $table3 = $_TABLES[strtoupper($pi_name) . '_def_category'];
    require_once $_CONF['path_system'] . 'lib-admin.php';
    $retval = '';
    //フィルタ filter
    if (!empty($_GET['filter_val'])) {
        $filter_val = COM_applyFilter($_GET['filter_val']);
    } elseif (!empty($_POST['filter_val'])) {
        $filter_val = COM_applyFilter($_POST['filter_val']);
    } else {
        $filter_val = $LANG09[9];
    }
    if ($filter_val == $LANG09[9]) {
        $exclude = "";
    } else {
        $exclude = " AND categorygroup_id={$filter_val}";
    }
    $filter = "{$lang_box_admin['group']}:";
    $filter .= "<select name='filter_val' style='width: 125px' onchange='this.form.submit()'>";
    $filter .= "<option value='{$LANG09[9]}'";
    if ($filter_val == $LANG09[9]) {
        $filter .= " selected='selected'";
    }
    $filter .= " >{$LANG09[9]}</option>";
    $filter .= COM_optionList($table2, 'group_id,name,orderno', $filter_val, 2, "group_id<>0");
    $filter .= "</select>";
    //MENU1:管理画面
    $url1 = $_CONF['site_admin_url'] . '/plugins/' . THIS_SCRIPT . '?mode=new';
    $url2 = $_CONF['site_url'] . '/' . $pi_name . '/list.php';
    $url3 = $_CONF['site_url'] . '/' . $pi_name . '/category.php';
    $url5 = $_CONF['site_admin_url'] . '/plugins/' . THIS_SCRIPT . '?mode=export';
    $url6 = $_CONF['site_admin_url'] . '/plugins/' . THIS_SCRIPT . '?mode=import';
    $menu_arr[] = array('url' => $url1, 'text' => $lang_box_admin['new']);
    $menu_arr[] = array('url' => $url2, 'text' => $lang_box['list']);
    $menu_arr[] = array('url' => $url5, 'text' => $lang_box_admin['export']);
    $menu_arr[] = array('url' => $url3, 'text' => $lang_box['category_top']);
    //$menu_arr[]=array('url' => $url6,'text' => $lang_box['export']);
    $menu_arr[] = array('url' => $_CONF['site_admin_url'], 'text' => $LANG_ADMIN['admin_home']);
    $retval .= COM_startBlock($lang_box_admin['admin_list'], '', COM_getBlockTemplate('_admin_block', 'header'));
    $function = "plugin_geticon_" . $pi_name;
    $icon = $function();
    $retval .= ADMIN_createMenu($menu_arr, $lang_box_admin['instructions'], $icon);
    //ヘッダ:編集~
    $header_arr[] = array('text' => $lang_box_admin['orderno'], 'field' => 'orderno', 'sort' => true);
    $header_arr[] = array('text' => $LANG_ADMIN['edit'], 'field' => 'editid', 'sort' => false);
    $header_arr[] = array('text' => $LANG_ADMIN['copy'], 'field' => 'copy', 'sort' => false);
    $header_arr[] = array('text' => $lang_box_admin['category_id'], 'field' => 'category_id', 'sort' => true);
    $header_arr[] = array('text' => $lang_box_admin['code'], 'field' => 'code', 'sort' => true);
    $header_arr[] = array('text' => $lang_box_admin['name'], 'field' => 'name', 'sort' => true);
    $header_arr[] = array('text' => $lang_box_admin['group'], 'field' => 'group_name', 'sort' => true);
    $header_arr[] = array('text' => $lang_box_admin['parent'], 'field' => 'parent_name', 'sort' => true);
    //
    $text_arr = array('has_menu' => true, 'has_extras' => true, 'form_url' => $_CONF['site_admin_url'] . "/plugins/" . THIS_SCRIPT);
    //Query
    $sql = "SELECT ";
    $sql .= " t.category_id" . LB;
    $sql .= " ,t.code" . LB;
    $sql .= " ,t.name" . LB;
    $sql .= " ,t.orderno" . LB;
    $sql .= " ,(SELECT t2.name FROM {$table2} AS t2 WHERE t2.group_id=t.categorygroup_id ) AS group_name " . LB;
    $sql .= " ,(SELECT t3.name FROM {$table3} AS t3 WHERE t3.category_id=t.parent_id ) AS parent_name " . LB;
    $sql .= " ,t.allow_display";
    $sql .= " FROM ";
    $sql .= " {$table} AS t" . LB;
    $sql .= " WHERE " . LB;
    $sql .= " 1=1" . LB;
    //
    $query_arr = array('table' => $table, 'sql' => $sql, 'query_fields' => array('t.category_id', 't.code', 't.name', 't.orderno', "(SELECT t2.name FROM {$table2} AS t2 WHERE t2.group_id=t.categorygroup_id ) ", "(SELECT t3.name FROM {$table3} AS t3 WHERE t3.category_id=t.parent_id )"), 'default_filter' => $exclude);
    //デフォルトソート項目:
    $defsort_arr = array('field' => 't.orderno', 'direction' => 'ASC');
    $form_arr = array('bottom' => '', 'top' => '');
    $pagenavurl = '&amp;filter_val=' . $filter_val;
    //List 取得
    if (COM_versionCompare(VERSION, "2.0.0", '>=')) {
        $retval .= ADMIN_list($pi_name, "LIB_GetListField", $header_arr, $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true, $pagenavurl);
    } else {
        $retval .= ADMIN_list($pi_name, "LIB_GetListField", $header_arr, $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true);
    }
    $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'));
    return $retval;
}
Exemplo n.º 5
0
function MONITOR_getListField_plugins($fieldname, $fieldvalue, $A, $icon_arr, $token)
{
    global $_CONF, $_MONITOR_CONF, $LANG_ADMIN, $LANG32, $_TABLES, $ready_plugins, $LANG_MONITOR_1;
    $retval = '';
    switch ($fieldname) {
        case 'pi_name':
            $retval = MONITOR_get_pluginname($A['pi_name']);
            break;
        case 'pi_version':
            $plugin_code_version = PLG_chkVersion($A['pi_name']);
            if (empty($plugin_code_version)) {
                $code_version = $LANG_ADMIN['na'];
            } else {
                $code_version = $plugin_code_version;
            }
            $pi_installed_version = $A['pi_version'];
            if (empty($plugin_code_version) || $pi_installed_version == $code_version) {
                $retval = $pi_installed_version;
            } else {
                $retval = "{$LANG32[37]}: {$pi_installed_version},&nbsp;{$LANG32[36]}: {$plugin_code_version}";
                if ($A['pi_enabled'] == 1) {
                    $retval .= " <b>{$LANG32[38]}</b>";
                    $csrftok = '&amp;' . CSRF_TOKEN . '=' . $token;
                    $style = 'style="vertical-align: middle;"';
                    $img = $_CONF['layout_url'] . '/images/update.png';
                    $img = "<img {$style} alt=\"[" . $LANG32[38] . "]\" src=\"{$img}\"" . XHTML . ">";
                    $url = $_CONF['site_admin_url'] . '/plugins.php?mode=updatethisplugin&amp;pi_name=' . $A['pi_name'] . $csrftok;
                    $retval .= COM_CreateLink($img, $url, array('title' => $LANG32[42]));
                }
            }
            break;
        case 'pi_dependencies':
            if (PLG_checkDependencies($A['pi_name'])) {
                $retval = COM_getTooltip($LANG32[51], PLG_printDependencies($A['pi_name'], $A['pi_gl_version']));
            } else {
                $style = "display: inline; color: #a00; border-bottom: 1px dotted #a00;";
                $retval = COM_getTooltip("<b class='notbold' style='{$style}'>{$LANG32[52]}</b>", PLG_printDependencies($A['pi_name'], $A['pi_gl_version']));
            }
            break;
        case 'pi_update':
            if (!PLG_checkDependencies($A['pi_name'])) {
                $retval = str_replace('<img ', '<img title="' . $LANG32[64] . '" ', $icon_arr['warning']);
            } else {
                $available = false;
                // plugin in repository
                $dependencie = true;
                $not_present = false;
                if ($A['pi_enabled'] == 1) {
                    $title = '';
                    $link = '';
                    $plugin = $A['pi_name'];
                    if (in_array($plugin, $ready_plugins)) {
                        //Check if plugin is in repo
                        $url = GITHUB_REPOSITORY . $plugin . '/releases';
                        //Get last release for this plugin
                        $releases = MONITOR_curlRequestOnGitApi($url);
                        $tag = $releases[0]['tag_name'];
                        if ($tag != '') {
                            $available = true;
                        }
                        //Is release newer
                        $installed_version = DB_getItem($_TABLES['plugins'], 'pi_version', "pi_name = '{$plugin}'");
                        if ($tag != '' && 'v' . $installed_version != $tag) {
                            $update = true;
                            $autoinstall_url = 'https://raw.githubusercontent.com/' . $_MONITOR_CONF['repository'] . '/' . $plugin . '/' . $tag . '/autoinstall.php';
                            $ch = curl_init();
                            curl_setopt($ch, CURLOPT_URL, $autoinstall_url);
                            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                            $data = curl_exec($ch);
                            curl_close($ch);
                            //Get infos from plugin
                            $data = preg_replace('/\\s+/', '', $data);
                            $gl_version = MONITOR_extract_unit($data, "pi_gl_version'=>'", "',");
                            //Geeklog dependencie
                            if (COM_versionCompare(VERSION, $gl_version, '>=')) {
                                $title = $LANG_MONITOR_1['update_to'] . ' ' . $tag;
                                $link = $_CONF['site_admin_url'] . "/plugins/monitor/index.php?action=update_plugin&amp;plugin={$plugin}";
                            } else {
                                $dependencie = false;
                                $title = $LANG_MONITOR_1['need_upgrade'] . $gl_version . '+ ' . $LANG_MONITOR_1['before_update'] . ' ' . $plugin . ' ' . $tag;
                                $link = "https://www.geeklog.net";
                            }
                        } else {
                            if ($tag == '') {
                                // The plugin is not available in this repo
                                $update = false;
                                if (is_string($releases['message'])) {
                                    $title = $releases['message'];
                                    $link = $releases['documentation_url'];
                                } else {
                                    $title = $LANG_MONITOR_1['not_available'];
                                    $link = "https://github.com/{$_MONITOR_CONF['repository']}";
                                }
                            } else {
                                // The plugin is up to date
                                $update = false;
                            }
                        }
                    } else {
                        $update = false;
                        //Ask plugin author to change this :)
                        $title = $LANG_MONITOR_1['ask_author'];
                        $link = DB_getItem($_TABLES['plugins'], 'pi_homepage', "pi_name = '{$plugin}'");
                    }
                } else {
                    $title = 'Update this plugin';
                    $link = '';
                    $update = true;
                    if (!file_exists($_CONF['path'] . 'plugins/' . $A['pi_name'] . '/functions.inc')) {
                        $not_present = true;
                    }
                }
                if ($not_present) {
                    $retval = str_replace('<img ', '<img title="' . $LANG32[64] . '" ', $icon_arr['unavailable']);
                } else {
                    $sorting = '';
                    $csrftoken = '&amp;' . CSRF_TOKEN . '=' . $token;
                    if (!empty($_GET['order']) && !empty($_GET['direction'])) {
                        // Remember how the list was sorted
                        $ord = trim($_GET['order']);
                        $dir = trim($_GET['direction']);
                        $old = trim($_GET['prevorder']);
                        $sorting = "&amp;order={$ord}&amp;direction={$dir}&amp;prevorder={$old}";
                    }
                    //Icons in update coloumn
                    if (!$update && in_array($plugin, $ready_plugins) && $available) {
                        $retval = str_replace('<img ', $LANG_MONITOR_1['up_to_date'] . ' <img title="' . $LANG_MONITOR_1['up_to_date'] . '" ', $icon_arr['enabled']);
                        $retval = $icon_arr['enabled'] . ' ' . $LANG_MONITOR_1['up_to_date'];
                    } else {
                        if (!$update && in_array($plugin, $ready_plugins) && !$available) {
                            $retval = COM_createLink($icon_arr['info'] . ' ' . $title, $link . $sorting, array('title' => ''));
                        } else {
                            if (!$update && !in_array($plugin, $ready_plugins)) {
                                $retval = COM_createLink($icon_arr['disabled'] . ' ' . $title, $link . $sorting, array('title' => ''));
                            } else {
                                if (!$update) {
                                    $retval = str_replace('<img ', '<img title="' . $LANG_MONITOR_1['no_update'] . '" ', $icon_arr['disabled']);
                                } else {
                                    if ($dependencie == false) {
                                        $retval = COM_createLink($icon_arr['warning'] . ' ' . $title, $link . $sorting, array('title' => ''));
                                    } else {
                                        $retval = COM_createLink($icon_arr['info'] . ' ' . $title, $link . $sorting, array('title' => ''));
                                    }
                                }
                            }
                        }
                    }
                }
            }
            break;
        default:
            $retval = $fieldvalue;
            break;
    }
    return $retval;
}
Exemplo n.º 6
0
function fncList($template)
{
    global $_CONF;
    global $_TABLES;
    global $LANG_ADMIN;
    global $LANG09;
    global $LANG_DATABOX_ADMIN;
    global $LANG_DATABOX;
    global $_DATABOX_CONF;
    $retval = '';
    //フィルタ Filter
    if (!empty($_GET['filter_val'])) {
        $filter_val = COM_applyFilter($_GET['filter_val']);
    } elseif (!empty($_POST['filter_val'])) {
        $filter_val = COM_applyFilter($_POST['filter_val']);
    } else {
        $filter_val = $LANG09[9];
    }
    if ($filter_val == $LANG09[9]) {
        $exclude = "";
    } else {
        $exclude = " AND t.fieldset_id={$filter_val}";
    }
    $filter = "{$LANG_DATABOX_ADMIN['fieldset']}:";
    $filter .= "<select name='filter_val' style='width: 125px' onchange='this.form.submit()'>";
    $filter .= "<option value='{$LANG09[9]}'";
    if ($filter_val == $LANG09[9]) {
        $filter .= " selected='selected'";
    }
    $filter .= " >{$LANG09[9]}</option>";
    $filter .= COM_optionList($_TABLES['DATABOX_def_fieldset'], 'fieldset_id,name', $filter_val, 0, "fieldset_id<>0");
    $filter .= "</select>";
    //ヘッダ:編集~
    $header_arr[] = array('text' => $LANG_DATABOX_ADMIN['orderno'], 'field' => 'orderno', 'sort' => true);
    $header_arr[] = array('text' => $LANG_ADMIN['edit'], 'field' => 'editid', 'sort' => false);
    if ($_DATABOX_CONF['allow_data_insert'] or SEC_hasRights('databox.submit')) {
        $header_arr[] = array('text' => $LANG_ADMIN['copy'], 'field' => 'copy', 'sort' => false);
    }
    $header_arr[] = array('text' => $LANG_DATABOX_ADMIN['id'], 'field' => 'id', 'sort' => true);
    $header_arr[] = array('text' => $LANG_DATABOX_ADMIN['code'], 'field' => 'code', 'sort' => true);
    $header_arr[] = array('text' => $LANG_DATABOX_ADMIN['title'], 'field' => 'title', 'sort' => true);
    $header_arr[] = array('text' => $LANG_DATABOX_ADMIN['fieldset'], 'field' => 'fieldset_name', 'sort' => true);
    $header_arr[] = array('text' => $LANG_DATABOX_ADMIN['remaingdays'], 'field' => 'remaingdays', 'sort' => true);
    $header_arr[] = array('text' => $LANG_DATABOX_ADMIN['udatetime'], 'field' => 'udatetime', 'sort' => true);
    $header_arr[] = array('text' => $LANG_DATABOX_ADMIN['draft'], 'field' => 'draft_flag', 'sort' => true);
    //
    $text_arr = array('has_menu' => true, 'has_extras' => true, 'form_url' => $_CONF['site_url'] . "/" . THIS_SCRIPT);
    //Query
    $sql = "SELECT ";
    $sql .= " id";
    $sql .= " ,title";
    $sql .= " ,code";
    $sql .= " ,draft_flag";
    $sql .= " ,modified";
    $sql .= " ,UNIX_TIMESTAMP(t.udatetime) AS udatetime";
    $sql .= " ,orderno";
    $sql .= " ,t2.name AS fieldset_name";
    $sql .= " ,t.fieldset_id";
    $sql .= " ,(SELECT DATEDIFF(expired , NOW()) ";
    $sql .= " FROM {$_TABLES['DATABOX_base']} AS t3  ";
    $sql .= " where   t.id=t3.id AND DATEDIFF(expired , NOW())>0)";
    $sql .= "\t+ 1 AS remaingdays";
    $sql .= " ,owner_id";
    $sql .= " ,group_id";
    $sql .= " ,perm_owner";
    $sql .= " ,perm_group";
    $sql .= " ,perm_members";
    $sql .= " ,perm_anon";
    $sql .= " FROM ";
    $sql .= " {$_TABLES['DATABOX_base']} AS t";
    $sql .= " ,{$_TABLES['DATABOX_def_fieldset']} AS t2";
    $sql .= " WHERE ";
    $sql .= " t.fieldset_id=t2.fieldset_id";
    //編集権のないデータ はのぞく
    $sql .= COM_getPermSql('AND', 0, 3);
    $query_arr = array('table' => 'DATABOX_base', 'sql' => $sql, 'query_fields' => array('id', 'title', 'code', 'draft_flag', 'orderno', 't2.name'), 'default_filter' => $exclude);
    //デフォルトソート項目:
    $defsort_arr = array('field' => 'orderno', 'direction' => 'ASC');
    $form_arr = array('bottom' => '', 'top' => '');
    $pagenavurl = '&amp;filter_val=' . $filter_val;
    //List 取得
    if (COM_versionCompare(VERSION, "2.0.0", '>=')) {
        $retval .= ADMIN_list('databox', "fncGetListField", $header_arr, $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true, $pagenavurl);
    } else {
        $retval .= ADMIN_list('databox', "fncGetListField", $header_arr, $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true);
    }
    return $retval;
}
Exemplo n.º 7
0
function fncEdit($message = "", $wkymlmguserflg = false)
{
    global $_CONF;
    global $_TABLES;
    global $LANG_ASSIST_ADMIN;
    global $LANG_ADMIN;
    global $_ASSIST_CONF;
    global $LANG_ASSIST_INTROBODY;
    global $LANG_ASSIST_TOENV;
    global $LANG31;
    global $_SCRIPTS;
    $retval = '';
    //メッセージ表示
    if (!empty($message)) {
        $retval .= COM_startBlock($LANG_ASSIST_ADMIN['msg'], '', COM_getBlockTemplate('_msg_block', 'header'));
        $retval .= $message;
        $retval .= COM_endBlock(COM_getBlockTemplate('_msg_block', 'footer'));
        // clean 'em up
        $fromname = COM_applyFilter($_POST['fromname']);
        $replyto = COM_applyFilter($_POST['replyto']);
        $sprefix = COM_applyFilter($_POST['sprefix']);
        $sid = COM_applyFilter($_POST['sid']);
        $testto = COM_applyFilter($_POST['testto']);
        $uidfrom = COM_applyFilter($_POST['uidfrom'], true);
        $uidto = COM_applyFilter($_POST['uidto'], true);
        // hiroron start 2010/07/13
        $dt_year = COM_applyFilter($_POST['datetime_year'], true);
        $dt_month = COM_applyFilter($_POST['datetime_month'], true);
        $dt_day = COM_applyFilter($_POST['datetime_day'], true);
        $dt_hour = COM_applyFilter($_POST['datetime_hour'], true);
        $dt_minute = COM_applyFilter($_POST['datetime_minute'], true);
        $datetime_value = COM_convertDate2Timestamp($dt_year . '-' . $dt_month . '-' . $dt_day, $dt_hour . ':' . $dt_minute . ':00');
        // 冒頭文 本文 introbody
        $introbody = COM_applyFilter($_POST['introbody'], true);
        //送信先環境
        $toenv = COM_applyFilter($_POST['toenv'], true);
        //送信先グループ
        $selectgroup = COM_applyFilter($_POST['selectgroup'], true);
        // ユーザの受信許可設定を無視して送る
        $overstyr = COM_applyFilter($_POST['overstyr'], true);
        //一括予約
        $bulkmm = COM_applyFilter($_POST['bulkmm'], true);
        $bulkcnt = COM_applyFilter($_POST['bulkcnt'], true);
    } else {
        $fromname = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_fromname'");
        $fromname = COM_stripslashes($fromname);
        if ($fromname == "") {
            $fromname = $_CONF['site_name'];
        }
        $replyto = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_replyto'");
        $replyto = COM_stripslashes($replyto);
        if ($replyto == "") {
            $replyto = $_CONF['site_mail'];
        }
        $sprefix = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_sprefix'");
        $sprefix = COM_stripslashes($sprefix);
        $sid = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_sid'");
        $sid = COM_stripslashes($sid);
        $testto = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_testto'");
        $testto = COM_stripslashes($testto);
        $uidfrom = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_uidfrom'");
        $uidfrom = COM_stripslashes($uidfrom);
        $uidto = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_uidto'");
        $uidto = COM_stripslashes($uidto);
        // hiroron start 2010/07/13
        $datetime_value = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_re_datetime'");
        // 冒頭文 本文 introbody
        $introbody = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_introbody'");
        //送信先環境
        $toenv = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_toenv'");
        //送信先グループ
        $selectgroup = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_selectgroup'");
        // ユーザの受信許可設定を無視して送る
        $overstyr = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_overstyr'");
        $bulkmm = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_bulkmm'");
        $bulkcnt = DB_getItem($_TABLES['vars'], 'value', "name = 'assist_bulkcnt'");
    }
    $retval .= COM_startBlock($LANG_ASSIST_ADMIN['edit'], '', COM_getBlockTemplate('_admin_block', 'header'));
    $pi_name = "assist";
    $tmplfld = assist_templatePath('admin', 'default', $pi_name);
    $templates = new Template($tmplfld);
    // Loads jQuery UI datepicker
    if (version_compare(VERSION, '2.0.0') >= 0) {
        $_SCRIPTS->setJavaScriptLibrary('jquery.ui.datepicker');
        $_SCRIPTS->setJavaScriptLibrary('jquery-ui-i18n');
        $_SCRIPTS->setJavaScriptFile('datepicker', '/javascript/datepicker.js');
        $langCode = COM_getLangIso639Code();
        $toolTip = 'Click and select a date';
        // Should be translated
        $imgUrl = $_CONF['site_url'] . '/images/calendar.png';
        $_SCRIPTS->setJavaScript("jQuery(function () {" . "  geeklog.datepicker.set('datetime', '{$langCode}', '{$toolTip}', '{$imgUrl}');" . "});", TRUE, TRUE);
    }
    $templates->set_file('editor', "newsletter.thtml");
    //--
    $templates->set_var('lang_must', $LANG_ASSIST_ADMIN['must']);
    $templates->set_var('site_url', $_CONF['site_url']);
    $templates->set_var('site_admin_url', $_CONF['site_admin_url']);
    $token = SEC_createToken();
    $retval .= SEC_getTokenExpiryNotice($token);
    $templates->set_var('gltoken_name', CSRF_TOKEN);
    $templates->set_var('gltoken', $token);
    $templates->set_var('xhtml', XHTML);
    $templates->set_var('script', THIS_PLUGIN . "/" . THIS_SCRIPT);
    //-----
    $w = "";
    $logfile = $_CONF['path_log'] . 'assist_newsletter.log';
    if (!file_exists($logfile)) {
        $w .= sprintf($LANG_ASSIST_ADMIN['mail_logfile'], $logfile);
    } else {
        if (!is_writable($logfile)) {
            $w .= sprintf($LANG_ASSIST_ADMIN['mail_logfile'], $logfile);
        }
    }
    $tid = $_ASSIST_CONF['newsletter_tid'];
    $topicname = DB_getItem($_TABLES['topics'], 'topic', "tid = '{$tid}'");
    if ($topicname == "") {
        $topicname = $tid;
    }
    $w .= sprintf($LANG_ASSIST_ADMIN['mail_msg'], $topicname);
    $templates->set_var('mail_msg', $w);
    $templates->set_var('mail_msg1', $LANG_ASSIST_ADMIN['mail_msg1']);
    $templates->set_var('mail_msg2', $LANG_ASSIST_ADMIN['mail_msg2']);
    $templates->set_var('mail_msg3', $LANG_ASSIST_ADMIN['mail_msg3']);
    $templates->set_var('mail_msg4', $LANG_ASSIST_ADMIN['mail_msg4']);
    $templates->set_var('lang_fromname', $LANG_ASSIST_ADMIN['fromname']);
    //@@@@@ $templates->set_var('help_fromname', $LANG_ASSIST_ADMIN['help']);
    $templates->set_var('fromname', $fromname);
    //replyto
    $templates->set_var('lang_replyto', $LANG_ASSIST_ADMIN['replyto']);
    $templates->set_var('replyto', $replyto);
    //subject_prefix
    $templates->set_var('lang_sprefix', $LANG_ASSIST_ADMIN['sprefix']);
    $templates->set_var('sprefix', $sprefix);
    //sid
    $templates->set_var('lang_sid', $LANG_ASSIST_ADMIN['sid']);
    $templates->set_var('sid', $sid);
    //FOR GL2.0.0
    if (COM_versionCompare(VERSION, "2.0.0", '>=')) {
        //$where ="s.sid = t.id AND t.tid=\"".$tid."\"";
        //$tables="{$_TABLES['stories']} AS s ,{$_TABLES['topic_assignments']} AS ta";
        $topics = TOPIC_getChildList($tid);
        $where = "s.sid = ta.id ";
        if ($topics == "") {
            $where .= " AND tid=\"" . $tid . "\"";
        } else {
            $where .= " AND ta.tid IN ({$topics})";
        }
        $tables = "{$_TABLES['stories']} AS s ";
        $tables .= " ,{$_TABLES['topic_assignments']} AS ta";
        $optionlist_sid = "<option value=''>{$LANG_ASSIST_ADMIN['select_sid']}</option>" . LB;
        $optionlist_sid .= COM_optionList($tables, 'distinct s.sid,s.title,s.date*-1', $sid, 2, $where);
    } else {
        $where = "tid=\"" . $tid . "\"";
        $optionlist_sid = "<option value=''>{$LANG_ASSIST_ADMIN['select_sid']}</option>" . LB;
        $optionlist_sid .= COM_optionList($_TABLES['stories'], 'sid,title,date*-1', $sid, 2, $where);
    }
    $templates->set_var('optionlist_sid', $optionlist_sid);
    // 冒頭文 本文 introbody
    $templates->set_var('lang_introbody', $LANG_ASSIST_ADMIN['introbody']);
    $list_introbody = assist_getradiolist($LANG_ASSIST_INTROBODY, "introbody", $introbody);
    $templates->set_var('list_introbody', $list_introbody);
    //送信先環境
    $templates->set_var('lang_toenv', $LANG_ASSIST_ADMIN['toenv']);
    $list_toenv = assist_getradiolist($LANG_ASSIST_TOENV, "toenv", $toenv);
    $templates->set_var('list_toenv', $list_toenv);
    //送信先グループ
    $thisUsersGroups = SEC_getUserGroups();
    uksort($thisUsersGroups, 'strcasecmp');
    $optionlist_selectgroup = '';
    if ($wkymlmguserflg == true) {
        $optionlist_selectgroup .= '<option value="' . 99999 . '"';
        if ($selectgroup > 0 && $selectgroup == "99999") {
            $optionlist_selectgroup .= ' selected="selected"';
        }
        $optionlist_selectgroup .= '>' . $LANG_ASSIST_ADMIN['wkymlmguser_user'] . '</option>' . LB;
    }
    foreach ($thisUsersGroups as $groupName => $groupID) {
        if ($groupName != 'All Users') {
            $optionlist_selectgroup .= '<option value="' . $groupID . '"';
            if ($selectgroup > 0 && $selectgroup == $groupID) {
                $optionlist_selectgroup .= ' selected="selected"';
            }
            $optionlist_selectgroup .= '>' . ucwords($groupName) . '</option>' . LB;
        }
    }
    $templates->set_var('lang_selectgroup', $LANG_ASSIST_ADMIN['selectgroup']);
    $templates->set_var('optionlist_selectgroup', $optionlist_selectgroup);
    // ユーザの受信許可設定を無視して送る
    $templates->set_var('lang_overstyr', $LANG31['14']);
    if ($overstyr == 0) {
        $templates->set_var('is_checked_overstyr', '');
    } else {
        $templates->set_var('is_checked_overstyr', 'checked="checked"');
    }
    //testto
    $templates->set_var('lang_testto', $LANG_ASSIST_ADMIN['testto']);
    $templates->set_var('testto', $testto);
    //uidfrom-to
    $templates->set_var('lang_sendto', $LANG_ASSIST_ADMIN['sendto']);
    $templates->set_var('lang_uidfrom', $LANG_ASSIST_ADMIN['uidfrom']);
    $templates->set_var('uidfrom', $uidfrom);
    $templates->set_var('lang_uidto', $LANG_ASSIST_ADMIN['uidto']);
    $templates->set_var('uidto', $uidto);
    $templates->set_var('lang_sendto_remarks', $LANG_ASSIST_ADMIN['sendto_remarks']);
    if ($wkymlmguserflg == true) {
        $templates->set_var('user_wkymlmguser', $LANG_ASSIST_ADMIN['wkymlmguser_on']);
    } else {
        $templates->set_var('user_wkymlmguser', $LANG_ASSIST_ADMIN['wkymlmguser_off']);
    }
    // hiroron start 2010/07/13
    if ($datetime_value === "") {
        $datetime_value = time();
    }
    $datetime_month = date('m', $datetime_value);
    $datetime_day = date('d', $datetime_value);
    $datetime_year = date('Y', $datetime_value);
    $datetime_hour = date('H', $datetime_value);
    $datetime_minute = date('i', $datetime_value);
    $month_options = COM_getMonthFormOptions($datetime_month);
    $day_options = COM_getDayFormOptions($datetime_day);
    $year_options = COM_getYearFormOptions($datetime_year);
    $hour_options = COM_getHourFormOptions($datetime_hour, 24);
    $minute_options = COM_getMinuteFormOptions($datetime_minute);
    $templates->set_var('lang_reserv_datetime', $LANG_ASSIST_ADMIN['reserv_datetime']);
    $templates->set_var('datetime', 'datetime');
    $templates->set_var('datetime_year_options', $year_options);
    $templates->set_var('datetime_month_options', $month_options);
    $templates->set_var('datetime_day_options', $day_options);
    $templates->set_var('datetime_hour_options', $hour_options);
    $templates->set_var('datetime_minute_options', $minute_options);
    $templates->set_var('lang_yy', $LANG_ASSIST_ADMIN['yy']);
    $templates->set_var('lang_mm', $LANG_ASSIST_ADMIN['mm']);
    $templates->set_var('lang_dd', $LANG_ASSIST_ADMIN['dd']);
    // hiroron end 2010/07/13
    $templates->set_var('lang_reserv_datetime_remarks', $LANG_ASSIST_ADMIN['reserv_datetime_remarks']);
    //予約送信
    //$templates->set_var( 'lang_bulkbooking', $LANG_ASSIST_ADMIN['mail_bulkbooking']);
    $templates->set_var('minute', $LANG_ASSIST_ADMIN['minute']);
    $templates->set_var('every', $LANG_ASSIST_ADMIN['every']);
    $templates->set_var('increments', $LANG_ASSIST_ADMIN['increments']);
    $templates->set_var('bulkmm', $bulkmm);
    $templates->set_var('bulkcnt', $bulkcnt);
    // SAVE、CANCEL ボタン
    $templates->set_var('lang_save', $LANG_ADMIN['save']);
    $templates->set_var('lang_cancel', $LANG_ADMIN['cancel']);
    $templates->set_var('lang_testsend', $LANG_ASSIST_ADMIN['mail_test']);
    $templates->set_var('lang_send', $LANG_ASSIST_ADMIN['mail_send']);
    // hiroron start 2010/07/13
    $templates->set_var('lang_reserv', $LANG_ASSIST_ADMIN['mail_reserv']);
    // hiroron end 2010/07/13
    // hiroron start 2010/07/15
    $templates->set_var('list_reserv', fncListReserv());
    // hiroron end 2010/07/15
    //
    $templates->parse('output', 'editor');
    $retval .= $templates->finish($templates->get_var('output'));
    $retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'));
    return $retval;
}
Exemplo n.º 8
0
function LIB_List($pi_name)
{
    global $_CONF;
    global $_TABLES;
    global $LANG_ADMIN;
    global $LANG09;
    $lang_box_admin = "LANG_" . strtoupper($pi_name) . "_ADMIN";
    global ${$lang_box_admin};
    $lang_box_admin = ${$lang_box_admin};
    $lang_box = "LANG_" . strtoupper($pi_name);
    global ${$lang_box};
    $lang_box = ${$lang_box};
    $table = $_TABLES[strtoupper($pi_name) . '_mst'];
    $retval = '';
    //フィルタ filter
    if (!empty($_GET['filter_val'])) {
        $filter_val = COM_applyFilter($_GET['filter_val']);
    } elseif (!empty($_POST['filter_val'])) {
        $filter_val = COM_applyFilter($_POST['filter_val']);
    } else {
        $filter_val = $LANG09[9];
    }
    if ($filter_val == $LANG09[9]) {
        $exclude = "";
    } else {
        $exclude = " AND kind='{$filter_val}'";
    }
    $filter = "{$lang_box_admin['kind']}:";
    $filter .= "<select name='filter_val' style='width: 125px' onchange='this.form.submit()'>";
    $filter .= "<option value='{$LANG09[9]}'";
    if ($filter_val == $LANG09[9]) {
        $filter .= " selected='selected'";
    }
    $filter .= " >{$LANG09[9]}</option>";
    $filter .= COM_optionList($table, 'DISTINCT kind,kind,kind', $filter_val, 2, "");
    $filter .= "</select>";
    //ヘッダ:編集~
    $header_arr[] = array('text' => $lang_box_admin['orderno'], 'field' => 'orderno', 'sort' => true);
    $header_arr[] = array('text' => $LANG_ADMIN['edit'], 'field' => 'editid', 'sort' => false);
    $header_arr[] = array('text' => $LANG_ADMIN['copy'], 'field' => 'copy', 'sort' => false);
    $header_arr[] = array('text' => $lang_box_admin['id'], 'field' => 'id', 'sort' => true);
    $header_arr[] = array('text' => $lang_box_admin['kind'], 'field' => 'kind', 'sort' => true);
    $header_arr[] = array('text' => $lang_box_admin['no'], 'field' => 'no', 'sort' => true);
    $header_arr[] = array('text' => $lang_box_admin['value'], 'field' => 'value', 'sort' => true);
    $header_arr[] = array('text' => $lang_box_admin['value2'], 'field' => 'value2', 'sort' => true);
    //
    $text_arr = array('has_menu' => true, 'has_extras' => true, 'form_url' => $_CONF['site_admin_url'] . "/plugins/" . THIS_SCRIPT);
    //Query
    $sql = "SELECT ";
    $sql .= " t.id" . LB;
    $sql .= " ,t.kind" . LB;
    $sql .= " ,t.no" . LB;
    $sql .= " ,t.value" . LB;
    $sql .= " ,t.value2" . LB;
    $sql .= " ,t.orderno" . LB;
    $sql .= " FROM ";
    $sql .= " {$table} AS t" . LB;
    $sql .= " WHERE " . LB;
    $sql .= " 1=1" . LB;
    //
    $query_arr = array('table' => $table, 'sql' => $sql, 'query_fields' => array('t.id', 't.kind', 't.no', 't.value', 't.value2'), 'default_filter' => $exclude);
    //デフォルトソート項目:
    $defsort_arr = array('field' => 'orderno', 'direction' => 'ASC');
    $form_arr = array('bottom' => '', 'top' => '');
    $pagenavurl = '&amp;filter_val=' . $filter_val;
    //List 取得
    if (COM_versionCompare(VERSION, "2.0.0", '>=')) {
        $retval .= ADMIN_list($pi_name, "LIB_GetListField", $header_arr, $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true, $pagenavurl);
    } else {
        $retval .= ADMIN_list($pi_name, "LIB_GetListField", $header_arr, $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true);
    }
    return $retval;
}
/**
* Common function to be called from phpblock_lastarticles() and
* phpblock_lastarticles2()
*/
function phpblock_lastarticles_common($numrows = 10, $length = 50, $additional_sql = '')
{
    global $_CONF, $_TABLES;
    if (!defined('XHTML')) {
        define('XHTML', '');
    }
    $numrows = intval($numrows);
    if ($numrows < 1) {
        $numrows = 10;
    }
    $length = intval($length);
    if ($length < 1) {
        $length = 50;
    }
    $sql = "SELECT STRAIGHT_JOIN " . LB;
    $sql .= " s.sid";
    $sql .= " , t.tid";
    $sql .= " , s.title, s.date, s.group_id " . LB;
    $sql .= " , s.introtext, s.bodytext, t.topic " . LB;
    $sql .= "  FROM {$_TABLES['stories']} AS s" . LB;
    $sql .= ", {$_TABLES['topics']} AS t " . LB;
    //FOR GL2.0.0
    if (COM_versionCompare(VERSION, "2.0.0", '>=')) {
        $sql .= " ,{$_TABLES['topic_assignments']} AS t2" . LB;
    }
    $sql .= "  WHERE " . LB;
    $sql .= " (s.title <> '') " . LB;
    //FOR GL2.0.0
    if (COM_versionCompare(VERSION, "2.0.0", '>=')) {
        $sql .= "  AND s.sid = t2.id" . LB;
        $sql .= "  AND t2.tid = t.tid" . LB;
    } else {
        $sql .= " AND (s.tid = t.tid) " . LB;
    }
    $sql .= " AND (s.draft_flag = 0) " . LB;
    $sql .= " AND (s.date <= NOW()) " . LB;
    $sql .= COM_getTopicSQL('AND', 0, 't') . LB;
    if (function_exists('COM_getLangSQL')) {
        $sql .= COM_getLangSQL('sid', 'AND', 's') . LB;
    }
    $sql .= $additional_sql . LB . "ORDER BY s.date DESC " . "LIMIT " . $numrows;
    $result = DB_query($sql);
    $template = LASTARTICLES_getTemplate();
    $encoding = LASTARTICLES_getEncoding();
    $retval = '';
    while (($A = DB_fetchArray($result, FALSE)) !== FALSE) {
        $introtext = PLG_replaceTags(stripslashes($A['introtext']));
        $bodytext = PLG_replaceTags(stripslashes($A['bodytext']));
        $article = mb_strimwidth(strip_tags($introtext), 0, LASTARTICLES_ARTICLE_LENGTH, '...', $encoding);
        $date = date(LASTARTICLES_DATE_FORMAT, strtotime($A['date']));
        $img = LASTARTICLES_renderImageTag($introtext . $bodytext);
        $link = COM_buildUrl($_CONF['site_url'] . '/article.php?story=' . $A['sid']);
        $title = mb_strimwidth(stripslashes($A['title']), 0, $length, '...', $encoding);
        $topic = LASTARTICLES_esc($A['topic']);
        $retval .= str_replace(array('{article}', '{date}', '{img}', '{link}', '{title}', '{topic}', '{xhtml}'), array($article, $date, $img, $link, $title, $topic, XHTML), $template);
    }
    return $retval;
}