本文整理汇总了PHP中SC_Utils_Ex::sfArrKeyValue方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Utils_Ex::sfArrKeyValue方法的具体用法?PHP SC_Utils_Ex::sfArrKeyValue怎么用?PHP SC_Utils_Ex::sfArrKeyValue使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Utils_Ex
的用法示例。
在下文中一共展示了SC_Utils_Ex::sfArrKeyValue方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
/**
* (non-PHPdoc)
*
* @see LC_Page_Admin::init()
*/
function init()
{
parent::init();
$this->objDb = new SC_Helper_DB_Ex();
$this->tpl_mainpage = 'basis/device_android.tpl';
$this->tpl_subno = 'device_android';
$this->tpl_mainno = 'basis';
$this->tpl_pager = 'pager.tpl';
$this->tpl_maintitle = '基本情報管理';
$this->tpl_subtitle = 'Android 対応機種設定>対応機種一覧';
$masterdata = new SC_DB_MasterData_Ex();
$this->arrPageMax = $masterdata->getMasterData("mtb_page_max");
$this->arrOsVersion = $masterdata->getMasterData("cp_mtb_android_os_version");
$this->arrCarrier = $masterdata->getMasterData("cp_mtb_carrier");
$this->arrStatus = $masterdata->getMasterData("mtb_disp");
$this->arrStatusColor = $masterdata->getMasterData("mtb_product_status_color");
$objCategory = new SC_Helper_Category_Ex(false);
$arrCategory = $objCategory->getList(false);
$this->arrCategory = SC_Utils_Ex::sfArrKeyValue($arrCategory, "category_id", "category_name");
$this->arrCategory2 = $arrCategory;
$objDate = new SC_Date_Ex(2000, date("Y") + 1);
$this->arrDeviceReleaseYear = $objDate->getYear("", date("Y"), "");
$this->arrMonth = $objDate->getMonth(true);
$this->arrDay = $objDate->getDay(true);
$this->arrDisplaySize = $masterdata->getMasterData("cp_mtb_device_displaysize");
array_walk($this->arrDisplaySize, function (&$v) {
$v = explode(",", $v);
});
}
示例2: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$objView = new SC_SiteView();
$objQuery = new SC_Query();
$objCustomer = new SC_Customer();
$objDb = new SC_Helper_DB_Ex();
// レイアウトデザインを取得
$objLayout = new SC_Helper_PageLayout_Ex();
$objLayout->sfGetPageLayout($this, false, "mypage/index.php");
//不正アクセス判定
$from = "dtb_order";
$where = "del_flg = 0 AND customer_id = ? AND order_id = ? ";
$arrval = array($objCustomer->getValue('customer_id'), $_POST['order_id']);
//DBに情報があるか判定
$cnt = $objQuery->count($from, $where, $arrval);
//ログインしていない、またはDBに情報が無い場合
if (!$objCustomer->isLoginSuccess() || $cnt == 0) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
} else {
//受注詳細データの取得
$this->arrDisp = $this->lfGetOrderData($_POST['order_id']);
// 支払い方法の取得
$this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
// 配送時間の取得
$arrRet = $objDb->sfGetDelivTime($this->arrDisp['payment_id']);
$this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($arrRet, 'time_id', 'deliv_time');
//マイページトップ顧客情報表示用
$this->CustomerName1 = $objCustomer->getvalue('name01');
$this->CustomerName2 = $objCustomer->getvalue('name02');
$this->CustomerPoint = $objCustomer->getvalue('point');
}
$masterData = new SC_DB_MasterData_Ex();
$this->arrPref = $masterData->getMasterData("mtb_pref", array("pref_id", "pref_name", "rank"));
$objView->assignobj($this);
$objView->display(SITE_FRAME);
}
示例3: sfGetClassCatCount
function sfGetClassCatCount()
{
$sql = 'select count(dtb_class.class_id) as count, dtb_class.class_id ';
$sql .= 'from dtb_class inner join dtb_classcategory on dtb_class.class_id = dtb_classcategory.class_id ';
$sql .= 'where dtb_class.del_flg = 0 AND dtb_classcategory.del_flg = 0 ';
$sql .= 'group by dtb_class.class_id, dtb_class.name';
$objQuery =& SC_Query_Ex::getSingletonInstance();
$arrList = $objQuery->getAll($sql);
// キーと値をセットした配列を取得
$arrRet = SC_Utils_Ex::sfArrKeyValue($arrList, 'class_id', 'count');
return $arrRet;
}
示例4: mobileProcess
/**
* Page のプロセス(モバイル).
*
* @return void
*/
function mobileProcess()
{
$objView = new SC_MobileView();
$objQuery = new SC_Query();
$objCustomer = new SC_Customer();
$objDb = new SC_Helper_DB_Ex();
//不正アクセス判定
$from = "dtb_order";
$where = "del_flg = 0 AND customer_id = ? AND order_id = ? ";
$arrval = array($objCustomer->getValue('customer_id'), $_POST['order_id']);
//DBに情報があるか判定
$cnt = $objQuery->count($from, $where, $arrval);
//ログインしていない、またはDBに情報が無い場合
if (!$objCustomer->isLoginSuccess(true) or $cnt == 0) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR, "", false, "", true);
} else {
//受注詳細データの取得
$this->arrDisp = $this->lfGetOrderData($_POST['order_id']);
// 支払い方法の取得
$this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
// 配送時間の取得
$arrRet = $objDb->sfGetDelivTime($this->arrDisp['payment_id']);
$this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($arrRet, 'time_id', 'deliv_time');
//マイページトップ顧客情報表示用
$this->CustomerName1 = $objCustomer->getvalue('name01');
$this->CustomerName2 = $objCustomer->getvalue('name02');
$this->CustomerPoint = $objCustomer->getvalue('point');
}
$objView->assignobj($this);
$objView->display(SITE_FRAME);
}
示例5: process
//.........这里部分代码省略.........
$arrval[] = $date;
break;
case 'search_ebirthyear':
$date = SC_Utils_Ex::sfGetTimestamp($_POST['search_ebirthyear'], $_POST['search_ebirthmonth'], $_POST['search_ebirthday'], true);
$where .= " AND order_birth <= ?";
$arrval[] = $date;
break;
case 'search_order_status':
$where .= " AND status = ?";
$arrval[] = $val;
break;
default:
if (!isset($arrval)) {
$arrval = array();
}
break;
}
}
$order = "update_date DESC";
switch ($_POST['mode']) {
case 'csv':
require_once CLASS_EX_PATH . "helper_extends/SC_Helper_CSV_Ex.php";
$objCSV = new SC_Helper_CSV_Ex();
// オプションの指定
$option = "ORDER BY {$order}";
// CSV出力タイトル行の作成
$arrCsvOutput = SC_Utils_Ex::sfSwapArray($objCSV->sfgetCsvOutput(3, " WHERE csv_id = 3 AND status = 1"));
if (count($arrCsvOutput) <= 0) {
break;
}
$arrCsvOutputCols = $arrCsvOutput['col'];
$arrCsvOutputTitle = $arrCsvOutput['disp_name'];
$head = SC_Utils_Ex::sfGetCSVList($arrCsvOutputTitle);
$data = $objCSV->lfGetCSV("dtb_order", $where, $option, $arrval, $arrCsvOutputCols);
// CSVを送信する。
SC_Utils_Ex::sfCSVDownload($head . $data);
exit;
break;
case 'pdf':
$objFpdf = new SC_Fpdf(1, '納品書');
$objFpdf->setData($arrRet);
$objFpdf->createPdf();
break;
case 'delete_all':
// 検索結果をすべて削除
$sqlval['del_flg'] = 1;
$objQuery = new SC_Query();
$objQuery->update("dtb_order", $sqlval, $where, $arrval);
break;
default:
// 読み込む列とテーブルの指定
$col = "*";
$from = "dtb_order";
$objQuery = new SC_Query();
// 行数の取得
$linemax = $objQuery->count($from, $where, $arrval);
$this->tpl_linemax = $linemax;
// 何件が該当しました。表示用
// ページ送りの処理
if (is_numeric($_POST['search_page_max'])) {
$page_max = $_POST['search_page_max'];
} else {
$page_max = SEARCH_PMAX;
}
// ページ送りの取得
$objNavi = new SC_PageNavi($this->arrHidden['search_pageno'], $linemax, $page_max, "fnNaviSearchPage", NAVI_PMAX);
$startno = $objNavi->start_row;
$this->arrPagenavi = $objNavi->arrPagenavi;
// 取得範囲の指定(開始行番号、行数のセット)
$objQuery->setlimitoffset($page_max, $startno);
// 表示順序
$objQuery->setorder($order);
// 検索結果の取得
$this->arrResults = $objQuery->select($col, $from, $where, $arrval);
}
}
break;
default:
break;
}
$objDate = new SC_Date();
// 登録・更新日検索用
$objDate->setStartYear(RELEASE_YEAR);
$objDate->setEndYear(DATE("Y"));
$this->arrRegistYear = $objDate->getYear();
// 生年月日検索用
$objDate->setStartYear(BIRTH_YEAR);
$objDate->setEndYear(DATE("Y"));
$this->arrBirthYear = $objDate->getYear();
// 月日の設定
$this->arrMonth = $objDate->getMonth();
$this->arrDay = $objDate->getDay();
// 入力値の取得
$this->arrForm = $this->objFormParam->getFormParamList();
// 支払い方法の取得
$arrRet = $objDb->sfGetPayment();
$this->arrPayment = SC_Utils_Ex::sfArrKeyValue($arrRet, 'payment_id', 'payment_method');
$objView->assignobj($this);
$objView->display(MAIN_FRAME);
}
示例6: lfGetGraphBar
function lfGetGraphBar($arrResults, $keyname, $type, $xtitle, $ytitle, $sdate, $edate)
{
$ret_path = '';
// 結果が0行以上ある場合のみグラフを生成する。
if (count($arrResults) > 0 && $this->install_GD) {
// グラフの生成
$arrList = SC_Utils_Ex::sfArrKeyValue($arrResults, $keyname, 'total', GRAPH_PIE_MAX, GRAPH_LABEL_MAX);
// 一時ファイル名の取得
$pngname = $this->lfGetGraphPng($type);
$path = GRAPH_REALDIR . $pngname;
$objGraphBar = new SC_Graph_Bar();
foreach ($arrList as $key => $value) {
$arrKey[] = mb_ereg_replace('~', '-', $key);
}
// グラフ描画
$objGraphBar->setXLabel($arrKey);
$objGraphBar->setXTitle($xtitle);
$objGraphBar->setYTitle($ytitle);
$objGraphBar->setData($arrList);
// メインタイトル作成
$arrKey = array_keys($arrList);
list($sy, $sm, $sd) = preg_split('|[/ ]|', $sdate);
list($ey, $em, $ed) = preg_split('|[/ ]|', $edate);
$start_date = t('c_T_ARG1/T_ARG2/T_ARG3_01', array('T_ARG1' => $sy, 'T_ARG2' => $sm, 'T_ARG3' => $sd));
$end_date = t('c_T_ARG1/T_ARG2/T_ARG3_01', array('T_ARG1' => $ey, 'T_ARG2' => $em, 'T_ARG3' => $ed));
$objGraphBar->drawTitle(t('c_Sales period: T_ARG1 - T_ARG2_01', array('T_ARG1' => $start_date, 'T_ARG2' => $end_date)));
$objGraphBar->drawGraph();
if (DRAW_IMAGE) {
$objGraphBar->outputGraph();
SC_Response_Ex::actionExit();
}
// ファイルパスを返す
$ret_path = GRAPH_URLPATH . $pngname;
}
return $ret_path;
}
示例7: lfGetGraphBar
function lfGetGraphBar($arrResults, $keyname, $type, $xtitle, $ytitle, $sdate, $edate)
{
$ret_path = "";
// 結果が0行以上ある場合のみグラフを生成する。
if (count($arrResults) > 0) {
// グラフの生成
$arrList = SC_Utils_Ex::sfArrKeyValue($arrResults, $keyname, "total", GRAPH_PIE_MAX, GRAPH_LABEL_MAX);
// 一時ファイル名の取得
$pngname = $this->lfGetGraphPng($type);
$path = GRAPH_DIR . $pngname;
$objGraphBar = new SC_GraphBar();
foreach (array_keys($arrList) as $val) {
$arrKey[] = ereg_replace("〜", "-", $val);
}
// グラフ描画
$objGraphBar->setXLabel($arrKey);
$objGraphBar->setXTitle($xtitle);
$objGraphBar->setYTitle($ytitle);
$objGraphBar->setData($arrList);
// メインタイトル作成
$arrKey = array_keys($arrList);
list($sy, $sm, $sd) = split("[/ ]", $sdate);
list($ey, $em, $ed) = split("[/ ]", $edate);
$start_date = $sy . "年" . $sm . "月" . $sd . "日";
$end_date = $ey . "年" . $em . "月" . $ed . "日";
$objGraphBar->drawTitle("集計期間:" . $start_date . " - " . $end_date);
$objGraphBar->drawGraph();
if (DRAW_IMAGE) {
$objGraphBar->outputGraph();
exit;
}
// ファイルパスを返す
$ret_path = GRAPH_URL . $pngname;
}
return $ret_path;
}
示例8: sfGetClassCatCount
function sfGetClassCatCount()
{
$sql = "select count(dtb_class.class_id) as count, dtb_class.class_id ";
$sql .= "from dtb_class inner join dtb_classcategory on dtb_class.class_id = dtb_classcategory.class_id ";
$sql .= "where dtb_class.del_flg = 0 AND dtb_classcategory.del_flg = 0 ";
$sql .= "group by dtb_class.class_id, dtb_class.name";
$objQuery = new SC_Query_Ex();
$arrList = $objQuery->getAll($sql);
// キーと値をセットした配列を取得
$arrRet = SC_Utils_Ex::sfArrKeyValue($arrList, 'class_id', 'count');
return $arrRet;
}
示例9: mobileProcess
//.........这里部分代码省略.........
$objDb->sfTotalCart($this, $objCartSess, $arrInfo);
if (empty($arrData)) {
$arrData = array();
}
$this->arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo);
// カート内の商品の売り切れチェック
$objCartSess->chkSoldOut($objCartSess->getCartList(), true);
if (!isset($_POST['mode'])) {
$_POST['mode'] = "";
}
// 戻るボタンの処理
if (!empty($_POST['return'])) {
switch ($_POST['mode']) {
case 'confirm':
$_POST['mode'] = 'payment';
break;
default:
// 正常な推移であることを記録しておく
$objSiteSess->setRegistFlag();
$this->sendRedirect(MOBILE_URL_SHOP_TOP, true);
exit;
}
}
switch ($_POST['mode']) {
// 支払い方法指定 → 配達日時指定
case 'deliv_date':
// 入力値の変換
$this->objFormParam->convParam();
$this->arrErr = $this->lfCheckError($this->arrData);
if (!isset($this->arrErr['payment_id'])) {
// 支払い方法の入力エラーなし
$this->tpl_mainpage = 'shopping/deliv_date.tpl';
$this->tpl_title = "配達日時指定";
break;
} else {
// ユーザユニークIDの取得
$uniqid = $objSiteSess->getUniqId();
// 受注一時テーブルからの情報を格納
$this->lfSetOrderTempData($uniqid);
}
break;
case 'confirm':
// 入力値の変換
$this->objFormParam->convParam();
$this->arrErr = $this->lfCheckError($this->arrData);
// 入力エラーなし
if (count($this->arrErr) == 0) {
// DBへのデータ登録
$this->lfRegistData($uniqid);
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();
// 確認ページへ移動
$this->sendRedirect($this->getLocation(MOBILE_URL_SHOP_CONFIRM), true);
exit;
} else {
// ユーザユニークIDの取得
$uniqid = $objSiteSess->getUniqId();
// 受注一時テーブルからの情報を格納
$this->lfSetOrderTempData($uniqid);
if (!isset($this->arrErr['payment_id'])) {
// 支払い方法の入力エラーなし
$this->tpl_mainpage = 'shopping/deliv_date.tpl';
$this->tpl_title = "配達日時指定";
}
}
break;
// 前のページに戻る
// 前のページに戻る
case 'return':
// 非会員の場合
// 正常な推移であることを記録しておく
$objSiteSess->setRegistFlag();
$this->sendRedirect(MOBILE_URL_SHOP_TOP, true);
exit;
break;
// 支払い方法が変更された場合
// 支払い方法が変更された場合
case 'payment':
// ここのbreakは、意味があるので外さないで下さい。
break;
default:
// 受注一時テーブルからの情報を格納
$this->lfSetOrderTempData($uniqid);
break;
}
// 店舗情報の取得
$arrInfo = $objSiteInfo->data;
// 購入金額の取得得
$total_pretax = $objCartSess->getAllProductsTotal($arrInfo);
// 支払い方法の取得
$this->arrPayment = $this->lfGetPayment($total_pretax);
// 配送時間の取得
$arrRet = $objDb->sfGetDelivTime($this->objFormParam->getValue('payment_id'));
$this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($arrRet, 'time_id', 'deliv_time');
// 配送日一覧の取得
$this->arrDelivDate = $this->lfGetDelivDate();
$this->arrForm = $this->objFormParam->getFormParamList();
$objView->assignobj($this);
$objView->display(SITE_FRAME);
}
示例10: process
//.........这里部分代码省略.........
$arrData = $_POST;
foreach ($this->arrForm as $key => $val) {
if (is_array($val)) {
$arrData[$key] = $this->arrForm[$key]['value'];
} else {
$arrData[$key] = $val;
}
}
// 情報上書き
$this->objFormParam->setParam($arrData);
// 入力値の変換
$this->objFormParam->convParam();
$this->arrErr = $this->lfCheckError();
if (count($this->arrErr) == 0) {
$this->arrErr = $this->lfCheek($arrInfo, $_POST['mode']);
}
break;
/* 顧客検索ポップアップより顧客指定後、顧客情報取得*/
/* 顧客検索ポップアップより顧客指定後、顧客情報取得*/
case 'search_customer':
// POST情報で上書き
$this->objFormParam->setParam($_POST);
// 検索結果から顧客IDを指定された場合、顧客情報をフォームに代入する
$this->lfSetCustomerInfo($_POST['edit_customer_id']);
break;
/* F-REGI決済モジュール連携用 */
/* F-REGI決済モジュール連携用 */
case 'fregi_status':
$objFregiConfig = new LC_Page_Mdl_Fregi_Config();
$this->fregi_err = $objFregiConfig->getSaleInfo($order_id, $this->arrDisp);
$this->lfGetOrderData($order_id);
break;
case 'fregi_card':
$objFregiConfig = new LC_Page_Mdl_Fregi_Config();
$this->fregi_card_err = $objFregiConfig->setCardInfo($_POST['card_status'], $order_id, $this->arrDisp);
$this->lfGetOrderData($order_id);
break;
/* SPS決済モジュール連携用 */
/* SPS決済モジュール連携用 */
case 'sps_request':
$objErr = new SC_CheckError($_POST);
$objErr->doFunc(array("年", "sps_year"), array('EXIST_CHECK'));
$objErr->doFunc(array("月", "sps_month"), array('EXIST_CHECK'));
$objErr->doFunc(array("日", "sps_date"), array('EXIST_CHECK'));
$objErr->doFunc(array("売上・返金日", "sps_year", "sps_month", "sps_date"), array("CHECK_DATE"));
if ($objErr->arrErr) {
$this->arrErr = $objErr->arrErr;
break;
}
$sps_return = sfSpsRequest($order_id, $_POST['request_type']);
// DBから受注情報を再読込
$this->lfGetOrderData($order_id);
$this->tpl_onload = "window.alert('" . $sps_return . "');";
break;
/* GMOPG連携用 */
/* GMOPG連携用 */
case 'gmopg_order_edit':
require_once MODULE_PATH . 'mdl_gmopg/class/LC_Mdl_GMOPG_OrderEdit.php';
$objGMOOrderEdit = new LC_MDL_GMOPG_OrderEdit();
$this->gmopg_order_edit_result = $objGMOOrderEdit->proccess();
$this->lfGetOrderData($order_id);
break;
default:
break;
}
// 支払い方法の取得
$this->arrPayment = $objDb->sfGetIDValueList("dtb_payment", "payment_id", "payment_method");
// 配送時間の取得
$arrRet = $objDb->sfGetDelivTime($this->objFormParam->getValue('payment_id'));
$this->arrDelivTime = SC_Utils_Ex::sfArrKeyValue($arrRet, 'time_id', 'deliv_time');
$this->arrForm = $this->objFormParam->getFormParamList();
$this->product_count = count($this->arrForm['quantity']['value']);
// アンカーを設定
if (isset($_POST['anchor_key']) && !empty($_POST['anchor_key'])) {
$anchor_hash = "location.hash='#" . $_POST['anchor_key'] . "'";
} else {
$anchor_hash = "";
}
$this->tpl_onload .= $anchor_hash;
$this->arrInfo = $arrInfo;
/**
* SPS決済 クレジット判定用処理
*/
if (file_exists(MODULE_PATH . 'mdl_sps/request.php') === TRUE) {
$objQuery = new SC_Query();
$this->paymentType = $objQuery->getall("SELECT module_code, memo03 FROM dtb_payment WHERE payment_id = ? ", array($this->arrForm["payment_id"]['value']));
$objDate = new SC_Date();
$objDate->setStartYear(RELEASE_YEAR);
$this->arrYear = $objDate->getYear();
$this->arrMonth = $objDate->getMonth();
$this->arrDay = $objDate->getDay();
}
$objView->assignobj($this);
// 表示モード判定
if (!$this->disp_mode) {
$objView->display(MAIN_FRAME);
} else {
$objView->display('order/disp.tpl');
}
}
示例11: lfGetGraphLine
/**
* 折れ線グラフの作成
*
* @param string $keyname
* @param string $type
* @param string $xtitle
* @param string $ytitle
* @param boolean $xincline
*/
public function lfGetGraphLine($arrResults, $keyname, $type, $xtitle, $ytitle, $sdate, $edate, $xincline)
{
$ret_path = '';
// 結果が0行以上ある場合のみグラフを生成する。
if (count($arrResults) > 0 && $this->install_GD) {
// グラフの生成
$arrList1 = SC_Utils_Ex::sfArrKeyValue($arrResults, $keyname, 'add_point');
$arrList2 = SC_Utils_Ex::sfArrKeyValue($arrResults, $keyname, 'minus_point');
$arrList3 = SC_Utils_Ex::sfArrKeyValue($arrResults, $keyname, 'total_sum');
array_walk($arrList1, function ($v, $k) use(&$arrList1) {
$arrList1[$k] = max($v, 0);
});
array_walk($arrList2, function ($v, $k) use(&$arrList2) {
$arrList2[$k] = max($v, 0);
});
array_walk($arrList3, function ($v, $k) use(&$arrList3) {
$arrList3[$k] = max($v, 0);
});
GC_Utils_Ex::gfDebugLog(array($arrList1, $arrList2, $arrList3));
// 一時ファイル名の取得
$pngname = $this->lfGetGraphPng($type);
// ラベル表示インターバルを求める
$base = 30;
$interval = intval(count($arrList1) / $base);
if ($interval < 1) {
$interval = 1;
}
// X ラベルが 20以下になるまでインターバルを変更する
while (count($arrList1) / $interval > 30) {
$base++;
$interval = intval(count($arrList1) / $base);
}
$objGraphLine = new SC_Graph_Line_Ex();
$objGraphLine->init();
// 値のセット
$objGraphLine->setXLabel(array_keys($arrList1));
// 複数レジェンドの場合は共通メソッドが使えない
$objGraphLine->arrDataList[$objGraphLine->line_max++] = array_values($arrList1);
$objGraphLine->arrDataList[$objGraphLine->line_max++] = array_values($arrList2);
$objGraphLine->arrDataList[$objGraphLine->line_max++] = array_values($arrList3);
$allData = array();
foreach ($objGraphLine->arrDataList as $arrDataList) {
$allData = array_merge($allData, $arrDataList);
}
GC_Utils_Ex::gfDebugLog($allData);
// $objGraphLine->setMax ( $allData );
$this->setMax($objGraphLine, $allData);
// 値の描画変換率
$rate = $objGraphLine->area_height / $objGraphLine->graph_max;
// 描画率を計算
$objGraphLine->arrPointList = array();
foreach ($objGraphLine->arrDataList as $index => &$arrDataList) {
GC_Utils_Ex::gfDebugLog($arrDataList);
$count = count($arrDataList);
$scale_width = $objGraphLine->area_width / ($count + 1);
$objGraphLine->arrPointList[$index] = array();
for ($i = 0; $i < $count; $i++) {
// X座標を求める
$x = intval($objGraphLine->left + $scale_width * ($i + 1));
// Y座標を求める
if ($arrDataList[$i] > 0) {
$y = intval($objGraphLine->top + $objGraphLine->area_height - $arrDataList[$i] * $rate);
} else {
// マイナス値の場合は底べた
$y = intval($objGraphLine->top + $objGraphLine->area_height);
}
// XY座標を保存する
$objGraphLine->arrPointList[$index][] = array($x, $y);
}
}
GC_Utils_Ex::gfDebugLog($objGraphLine->arrPointList);
$objGraphLine->setLegend(array("追加", "消費", "残高"));
// ラベル回転(日本語不可)
if ($xincline == true || count($arrList1) > 20) {
$objGraphLine->setXLabelAngle(45);
}
// タイトルセット
$objGraphLine->setXTitle($xtitle);
$objGraphLine->setYTitle($ytitle);
// メインタイトル作成
list($sy, $sm, $sd) = preg_split('|[/ ]|', $sdate);
list($ey, $em, $ed) = preg_split('|[/ ]|', $edate);
$start_date = $sy . '年' . $sm . '月' . $sd . '日';
$end_date = $ey . '年' . $em . '月' . $ed . '日';
$objGraphLine->drawTitle('集計期間:' . $start_date . ' - ' . $end_date);
// グラフ描画
// $objGraphLine->drawGraph ();
$this->drawGraph($objGraphLine);
// グラフの出力
if (DRAW_IMAGE) {
$objGraphLine->outputGraph();
//.........这里部分代码省略.........