예제 #1
0
파일: item.php 프로젝트: alencarmo/OCF
 function delete($whereFields = "", $calledFrom = 'itemDelete')
 {
     global $gorumroll, $siteDemo;
     $_S =& new AppSettings();
     if ($siteDemo) {
         return Roll::setInfoText("This operation is not permitted in the demo.");
     }
     parent::delete($whereFields);
     G::load($cat, $this->cid, "appcategory");
     if ($calledFrom != 'categoryDelete' && $this->status) {
         $cat->decreaseDirectItemNum();
     }
     $query = array("SELECT id, favorities FROM @user WHERE FIND_IN_SET(#this->id#, favorities)!=0", $this->id);
     $users = new User();
     loadObjectsSql($users, $query, $users);
     foreach ($users as $u) {
         $f = preg_replace("{(,)?\\b{$this->id}\\b(?(1)|(,|\$))}", "", $u->favorities);
         executeQuery("UPDATE @user SET favorities=#f# WHERE id=#u->id#", $f, $u->id);
     }
     if ($_S->ecommerceEnabled()) {
         executeQuery("DELETE FROM @purchaseitem WHERE iid=#id#", $this->id);
     }
     // Ha az admin torolte ki az ad-et, akkor emailt kell kuldeni a
     // tulajnak:
     hasAdminRights($isAdm);
     // Ha a kategoria torleserol jutunk ide, nem kell levelet kuldeni:
     if ($isAdm && $calledFrom == 'itemDelete') {
         G::load($n, Notification_adDeleted, "notification");
         if ($n->active) {
             if ($ownerEmail = $this->getEmailParams($params)) {
                 $n->send($ownerEmail, $params);
             }
         }
     }
     CacheManager::resetCache($this->cid);
 }
예제 #2
0
파일: user.php 프로젝트: alencarmo/OCF
 function delete()
 {
     global $siteDemo;
     if ($siteDemo) {
         Roll::setInfoText("This operation is not permitted in the demo.");
         return;
     }
     parent::delete();
     G::load($items, array("SELECT * FROM @item WHERE ownerId=#this->id#", $this->id));
     foreach ($items as $item) {
         $item->delete("", "userDelete");
     }
     executeQuery("DELETE FROM @subscription WHERE uid=#uid#", $this->id);
 }