Ejemplo n.º 1
0
 public function update($params = array())
 {
     if (is_array($params['config'])) {
         $params['config'] = serialize($params['config']);
     }
     parent::update($params);
 }
Ejemplo n.º 2
0
 /**
  * @param array $params
  * @return bool
  */
 public function update($params = array())
 {
     // if not user id then we should not be doing anything here
     if (empty($params['user_id'])) {
         return false;
     }
     $this->user_id = $params['user_id'];
     // check for a previous avatar otherwise set the default
     $this->image = $params['current_avatar'];
     if (empty($this->image)) {
         $this->image = URL_FULL . 'framework/modules/users/assets/images/avatar_not_found.jpg';
     }
     if (!empty($_FILES['avatar']['tmp_name'])) {
         // if the user uploaded a new avatar lets save it!
         $info = expFile::getImageInfo($_FILES['avatar']['tmp_name']);
         if ($info['is_image']) {
             // figure out the mime type and set the file extension and name
             $extinfo = explode('/', $info['mime']);
             $extension = $extinfo[1];
             $avatar_name = $this->user_id . '.' . $extension;
             // save the file to the filesystem
             $file = expFile::fileUpload('avatar', true, false, $avatar_name, 'files/avatars/');
             //save the file to the database
             $this->image = $file->url;
             $this->use_gravatar = false;
             // if we uploaded a file, we don't want to use gravatar
         }
     } elseif (!empty($params['use_gravatar'])) {
         // if the user chose gravatar, create the link and save it!
         $this->use_gravatar = $params['use_gravatar'];
         $emailMD5 = md5(strtolower(trim(user::getEmailById($params['user_id']))));
         $this->image = "http://www.gravatar.com/avatar/" . $emailMD5 . ".jpg";
     }
     parent::update();
 }
Ejemplo n.º 3
0
 public function update($params = array())
 {
     //FJD: FIXME: this is here because expRecord throughs an error in the build function when trying to run
     //strip slashes on an array.  Should probably figure out a way to tell Exp if a field is supposed to be
     //serialized, and then we can handle it all in expRecord.
     $params['group_ids'] = serialize($params['group_ids']);
     $this->startdate = datetimecontrol::parseData('startdate', $params);
     $this->startdate_time = datetimecontrol::parseData('startdate_time', $params) + $this->startdate;
     $this->enddate = datetimecontrol::parseData('enddate', $params);
     $this->enddate_time = datetimecontrol::parseData('enddate_time', $params) + $this->enddate;
     //                   eDebug($_POST);
     //eDebug($params);
     //eDebug($this, true);
     parent::update($params);
 }
Ejemplo n.º 4
0
 public function update($params = array())
 {
     // eDebug($params, true);
     parent::update($params);
 }
Ejemplo n.º 5
0
 public function update($params = array())
 {
     parent::update($params);
 }
