本文整理汇总了PHP中SC_Helper_DB_Ex::sfIsRecord方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Helper_DB_Ex::sfIsRecord方法的具体用法?PHP SC_Helper_DB_Ex::sfIsRecord怎么用?PHP SC_Helper_DB_Ex::sfIsRecord使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Helper_DB_Ex
的用法示例。
在下文中一共展示了SC_Helper_DB_Ex::sfIsRecord方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: lfCheckCategoryId
function lfCheckCategoryId($category_id)
{
if ($category_id && !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array) $category_id, 'del_flg = 0')) {
return 0;
}
return $category_id;
}
示例2: doAction
public function doAction($arrParam)
{
$arrRequest = $this->doInitParam($arrParam);
if (!$this->isParamError()) {
$category_id = $arrRequest['BrowseNodeId'];
if ($category_id && !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array) $category_id, 'del_flg = 0')) {
$category_id = '0';
} else {
if (SC_Utils_Ex::isBlank($category_id)) {
$category_id = '0';
}
}
// LC_Page_Products_CategoryList::lfGetCategories() と相当類似しているので共通化したい
$arrCategory = null;
// 選択されたカテゴリ
$arrChildren = array();
// 子カテゴリ
$arrAll = SC_Helper_DB_Ex::sfGetCatTree($category_id, true);
foreach ($arrAll as $category) {
if ($category_id != 0 && $category['category_id'] == $category_id) {
$arrCategory = $category;
continue;
}
if ($category['parent_category_id'] != $category_id) {
continue;
}
$arrGrandchildrenID = SC_Utils_Ex::sfGetUnderChildrenArray($arrAll, 'parent_category_id', 'category_id', $category['category_id']);
$category['has_children'] = count($arrGrandchildrenID) > 0;
$arrChildren[] = $category;
}
if (!SC_Utils_Ex::isBlank($arrCategory)) {
$arrData = array('BrowseNodeId' => $category_id, 'Name' => $arrCategory['category_name'], 'PageURL' => HTTP_URL . 'products/list.php?category_id=' . $arr['category_id'], 'has_children' => count($arrChildren) > 0);
} else {
$arrData = array('BrowseNodeId' => $category_id, 'Name' => 'ホーム', 'PageURL' => HTTP_URL, 'has_children' => count($arrChildren) > 0);
}
if (!SC_Utils_Ex::isBlank($arrChildren)) {
$arrData['Children'] = array();
foreach ($arrChildren as $category) {
$arrData['Children']['BrowseNode'][] = array('BrowseNodeId' => $category['category_id'], 'Name' => $category['category_name'], 'PageURL' => HTTP_URL . 'products/list.php?category_id=' . $category['category_id'], 'has_children' => $category['has_children']);
}
}
$this->setResponse('BrowseNode', $arrData);
// TODO: Ancestors 親ノード
return true;
}
return false;
}
示例3: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$objView = new SC_SiteView();
$objCartSess = new SC_CartSession("", false);
$objDb = new SC_Helper_DB_Ex();
// 管理ページからの確認の場合は、非公開の商品も表示する。
if (isset($_GET['admim']) && $_GET['admin'] == 'on') {
$where = "del_flg = 0";
} else {
$where = "del_flg = 0 AND status = 1";
}
// 値の正当性チェック
if (!SC_Utils_Ex::sfIsInt($_GET['product_id']) || !$objDb->sfIsRecord("dtb_products", "product_id", $_GET['product_id'], $where)) {
SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND);
}
$image_key = $_GET['image'];
$objQuery = new SC_Query();
// カラムが存在していなければエラー画面を表示
if (!$objDb->sfColumnExists("dtb_products", $image_key)) {
SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND);
}
$col = "name, {$image_key}";
$arrRet = $objQuery->select($col, "dtb_products", "product_id = ?", array($_GET['product_id']));
$image_path = IMAGE_SAVE_DIR . $arrRet[0][$image_key];
if (file_exists($image_path)) {
list($width, $height) = getimagesize($image_path);
} else {
$width = 0;
$height = 0;
}
$this->tpl_width = $width;
$this->tpl_height = $height;
$this->tpl_table_width = $this->tpl_width + 20;
$this->tpl_table_height = $this->tpl_height + 20;
$this->tpl_image = $arrRet[0][$image_key];
$this->tpl_name = $arrRet[0]['name'];
$objView->assignobj($this);
$objView->display($this->tpl_mainpage);
}
示例4: sfGetCategoryId
/**
* 選択中の商品のカテゴリを取得する.
*
* @param integer $product_id プロダクトID
* @param integer $category_id カテゴリID
* @return array 選択中の商品のカテゴリIDの配列
*
*/
function sfGetCategoryId($product_id, $category_id = 0, $closed = false)
{
if ($closed) {
$status = "";
} else {
$status = "status = 1";
}
$category_id = (int) $category_id;
$product_id = (int) $product_id;
if (SC_Utils_Ex::sfIsInt($category_id) && $category_id != 0 && SC_Helper_DB_Ex::sfIsRecord("dtb_category", "category_id", $category_id)) {
$category_id = array($category_id);
} else {
if (SC_Utils_Ex::sfIsInt($product_id) && $product_id != 0 && SC_Helper_DB_Ex::sfIsRecord("dtb_products", "product_id", $product_id, $status)) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$where = "product_id = ?";
$category_id = $objQuery->getCol("category_id", "dtb_product_categories", "product_id = ?", array($product_id));
} else {
// 不正な場合は、空の配列を返す。
$category_id = array();
}
}
return $category_id;
}
示例5: lfCheckError
function lfCheckError()
{
// 入力データを渡す。
$arrRet = $this->objFormParam->getHashArray();
$objErr = new SC_CheckError($arrRet);
$objErr->arrErr = $this->objFormParam->checkError();
if (!isset($objErr->arrErr['name']) && $_POST['deliv_id'] == "") {
// 既存チェック
$objDb = new SC_Helper_DB_Ex();
$ret = $objDb->sfIsRecord("dtb_deliv", "service_name", array($arrRet['service_name']));
if ($ret) {
$objErr->arrErr['name'] = "※ 同じ名称の組み合わせは登録できません。<br>";
}
}
return $objErr->arrErr;
}
示例6: lfCheckErrorDetail
/**
* このフォーム特有の複雑な入力チェックを行う.
*
* @param array 確認対象データ
* @param array エラー配列
* @return array エラー配列
*/
function lfCheckErrorDetail($item, $arrErr)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
/*
// カテゴリIDの存在チェック
if (!$this->lfIsDbRecord('dtb_category', 'category_id', $item)) {
$arrErr['category_id'] = '※ 指定のカテゴリIDは、登録されていません。';
}
*/
// 親カテゴリIDの存在チェック
if (array_search('parent_category_id', $this->arrFormKeyList) !== FALSE && $item['parent_category_id'] != '' && $item['parent_category_id'] != '0' && !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', array($item['parent_category_id']))) {
$arrErr['parent_category_id'] = t('c_* The designated new category ID (T_ARG1) does not exist._01', array('T_ARG1' => $item['parent_category_id']));
}
// 削除フラグのチェック
if (array_search('del_flg', $this->arrFormKeyList) !== FALSE && $item['del_flg'] != '') {
if (!($item['del_flg'] == '0' or $item['del_flg'] == '1')) {
$arrErr['del_flg'] = t("c_* Only '0' (active) and '1' (delete) are effective for the deletion flag. _01");
}
}
// 重複チェック 同じカテゴリ内に同名の存在は許可されない
if (array_search('category_name', $this->arrFormKeyList) !== FALSE && $item['category_name'] != '') {
$parent_category_id = $item['parent_category_id'];
if ($parent_category_id == '') {
$parent_category_id = (string) '0';
}
$where = 'parent_category_id = ? AND category_id <> ? AND category_name = ?';
$exists = $objQuery->exists('dtb_category', $where, array($parent_category_id, $item['category_id'], $item['category_name']));
if ($exists) {
$arrErr['category_name'] = t('c_* A category of the same name already exists._01');
}
}
// 登録数上限チェック
$where = 'del_flg = 0';
$count = $objQuery->count('dtb_category', $where);
if ($count >= CATEGORY_MAX) {
$item['category_name'] = t('c_* The maximum number of categories that can be registered has been exceeded._01');
}
// 階層上限チェック
if (array_search('parent_category_id', $this->arrFormKeyList) !== FALSE and $item['parent_category_id'] != '') {
$level = $objQuery->get('level', 'dtb_category', 'category_id = ?', array($parent_category_id));
if ($level >= LEVEL_MAX) {
$arrErr['parent_category_id'] = t('c_* Registration of the T_ARG1 hierarchy or higher is not possible._01', array('T_ARG1' => LEVEL_MAX));
}
}
return $arrErr;
}
示例7: process
/**
* Page のプロセス.
*
* @return void
*/
function process()
{
$objView = new SC_SiteView();
$conn = new SC_DBConn();
$objDb = new SC_Helper_DB_Ex();
//表示件数の選択
if (isset($_POST['disp_number']) && SC_Utils_Ex::sfIsInt($_POST['disp_number'])) {
$this->disp_number = $_POST['disp_number'];
} else {
//最小表示件数を選択
$this->disp_number = current(array_keys($this->arrPRODUCTLISTMAX));
}
//表示順序の保存
$this->orderby = isset($_POST['orderby']) ? $_POST['orderby'] : "";
// GETのカテゴリIDを元に正しいカテゴリIDを取得する。
$arrCategory_id = $objDb->sfGetCategoryId("", $_GET['category_id']);
if (!isset($_GET['mode'])) {
$_GET['mode'] = "";
}
if (!isset($_GET['name'])) {
$_GET['name'] = "";
}
if (!isset($_POST['orderby'])) {
$_POST['orderby'] = "";
}
if (empty($arrCategory_id)) {
$arrCategory_id = array("0");
}
// タイトル編集
$tpl_subtitle = "";
if ($_GET['mode'] == 'search') {
$tpl_subtitle = "検索結果";
} elseif (empty($arrCategory_id[0])) {
$tpl_subtitle = "全商品";
} else {
$arrFirstCat = $objDb->sfGetFirstCat($arrCategory_id[0]);
$tpl_subtitle = $arrFirstCat['name'];
}
$objQuery = new SC_Query();
$count = $objQuery->count("dtb_best_products", "category_id = ?", $arrCategory_id);
// 以下の条件でBEST商品を表示する
// ・BEST最大数の商品が登録されている。
// ・カテゴリIDがルートIDである。
// ・検索モードでない。
if ($count >= BEST_MIN && $this->lfIsRootCategory($arrCategory_id[0]) && $_GET['mode'] != 'search') {
// 商品TOPの表示処理
$this->arrBestItems = SC_Utils_Ex::sfGetBestProducts($conn, $arrCategory_id[0]);
$this->BEST_ROOP_MAX = ceil((BEST_MAX - 1) / 2);
} else {
if ($_GET['mode'] == 'search' && strlen($_GET['category_id']) == 0) {
// 検索時にcategory_idがGETに存在しない場合は、仮に埋めたIDを空白に戻す
$arrCategory_id = array(0);
}
// 商品一覧の表示処理
$this->lfDispProductsList($arrCategory_id[0], $_GET['name'], $this->disp_number, $_POST['orderby']);
// 検索条件を画面に表示
// カテゴリー検索条件
if (strlen($_GET['category_id']) == 0) {
$arrSearch['category'] = "指定なし";
} else {
$arrCat = $conn->getOne("SELECT category_name FROM dtb_category WHERE category_id = ?", $arrCategory_id);
$arrSearch['category'] = $arrCat;
}
// 商品名検索条件
if ($_GET['name'] === "") {
$arrSearch['name'] = "指定なし";
} else {
$arrSearch['name'] = $_GET['name'];
}
}
// レイアウトデザインを取得
$layout = new SC_Helper_PageLayout_Ex();
$layout->sfGetPageLayout($this, false, "products/list.php");
if (isset($_POST['mode']) && $_POST['mode'] == "cart" && $_POST['product_id'] != "") {
// 値の正当性チェック
if (!SC_Utils_Ex::sfIsInt($_POST['product_id']) || !$objDb->sfIsRecord("dtb_products", "product_id", $_POST['product_id'], "del_flg = 0 AND status = 1")) {
SC_Utils_Ex::sfDispSiteError(PRODUCT_NOT_FOUND);
} else {
// 入力値の変換
$this->arrErr = $this->lfCheckError($_POST['product_id']);
if (count($this->arrErr) == 0) {
$objCartSess = new SC_CartSession();
$classcategory_id = "classcategory_id" . $_POST['product_id'];
$classcategory_id1 = $_POST[$classcategory_id . '_1'];
$classcategory_id2 = $_POST[$classcategory_id . '_2'];
$quantity = "quantity" . $_POST['product_id'];
// 規格1が設定されていない場合
if (!$this->tpl_classcat_find1[$_POST['product_id']]) {
$classcategory_id1 = '0';
}
// 規格2が設定されていない場合
if (!$this->tpl_classcat_find2[$_POST['product_id']]) {
$classcategory_id2 = '0';
}
$objCartSess->setPrevURL($_SERVER['REQUEST_URI']);
//.........这里部分代码省略.........
示例8: sfGetCategoryId
/**
* 選択中の商品のカテゴリを取得する.
*
* @param integer $product_id プロダクトID
* @param integer $category_id カテゴリID
* @param bool $closed 非表示の商品を含む場合はtrue
* @return array 選択中の商品のカテゴリIDの配列
*
*/
public function sfGetCategoryId($product_id, $category_id = 0, $closed = false)
{
if ($closed) {
$status = '';
} else {
$status = 'status = 1';
}
$category_id = (int) $category_id;
$product_id = (int) $product_id;
$objCategory = new SC_Helper_Category_Ex();
if ($objCategory->isValidCategoryId($category_id, $closed)) {
$category_id = array($category_id);
} elseif (SC_Utils_Ex::sfIsInt($product_id) && $product_id != 0 && SC_Helper_DB_Ex::sfIsRecord('dtb_products', 'product_id', $product_id, $status)) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$category_id = $objQuery->getCol('category_id', 'dtb_product_categories', 'product_id = ?', array($product_id));
} else {
// 不正な場合は、空の配列を返す。
$category_id = array();
}
return $category_id;
}
示例9: lfCheckErrorDetail
/**
* このフォーム特有の複雑な入力チェックを行う.
*
* @param array 確認対象データ
* @param array エラー配列
* @return array エラー配列
*/
function lfCheckErrorDetail($item, $arrErr)
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
/*
// カテゴリIDの存在チェック
if (!$this->lfIsDbRecord('dtb_category', 'category_id', $item)) {
$arrErr['category_id'] = '※ 指定のカテゴリIDは、登録されていません。';
}
*/
// 親カテゴリIDの存在チェック
if (array_search('parent_category_id', $this->arrFormKeyList) !== FALSE && $item['parent_category_id'] != '' && $item['parent_category_id'] != '0' && !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', array($item['parent_category_id']))) {
$arrErr['parent_category_id'] = '※ 指定の親カテゴリID(' . $item['parent_category_id'] . ')は、存在しません。';
}
// 削除フラグのチェック
if (array_search('del_flg', $this->arrFormKeyList) !== FALSE && $item['del_flg'] != '') {
if (!($item['del_flg'] == '0' or $item['del_flg'] == '1')) {
$arrErr['del_flg'] = '※ 削除フラグは「0」(有効)、「1」(削除)のみが有効な値です。';
}
}
// 重複チェック 同じカテゴリ内に同名の存在は許可されない
if (array_search('category_name', $this->arrFormKeyList) !== FALSE && $item['category_name'] != '') {
$parent_category_id = $item['parent_category_id'];
if ($parent_category_id == '') {
$parent_category_id = (string) '0';
}
$where = 'parent_category_id = ? AND category_id <> ? AND category_name = ?';
$exists = $objQuery->exists('dtb_category', $where, array($parent_category_id, $item['category_id'], $item['category_name']));
if ($exists) {
$arrErr['category_name'] = '※ 既に同名のカテゴリが存在します。';
}
}
// 登録数上限チェック
$where = 'del_flg = 0';
$count = $objQuery->count('dtb_category', $where);
if ($count >= CATEGORY_MAX) {
$item['category_name'] = '※ カテゴリの登録最大数を超えました。';
}
// 階層上限チェック
if (array_search('parent_category_id', $this->arrFormKeyList) !== FALSE and $item['parent_category_id'] != '') {
$level = $objQuery->get('level', 'dtb_category', 'category_id = ?', array($parent_category_id));
if ($level >= LEVEL_MAX) {
$arrErr['parent_category_id'] = '※ ' . LEVEL_MAX . '階層以上の登録はできません。';
}
}
return $arrErr;
}
示例10: lfCheckProductId
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;
}
示例11: checkExist
/**
* 同じ内容の配送方法が存在するか確認.
*
* @param array $arrDeliv
* @return boolean
*/
public function checkExist($arrDeliv)
{
$objDb = new SC_Helper_DB_Ex();
if ($arrDeliv['deliv_id'] == '') {
$ret = $objDb->sfIsRecord('dtb_deliv', 'service_name', array($arrDeliv['service_name']));
} else {
$objQuery =& SC_Query_Ex::getSingletonInstance();
$ret = $objQuery->count('dtb_deliv', 'deliv_id != ? AND service_name = ? AND del_flg = 0', array($arrDeliv['deliv_id'], $arrDeliv['service_name'])) > 0 ? true : false;
}
return $ret;
}
示例12: isValidProductId
/**
* 有効な商品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;
}
示例13: lfIsDbRecord
/**
* 指定されたキーと値の有効性のDB確認
*
* @param string $table テーブル名
* @param string $keyname キー名
* @param array $item 入力データ配列
* @return boolean true:有効なデータがある false:有効ではない
*/
public function lfIsDbRecord($table, $keyname, $item)
{
if (array_search($keyname, $this->arrFormKeyList) !== FALSE && $item[$keyname] != '' && !SC_Helper_DB_Ex::sfIsRecord($table, $keyname, (array) $item[$keyname])) {
return false;
}
return true;
}
示例14: lfGetCategoryId
/**
* カテゴリ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];
}
示例15: lfCheckError
/**
* 入力エラーチェック.
*
* @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;
}