function lfCheckProductId($admin_mode, $product_id) { // 管理機能からの確認の場合は、非公開の商品も表示する。 if (isset($admin_mode) && $admin_mode == 'on') { SC_Utils_Ex::sfIsSuccess(new SC_Session_Ex()); $status = true; $where = 'del_flg = 0'; } else { $status = false; $where = 'del_flg = 0 AND status = 1'; } if (!SC_Utils_Ex::sfIsInt($product_id) || SC_Utils_Ex::sfIsZeroFilling($product_id) || !SC_Helper_DB_Ex::sfIsRecord('dtb_products', 'product_id', (array) $product_id, $where)) { SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND); } return $product_id; }
/** * 入力エラーチェック. * * @param array $arrForm メーカー情報 * @return array $objErr->arrErr エラー内容 */ function lfErrorCheck(&$arrForm) { $objErr = new SC_CheckError_Ex($arrForm); $objErr->doFunc(array("メーカー名", 'name', SMTEXT_LEN), array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK")); // maker_id の正当性チェック if (!empty($arrForm['maker_id'])) { $objDb = new SC_Helper_DB_Ex(); if (!SC_Utils_Ex::sfIsInt($arrForm['maker_id']) || SC_Utils_Ex::sfIsZeroFilling($arrForm['maker_id']) || !$objDb->sfIsRecord('dtb_maker', 'maker_id', array($arrForm['maker_id']))) { // maker_idが指定されていて、且つその値が不正と思われる場合はエラー $objErr->arrErr['maker_id'] = "※ メーカーIDが不正です<br />"; } } if (!isset($objErr->arrErr['name'])) { $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrMaker = array(); $arrMaker = $objQuery->select("maker_id, name", "dtb_maker", "del_flg = 0 AND name = ?", array($arrForm['name'])); // 編集中のレコード以外に同じ名称が存在する場合 if ($arrMaker[0]['maker_id'] != $arrForm['maker_id'] && $arrMaker[0]['name'] == $arrForm['name']) { $objErr->arrErr['name'] = "※ 既に同じ内容の登録が存在します。<br />"; } } return $objErr->arrErr; }
/** * 有効なカテゴリーIDかチェックする. * * @param int $category_id * @param bool $include_deleted * @return bool */ public function isValidCategoryId($category_id, $include_deleted = false) { if ($include_deleted) { $where = ''; } else { $where = 'del_flg = 0'; } if (SC_Utils_Ex::sfIsInt($category_id) && !SC_Utils_Ex::sfIsZeroFilling($category_id) && SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', array($category_id), $where)) { return true; } return false; }
/** * カテゴリIDの取得 * * @return integer カテゴリID */ function lfGetCategoryId($category_id) { // 指定なしの場合、0 を返す if (empty($category_id)) { return 0; } // 正当性チェック if (!SC_Utils_Ex::sfIsInt($category_id) || SC_Utils_Ex::sfIsZeroFilling($category_id) || !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array) $category_id, 'del_flg = 0')) { SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND); } // 指定されたカテゴリIDを元に正しいカテゴリIDを取得する。 $arrCategory_id = SC_Helper_DB_Ex::sfGetCategoryId('', $category_id); if (empty($arrCategory_id)) { SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND); } return $arrCategory_id[0]; }
/** * 入力エラーチェック. * * @param array $arrForm メーカー情報 * @return array $objErr->arrErr エラー内容 */ function lfCheckError(&$arrForm, &$objFormParam) { $arrErr = $objFormParam->checkError(); if (!empty($arrErr)) { return $arrErr; } // maker_id の正当性チェック if (!empty($arrForm['maker_id'])) { $objDb = new SC_Helper_DB_Ex(); if (!SC_Utils_Ex::sfIsInt($arrForm['maker_id']) || SC_Utils_Ex::sfIsZeroFilling($arrForm['maker_id']) || !$objDb->sfIsRecord('dtb_maker', 'maker_id', array($arrForm['maker_id']))) { // maker_idが指定されていて、且つその値が不正と思われる場合はエラー $arrErr['maker_id'] = '※ メーカーIDが不正です<br />'; } } if (!isset($arrErr['name'])) { $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrMaker = array(); $arrMaker = $objQuery->select('maker_id, name', 'dtb_maker', 'del_flg = 0 AND name = ?', array($arrForm['name'])); // 編集中のレコード以外に同じ名称が存在する場合 if ($arrMaker[0]['maker_id'] != $arrForm['maker_id'] && $arrMaker[0]['name'] == $arrForm['name']) { $arrErr['name'] = '※ 既に同じ内容の登録が存在します。<br />'; } } return $arrErr; }
/** * 入力エラーチェック. * * @param SC_FormParam $objFormParam * @return array $objErr->arrErr エラー内容 */ public function lfCheckError(&$objFormParam, SC_Helper_Maker_Ex &$objMaker) { $arrErr = $objFormParam->checkError(); $arrForm = $objFormParam->getHashArray(); // maker_id の正当性チェック if (!empty($arrForm['maker_id'])) { if (!SC_Utils_Ex::sfIsInt($arrForm['maker_id']) || SC_Utils_Ex::sfIsZeroFilling($arrForm['maker_id']) || !$objMaker->getMaker($arrForm['maker_id'])) { // maker_idが指定されていて、且つその値が不正と思われる場合はエラー $arrErr['maker_id'] = '※ メーカーIDが不正です<br />'; } } if (!isset($arrErr['name'])) { $arrMaker = $objMaker->getByName($arrForm['name']); // 編集中のレコード以外に同じ名称が存在する場合 if (!SC_Utils_Ex::isBlank($arrMaker) && $arrMaker['maker_id'] != $arrForm['maker_id'] && $arrMaker['name'] == $arrForm['name']) { $arrErr['name'] = '※ 既に同じ内容の登録が存在します。<br />'; } } return $arrErr; }
/** * 有効な商品IDかチェックする. * * @param int $product_id * @param bool $include_hidden * @param bool $include_deleted * @return bool */ public function isValidProductId($product_id, $include_hidden = false, $include_deleted = false) { $where = ''; if (!$include_hidden) { $where .= 'status = 1'; } if (!$include_deleted) { if ($where != '') { $where .= ' AND '; } $where .= 'del_flg = 0'; } if (SC_Utils_Ex::sfIsInt($product_id) && !SC_Utils_Ex::sfIsZeroFilling($product_id) && SC_Helper_DB_Ex::sfIsRecord('dtb_products', 'product_id', array($product_id), $where)) { return true; } return false; }
/** * 入力エラーチェック. * * @param array $arrForm メーカー情報 * @return array $objErr->arrErr エラー内容 */ function lfCheckError(&$arrForm, &$objFormParam) { $arrErr = $objFormParam->checkError(); if (!empty($arrErr)) { return $arrErr; } // maker_id の正当性チェック if (!empty($arrForm['maker_id'])) { $objDb = new SC_Helper_DB_Ex(); if (!SC_Utils_Ex::sfIsInt($arrForm['maker_id']) || SC_Utils_Ex::sfIsZeroFilling($arrForm['maker_id']) || !$objDb->sfIsRecord('dtb_maker', 'maker_id', array($arrForm['maker_id']))) { // maker_idが指定されていて、且つその値が不正と思われる場合はエラー $arrErr['maker_id'] = t('c_* The manufacturer ID is inadequate<br />_01'); } } if (!isset($arrErr['name'])) { $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrMaker = array(); $arrMaker = $objQuery->select('maker_id, name', 'dtb_maker', 'del_flg = 0 AND name = ?', array($arrForm['name'])); // 編集中のレコード以外に同じ名称が存在する場合 if ($arrMaker[0]['maker_id'] != $arrForm['maker_id'] && $arrMaker[0]['name'] == $arrForm['name']) { $arrErr['name'] = t('c_* Registration of the same contents already exists.<br />_01'); } } return $arrErr; }
function getBreadcrumbByCategoryId($category_id) { $arrBreadcrumb = array(); // 正当性チェック if (!SC_Utils_Ex::sfIsInt($category_id) || SC_Utils_Ex::sfIsZeroFilling($category_id) || !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array) $category_id, 'del_flg = 0')) { $this->current_name = '全商品'; return array(); } // 指定されたカテゴリIDを元に正しいカテゴリIDを取得する。 $arrCategory_id = SC_Helper_DB_Ex::sfGetCategoryId('', $category_id); if (empty($arrCategory_id)) { $this->current_name = '全商品'; return array(); } // 商品が属するカテゴリIDを縦に取得 $objDb = new SC_Helper_DB_Ex(); $arrCatID = $objDb->sfGetParents("dtb_category", "parent_category_id", "category_id", $arrCategory_id[0]); $objQuery = new SC_Query(); $index_no = 0; foreach ($arrCatID as $val) { // カテゴリー名称を取得 $sql = "SELECT category_name FROM dtb_category WHERE category_id = ?"; $arrVal = array($val); $CatName = $objQuery->getOne($sql, $arrVal); if ($val != $category_id) { $arrBreadcrumb[$index_no]['category_name'] = $CatName; $arrBreadcrumb[$index_no]['category_id'] = $val; } else { $this->current_name = $CatName; } $index_no++; } return $arrBreadcrumb; }