Ejemplo n.º 6
0
 public function update($params = array())
 {
     global $db;
     //Get the product
     $product = $db->selectObject('product', 'id =' . $params['id']);
     //Get product files
     $product->expFile = $this->getProductFiles($params['id']);
     // eDebug($product, true);
     $tab_loaded = $params['tab_loaded'];
     //check if we're saving a newly copied product and if we create children also
     $originalId = isset($params['original_id']) && isset($params['copy_children']) ? $params['original_id'] : 0;
     $originalModel = isset($params['original_model']) && isset($params['copy_children']) ? $params['original_model'] : 0;
     if (!empty($product->parent_id)) {
         $product->sef_url = '';
     }
     //if child, set sef_url to nada
     //Tabs with not directly being saved in the product table and need some special operations
     $tab_exceptions = array('categories', 'options', 'related', 'userinput', 'extrafields', 'model', 'notes');
     foreach ($tab_loaded as $tab_key => $tab_item) {
         if (!in_array($tab_key, $tab_exceptions)) {
             foreach ($params[$tab_key] as $key => $item) {
                 $product->{$key} = $item;
             }
         }
     }
     if (isset($tab_loaded['images'])) {
         $product->expFile = $params['expFile'];
     }
     if ($params['shipping']['required_shipping_calculator_id'] > 0) {
         $product->required_shipping_method = $params['required_shipping_methods'][$params['shipping']['required_shipping_calculator_id']];
     }
     if (isset($tab_loaded['categories'])) {
         $this->saveCategories($params['storeCategory'], null, $params['id'], $this->classname);
     }
     if (isset($tab_loaded['options'])) {
         //Option Group Tab
         if (!empty($params['optiongroups'])) {
             foreach ($params['optiongroups'] as $title => $group) {
                 if (isset($this->params['original_id']) && $params['original_id'] != 0) {
                     $group['id'] = '';
                 }
                 //for copying products
                 $optiongroup = new optiongroup($group);
                 $optiongroup->product_id = $product->id;
                 $optiongroup->save();
                 foreach ($params['optiongroups'][$title]['options'] as $opt_title => $opt) {
                     if (isset($params['original_id']) && $params['original_id'] != 0) {
                         $opt['id'] = '';
                     }
                     //for copying products
                     $opt['product_id'] = $product->id;
                     $opt['is_default'] = false;
                     $opt['title'] = $opt_title;
                     $opt['optiongroup_id'] = $optiongroup->id;
                     if (isset($params['defaults'][$title]) && $params['defaults'][$title] == $opt['title']) {
                         $opt['is_default'] = true;
                     }
                     $option = new option($opt);
                     $option->save();
                 }
             }
         }
     }
     if (isset($tab_loaded['related'])) {
         //Related Products Tab
         if (!empty($tab_loaded['related']) && (empty($originalId) || !empty($params['copy_related']))) {
             $relprods = $db->selectObjects('crosssellItem_product', "product_id=" . $product->id);
             $db->delete('crosssellItem_product', 'product_id=' . $product->id);
             foreach ($params['relatedProducts'] as $key => $prodid) {
                 $ptype = new product($prodid);
                 $tmp->product_id = $product->id;
                 $tmp->crosssellItem_id = $prodid;
                 $tmp->product_type = $ptype->product_type;
                 $db->insertObject($tmp, 'crosssellItem_product');
                 if (isset($params['relateBothWays'][$prodid])) {
                     $tmp->crosssellItem_id = $product->id;
                     $tmp->product_id = $prodid;
                     $tmp->product_type = $ptype->product_type;
                     $db->insertObject($tmp, 'crosssellItem_product');
                 }
             }
         }
     }
     if (isset($tab_loaded['userinput'])) {
         //User Input fields Tab
         if (isset($params['user_input_use']) && is_array($params['user_input_use'])) {
             foreach ($params['user_input_use'] as $ukey => $ufield) {
                 $user_input_fields[] = array('use' => $params['user_input_use'][$ukey], 'name' => $params['user_input_name'][$ukey], 'is_required' => $params['user_input_is_required'][$ukey], 'min_length' => $params['user_input_min_length'][$ukey], 'max_length' => $params['user_input_max_length'][$ukey], 'description' => $params['user_input_description'][$ukey]);
             }
             $product->user_input_fields = serialize($user_input_fields);
         } else {
             $product->user_input_fields = serialize(array());
         }
     }
     if (isset($tab_loaded['extrafields'])) {
         //Extra Field Tab
         foreach ($params['extra_fields_name'] as $xkey => $xfield) {
             if (!empty($xfield)) {
                 $extra_fields[] = array('name' => $xfield, 'value' => $params['extra_fields_value'][$xkey]);
             }
         }
         if (is_array($extra_fields)) {
             $product->extra_fields = serialize($extra_fields);
         } else {
             unset($product->extra_fields);
         }
     }
     //Adjusting Children Products
     if (!empty($originalId) && !empty($this->params['copy_children'])) {
         $origProd = new $product_type($originalId);
         $children = $origProd->find('all', 'parent_id=' . $originalId);
         foreach ($children as $child) {
             unset($child->id);
             $child->parent_id = $product->id;
             $child->title = $product->title;
             $child->sef_url = '';
             if (isset($this->params['adjust_child_price']) && isset($this->params['new_child_price']) && is_numeric($this->params['new_child_price'])) {
                 $child->base_price = $this->params['new_child_price'];
             }
             if (!empty($originalModel)) {
                 $child->model = str_ireplace($originalModel, $product->model, $child->model);
             }
             $child->save();
         }
     }
     //Check if we are copying and not just editing product
     if (isset($params['original_id'])) {
         // eDebug($product->id, true);
         unset($product->id);
         unset($product->sef_url);
         $product->original_id = $params['original_id'];
         // eDebug($product, true);
     }
     parent::update($product);
 }