Exemplo n.º 1
0
 public static function createUser($data)
 {
     $db = JO_Db::getDefaultAdapter();
     if (!$data['username'] || Model_Users::getByUsername($data['username'])) {
         return false;
     }
     if (!$data['email'] || Model_Users::getByEmail($data['email'])) {
         return false;
     }
     $db->insert(Model_Users::getPrefixDB() . 'users', array('username' => $data['username'], 'password' => $data['password'], 'email' => $data['email'], 'firstname' => $data['firstname'], 'lastname' => $data['lastname'], 'firmname' => $data['firmname'], 'profile_title' => $data['profile_title'], 'profile_desc' => $data['profile_desc'], 'register_datetime' => $data['register_datetime'], 'status' => 'activate'));
     $user_id = $db->lastInsertId();
     if ($user_id) {
         $upload_path = BASE_PATH . '/uploads';
         $user_path = '/users/' . JO_Date::getInstance($data['register_datetime'], 'yy/mm/')->toString() . $user_id . '/';
         $upload_path .= $user_path;
         if ($data['avatar'] && @getimagesize($data['avatar'])) {
             $name = basename($data['avatar']);
             if (copy($data['avatar'], $upload_path . $name)) {
                 $db->update('users', array('avatar' => $user_path . $name), array('user_id' => $user_id));
             }
         }
         if ($data['homeimage'] && @getimagesize($data['homeimage'])) {
             $name = basename($data['homeimage']);
             if (copy($data['homeimage'], $upload_path . $name)) {
                 $db->update('users', array('homeimage' => $user_path . $name), array('user_id' => $user_id));
             }
         }
         return Model_Users::getUser($user_id);
     }
 }
Exemplo n.º 2
0
 public function indexAction()
 {
     $where = '';
     $category = null;
     if ($this->getRequest()->getQuery('username')) {
         $userinfo = Model_Users::getByUsername($this->getRequest()->getQuery('username'));
         if ($userinfo) {
             $where = "users.username = '******'username') . "'";
         }
     }
     if ($this->getRequest()->getQuery('category')) {
         $catinfo = Model_Categories::get($this->getRequest()->getQuery('category'));
         if ($catinfo) {
             $category = $this->getRequest()->getQuery('category');
         }
     }
     $items = Model_Items::getAll($category, 0, 20, 'id desc', $where);
     $this->view->item = array();
     if ($items) {
         $model_images = new Model_Images();
         $categories = Model_Categories::get_all();
         foreach ($items as $item) {
             $categories_string = '';
             if ($category) {
                 foreach ($item['categories'] as $cats) {
                     if (in_array($category, $cats)) {
                         foreach ($cats as $cat) {
                             if (isset($categories[$cat]['name'])) {
                                 $categories_string .= $categories_string ? ' › ' : '';
                                 $categories_string .= $categories[$cat]['name'];
                             }
                         }
                         break;
                     }
                 }
             } else {
                 $cats = array_pop($item['categories']);
                 if ($cats && is_array($cats)) {
                     foreach ($cats as $cat) {
                         if (isset($categories[$cat]['name'])) {
                             $categories_string .= $categories_string ? ' › ' : '';
                             $categories_string .= $categories[$cat]['name'];
                         }
                     }
                 }
             }
             if ((int) JO_Registry::get($item['module'] . '_items_preview_width') && (int) JO_Registry::get($item['module'] . '_items_preview_height')) {
                 $item['theme_preview_thumbnail'] = $this->getRequest()->getBaseUrl() . $model_images->resize($item['theme_preview_thumbnail'], JO_Registry::forceGet($item['module'] . '_items_preview_width'), JO_Registry::forceGet($item['module'] . '_items_preview_height'), true);
             } elseif ((int) JO_Registry::get($item['module'] . '_items_preview_width')) {
                 $item['theme_preview_thumbnail'] = $this->getRequest()->getBaseUrl() . $model_images->resizeWidth($item['theme_preview_thumbnail'], JO_Registry::forceGet($item['module'] . '_items_preview_width'));
             } elseif ((int) JO_Registry::get($item['module'] . '_items_preview_height')) {
                 $item['theme_preview_thumbnail'] = $this->getRequest()->getBaseUrl() . $model_images->resizeHeight($item['theme_preview_thumbnail'], JO_Registry::forceGet($item['module'] . '_items_preview_height'));
             } else {
                 $item['theme_preview_thumbnail'] = false;
             }
             $this->view->item[] = array('title' => $item['name'], 'link' => WM_Router::create($this->getRequest()->getBaseUrl() . '?module=' . $item['module'] . '&controller=items&item_id=' . $item['id']), 'description' => html_entity_decode($item['description'], ENT_QUOTES, 'utf-8'), 'author' => $item['username'], 'category' => $categories_string, 'guid' => $item['id'], 'enclosure' => $item['theme_preview_thumbnail'], 'pubDate' => JO_Date::getInstance($item['datetime'], JO_Date::RSS_FULL, true)->toString());
         }
     }
     echo $this->renderScript('rss');
 }
