1779 Posts in 582 Topics by 556 members
|
Page:
1
|
Go to End | |
| Author | Topic: | 981 Views |
-
Upload photo in Frontend forms

9 February 2011 at 1:34pm
Hi, I hope somebody has already did this. I've been searching in the Forum but I haven't found the right solution to my problem.
I have a custom form that updates member information with upload photo. Im using SimpleImageField here but I cant seem to make it work.class updateMemberInfo_Controller extends Page_Controller {
..function getMemberForm() {
// List your fields here
$fields = new FieldSet(
// List your fields here
new TextField( "FirstName", "First name" ),
new TextField( "Surname" ),
new EmailField( "Email", "Change Email Address" ),
//new EmailField( "RetypeEmail", "Re-enter Email" ),
new OptionsetField( "Gender", "Gender", array( "Male" => "Male", "Female" => "Female" ) ),
new TextAreaField( "Address" ),
new TextField( "Contact" ),
new TextField( "Country" ),
new SimpleImageField( 'Photo' )
);$actions = new FieldSet( new FormAction( "doSave", "Save", "", "", "big-button" ) );
$requiredFields = new RequiredFields( "Email", "FirstName", "Surname", "Address" );
$form = new Form( $this, "Form", $fields, $actions, $requiredFields );
return $form;
}function doSave( $data, $form ) {
$file = new Image();
$file->loadUploadedImage( $_FILES[ 'Photo' ] );// Member object and load the form data into it
$member = Member::currentUser();
$form->saveInto( $member );// Write it to the database. This needs to happen before we add it to a group
$member->Birthday = $data[ 'Month' ]."/".$data[ 'Day' ]."/".$data[ 'Year' ];$form->saveInto( $member );
$form->AddErrorMessage( 'message', "Your profile has been updated.", 'good' );
return Director::redirectBack();
}
Any help would be greatly appreciated. Thanks!
/John
-
Re: Upload photo in Frontend forms

15 February 2011 at 10:27pm
I did this a while ago - might not be the cleanest (I use uploadify now) - but I hope it helps...
$up =new Upload();
$bUploadNew = false;if (!empty($data['Photo']['name']))
$bUploadNew = true;if ($bUploadNew) {
$img = Object::create('Image');
$up->loadIntoFile($data['Photo'], $img, 'Uploads');
if($up->isError()) {
$form->addErrorMessage('Logo','error','required');
$bValid = false;
}
}if (!$bValid) return Director::redirectBack();
| 981 Views | ||
|
Page:
1
|
Go to Top |

