Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / SocialEngine Размер фотографий? / 11 сообщений из 11, страница 1 из 1
25.05.2012, 08:45:40
    #37810890
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
Всем привет, столкнулся с такой задачей, нужно увеличить размер загружаемых фотографий в систему. Задачка сначала показалась тривиальной, но воз и ныне там=) Как я понял SE использует библиотеки Zend, в том числе и при загрузке фотографий, может есть у кого положительный опыт в этом вопросе, чем назначен лимит? SE или Zend? В админке на этот счет ничего нет, форумы по SE ответов так же не дали=( Заранее спасибо за помощь.
...
Рейтинг: 0 / 0
25.05.2012, 09:24:22
    #37810940
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
post_max_size
upload_max_filesize
?
...
Рейтинг: 0 / 0
25.05.2012, 09:31:30
    #37810954
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
teCa,

там же вроде за это отвечает отдельный плагин. посмотрите в его настройках. может есть к нему конфиг файл, раз в админке нет настройки такой
...
Рейтинг: 0 / 0
25.05.2012, 09:42:26
    #37810968
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
Hettpost_max_size
upload_max_filesize
?
С этим все в порядке.
...
Рейтинг: 0 / 0
25.05.2012, 10:03:38
    #37811002
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
r uteCa,

там же вроде за это отвечает отдельный плагин. посмотрите в его настройках. может есть к нему конфиг файл, раз в админке нет настройки такой

Да, вот дорылся то этого файлика, ошибку выдает он - это точно.

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
<?php
/**
 * SocialEngine
 *
 * @category   Application_Extensions
 * @package    Album
 * @copyright  Copyright 2006-2010 Webligo Developments
 * @license    http://www.socialengine.net/license/
 * @version    $Id: IndexController.php 9452 2011-10-28 23:54:26Z shaun $
 * @author     Sami
 */

/**
 * @category   Application_Extensions
 * @package    Album
 * @copyright  Copyright 2006-2010 Webligo Developments
 * @license    http://www.socialengine.net/license/
 */
class Album_IndexController extends Core_Controller_Action_Standard
{
  public function browseAction()
  {
    if( !$this->_helper->requireAuth()->setAuthParams('album', null, 'view')->isValid() ) return;
    
    // Moved to Albums/widgets/gutter-search/Controller.php
    // 
    // $search_form = $this->view->search_form = new Album_Form_Search();
    // if ($this->getRequest()->isPost() && $search_form->isValid($this->getRequest()->getPost())) {
    //   $this->_helper->redirector->gotoRouteAndExit(array(
    //     'page'   => 1,
    //     'sort'   => $this->getRequest()->getPost('sort'),
    //     'category_id' => $this->getRequest()->getPost('category_id'),
    //     'search' => $this->getRequest()->getPost('search'),
    //   ));
    // } else {
    //   $search_form->getElement('search')->setValue($this->_getParam('search'));
    //   $search_form->getElement('sort')->setValue($this->_getParam('sort'));
    //   if($search_form->getElement('category_id')) $search_form->getElement('category_id')->setValue($this->_getParam('category_id'));
    // }

    $settings = Engine_Api::_()->getApi('settings', 'core');

    // moved to Albums/widgets/browse-menu/Controller.php
    // // Get navigation
    // $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')
    //   ->getNavigation('album_main');

    // Get params
    switch($this->_getParam('sort', 'recent')) {
      case 'popular':
        $order = 'view_count';
        break;
      case 'recent':
      default:
        $order = 'modified_date';
        break;
    }


    // Prepare data
    $table = Engine_Api::_()->getItemTable('album');
    if( !in_array($order, $table->info('cols')) ) {
      $order = 'modified_date';
    }
    
    $select = $table->select()
      ->where("search = 1")
      ->order($order . ' DESC');

    $user_id = $this->_getParam('user');
    if ($user_id) $select->where("owner_id = ?", $user_id);
    if ($this->_getParam('category_id')) $select->where("category_id = ?", $this->_getParam('category_id'));

    if ($this->_getParam('search', false)) {
      $select->where('title LIKE ? OR description LIKE ?', '%'.$this->_getParam('search').'%');
    }

    $this->view->canCreate = Engine_Api::_()->authorization()->isAllowed('album', null, 'create');
    
    $paginator = $this->view->paginator = Zend_Paginator::factory($select);
    $paginator->setItemCountPerPage($settings->getSetting('album_page', 25));
    $paginator->setCurrentPageNumber( $this->_getParam('page') );
    
    $searchForm = new Album_Form_Search();
    $searchForm->getElement('sort')->setValue($this->_getParam('sort'));
    $searchForm->getElement('search')->setValue($this->_getParam('search'));
    $category_id = $searchForm->getElement('category_id');
    if ($category_id) {
      $category_id->setValue($this->_getParam('category_id'));
    }
    $this->view->searchParams = $searchForm->getValues();

    // Render
    $this->_helper->content
        //->setNoRender()
        ->setEnabled()
        ;
  }

  public function manageAction()
  {
    if( !$this->_helper->requireUser()->isValid() ) return;
    if( !$this->_helper->requireAuth()->setAuthParams('album', null, 'create')->isValid() ) return;

    $search_form = $this->view->search_form = new Album_Form_Search();
    if ($this->getRequest()->isPost() && $search_form->isValid($this->getRequest()->getPost())) {
      $this->_helper->redirector->gotoRouteAndExit(array(
        'page'   => 1,
        'sort'   => $this->getRequest()->getPost('sort'),
        'search' => $this->getRequest()->getPost('search'),
        'category_id' => $this->getRequest()->getPost('category_id'),
      ));
    } else {
      $search_form->getElement('search')->setValue($this->_getParam('search'));
      $search_form->getElement('sort')->setValue($this->_getParam('sort'));
      if($search_form->getElement('category_id')) $search_form->getElement('category_id')->setValue($this->_getParam('category_id'));
    }

    // Get navigation
    $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')
      ->getNavigation('album_main');

    // Get quick navigation
    $this->view->quickNavigation = $quickNavigation = Engine_Api::_()->getApi('menus', 'core')
      ->getNavigation('album_quick');

    // Get params
    $this->view->page = $page = $this->_getParam('page');

    // Get params
    switch($this->_getParam('sort', 'recent')) {
      case 'popular':
        $order = 'view_count';
        break;
      case 'recent':
      default:
        $order = 'modified_date';
        break;
    }
    
    // Prepare data
    $user = Engine_Api::_()->user()->getViewer();
    $table = Engine_Api::_()->getItemTable('album');
    
    if( !in_array($order, $table->info('cols')) ) {
      $order = 'modified_date';
    }

    $select = $table->select()
      ->where('owner_id = ?', $user->getIdentity())
      ->order($order . ' DESC');;

    if ($this->_getParam('category_id')) $select->where("category_id = ?", $this->_getParam('category_id'));

    if ($this->_getParam('search', false)) {
      $select->where('title LIKE ? OR description LIKE ?', '%'.$this->_getParam('search').'%');
    }
    
    $this->view->canCreate = Engine_Api::_()->authorization()->isAllowed('album', null, 'create');
    
    $this->view->paginator = $paginator = Zend_Paginator::factory($select);
    $paginator->setItemCountPerPage(10);
    $paginator->setCurrentPageNumber($page);
  }



  public function uploadAction()
  {

    if( isset($_GET['ul']) || isset($_FILES['Filedata']) ) return $this->_forward('upload-photo', null, null, array('format' => 'json'));

    if( !$this->_helper->requireAuth()->setAuthParams('album', null, 'create')->isValid() ) return;

    // Get navigation
    $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')
      ->getNavigation('album_main');

    // Get form
    $this->view->form = $form = new Album_Form_Album();

    if( !$this->getRequest()->isPost() )
    {
      if( null !== ($album_id = $this->_getParam('album_id')) )
      {
        $form->populate(array(
          'album' => $album_id
        ));
      }
      return;
    }

    if( !$form->isValid($this->getRequest()->getPost()) )
    {
      return;
     }

    $db = Engine_Api::_()->getItemTable('album')->getAdapter();
    $db->beginTransaction();

    try
    {
      $album = $form->saveValues();

      $db->commit();
    }
    catch( Exception $e )
    {
      $db->rollBack();
      throw $e;
    }
    
    $this->_helper->redirector->gotoRoute(array('action' => 'editphotos', 'album_id' => $album->album_id), 'album_specific', true);
  }

  public function uploadPhotoAction()
  {
    if( !$this->_helper->requireAuth()->setAuthParams('album', null, 'create')->isValid() ) return;

    if( !$this->_helper->requireUser()->checkRequire() )
    {
      $this->view->status = false;
      $this->view->error = Zend_Registry::get('Zend_Translate')->_('Max file size limit exceeded (probably).');
      return;
    }

    if( !$this->getRequest()->isPost() )
    {
      $this->view->status = false;
      $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid request method');
      return;
    }

    $values = $this->getRequest()->getPost();
    if( empty($values['Filename']) )
    {
      $this->view->status = false;
      $this->view->error = Zend_Registry::get('Zend_Translate')->_('No file');
      return;
    }

    if( !isset($_FILES['Filedata']) || !is_uploaded_file($_FILES['Filedata']['tmp_name']) )
    {
      $this->view->status = false;
      $this->view->error = Zend_Registry::get('Zend_Translate')->_('Invalid Upload');
      return;
    }

    $db = Engine_Api::_()->getDbtable('photos', 'album')->getAdapter();
    $db->beginTransaction();

    try
    {
      $viewer = Engine_Api::_()->user()->getViewer();

      $photoTable = Engine_Api::_()->getDbtable('photos', 'album');
      $photo = $photoTable->createRow();
      $photo->setFromArray(array(
        'owner_type' => 'user',
        'owner_id' => $viewer->getIdentity()
      ));
      $photo->save();
      
      $photo->order = $photo->photo_id;
      $photo->setPhoto($_FILES['Filedata']);
      $photo->save();
      
      $this->view->status = true;
      $this->view->name = $_FILES['Filedata']['name'];
      $this->view->photo_id = $photo->photo_id;

      $db->commit();

    } catch( Album_Model_Exception $e ) {
      $db->rollBack();
      $this->view->status = false;
      $this->view->error = $this->view->translate($e->getMessage());
      throw $e;
      return;
      
    } catch( Exception $e ) {
      $db->rollBack();
      $this->view->status = false;
      $this->view->error = Zend_Registry::get('Zend_Translate')->_('An error occurred.');
      throw $e;
      return;
    }
  }
}



Но где именно слетает проверка на размер пока понять не могу.
...
Рейтинг: 0 / 0
25.05.2012, 10:39:16
    #37811086
Ренат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
teCa,

юзайте дебагеры, проблема найти где вылетает ошибка минуты 3
...
Рейтинг: 0 / 0
25.05.2012, 10:45:25
    #37811100
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
РенатteCa,

юзайте дебагеры, проблема найти где вылетает ошибка минуты 3

не спорю) Ошибку выдает вот в этот кусок:
Код: php
1.
2.
3.
4.
5.
6.
7.
catch( Exception $e ) {
      $db->rollBack();
      $this->view->status = false;
      $this->view->error = Zend_Registry::get('Zend_Translate')->_('An error occurred.');
      throw $e;
      return;
    }



А где именно определен размер изображения понять не могу. Поэтому и попросил помощи.
...
Рейтинг: 0 / 0
25.05.2012, 11:10:17
    #37811155
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
teCa,

думаю эксепшн возникает гдето тут
Код: php
1.
2.
3.
$photo->order = $photo->photo_id;
$photo->setPhoto($_FILES['Filedata']);
$photo->save();


если судить по логике кода. надо смотреть эти методы. что там происходит. есть ли настройки размеров и если есть откуда берутся. или может жестко прописаны)
...
Рейтинг: 0 / 0
25.05.2012, 14:18:47
    #37811629
teCa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
Ппц) Как обычно, ларчик просто открывался =) Оказывается апач упирался в лимит памяти, поднял memory_limit до 1024М и проблема решилась)
...
Рейтинг: 0 / 0
25.05.2012, 14:46:22
    #37811701
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
teCa,

Не Апач упирался, а ПХП. И ларчик открылся б много раньше, будь включен вывод сообщений об ошибках.
...
Рейтинг: 0 / 0
25.05.2012, 15:42:21
    #37811903
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SocialEngine Размер фотографий?
или хотя бы был просмотрен лог ошибок
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / SocialEngine Размер фотографий? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]