/** * @param array $data Form submission $_POST * @param array $image Form submission $_FILES * @return array */ public function save($data, $image) { $data['business_id'] = $this->business_id; $category_id = $data['category']; unset($data['category']); if (isset($data['menus'])) { $menu_ids = $data['menus']; unset($data['menus']); } else { $menu_ids = array(); } $is_update = true; // if ID isn't set, create item if (!isset($data['id'])) { $data['created_at'] = date('Y-m-d H:i:s'); $id = $this->db->insert('menu_items', $data); $is_update = false; unset($data['business_id']); } else { $id = $data['id']; unset($data['id']); } $image = new Image($image['image']); $return_array = array(); if ($image->isUploaded()) { $validation = $image->validate(); if (!$validation['status']) { $return_array = array('message' => $validation['message'], 'status' => 0); } else { $image->save('item-' . $id, $this->business_id); $file = '/media/' . $this->business_id . '/item-' . $id . '.jpg'; $image->resizeAndSave($file, 500, 300); $data['image'] = 'item-' . $id . '.jpg'; } } if (isset($data['image']) || $is_update) { $this->db->update('menu_items', $data, array("`id` = '" . $id . "'", "`business_id` = '" . $this->business_id . "'")); } $this->_saveCategoryPairing($id, $category_id); $this->_saveMenuPairings($id, $menu_ids); if (isset($return_array['status'])) { $return_array = array('message' => 'Image could not be saved. (' . $return_array['message'] . ')', 'status' => 0, 'id' => $id); } else { $return_array = array('message' => 'Saved.', 'status' => 1); } $return_array['id'] = $id; return $return_array; }
/** * @param array $data Form submission $_POST * @param array $image Form submission $_FILES * @return array */ public function saveInformation($data, $image) { $image = new Image($image['logo']); $return_array = array(); if ($image->isUploaded()) { $validation = $image->validate(); if (!$validation['status']) { $return_array = array('message' => $validation['message'], 'status' => 0); } else { $data['logo'] = $image->save('logo', $this->business_id, true); $file = '/media/' . $this->business_id . '/' . $data['logo']; $image->resizeAndSave($file, 400, 'auto'); } } $data['subdomain'] = preg_replace('/[^\\da-z]/i', '', $data['subdomain']); $this->db->update('businesses', $data, array("`id` = '" . $this->business_id . "'")); $return_array = array('message' => 'Saved.', 'status' => 1); return $return_array; }
/** * Loop through all images for a form submission, and validate, save, etc. * * @param array $images * @return array */ public function processImages($images = array()) { if (!$images) { return array('message' => 'Missing images.', 'status' => 0); } $return_array = array(); foreach ($this->images[$this->page] as $key => $image_name) { $image = new Image($images[$key]); if (!$image->isUploaded()) { continue; } $validation = $image->validate(); if (!$validation['status']) { return array('message' => $validation['message'], 'status' => 0); } else { $image->save($image_name, $this->business_id); $file = '/media/' . $this->business_id . '/' . $image_name . '.jpg'; $image->resizeAndSave($file, $this->image_sizes[$image_name]['width'], $this->image_sizes[$image_name]['height']); $return_array[$key] = $image_name . '.jpg'; } } $return_array['status'] = 1; return $return_array; }