function saveMailboxAction() { $translate = DevblocksPlatform::getTranslationService(); $worker = CerberusApplication::getActiveWorker(); if (!$worker || !$worker->is_superuser) { echo $translate->_('common.access_denied'); return; } if (DEMO_MODE) { DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('config', 'mail'))); return; } @($id = DevblocksPlatform::importGPC($_POST['account_id'], 'integer')); @($enabled = DevblocksPlatform::importGPC($_POST['pop3_enabled'], 'integer', 0)); @($nickname = DevblocksPlatform::importGPC($_POST['nickname'], 'string')); @($protocol = DevblocksPlatform::importGPC($_POST['protocol'], 'string')); @($host = DevblocksPlatform::importGPC($_POST['host'], 'string')); @($username = DevblocksPlatform::importGPC($_POST['username'], 'string')); @($password = DevblocksPlatform::importGPC($_POST['password'], 'string')); @($port = DevblocksPlatform::importGPC($_POST['port'], 'integer')); @($delete = DevblocksPlatform::importGPC($_POST['delete'], 'integer')); if (empty($nickname)) { $nickname = "POP3"; } // Defaults if (empty($port)) { switch ($protocol) { case 'pop3': $port = 110; break; case 'pop3-ssl': $port = 995; break; case 'imap': $port = 143; break; case 'imap-ssl': $port = 993; break; } } // [JAS]: [TODO] convert to field constants $fields = array('enabled' => $enabled, 'nickname' => $nickname, 'protocol' => $protocol, 'host' => $host, 'username' => $username, 'password' => $password, 'port' => $port); if (!empty($id) && !empty($delete)) { DAO_Mail::deletePop3Account($id); } elseif (!empty($id)) { DAO_Mail::updatePop3Account($id, $fields); } else { if (!empty($host) && !empty($username)) { $id = DAO_Mail::createPop3Account($fields); } } DevblocksPlatform::setHttpResponse(new DevblocksHttpResponse(array('config', 'mail'))); return; }