Happy New Year !
[platal.git] / include / validations / photos.inc.php
index cc1631a..87d6c86 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2013 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -21,7 +21,7 @@
 
 // {{{ class PhotoReq
 
-class PhotoReq extends Validate
+class PhotoReq extends ProfileValidate
 {
     // {{{ properties
 
@@ -43,20 +43,20 @@ class PhotoReq extends Validate
     // }}}
     // {{{ constructor
 
-    public function __construct(User &$_user, PlUpload &$upload, $_stamp=0)
+    public function __construct(User $_user, Profile $_profile, PlUpload $upload, $_stamp = 0)
     {
-        parent::__construct($_user, true, 'photo', $_stamp);
+        parent::__construct($_user, $_profile, true, 'photo', $_stamp);
         $this->read($upload);
     }
 
     // }}}
     // {{{ function read
 
-    private function read(PlUpload &$upload)
+    private function read(PlUpload $upload)
     {
         $this->valid = $upload->resizeImage(240, 300, 160, 0, SIZE_MAX);
         if (!$this->valid) {
-            $this->trigError('Le fichier que tu as transmis n\'est pas une image valide, ou est trop gros pour être traité');
+            $this->trigError('Le fichier que tu as transmis n\'est pas une image valide, ou est trop gros pour être traité.');
         }
         $this->data = $upload->getContents();
         list($this->x, $this->y, $this->mimetype) = $upload->imageInfo();
@@ -64,7 +64,7 @@ class PhotoReq extends Validate
     }
 
     // }}}
-    // {{{ function isValid()
+    // {{{ function isValid()
 
     public function isValid()
     {
@@ -74,9 +74,9 @@ class PhotoReq extends Validate
     // }}}
     // {{{ function get_request()
 
-    static public function get_request($uid)
+    static public function get_request($pid)
     {
-        return parent::get_typed_request($uid, 'photo');
+        return parent::get_typed_request($pid, 'photo');
     }
 
     // }}}
@@ -103,7 +103,7 @@ class PhotoReq extends Validate
         if (isset($_FILES['userfile'])) {
             $upload =& PlUpload::get($_FILES['userfile'], S::user()->login(), 'photo');
             if (!$upload) {
-                $this->trigError('Une erreur est survenue lors du téléchargement du fichier');
+                $this->trigError('Une erreur est survenue lors du téléchargement du fichier.');
                 return false;
             }
             $this->read($upload);
@@ -137,11 +137,12 @@ class PhotoReq extends Validate
 
     public function commit()
     {
-        require_once 'notifs.inc.php';
-        XDB::execute('REPLACE INTO  photo (uid, attachmime, attach, x, y)
-                            VALUES  ({?},{?},{?},{?},{?})',
-                     $this->user->id(), $this->mimetype, $this->data, $this->x, $this->y);
-        register_watch_op($this->user->id(), WATCH_FICHE, '', 'photo');
+        XDB::execute('INSERT INTO  profile_photos (pid, attachmime, attach, x, y)
+                           VALUES  ({?}, {?}, {?}, {?}, {?})
+          ON DUPLICATE KEY UPDATE  attachmime = VALUES(attachmime), attach = VALUES(attach),
+                                   x = VALUES(x), y = VALUES(y)',
+                     $this->profile->id(), $this->mimetype, $this->data, $this->x, $this->y);
+
         return true;
     }