/** * 批准店舖、商品、消費券、公告、相冊、的更新內容 *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); }
$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}'"); }
/** * 是否需要想論壇推送 * * @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; }