protected function doCreativeSubmit($request) { $validator = new WPAM_Validation_Validator(); //#23 before getting media library images, upload an image file if there is one $has_new_image = isset($_FILES['fileImageNew']) && trim($_FILES['fileImageNew']['name']) != ''; if ($has_new_image) { $mimes = array('jpg|jpeg|jpe' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', 'bmp' => 'image/bmp', 'tif|tiff' => 'image/tiff'); $file = wp_handle_upload($_FILES['fileImageNew'], array('mimes' => $mimes, 'test_form' => false)); if (isset($file['error'])) { $validator->addError(new WPAM_Validation_ValidatorError('fileImageNew', sprintf(__('Image Upload Error: %s', 'wpam'), $file['error']))); } else { //successfully uploaded an image $object = array('post_title' => basename($file['url']), 'post_content' => $file['url'], 'post_mime_type' => $file['type'], 'guid' => $file['url']); // Save the attachment $attachment_id = wp_insert_attachment($object, $file['file']); //make it selected in the media library dropdown $has_new_image = false; $request['ddFileImage'] = $attachment_id; } } $db = new WPAM_Data_DataAccess(); $images = $db->getWordPressRepository()->getAllImageAttachments(); $imageIds = array(); foreach ($images as $image) { $imageIds[] = $image->ID; } $validator->addValidator('txtName', new WPAM_Validation_StringValidator(1)); //$validator->addValidator('ddLandingPage', new WPAM_Validation_SetValidator(array('index','products'))); $validator->addValidator('ddType', new WPAM_Validation_SetValidator(array('image', 'text'))); if ($request['ddType'] === 'image' && !$has_new_image) { $validator->addValidator('ddFileImage', new WPAM_Validation_SetValidator($imageIds)); } else { if ($request['ddType'] === 'text') { $validator->addValidator('txtLinkText', new WPAM_Validation_StringValidator(1)); } } $vr = $validator->validate($request); if ($vr->getIsValid()) { $creativesRepo = $db->getCreativesRepository(); if ($request['action'] === 'edit') { $model = $creativesRepo->load($request['creativeId']); } else { $model = new WPAM_Data_Models_CreativeModel(); $model->dateCreated = time(); //#50 new creatives start as 'inactive' $model->status = 'active'; } $model->type = $request['ddType']; if ($model->type === 'image') { $model->imagePostId = $request['ddFileImage']; $model->altText = $request['txtImageAltText']; } else { if ($model->type === 'text') { $model->linkText = $request['txtLinkText']; $model->altText = $request['txtAltText']; } else { wp_die(__('Insert failed: Bad creative type.', 'wpam')); } } $model->slug = $request['txtSlug']; $model->name = $request['txtName']; $db = new WPAM_Data_DataAccess(); $response = new WPAM_Pages_TemplateResponse('admin/creatives_detail'); if ($request['action'] === 'edit') { $response->viewData['updateMessage'] = __('Creative Updated.', 'wpam'); $creativesRepo->update($model); } else { if ($request['action'] === 'new') { $id = $creativesRepo->insert($model); $model->creativeId = $id; $response->viewData['updateMessage'] = __('Creative ... created.', 'wpam'); } else { wp_die(__('Insert failed: invalid creative update mechanism.', 'wpam')); } } $response->viewData['request'] = $request; $response->viewData['creative'] = $model; return $response; } else { return $this->getCreativeUpdateForm($request, $vr); } }
public function getPostId($postName) { $database = new WPAM_Data_DataAccess(); return $database->getWordPressRepository()->getPostId($postName); }