summaryrefslogtreecommitdiffstats
path: root/apps/admin/modules/mailbox/actions/actions.class.php
blob: 566c69f1402a3965dec4b48638929060202fe795 (plain)
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
<?php

/**
 * mailbox actions.
 *
 * @package    mailadmin
 * @subpackage mailbox
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 2288 2006-10-02 15:22:13Z fabien $
 */
class mailboxActions extends automailboxActions
{
	public function executeList()
	{
		// pageination
		if($this->hasRequestParameter("max_per_page"))
			$this->getUser()->setResultsPerPage($this->getRequestParameter("max_per_page"));
		
		return parent::executeList();
	}

	public function executeCreate()
	{
		$this->setTemplate("edit");
		$result = $this->executeEdit();
		
		if($this->getRequest()->getMethod() == sfRequest::GET)
		{
			if(!$this->hasRequestParameter("id"))
			{
				$this->updateMailboxFromRequest();
			}

			// reset is needed as updateMailboxFromRequest() deactivates
			$this->mailbox->setActive(true);
		}
		return $result;
	}

	public function handleErrorCreate()
	{
		$this->setTemplate("edit");
		return $this->handleErrorEdit();
	}

	public function executeCreateAddress()
	{
		$mailbox = MailboxPeer::retrieveByPk($this->getRequestParameter('id'));
		$this->redirect("address/create?address[mailbox_id]=".$this->getRequestParameter('id')."&address[domain_id]=".$mailbox->getDomainId());
	}

	public function executeViewAddresses()
	{
		$this->redirect("address/list?filter=filter&filters[mailbox_id]=".$this->getRequestParameter('id'));
	}
}