public function actionAddPlanPicture() { if (isset($_FILES) && count($_FILES) > 0 && ControleurRights::canAddPlans()) { $plan = new Plan(); $plan = Plan::getEntity($_POST['id_plan']); // Delete old picture if ($plan->getMedia_id() != null) { $old_media = Media::getEntity($plan->getMedia_id()); $old_media->deleteEntity(); } // Upload new picture $media_list = ControleurMedia::actionUploadNewMedia($_FILES, $_POST['id_plan'], $plan->getName()); // Save picture to plan $media = $media_list[0]; $media->setIs_main_media(true); $media->updateEntity(); $plan->setMedia_id($media->getId()); $plan->updateEntity(); } }
/** * * Add media to objectId (which type is objectClass) * and use prefixColumn (column of objectClass) as filename prefix. * isMainMedia indicate if the upload picture is the main one of the object * * @param string $objectClass * @param string $objectId * @param string $prefixColumn * @param boolean $isMainMedia */ private static function addMedia($objectClass, $objectId, $prefixColumn, $isMainMedia) { if (isset($_FILES) && count($_FILES) > 0) { $entity = $objectClass::getEntity($objectId); // Delete old picture if ($entity->getMedia_id() != null) { $old_media = Media::getEntity($entity->getMedia_id()); $old_media->deleteEntity(); } // Upload new picture $func = 'get' . ucfirst($prefixColumn); $media_list = ControleurMedia::actionUploadNewMedia($_FILES, $objectId, $entity->{$func}()); // Save picture to project $media = $media_list[0]; $media->setIs_main_media($isMainMedia); $media->updateEntity(); $entity->setMedia_id($media->getId()); $entity->updateEntity(); return $entity; } }