Example #1
0
 public function init()
 {
     View::set_global('controller', $this->controller);
     View::set_global('action', $this->action);
     if (Model_Base_User::is_login()) {
         View::set_global('head', View::forge($this->layout . '/global/head'));
         View::set_global('header', View::forge($this->layout . '/global/header'));
         View::set_global('sidebar', View::forge($this->layout . '/global/sidebar'));
         View::set_global('script', View::forge($this->layout . '/global/script'));
         list(, $auth_id) = Auth::get_user_id();
         $this->user_id = $auth_id;
         $this->user_info = Model_Base_User::get_user_info($auth_id);
         $this->user_fb = Model_Base_User::get_user_fb($auth_id);
         View::set_global('user', $this->user_info);
         View::set_global('user_fb', $this->user_fb);
         View::set_global('base_url', Config::get('base_url'));
     }
 }
Example #2
0
 public function post_signin()
 {
     $val = Validation::forge();
     $val->add_callable('MyRules');
     $val->add_field('email', Lang::get('label.email'), 'required|valid_email|max_length[255]');
     $val->add_field('password', Lang::get('label.password'), 'required|valid_password|min_length[8]|max_length[50]');
     if ($val->run()) {
         $email = $val->validated('email');
         $password = $val->validated('password');
         if (Model_Base_User::admin_login($email, $password)) {
             $this->data['success'] = true;
         } else {
             $this->data['errors']['signin'] = Lang::get($this->controller . '.' . $this->action . '.error');
         }
     } else {
         $this->data['errors'] = $val->error_message();
     }
     return $this->response($this->data);
 }
Example #3
0
 public static function _validation_unique_email($val)
 {
     return !Model_Base_User::valid_field('email', $val);
 }
Example #4
0
 public function setUp()
 {
     parent::setUp();
     $this->hasMany('Model_Topic as TopicsFollowed', array('local' => 'user', 'foreign' => 'topic', 'refClass' => 'Model_Followedtopic'));
     $this->hasMany('Model_Featuredarticles as ArticlesFollowed', array('local' => 'user', 'foreign' => 'article', 'refClass' => 'Model_Followedarticle'));
 }
Example #5
0
 public static function run($type = null, $options = array())
 {
     $data = array();
     $photo_name = array();
     try {
         Upload::process();
     } catch (Exception $e) {
         $data['error'] = Lang::get('notice.upload.no_file');
         return $data;
     }
     if (Upload::is_valid()) {
         Upload::save();
     }
     foreach (Upload::get_errors() as $file) {
         $data['error'] = $file['errors']['0']['message'];
         return $data;
     }
     foreach (Upload::get_files() as $file) {
         $resize = self::resize_photo($file['saved_to'], $file['saved_as'], $type);
         $photo_name[] = $file['saved_as'];
     }
     if ($resize) {
         switch ($type) {
             case 'icon':
                 if (Model_Base_User::update($options['user_id'], array('user_photo' => $photo_name[0]))) {
                     $old_photo = $file['saved_to'] . $type . '/' . $options['user_photo'];
                     if (File::exists($old_photo)) {
                         File::delete($old_photo);
                     }
                     $data['photo_name'] = _PATH_ICON_ . $photo_name[0];
                 } else {
                     $data['error'] = Lang::get('notice.upload.save_icon_error');
                 }
                 break;
             case 'category':
                 $old_photo = $options['type'] === 'new' ?: $file['saved_to'] . $type . '/' . Model_Category::find($options['category_id'])->category_photo;
                 if (Model_Base_Category::update($options['category_id'], array('category_photo' => $photo_name[0]))) {
                     if (File::exists($old_photo)) {
                         File::delete($old_photo);
                     }
                     $data['photo_name'] = _PATH_CATEGORY_ . $photo_name[0];
                 } else {
                     $data['error'] = Lang::get('notice.upload.save_category_error');
                 }
                 break;
             case 'product':
                 $old_photo = $file['saved_to'] . $type . '/' . Model_Product::find($options['product_id'])->product_photo;
                 if (Model_Base_Product::update($options['product_id'], array('product_photo' => $photo_name[0]))) {
                     if (File::exists($old_photo)) {
                         File::delete($old_photo);
                     }
                     $data['photo_name'] = _PATH_PRODUCT_ . $photo_name[0];
                 } else {
                     $data['error'] = Lang::get('notice.upload.save_product_error');
                 }
                 break;
             case 'photo':
                 if ($options['type'] === 'sub_product_photo') {
                     $photo_props = array('product_id' => $options['product_id'], 'photo_name' => $photo_name[0]);
                     if ($photo_id = Model_Base_Photo::insert($photo_props)) {
                         $data['photo_id'] = $photo_id;
                         $data['photo_name'] = _PATH_PHOTO_ . $photo_name[0];
                     } else {
                         $data['error'] = Lang::get('notice.upload.save_photo_error');
                     }
                 }
                 break;
             default:
                 $data['error'] = Lang::get('system_error');
                 break;
         }
     } else {
         $data['error'] = Lang::get('system_error');
     }
     return $data;
 }
Example #6
0
 public function post_update_password()
 {
     $val = Validation::forge();
     $val->add_callable('MyRules');
     $val->add_field('password', Lang::get('label.password'), 'required|valid_password|min_length[8]|max_length[50]');
     $val->add_field('confirm_password', Lang::get('label.confirm_password'), 'match_field[password]');
     if ($val->run()) {
         $props = array('password' => Model_Service_Util::hash_password($val->validated('password')));
         if (Model_Base_User::update($this->user_id, $props)) {
             $this->data['success'] = Lang::get($this->controller . '.' . $this->action . '.success');
         } else {
             $this->data['error'] = Lang::get($this->controller . '.' . $this->action . '.error');
         }
     } else {
         $this->data['errors'] = $val->error_message();
     }
     return $this->response($this->data);
 }
Example #7
0
 public function post_delete_user_fb()
 {
     if (Model_Base_User::delete_user_provider($this->user_id)) {
         $this->data['success'] = true;
     }
     return $this->response($this->data);
 }