예제 #1
0
 /**
  * Override delete method to add the image processing
  */
 public function delete(&$pks)
 {
     // standard joomla delete
     $delete = parent::delete($pks);
     if (!$delete) {
         return false;
     }
     // delete images
     $imageHelper = new JKitHelperImage(JComponentHelper::getParams('com_jkit'));
     foreach ($pks as $pk) {
         // delete item image file
         $imageHelper->deleteImage($pk, 'items');
         // delete item gallery images
         $query_images = $this->_db->getQuery(true)->select('id')->from('#__jkit_images')->where("`item_id` = " . (int) $pk);
         $images_ids = $this->_db->setQuery($query_images)->loadColumn();
         if (count($images_ids)) {
             // delete images files
             foreach ($images_ids as $image_id) {
                 $imageHelper->deleteImage($image_id, 'images');
             }
             // db delete images
             $query_delete_images = $this->_db->getQuery(true)->delete('#__jkit_images')->where("`item_id` = " . (int) $pk);
             $this->_db->setQuery($query_delete_images)->query();
         }
     }
     // delete item translations
     $this->_db->setQuery("DELETE FROM `#__jkit_translations` WHERE `ref_table` = 'items' AND `ref_id` IN(" . implode(',', $pks) . ")")->query();
     // delete item tags
     $this->_db->setQuery('DELETE FROM `#__jkit_tags_item` WHERE `item_id` IN(' . implode(',', $pks) . ')')->query();
     return true;
 }
예제 #2
0
 /**
  * Override delete method to add the image processing
  */
 public function delete(&$pks)
 {
     // standard joomla delete
     $delete = parent::delete($pks);
     if (!$delete) {
         return false;
     }
     // delete images
     $imageHelper = new JKitHelperImage(JComponentHelper::getParams('com_jkit'));
     foreach ($pks as $pk) {
         $imageHelper->deleteImage($pk, 'users');
     }
     return true;
 }
예제 #3
0
파일: user.php 프로젝트: radabass/JKit
 /**
  * Extend save method to add J! User actions
  */
 public function save($data)
 {
     // get the table
     $table = $this->getTable();
     // check isNew
     $key = $table->getKeyName();
     $pk = !empty($data[$key]) ? $data[$key] : (int) $this->getState($this->getName() . '.id');
     $isNew = true;
     if ($pk > 0) {
         $table->load($pk);
         $isNew = false;
     }
     // bind
     if (!$table->bind($data)) {
         $this->setError($table->getError());
         return false;
     }
     // check
     if (!$table->check()) {
         $this->setError($table->getError());
         return false;
     }
     // check if the user exists
     $jid = $table->jid ? $table->jid : 0;
     // check, save or update joomla user before store
     $juser = $this->saveJoomlaUser($jid, $data);
     if (!$juser) {
         return false;
     }
     // save jkit user
     $table->jid = $juser->id;
     if (!$table->store()) {
         $this->setError($table->getError());
         // TODO delete prev created joomla user
         return false;
     }
     // set state
     $pkName = $table->getKeyName();
     if (isset($table->{$pkName})) {
         $this->setState($this->getName() . '.id', $table->{$pkName});
     }
     $this->setState($this->getName() . '.new', $isNew);
     // save or delete image
     $imageHelper = new JKitHelperImage(JComponentHelper::getParams('com_jkit'));
     $file = $_FILES['image'];
     if ($file['size']) {
         $imageHelper->uploadImage($file, $this->getState('user.id'), 'users');
     } else {
         if (JRequest::getInt('image_delete')) {
             $imageHelper->deleteImage($this->getState('user.id'), 'users');
         }
     }
     return true;
 }