function quit()
 {
     # notify the system we are not running anymore
     $this->_usenetStateDao->setRetrieverRunning(false);
     # and disconnect
     if (!is_null($this->_svcNntpText)) {
         $this->_svcNntpText->quit();
     }
     # if
     if (!is_null($this->_svcNntpBin)) {
         $this->_svcNntpBin->quit();
     }
     # if
     $this->displayStatus("done", "");
 }
Beispiel #2
0
function askNntpSettings()
{
    global $settings;
    global $_testInstall_Ok;
    /*
     * Loading the file directly seems to sometimes result
     * in a weird error. GH issue #1861
     */
    $serverList = simplexml_load_string(file_get_contents('usenetservers.xml'));
    if (!isset($settings['mynntp'])) {
        $form = array('name' => 'custom', 'host' => '', 'user' => '', 'pass' => '', 'port' => 119, 'enc' => false, 'submit' => '');
    } else {
        $form = $settings['mynntp'];
        unset($settings['mynntp']);
    }
    # else
    if (isset($_POST['nntpform'])) {
        $form = array_merge($form, $_POST['nntpform']);
    }
    # if
    /*
     * Did the user press submit? If so, try to
     * connect to the database
     */
    $nntpVerified = false;
    if ($form['submit'] === 'Verify usenet server' || $form['submit'] === 'Skip validation') {
        try {
            /*
             * Convert the selected NNTP name to an actual
             * server record.
             */
            if ($form['name'] == 'custom') {
                $form['buggy'] = false;
                $form['hdr'] = $form;
                $form['nzb'] = $form;
                $form['post'] = $form;
            } else {
                foreach ($serverList->usenetservers->server as $provider) {
                    if (extension_loaded('openssl') && isset($provider->ssl)) {
                        $server = $provider->ssl;
                    } else {
                        $server = $provider->plain;
                    }
                    # if
                    if ((string) $provider['name'] == $form['name']) {
                        # Header usenet server
                        $form['hdr']['host'] = (string) $server->header;
                        $form['hdr']['user'] = $form['user'];
                        $form['hdr']['pass'] = $form['pass'];
                        if ((string) $server->header['ssl'] == 'yes') {
                            $form['hdr']['enc'] = 'ssl';
                        } else {
                            $form['hdr']['enc'] = false;
                        }
                        # else
                        $form['hdr']['port'] = (int) $server->header['port'];
                        $form['hdr']['buggy'] = (bool) $server['buggy'];
                        # NZB usenet server
                        $form['nzb']['host'] = (string) $server->nzb;
                        $form['nzb']['user'] = $form['user'];
                        $form['nzb']['pass'] = $form['pass'];
                        if ((string) $server->nzb['ssl'] == 'yes') {
                            $form['nzb']['enc'] = 'ssl';
                        } else {
                            $form['nzb']['enc'] = false;
                        }
                        # else
                        $form['nzb']['port'] = (int) $server->nzb['port'];
                        $form['nzb']['buggy'] = (bool) $server['buggy'];
                        # Posting usenet server
                        $form['post']['host'] = (string) $server->post;
                        $form['post']['user'] = $form['user'];
                        $form['post']['pass'] = $form['pass'];
                        if ((string) $server->post['ssl'] == 'yes') {
                            $form['post']['enc'] = 'ssl';
                        } else {
                            $form['post']['enc'] = false;
                        }
                        # else
                        $form['post']['port'] = (int) $server->post['port'];
                        $form['post']['buggy'] = (bool) $server['buggy'];
                    }
                    # if
                }
                # foreach
            }
            # else
            /* and try to connect to the usenet server */
            if ($form['submit'] === 'Verify usenet server') {
                $nntp = new Services_Nntp_Engine($form['hdr']);
                $nntp->validateServer();
            }
            # if
            $nntpVerified = true;
            /*
             * Store the given NNTP settings in the 
             * SESSION object, we need it later to update
             * the settings in the database
             */
            $_SESSION['spotsettings']['nntp'] = $form;
            /*
             * and call the next stage in the setup
             */
            Header("Location: " . $_SERVER['SCRIPT_NAME'] . '?page=4');
        } catch (Exception $x) {
            showTemplate("fatalerror.inc.php", array('x' => $x));
        }
        # exception
    }
    # if
    if (!$nntpVerified) {
        showTemplate("step-003.inc.php", array('form' => $form, 'nntpVerified' > $nntpVerified, 'serverList' => $serverList));
    }
    # else
}
 function validateNntpServer($server)
 {
     $result = '';
     try {
         $testNntp = new Services_Nntp_Engine($server);
         $testNntp->validateServer();
     } catch (Exception $x) {
         $result = $x->getMessage();
     }
     # catch
     return $result;
 }