Exemplo n.º 3
0
 public function loginAction()
 {
     if (JO_Session::get('user_id')) {
         $this->redirect(WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=dashboard'));
     }
     if (JO_Session::issetKey('msg_error')) {
         $this->view->check_error = JO_Session::get('msg_error');
         $this->view->user = JO_Session::get('data');
         JO_Session::clear('msg_error');
         JO_Session::clear('data');
     }
     $this->view->usersCount = Model_Users::countUsers();
     $this->view->itemsCount = Model_Items::countItems();
     $this->getLayout()->meta_title = $this->translate('Login');
     $this->getLayout()->meta_description = $this->translate('Login');
     $request = $this->getRequest();
     if ($request->isPost()) {
         $result = Model_Users::checkLogin($request->getPost('username'), $request->getPost('password'));
         if ($result) {
             $result['following'] = Model_Users::getFollowers($result['user_id']);
             $groups = unserialize($result['groups']);
             if (is_array($groups) and count($groups) > 1) {
                 unset($result['groups']);
                 $fetch_all = Model_Users::getGroups($groups);
                 $result['access'] = array();
                 if ($fetch_all) {
                     foreach ($fetch_all as $row) {
                         $modules = unserialize($row['rights']);
                         if (is_array($modules)) {
                             foreach ($modules as $module => $ison) {
                                 $result['access'][$module] = $module;
                             }
                         }
                     }
                 }
             }
             if (isset($result['access']) && count($result['access'])) {
                 $result['is_admin'] = true;
             }
             JO_Session::set($result);
             if (JO_Session::get('redirect')) {
                 $this->redirect(JO_Session::get('redirect'));
             } elseif ($request->getServer('HTTP_REFERER')) {
                 $this->redirect($request->getServer('HTTP_REFERER'));
             } else {
                 $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=dashboard'));
             }
         } else {
             JO_Session::set('msg_error', $this->translate('Invalid username or password or the account is not activated.'));
             $request->setParams('username', $request->getPost('username'));
             JO_Session::set('data', $request->getParams());
             $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'));
         }
     }
     if ($request->getRequest('command') == 'activate' and $request->getRequest('user') and $request->getRequest('key')) {
         if (Model_Users::checkActivation($request->getRequest('user'), $request->getRequest('key'))) {
             Model_Users::Activate($request->getRequest('user'));
             $result = Model_Users::getByUsername($request->getRequest('user'));
             if ($result) {
                 $groups = unserialize($result['groups']);
                 if (is_array($groups) and count($groups) > 1) {
                     unset($result['groups']);
                     $fetch_all = Model_Users::getGroups($groups);
                     $result['access'] = array();
                     if ($fetch_all) {
                         foreach ($fetch_all as $row) {
                             $modules = unserialize($row['rights']);
                             if (is_array($modules)) {
                                 foreach ($modules as $module => $ison) {
                                     $result['access'][$module] = $module;
                                 }
                             }
                         }
                     }
                 }
                 if (isset($result['access']) && count($result['access'])) {
                     $result['is_admin'] = true;
                 }
                 JO_Session::set($result);
             }
             $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=verify/completed/yes'));
         }
     }
     $facebook = new WM_Facebook_Api(array('appId' => JO_Registry::forceGet('facebook_appid'), 'secret' => JO_Registry::forceGet('facebook_secret')));
     $this->view->facebook_link = $facebook->getLoginUrl(array('redirect_uri' => WM_Router::create($request->getBaseUrl() . '?controller=users&action=callback_facebook'), 'req_perms' => JO_Registry::forceGet('facebook_req_perms'), 'scope' => JO_Registry::forceGet('facebook_req_perms')));
     $this->view->lost_username = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=lost_username');
     $this->view->reset_password = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=reset_password');
     $this->view->registration = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=users&action=registration');
     $this->view->children = array();
     $this->view->children['header_part'] = 'layout/header_part';
     $this->view->children['footer_part'] = 'layout/footer_part';
 }
Exemplo n.º 4
0
 public function formAction()
 {
     $request = $this->getRequest();
     if (!JO_Session::get('user_id')) {
         JO_Session::set('msg_error', $this->translate('You must be logged to upload an item'));
         $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'));
     }
     if (JO_Session::get('quiz') != 'true') {
         JO_Session::set('msg_error', $this->translate('In order to upload your files for sale first you have to pass our quiz.'));
         $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=quiz'));
     }
     if ($request->getRequest('form')) {
         $category_id = $request->getRequest('form');
     }
     $redir_link = WM_Router::create($request->getBaseUrl() . '?controller=upload');
     if (!$category_id) {
         $this->redirect($redir_link);
     }
     $this->getLayout()->meta_title = $this->translate('Item upload');
     $this->getLayout()->meta_description = $this->translate('Item upload');
     $mainCategories = Model_Categories::getMain();
     $cnt = count($mainCategories);
     for ($i = 0; $i < $cnt; $i++) {
         $mainCategories[$i]['href'] = WM_Router::create($request->getBaseUrl() . '?controller=upload&action=get_categories&category_id=' . $mainCategories[$i]['id']);
     }
     $category_info = Model_Categories::get($category_id);
     $has_category = JO_Array::multi_array_search($mainCategories, 'id', $category_id);
     if (!$category_info) {
         JO_Session::set('msg_error', $this->translate('You have choosen a non existing category'));
         $this->redirect($redir_link);
     } elseif (empty($has_category)) {
         JO_Session::set('msg_error', $this->translate('You have choosen a non existing category'));
         $this->redirect($redir_link);
     }
     if (JO_Session::get('msg_error')) {
         $this->view->error = JO_Session::get('msg_error');
         JO_Session::clear('msg_error');
     }
     if (JO_Session::get('data')) {
         $this->view->d = JO_Session::get('data');
         JO_Session::clear('data');
     }
     $fileTypes = JO_Registry::get('upload_theme');
     $types = '';
     if ($fileTypes) {
         foreach ($fileTypes as $type) {
             $tp = explode(',', $type);
             foreach ($tp as $t) {
                 $types .= '*.' . $t . ';';
             }
         }
     }
     $this->view->sel_category = $category_id;
     $this->view->mainCategories = $mainCategories;
     $allCategories = Model_Categories::getWithChilds();
     $categoriesSelect = Model_Categories::generateSelect($allCategories, $category_id, $category_id);
     if ($categoriesSelect) {
         $categories = explode('|', $categoriesSelect);
         foreach ($categories as $category) {
             if (!empty($category)) {
                 $c = explode('>', $category);
                 $this->view->categoriesSelect[] = array('id' => $c[0], 'name' => trim($c[1]));
             }
         }
     }
     $this->view->fileTypes = $types;
     $this->view->attributes = Model_Attributes::getAllWithCategories("attributes_categories.categories LIKE '%," . (int) $category_id . ",%'");
     $fileTypes_allow = JO_Registry::get('upload_theme');
     $allow_archives = array();
     if (isset($fileTypes_allow['archives'])) {
         $ew = explode(',', $fileTypes_allow['archives']);
         foreach ($ew as $ar) {
             $allow_archives[] = '.' . strtolower($ar);
         }
     }
     $allow_images = array();
     if (isset($fileTypes_allow['images'])) {
         $ew = explode(',', $fileTypes_allow['images']);
         foreach ($ew as $ar) {
             $allow_images[] = '.' . strtolower($ar);
         }
     }
     $this->view->uploaded_files = JO_Session::get('uploaded_files');
     $this->view->uploaded_arhives = JO_Session::get('uploaded_arhives');
     $this->view->crumbs = array(array('name' => $this->translate('Home'), 'href' => $request->getBaseUrl()), array('name' => $this->translate('Upload')));
     $user = Model_Users::getByUsername(JO_Session::get('username'));
     $this->view->author_header = Helper_Author::authorHeader($user);
     $this->view->action_upload = WM_Router::create($request->getBaseUrl() . '?controller=upload&action=upload');
     $this->view->autocomplete = WM_Router::create($request->getBaseUrl() . '?controller=items&action=auto');
     $this->view->total_sales_cnt = JO_Session::get('sales');
     $this->view->total_balance = WM_Currency::format(JO_Session::get('total'));
     $this->view->percent = Model_Percentes::getPercentRow($user);
     $help = Model_Pages::get(JO_Registry::forceGet('page_upload_item'));
     if ($help) {
         $this->view->page_upload_item = array('name' => $help['name'], 'href' => WM_Router::create($request->getBaseUrl() . '?controller=pages&page_id=' . $help['id'] . '&name=' . WM_Router::clearName($help['name'])));
     }
     $this->view->file_upload = WM_Router::create($request->getBaseUrl() . '?module=themes&controller=upload&action=doupload');
     $this->view->children = array();
     $this->view->children['header_part'] = 'layout/header_part';
     $this->view->children['footer_part'] = 'layout/footer_part';
 }
Exemplo n.º 5
0
Arquivo: Author.php Projeto: noikiy/PD
 public static function returnFollowing($follower, $owner, $followers = false)
 {
     $view = JO_View::getInstance();
     $model_images = new Helper_Images();
     $request = JO_Request::getInstance();
     $list_type = $request->getParam('list_type');
     $user = Model_Users::getByUsername($follower['username']);
     $view->badges = self::userBadges($user);
     if ($user['avatar']) {
         $user['avatar'] = $model_images->resize($user['avatar'], JO_Registry::forceGet('user_avatar_width'), JO_Registry::forceGet('user_avatar_height'), true);
     } else {
         $user['avatar'] = 'data/themes/images/noavatar.png';
     }
     $user['portfolio_href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&username='******'&', '-', $user['username']));
     $log_user = JO_Session::get('user_id');
     if ($log_user) {
         $following = JO_Array::multi_array_search(JO_Session::get('following'), 'follow_id', $user['user_id']);
         if ($following) {
             $user['follow_href_name'] = $view->translate('Unfollow');
             $user['follow_href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=unfollow&username='******'&', '-', $user['username']));
         } elseif ($log_user != $user['user_id']) {
             $user['follow_href_name'] = $view->translate('Follow');
             $user['follow_href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=follow&username='******'&', '-', $user['username']));
         }
     }
     $view->user = $user;
     $user_items = Model_Items::getByUser($user['user_id'], 0, 3, 'rand()');
     if (empty($user_items)) {
         $user_items = array(array('no_items' => true, 'thumbnail' => 'data/themes/images/missing-item.png', 'module' => 'themes'));
     }
     $view->user_items = array();
     if ($user_items) {
         foreach ($user_items as $item) {
             if (isset($item['demo_url'])) {
                 $item['demo_url'] = WM_Router::create($request->getBaseUrl() . '?controller=demo&href=' . $item['demo_url']);
             }
             $view->user_items[] = Helper_Items::returnViewIndex($item);
         }
     }
     return $view->renderByModule('single_user/following', 'users', 'themes');
 }