Advertisement
Guest User

Untitled

a guest
Jan 30th, 2010
422
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.86 KB | None | 0 0
  1. @@ schema
  2. sf_guard_user_profile:
  3. columns:
  4. id: { type: integer, primary: true }
  5. name: { type: string(255) }
  6. country: { type: string(2) }
  7. email: { type: string(255), email: true }
  8. email_hidden: { type: boolean, default: true }
  9. signature: { type: string(255) }
  10. relations:
  11. sfGuardUser: { local: id, foreign: id, foreignAlias: profile, type: one, foreignType: one }
  12.  
  13. @@ Action
  14. public function executeEditProfile(sfWebRequest $request) {
  15. $this->form = new profileForm($this->getUser()->getGuardUser());
  16. if ($request->isMethod('post')) {
  17. $this->form->bind(
  18. $request->getParameter($this->form->getName()),
  19. $request->getFiles($this->form->getName())
  20. );
  21. if ($this->form->isValid()) {
  22. $this->form->save();
  23. $this->getUser()->setFlash('notice', 'Je profiel is opgeslagen!');
  24. }
  25. else {
  26. $this->getUser()->setFlash('error', 'Je profiel is niet opgeslagen. Kijk hieronder wat er fout zou kunnen zijn gegaan');
  27. }
  28. }
  29. }
  30.  
  31. @@ Form class
  32. class sf_guard_user_profileForm extends Basesf_guard_user_profileForm
  33. {
  34. public function configure()
  35. {
  36. unset($this['id']);
  37.  
  38. $this->widgetSchema['country'] = new sfWidgetFormI18nChoiceCountry();
  39. $this->setDefault('country', 'NL');
  40. $this->widgetSchema['signature'] = new sfWidgetFormTextarea();
  41. $this->widgetSchema['avatar'] = new sfWidgetFormInputFile();
  42.  
  43. $this->validatorSchema['name'] = new sfValidatorString(array('required' => false, 'max_length' => 40));
  44. $this->validatorSchema['signature'] = new sfValidatorString(array('required' => false, 'max_length' => 120));
  45. $this->validatorSchema['avatar'] = new sfValidatorFile(array(
  46. 'required' => false,
  47. 'path' => sfConfig::get('sf_upload_dir').'/avatars',
  48. 'mime_types' => 'web_images',
  49. ));
  50.  
  51. $this->widgetSchema->setLabels(array(
  52. 'email' => 'E-mailadres',
  53. 'email_hidden' => 'E-mailadres verbergen voor andere gebruikers',
  54. 'name' => "Naam",
  55. 'country' => "Land",
  56. ));
  57. }
  58. }
  59.  
  60. @@ Template
  61. <h2>Profiel bewerken:</h2>
  62. <form method="post" action="<?php echo url_for('edit_my_profile') ?>" />
  63. <?php include_partial('profile_form', array('form' => $form))?>
  64. <input type='submit' value='Opslaan' />
  65. </form>
  66.  
  67. @@ Partial 'profile_form'
  68. <?php
  69. echo $form->renderGlobalErrors();
  70. ?>
  71.  
  72. <h3>Inloggegevens</h3>
  73. <table style='width: auto'>
  74. <tr>
  75. <th>Gebruikersnaam</th>
  76. <td><?php echo $form->getObject()->getUsername() ?></td>
  77. </tr>
  78. <tr>
  79. <th><?php echo $form['password']->renderLabel(); ?></th>
  80. <td><?php echo $form['password']->renderError() . $form['password']; ?></td>
  81. <td rowspan="2">Leeg laten indien ongewijzigd</td>
  82. </tr>
  83. <?php echo $form['password_confirmation']->renderRow(); ?>
  84. <tr>
  85. <th><?php echo $form['profile']['email']->renderLabel(); ?></th>
  86. <td><?php echo $form['profile']['email']->renderError() . $form['profile']['email']; ?></td>
  87. <td><?php echo $form['profile']['email_hidden'] . $form['profile']['email_hidden']->renderLabel(); ?></td>
  88. </tr>
  89. </table>
  90.  
  91. <h3>Persoonlijke gegevens</h3>
  92. <?php echo $form['profile']->renderError(); ?>
  93. <table style='width: auto'>
  94. <?php echo $form['profile']['name']->renderRow(); ?>
  95. <?php echo $form['profile']['country']->renderRow(); ?>
  96. </table>
  97.  
  98. <h3>Foruminstellingen</h3>
  99. <table style='width: auto'>
  100. <?php echo $form['profile']['signature']->renderRow(); ?>
  101. <tr>
  102. <th><?php echo $form['profile']['avatar']->renderLabel(); ?></th>
  103. <td>
  104. <div><?php if ($avatar = $form->getObject()->getProfile()->getAvatar()) { echo $avatar; } else { echo 'Nog geen avatar ge&uuml;pload'; } ?></div>
  105. <div><?php echo $form['profile']['avatar']->renderError() . $form['profile']['avatar']; ?></div>
  106. </td>
  107. </tr>
  108. </table>
  109.  
  110. <?php echo $form->renderHiddenFields(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement