Exemplo n.º 1
0
/**
 * 批准店舖、商品、消費券、公告、相冊、的更新內容
 *return
 */
function pkupdate($cacheinfo, $update)
{
    global $_G, $_SGLOBAL, $theurl, $mname;
    $_POST = $update;
    $itemid = $_POST['itemid'];
    $resultitems = $resultmessage = $resultimage = $updateitem = array();
    $modelsinfoarr = $cacheinfo['models'];
    $columnsinfoarr = $cacheinfo['columns'];
    foreach ($columnsinfoarr as $result) {
        if ($result['isfixed'] == 1) {
            $resultitems[] = $result;
        } else {
            $resultmessage[] = $result;
        }
        if ($result['isimage'] == 1) {
            $resultimage[] = $result;
        }
    }
    //構建數據
    $setsqlarr = $setitemsqlarr = array();
    $setsqlarr = getsetsqlarr($resultitems);
    $setsqlarr['subjectimage'] = isset($_POST['subjectimage']) ? $_POST['subjectimage'] : '';
    $setsqlarr['updateverify'] = 0;
    $setsqlarr['catid'] = $_POST['catid'];
    $setsqlarr['subject'] = $_POST['subject'];
    $setsqlarr['grade'] = $_POST['grade'];
    unset($setsqlarr['grade']);
    $query = DB::query('SELECT * FROM ' . tname($modelsinfoarr['modelname'] . 'items') . ' WHERE itemid = \'' . $itemid . '\'');
    $defaultmessage = DB::fetch($query);
    $ext = fileext($defaultmessage['subjectimage']);
    if ($defaultmessage['subjectimage'] != $setsqlarr['subjectimage']) {
        if (in_array($ext, array('jpg', 'jpeg', 'png'))) {
            @unlink(A_DIR . '/' . substr($defaultmessage['subjectimage'], 0, strrpos($defaultmessage['subjectimage'], '.')) . '.thumb.jpg');
        }
        @unlink(A_DIR . '/' . $defaultmessage['subjectimage']);
    }
    updatetable($modelsinfoarr['modelname'] . 'items', $setsqlarr, array('itemid' => $itemid));
    //權限限制
    $setsqlarr = getsetsqlarr($resultmessage);
    $setsqlarr['message'] = $_POST['message'];
    if ($modelsinfoarr['modelname'] == 'shop') {
        $setsqlarr['banner'] = isset($_POST['banner']) ? $_POST['banner'] : '';
        $setsqlarr['windowsimg'] = isset($_POST['windowsimg']) ? $_POST['windowsimg'] : '';
        $query = DB::query('SELECT * FROM ' . tname($modelsinfoarr['modelname'] . 'message') . ' WHERE itemid = \'' . $itemid . '\'');
        $defaultmessage = DB::fetch($query);
        foreach ($resultimage as $ext_img) {
            $ext = fileext($defaultmessage[$ext_img['fieldname']]);
            if ($defaultmessage[$ext_img['fieldname']] != $setsqlarr[$ext_img['fieldname']]) {
                if (in_array($ext, array('jpg', 'jpeg', 'png'))) {
                    @unlink(A_DIR . '/' . substr($defaultmessage[$ext_img['fieldname']], 0, strrpos($defaultmessage[$ext_img['fieldname']], '.')) . '.thumb.jpg');
                }
                @unlink(A_DIR . '/' . $defaultmessage[$ext_img['fieldname']]);
            }
        }
    } elseif ($modelsinfoarr['modelname'] == 'consume') {
        $setsqlarr['exception'] = $_POST['exception'];
    }
    if ($setsqlarr) {
        updatetable($modelsinfoarr['modelname'] . 'message', $setsqlarr, array('itemid' => $itemid));
        //權限限制
    }
    if (!empty($_POST['relatedidstr'])) {
        $shopid = $_POST['shopid'];
        foreach ($_POST['relatedidstr'] as $related) {
            $related = explode('@', $related);
            $relatedtype = trim($related[0]);
            $relatedid = intval($related[1]);
            if (DB::result_first("SELECT itemid FROM " . tname($relatedtype . "items") . " WHERE itemid='{$relatedid}'")) {
                $relatedidarr[$relatedid] = $relatedtype;
            }
        }
        foreach ($relatedidarr as $relatedid => $relatedtype) {
            $goodrelatedarr[] = '(\'' . $itemid . '\', \'good\', \'' . $relatedid . '\', \'' . $relatedtype . '\', \'' . $shopid . '\')';
        }
        DB::query("DELETE FROM " . tname('relatedinfo') . " WHERE itemid='{$itemid}' AND type='good'");
        DB::query("REPLACE INTO " . tname('relatedinfo') . " (`itemid`, `type`, `relatedid`, relatedtype, `shopid`) VALUES " . implode(",", $goodrelatedarr) . " ");
    } elseif ($modelsinfoarr['modelname'] == 'good') {
        DB::query("DELETE FROM " . tname('relatedinfo') . " WHERE itemid='{$itemid}' AND type='good'");
    }
    if (!empty($_POST['attr_ids'])) {
        require_once B_ROOT . '/batch.attribute.php';
        setattributesettings($_POST['catid'], $itemid, $_POST['attr_ids']);
    }
    DB::query("DELETE FROM " . tname('itemupdates') . " WHERE `type` = '{$modelsinfoarr['modelname']}' AND itemid='{$itemid}'");
    require_once B_ROOT . './api/bbs_syncpost.php';
    syncpost($itemid, $mname);
}
Exemplo n.º 2
0
                 $relatedtype = trim($related[0]);
                 $relatedid = intval($related[1]);
                 if (DB::result_first("SELECT itemid FROM " . tname($relatedtype . "items") . " WHERE itemid='{$relatedid}'")) {
                     $relatedidarr[$relatedid] = $relatedtype;
                 }
             }
             foreach ($relatedidarr as $relatedid => $relatedtype) {
                 $relatedinfoarr[] = '(\'' . $itemid . '\', \'' . $mname . '\', \'' . $relatedid . '\', \'' . $relatedtype . '\', \'' . $_POST['shopid'] . '\')';
             }
             DB::query("REPLACE INTO " . tname("relatedinfo") . " (itemid, `type`, `relatedid`, `relatedtype`, `shopid`) VALUES " . implode(",", $relatedinfoarr) . " ");
         }
     }
 }
 if (!empty($_POST['syncfid']) || !empty($_SGLOBAL['panelinfo']['syncfid'])) {
     require_once B_ROOT . './api/bbs_syncpost.php';
     syncpost($itemid, $mname);
 }
 $shopid = intval($_G['cookie']['shopid']);
 //刪除各種分類的緩存
 $_BCACHE->deltype('sitelist', 'attr');
 $_BCACHE->deltype('sitelist', $mname);
 $_BCACHE->deltype('storelist', $mname, $shopid);
 if ($mname == 'shop') {
     //刪除各種分類的緩存
     $_BCACHE->deltype('detail', 'shop', $_POST['itemid']);
     if ($ucid > 0) {
         //新註冊賬號
         $insertsqlarr = array('uid' => $ucid, 'username' => $ucname, 'password' => md5($ucid . '|' . random(8)), 'email' => $ucemail, 'myshopid' => $itemid, 'dateline' => $_G['timestamp'], 'updatetime' => $_G['timestamp'], 'ip' => $_G['clientip']);
         inserttable('members', $insertsqlarr, 0, false, 1);
         DB::query('UPDATE ' . tname('shopitems') . " SET uid='{$ucid}', username='******' WHERE itemid='{$itemid}'");
     }
Exemplo n.º 3
0
/**
 * 是否需要想論壇推送
 *
 * @param int $albumid
 */
function syncpost_check($mname, $items)
{
    global $_SGLOBAL;
    $query = DB::query("SELECT itemid, shopid FROM " . DB::table($mname . 'items') . " WHERE itemid IN ({$items})");
    while ($result = DB::fetch($query)) {
        getpanelinfo($result['shopid']);
        if (!empty($_SGLOBAL['panelinfo']['syncfid'])) {
            require_once B_ROOT . './api/bbs_syncpost.php';
            syncpost($result['itemid'], $mname);
        }
    }
    return false;
}