Exemple #1
0
 /**
  *  Save the profile information
  */
 public function apply()
 {
     CommunityLicenseHelper::_();
     JRequest::checkToken() or jexit(JText::_('COM_COMMUNITY_INVALID_TOKEN'));
     $mainframe = JFactory::getApplication();
     $jinput = $mainframe->input;
     if (JString::strtoupper($jinput->getMethod()) != 'POST') {
         $mainframe->redirect('index.php?option=com_community&view=themeprofile', JText::_('COM_COMMUNITY_PERMISSION_DENIED'), 'error');
     }
     $settings = $jinput->post->get('settings', array(), 'array');
     $configs = $jinput->post->get('config', null, 'array');
     // save the config first
     $model = $this->getModel('Configuration');
     if (!empty($configs)) {
         $model->save($configs);
     }
     // First, parse the Cover Info fields and unset the extra keys
     $helper = new CommunityThemeHelper();
     $settings['tagline'] = $helper->prepareCoverInfo($settings);
     // Handle image uploads
     #echo "<pre>";var_dump($post);die();
     $images['default-cover'] = $jinput->files->get('default-cover-new', '', 'NONE');
     $images['default-cover-male'] = $jinput->files->get('default-cover-male-new', '', 'NONE');
     $images['default-cover-female'] = $jinput->files->get('default-cover-female-new', '', 'NONE');
     $images['default-male-avatar'] = $jinput->files->get('default-male-avatar-new', '', 'NONE');
     $images['default-female-avatar'] = $jinput->files->get('default-female-avatar-new', '', 'NONE');
     $images['default-general-avatar'] = $jinput->files->get('default-general-avatar-new', '', 'NONE');
     foreach ($images as $key => $image) {
         if (!empty($image['tmp_name']) && isset($image['name']) && !empty($image['name'])) {
             try {
                 CImageHelper::autorotate($image['tmp_name']);
             } catch (Exception $e) {
             }
             $imagePath = COMMUNITY_PATH_ASSETS;
             // same as the image path
             //check the file extension first and only allow jpg or png
             $ext = strtolower(pathinfo($image['name'], PATHINFO_EXTENSION));
             if (!in_array($ext, array('jpg', 'jpeg', 'png')) || $image['type'] != 'image/png' && $image['type'] != 'image/jpeg') {
                 $mainframe->redirect('index.php?option=com_community&view=themeprofile', JText::_('COM_COMMUNITY_THEME_IMAGE_ERROR'), 'error');
             }
             $imageJpg = $imagePath . '/' . $key . '.jpg';
             $imagePng = $imagePath . '/' . $key . '.png';
             //check if existing image exist, if yes, delete it
             if (file_exists($imageJpg)) {
                 unlink($imageJpg);
             }
             if (file_exists($imagePng)) {
                 unlink($imagePng);
             }
             //let move the tmp image to the actual path
             $finalPath = $imagePath . $key . '.' . $ext;
             $finalPathThumb = $imagePath . $key . '-thumb.' . $ext;
             move_uploaded_file($image['tmp_name'], $finalPath);
             require_once JPATH_ROOT . "/components/com_community/helpers/image.php";
             if (strstr($key, 'avatar')) {
                 //avatars
                 // Check 1:1
                 $size = CImageHelper::getSize($finalPath);
                 if ($size->height != $size->width) {
                     $message = JTEXT::_('COM_COMMUNITY_THEME_AVATAR_RESIZED');
                 }
                 CImageHelper::resize($finalPath, $finalPath, "image/{$ext}", 160, 160);
                 // thumb
                 CImageHelper::resize($finalPath, $finalPathThumb, "image/{$ext}", 64, 64);
             } else {
                 // other images
                 CImageHelper::resizeProportional($finalPath, $finalPath, "image/{$ext}", 1000, 1000);
             }
             $settings[$key] = $ext;
         }
     }
     // Parse the rest of the settings afterwards
     $helper->parseSettings($settings, 'profile');
     // There isn't much that can go wrong, no validation required
     if (!$message) {
         $message = JText::_('COM_COMMUNITY_THEME_PROFILE_UPDATED');
     }
     $mainframe->redirect('index.php?option=com_community&view=themeprofile', $message, 'message');
 }
Exemple #2
0
 /**
  *  Save an existing or a new mood form POST
  */
 public function apply()
 {
     CommunityLicenseHelper::_();
     JRequest::checkToken() or jexit(JText::_('COM_COMMUNITY_INVALID_TOKEN'));
     $mainframe = JFactory::getApplication();
     $jinput = $mainframe->input;
     $scss = $jinput->post->get('scss', null, 'array');
     $settings = $jinput->post->get('settings', null, 'array');
     if (JString::strtoupper($jinput->getMethod()) != 'POST') {
         $mainframe->redirect('index.php?option=com_community&view=moods', JText::_('COM_COMMUNITY_PERMISSION_DENIED'), 'error');
     }
     if (!is_null($scss)) {
         CommunityThemeHelper::parseScss($scss, 'general');
     }
     // Handle image uploads
     $images['frontpage-image'] = $jinput->files->get('frontpage-image-new', '', 'NONE');
     foreach ($images as $key => $image) {
         if (!empty($image['tmp_name']) && isset($image['name']) && !empty($image['name'])) {
             $imagePath = COMMUNITY_PATH_ASSETS;
             // same as the image path
             //check the file extension first and only allow jpg or png
             $ext = strtolower(pathinfo($image['name'], PATHINFO_EXTENSION));
             if (!in_array($ext, array('jpg', 'png')) || $image['type'] != 'image/png' && $image['type'] != 'image/jpeg') {
             }
             $imageJpg = $imagePath . '/' . $key . '.jpg';
             $imagePng = $imagePath . '/' . $key . '.png';
             //check if existing image exist, if yes, delete it
             if (file_exists($imageJpg)) {
                 unlink($imageJpg);
             }
             if (file_exists($imagePng)) {
                 unlink($imagePng);
             }
             //let move the tmp image to the actual path
             $finalPath = $imagePath . $key . '.' . $ext;
             move_uploaded_file($image['tmp_name'], $finalPath);
             require JPATH_ROOT . "/components/com_community/helpers/image.php";
             CImageHelper::resizeProportional($finalPath, $finalPath, "image/{$ext}", 1000, 1000);
             $settings[$key] = $ext;
         }
     }
     // Parse settings finish
     CommunityThemeHelper::parseSettings($settings, 'general');
     $message = JText::_('COM_COMMUNITY_THEME_GENERAL_UPDATED');
     $mainframe->redirect('index.php?option=com_community&view=themegeneral', $message, 'message');
     // Get the view type
     $document = JFactory::getDocument();
     $viewType = $document->getType();
     // Get the view
     $viewName = JRequest::getCmd('view', 'community');
     $view = $this->getView($viewName, $viewType);
     $view->setLayout('edit');
     $model = $this->getModel($viewName, 'CommunityAdminModel');
     if ($model) {
         $view->setModel($model, $viewName);
     }
     $view->display();
 }