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 = '&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; }
/** * 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; }
// | 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);
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 = '&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; }
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}, {$LANG32[36]}: {$plugin_code_version}"; if ($A['pi_enabled'] == 1) { $retval .= " <b>{$LANG32[38]}</b>"; $csrftok = '&' . 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&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&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 = '&' . 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 = "&order={$ord}&direction={$dir}&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; }
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 = '&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; }
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; }
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 = '&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; }