示例#1
0
文件: config.php 项目: Hildy/cerb5
 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;
 }