示例#1
0
文件: lists.php 项目: stof/pearweb
        response_footer();
        exit;
    } else {
        if (!DEVBOX) {
            $request = strtolower($_POST['action']);
            if ($request != 'subscribe' && $request != 'unsubscribe') {
                $request = 'subscribe';
            }
            $sub = str_replace('@', '=', $_POST['email']);
            foreach ($_POST['maillist'] as $list => $type) {
                if ($type == 'digest') {
                    $list = $list . '-digest';
                }
                mail("{$list}-{$request}-{$sub}@lists.php.net", 'Website Subscription', 'This was a request generated from the form at' . 'http://' . PEAR_CHANNELNAME . '/support/lists.php.', "From: {$_POST['email']}");
            }
            report_success('A request has been entered into the mailing list' . ' processing queue. You should receive ' . (count($_POST['maillist']) == 1 ? 'an email' : 'emails') . ' at ' . htmlentities($_POST['email'], ENT_QUOTES, 'UTF-8') . ' shortly describing' . ' how to complete your request.');
        }
    }
}
?>


<p>
 There are <?php 
echo count($mailing_lists) - 1;
?>
 PEAR-related mailing
 lists available. Most of them have archives available, and they are
 also available as newsgroups on our
 <a href="news://news.php.net">news server</a>. The archives are
 searchable. The lists are described in more detail in the
示例#2
0
            $resp = mail($row['email'], 'Password for ' . SITE_BIG . ' bug report #' . $bug_id, 'The password for ' . SITE_BIG . ' bug report #' . $bug_id . ' is ' . $row['passwd'] . '.', 'From: ' . PEAR_BOUNCE_EMAIL);
            if ($resp) {
                $success = 'The password for bug report #' . $bug_id . ' has been sent to ' . PEAR_Bugs_Utils::spamProtect($row['email'], 'text');
            } else {
                $errors[] = 'Sorry. Mail can not be sent at this time. Please try again later.';
            }
        }
    }
} else {
    $errors[] = 'Invalid bug id provided';
}
response_header('Bug Report Password Finder');
echo "<h1>Bug Report Password Finder</h1>\n";
report_error($errors);
if ($success) {
    report_success($success);
}
?>

<p>
If you need to modify a bug report that you submitted, but have
forgotten what password you used, this utility can help you.
</p>

<p>
Enter in the number of the bug report, press the Send button
and the password will be mailed to the email address specified
in the bug report.
</p>

<form method="get" action="bug-pwd-finder.php">
示例#3
0
function run_parent_process($workers, $argv)
{
    global $tests;
    global $config;
    global $failMessages;
    $sockets = [];
    $workerInfo = [];
    foreach ($workers as $id => $worker) {
        $workerInfo[$id] = ['id' => $worker['id'], 'pid' => $worker['pid'], 'socketId' => $worker['socketId']];
        $sockets[$id] = $worker['socket'];
    }
    collect_responses($sockets);
    foreach ($tests as $id => $test) {
        if ($config->filter) {
            $match = false;
            foreach ($config->filter as $f) {
                if (preg_match("/{$f}/i", $id)) {
                    $match = true;
                    break;
                }
            }
            if (!$match) {
                continue;
            }
        }
        if ($config->exclude) {
            $match = false;
            foreach ($config->exclude as $e) {
                if (preg_match("/{$e}/i", $id)) {
                    $match = true;
                    break;
                }
            }
            if ($match) {
                continue;
            }
        }
        echo "{$id}:\n";
        for ($i = 0; $i < $config->runs; $i++) {
            $parentState = (object) [];
            if (isset($test['setupParent'])) {
                $initialState = $test['setupParent']($parentState);
            } else {
                $initialState = (object) [];
            }
            if (isset($test['setupWorker'])) {
                call_workers($sockets, 'run_test', [$id, $i, 'setupWorker', $initialState]);
            }
            $responses = call_workers($sockets, 'run_test', [$id, $i, 'test']);
            $result = $test['check']($workerInfo, $responses, $parentState, $initialState);
            if ($result[0]) {
                report_success($id);
            } else {
                report_failure($id, $result[1]);
            }
            if (isset($test['teardownParent'])) {
                $test['teardownParent']($parentState, $initialState);
            }
        }
        echo "\n\n";
    }
    foreach ($workers as $worker) {
        socket_write($worker['socket'], serialize(["quit", []]));
    }
    foreach ($workers as $worker) {
        pcntl_wait($worker['pid']);
        socket_close($worker['socket']);
    }
    echo "All workers done\n";
    if ($failMessages) {
        $out = [];
        foreach ($failMessages as list($id, $message)) {
            $current = "{$id}: {$message}";
            $out[] = $current;
        }
        echo implode("\n", array_unique($out)) . "\n";
        exit(1);
    } else {
        exit(0);
    }
}
示例#4
0
        }
        $request = new PEAR_Election_Accountrequest();
        $salt = $request->addRequest($stripped['handle'], $stripped['email'], $stripped['firstname'], $stripped['lastname'], $stripped['password'], $stripped['password2']);
        if (PEAR::isError($salt)) {
            $errors[] = 'This email address has already been registered by another user';
            $display_form = true;
            break;
        }
        if (isset($stripped['display_form'])) {
            $display_form = $stripped['display_form'];
        }
        if (is_array($salt)) {
            $errors = $salt;
            break;
        } elseif (strlen($salt) == 32) {
            report_success('Your account request confirmation has been submitted. ' . ' You must follow the link provided in the email ' . ' in order to activate your account.' . ' Until this is done you cannot vote in any election.');
            $mailData = array('username' => $stripped['handle'], 'salt' => $salt);
            if (!DEVBOX) {
                $mailer = Damblan_Mailer::create('pearweb_account_request_vote', $mailData);
                $additionalHeaders['To'] = $stripped['email'];
                $mailer->send($additionalHeaders);
            }
        }
        $display_form = false;
    }
} while (0);
try {
    $sHelper = new Pearweb_Service_HoneyPot(HONEYPOT_API_KEY);
    $ip = $_SERVER['REMOTE_ADDR'];
    $sHelper->check($ip);
} catch (Exception $e) {
示例#5
0
        if ($request->find($salt) && $request->pending()) {
            $email = $request->email;
            $user = $name = '';
            $errors = array();
            include PEARWEB_TEMPLATEDIR . '/bugs/registernewaccount.php';
            response_footer();
            exit;
        } else {
            report_error('Unknown salt');
        }
    } else {
        report_error('Unknown salt');
    }
} else {
    echo '<h1>Confirm Account</h1>';
    if (empty($stripped['salt']) || strlen($salt = htmlspecialchars($stripped['salt'])) != 32) {
        report_error('Unknown salt');
    } else {
        $request = new PEAR_Election_Accountrequest();
        $result = $request->confirmRequest($salt);
        if (PEAR::isError($result)) {
            report_error($result->getMessage());
        } elseif ($result) {
            report_success('Your account has been activated, you can now vote in
        PEAR elections that are for the general PHP public as well as open bugs in the bug tracker');
        } else {
            report_error('There was a problem activating your account, please contact ' . PEAR_WEBMASTER_EMAIL);
        }
    }
}
response_footer();
示例#6
0
<?php

$p = clean($package);
$b = clean($bug);
response_header('Patch Added :: ' . $p . ' :: Bug #' . $b);
report_success('Patch added');
include dirname(__FILE__) . '/listpatches.php';
response_footer();
示例#7
0
<?php

response_header('Upload New Release');
?>
<h1>Upload New Release</h1>
<?php 
if ($success) {
    if (is_array($info)) {
        report_success('Version ' . $info['version'] . ' of ' . $info['package'] . ' has been successfully released, ' . 'and its promotion cycle has started.');
        echo '<p><a href="/package/', $info['package'], '">Visit package home</a>';
    } else {
        report_success('Version ' . $info->getVersion() . ' of ' . $info->getPackage() . ' has been successfully released, ' . 'and its promotion cycle has started.');
    }
    echo '</p></div>';
} else {
    report_error($errors);
}
$csrf_token_value = create_csrf_token($csrf_token_name);
?>
<p>
Upload a new package distribution file built using &quot;<code>pear
package</code>&quot; here.  The information from your package.xml file will
be displayed on the next screen for verification. The maximum file size
is 16 MB.
</p>

<p>
Uploading new releases is restricted to each package's lead developer(s).
</p><form action="release-upload.php" method="post" enctype="multipart/form-data" >
<table class="form-holder" cellspacing="1">
 <caption class="form-caption">
示例#8
0
        $pepr_form = $form->toArray();
        report_error($pepr_form['errors']);
    }
}
ob_end_flush();
if (!empty($_GET['next_stage'])) {
    $form =& new HTML_QuickForm('no-form');
    $form->removeAttribute('name');
    $bbox = array();
    switch ($proposal->status) {
        case 'proposal':
            $bbox[] = 'The package has been proposed on pear-dev.' . ' All further changes will produce an update email.';
            break;
        case 'vote':
            $bbox[] = 'The package has been called for votes on pear-dev.' . ' No further changes are allowed.';
            break;
    }
    if ($karma->has($auth_user->handle, 'pear.pepr.admin')) {
        $bbox[] = 'Your changes were recorded and necessary emails were sent.';
    }
    if ($bbox) {
        report_success(implode(' ', $bbox));
    }
} else {
    if (!empty($_GET['saved'])) {
        report_success('Changes saved successfully.');
    }
}
display_pepr_nav($proposal);
$form->display();
response_footer();
示例#9
0
            $errors = array();
            if ($voteData['is_conditional'] && empty($voteData['comment'])) {
                $errors[] = 'You have to apply a comment if your vote is' . ' conditional!';
            }
            if ($voteData['is_conditional'] && $voteData['value'] < 1) {
                $errors[] = 'Conditional votes have to be formulated positively!' . " Please select '+1' and change your text to a" . " form like 'I am +1 on this if you change...'.";
            }
            if (!array_key_exists($voteData['reviews'][0], $proposalReviewsMap)) {
                $errors[] = 'Reviews contains invalid data';
            }
            if ($errors) {
                report_error($errors);
            } else {
                $proposal->addVote($dbh, new ppVote($voteData));
                $proposal->sendActionEmail('proposal_vote', 'user', $auth_user->handle);
                report_success('Your vote has been registered successfully');
                $form = false;
            }
        }
    }
} else {
    $form = false;
}
display_pepr_nav($proposal);
?>

<table border="0" cellspacing="0" cellpadding="2" style="width: 100%">

<?php 
if ($proposal->status == 'vote') {
    echo " <tr>\n";
示例#10
0
response_header('PEPr :: Comments :: ' . htmlspecialchars($proposal->pkg_name));
echo '<h1>Comments for &quot;' . htmlspecialchars($proposal->pkg_name) . "&quot;</h1>\n";
display_pepr_nav($proposal);
if ($auth_user && $proposal->getStatus() == 'proposal') {
    include_once 'HTML/QuickForm2.php';
    $form = new HTML_QuickForm2('comment', 'post', array('action' => 'pepr-comments-show.php?id=' . $id));
    $form->removeAttribute('name');
    $c = $form->addElement('textarea', 'comment', array('cols' => 70, 'rows' => 20, 'required' => 'required', 'placeholder' => 'Hi. Can I politely suggest that...', 'id' => 'comment_field'))->setLabel('Comments:');
    $form->addElement('submit', 'submit');
    $c->addFilter('trim');
    $c->addRule('required', 'A comment is required');
    if (isset($_POST['submit'])) {
        if ($form->validate()) {
            $proposal->sendActionEmail('proposal_comment', 'user', $auth_user->handle, $c->getValue());
            $proposal->addComment($c->getValue(), 'package_proposal_comments');
            report_success('Your comment was successfully processed');
        }
    }
}
?>

<table border="0" cellspacing="0" cellpadding="2" style="width: 100%">

 <tr>
  <th class="headrow" colspan="2">&raquo; Submit Your Comment</th>
 </tr>
 <tr>
  <td class="textcell" valign="top" colspan="2">

<?php 
if ($proposal->getStatus() != 'proposal') {
示例#11
0
文件: import.php 项目: radicalsuz/amp
function do_import()
{
    global $dbcon, $mysql_fields;
    global $outlook_fields, $outlook_to_mysql;
    global $contacts_table, $header;
    global $user_field, $_POST, $daction;
    $enteredby = isset($_REQUEST[$user_field]) ? $_REQUEST[$user_field] : '';
    #header("Content-type: text/plain");
    #include($header);
    ############################
    # GET THE UPLOADED FILE
    if (!is_uploaded_file($_FILES['csvfile']['tmp_name'])) {
        report_error("Error uploading file");
        do_form();
        return;
    }
    $fd = fopen($_FILES['csvfile']['tmp_name'], "r");
    ############################
    # PARSE THE UPLOADED FILE
    # for each row in the cvs file uploaded
    # put the data in a row of $sql_data
    # mapping the outlook headers in the cvs file to
    # sql headers in the $sql_data array.
    $firstline = trim(fgets($fd, 4096));
    //echo $firstline."<br>";
    $headers = split(",", $firstline);
    # this array holds the names of all fields which are skipped
    $fields_skipped = array();
    $got_data = false;
    $row = 0;
    $column_count = count($headers);
    $sql_data = array();
    while (!feof($fd)) {
        $data = fgetcsv($fd, 4096);
        // map the outlook columns to mysql columns
        $sql_data[$row] = array();
        for ($column = 0; $column < $column_count; $column++) {
            if (!isset($outlook_to_mysql[$headers[$column]])) {
                $fields_skipped[$headers[$column]] = true;
                continue;
                # skip reverse mapping which are not defined
            }
            $mysql_column = $outlook_to_mysql[$headers[$column]];
            $sql_data[$row][$mysql_column] = addslashes($data[$column]);
            $got_data = true;
        }
        $row++;
    }
    fclose($fd);
    if (!$got_data) {
        report_error("Error: no data found in the uploaded file!");
        do_form();
        return;
    }
    if (!empty($fields_skipped)) {
        report_success("Note: these fields are being skipped, because there is no defined mapping for them:<br>" . join(", ", array_keys($fields_skipped)) . ".") . "<br>";
    }
    ####################################
    # COMMIT THE DATA TO THE DATABASE
    # this routine is very simple and incredibly inefficient
    # which is ok as long as the database does not grow to thousands.
    # algorithm:
    # - load every name from the database into memory
    # - eliminate all rows in $sql_data where the first name and
    #   last name are already in the database.
    # - commit the remaining rows of $sql_data
    # get the current names from the database
    # we trim away whitespace and cat the two names together
    $names = array();
    $query = "SELECT TRIM(Organization), id FROM `{$contacts_table}` WHERE modinid = {$_POST['modinid']} ;";
    $record_set = $dbcon->Execute($query);
    if ($record_set == null) {
        die($dbcon->ErrorMsg());
    }
    while (!$record_set->EOF) {
        if (isset($record_set->fields[0])) {
            $names[$record_set->fields[0]] = $record_set->fields[1];
        }
        $record_set->MoveNext();
    }
    $record_set->Close();
    # loop over each row in the uploaded data
    # insert into database if the names are different
    # (the data in $sql_data has already had addslashes called on it)
    $newdata = false;
    if ($daction == 'delete') {
        $queryd = "DELETE from  {$contacts_table}  where modinid= {$_POST['modinid']};";
        $ok = $dbcon->Execute($queryd);
        if (!$ok) {
            die($dbcon->ErrorMsg());
        }
    }
    foreach ($sql_data as $row) {
        $query2 = "SELECT id FROM `states` WHERE `state` = '{$row['State']}'";
        $staten = $dbcon->Execute($query2) or die($dbcon->ErrorMsg());
        $query2 = "SELECT id FROM `region` WHERE `title` = '{$row['region']}'";
        $region = $dbcon->Execute($query2) or die($dbcon->ErrorMsg());
        if ($region->Fields("id")) {
            $row[region] = $region->Fields("id");
        } else {
            $row[region] = $staten->Fields("id");
        }
        $row[State] = $staten->Fields("id");
        if ($row[WebPage]) {
            $row[WebPage] = eregi_replace("http://", "", $row[WebPage]);
            $row[WebPage] = "http://" . $row[WebPage];
        }
        if ($_POST[publishx]) {
            $row[publish] = $_POST[publishx];
        }
        if ($_POST[regionx]) {
            $row[region] = $_POST[regionx];
        }
        if ($_POST[field1]) {
            $row[field1] = $_POST[field1];
        }
        if ($_POST[field2]) {
            $row[field2] = $_POST[field2];
        }
        if ($_POST[field3]) {
            $row[field3] = $_POST[field3];
        }
        if ($_POST[field4]) {
            $row[field4] = $_POST[field4];
        }
        if ($_POST[field5]) {
            $row[field5] = $_POST[field5];
        }
        if ($_POST[field6]) {
            $row[field6] = $_POST[field6];
        }
        if ($_POST[field7]) {
            $row[field7] = $_POST[field7];
        }
        if ($_POST[field8]) {
            $row[field8] = $_POST[field8];
        }
        if ($_POST[field9]) {
            $row[field9] = $_POST[field9];
        }
        if ($_POST[field10]) {
            $row[field10] = $_POST[field10];
        }
        if ($_POST[field11]) {
            $row[field11] = $_POST[field11];
        }
        if ($_POST[field12]) {
            $row[field12] = $_POST[field12];
        }
        if ($_POST[field13]) {
            $row[field13] = $_POST[field13];
        }
        if ($_POST[field14]) {
            $row[field14] = $_POST[field14];
        }
        if ($_POST[field15]) {
            $row[field15] = $_POST[field15];
        }
        if ($_POST[field16]) {
            $row[field16] = $_POST[field16];
        }
        if ($_POST[field17]) {
            $row[field17] = $_POST[field17];
        }
        if ($_POST[field18]) {
            $row[field18] = $_POST[field18];
        }
        if ($_POST[field19]) {
            $row[field19] = $_POST[field19];
        }
        if ($_POST[field20]) {
            $row[field20] = $_POST[field20];
        }
        $name = trim(stripslashes($row['Organization']));
        if ($daction == 'skip') {
            if ($name == "" || isset($names[$name])) {
                continue;
            }
            # skip over names which already exist
        }
        if ($daction == 'update') {
            if ($name == "" || isset($names[$name])) {
                foreach ($row as $column => $value) {
                    if ($value == '') {
                        unset($row[$column]);
                    } else {
                        $row[$column] = "'{$value}'";
                    }
                }
                $row[modinid] = $_POST[modinid];
                $columns = array_keys($row);
                $values = array_values($row);
                $one = NULL;
                $one = array();
                $sizeof = count($columns);
                foreach ($columns as $key => $value) {
                    $one[$key] = $columns[$key] . " = " . $values[$key];
                }
                $uvalues = join(",", array_values($one));
                $query = "UPDATE {$contacts_table}  set  {$uvalues}  where id = {$names[$name]};";
                echo "<br><br>{$query}\n";
                $ok = $dbcon->Execute($query);
                if (!$ok) {
                    die($dbcon->ErrorMsg());
                } else {
                    $newdata = true;
                }
                report_success("updated record for {$row['Organization']}.");
                continue;
            }
        }
        foreach ($row as $column => $value) {
            if ($value == '') {
                unset($row[$column]);
            } else {
                $row[$column] = "'{$value}'";
            }
        }
        $row[modinid] = $_POST[modinid];
        $columns = join(",", array_keys($row));
        $values = join(",", array_values($row));
        $query = "INSERT INTO {$contacts_table} ({$columns}) VALUES({$values});";
        //echo "<br><br>$query\n";
        $ok = $dbcon->Execute($query);
        if (!$ok) {
            die($dbcon->ErrorMsg());
        } else {
            $newdata = true;
        }
        report_success("added new record for {$row['Organization']}.");
    }
    if (!$newdata) {
        report_success("No action performed: the uploaded file contained no new records.");
    }
    $dbcon->Close();
}
示例#12
0
        if ($user['password'] != md5($_POST['password_old'])) {
            PEAR::raiseError('You provided a wrong old password.');
            break;
        }
    }
    if ($_POST['password'] != $_POST['password2']) {
        PEAR::raiseError('The new passwords do not match.');
        break;
    }
    $data = array('password' => md5($_POST['password']), 'handle' => $handle);
    $result = user::update($data);
    if ($result) {
        // TODO do the SVN push here
        $expire = !empty($_POST['PEAR_PERSIST']) ? 2147483647 : 0;
        setcookie('PEAR_PW', md5($_POST['password']), $expire, '/');
        report_success('Your password was successfully updated.');
    }
}
$dbh->setFetchmode(DB_FETCHMODE_ASSOC);
$row = $dbh->getRow('SELECT * FROM users WHERE handle = ?', array($handle));
if ($row === null) {
    error_handler(htmlspecialchars($handle) . ' is not a valid account name.', 'Invalid Account');
}
$csrf_token_value = create_csrf_token($csrf_token_name);
$form = new HTML_QuickForm2('account-edit', 'post');
$form->removeAttribute('name');
// Set defaults for the form elements
$form->addDataSource(new HTML_QuickForm2_DataSource_Array(array('active' => htmlspecialchars($row['active']), 'name' => htmlspecialchars($row['name']), 'email' => htmlspecialchars($row['email']), 'showemail' => htmlspecialchars($row['showemail']), 'homepage' => htmlspecialchars($row['homepage']), 'wishlist' => htmlspecialchars($row['wishlist']), 'pgpkeyid' => htmlspecialchars($row['pgpkeyid']), 'userinfo' => htmlspecialchars($row['userinfo']), 'latitude' => htmlspecialchars($row['latitude']), 'longitude' => htmlspecialchars($row['longitude']))));
$form->addElement('checkbox', 'active')->setLabel('Active User?');
$form->addElement('text', 'name', 'accesskey="n"')->setLabel('<span class="accesskey">N</span>ame:');
$form->addElement('email', 'email')->setLabel('Email:');
示例#13
0
    if ($_POST['text'] == '') {
        $errors[] = 'You have to specify the text of your correspondence.';
    }
    if (!empty($_SESSION['last_email_sent']) && $_SESSION['last_email_sent'] > time() - 5) {
        $errors[] = 'Wait a few seconds before sending more email.';
    }
    if (!report_error($errors)) {
        $text = "[This message has been brought to you via " . PEAR_CHANNELNAME . ".]\n\n";
        $text .= wordwrap($_POST['text'], 72);
        if ($auth_user) {
            $text .= "\n\nvia PEAR account:";
            $text .= print_r(array('email' => $auth_user->email, 'name' => $auth_user->name), true);
        }
        $_SESSION['last_email_sent'] = time();
        if (@mail($row['email'], $_POST['subject'], $text, 'From: "' . $_POST['name'] . '" <' . $_POST['email'] . '>', '-f bounce-no-user@php.net')) {
            report_success('Your message was successfully sent.');
            if (!empty($_POST['copy_me'])) {
                $text = "This is a copy of your mail sent to " . $row['email'] . ":\n\n" . $text;
                @mail($_POST['email'], $_POST['subject'], $text, 'From: "' . $_POST['name'] . '" <' . $_POST['email'] . '>', '-f bounce-no-user@php.net');
            }
        } else {
            report_error('The server could not send your message, sorry.');
        }
    } else {
        printForm($_POST);
    }
} else {
    echo '<p>If you want to get in contact with one of the PEAR contributors,' . ' you can do this by filling out the following form.</p>';
    echo '<p style="font-weight: bold; font-size: 110%; color: red;">' . 'Do not send email to this developer if you are in need of support for' . ' any of his/her package(s), instead we recommend' . ' emailing ' . PEAR_GENERAL_EMAIL . ' where you are more likely to get answer.<br />' . ' You can subscribe to the pear-general mailinglist from the ' . make_link('/support/lists.php', 'Support - Mailinglist') . ' page.</p>';
    // Guess the user if he is logged in
    if ($auth_user) {
示例#14
0
            if (isset($_POST['tags']) && is_array($_POST['tags'])) {
                $manager = new Tags_Manager();
                $manager->clearTags($_POST['name']);
                foreach ($_POST['tags'] as $tag) {
                    if (!$tag) {
                        continue;
                    }
                    $manager->createPackageTag($tag, $_POST['name']);
                }
            }
            include_once 'pear-rest.php';
            $pear_rest = new pearweb_Channel_REST_Generator(PEAR_REST_PATH, $dbh);
            $pear_rest->saveAllPackagesREST();
            $pear_rest->savePackageREST($_POST['name']);
            $pear_rest->savePackagesCategoryREST(package::info($_POST['name'], 'category'));
            report_success('Package information successfully updated.');
        }
    }
} else {
    if (isset($_GET['action'])) {
        switch ($_GET['action']) {
            case 'release_remove':
                if (!isset($_GET['release'])) {
                    report_error('Missing package ID!');
                    break;
                }
                include_once 'pear-database-release.php';
                if (release::remove($_GET['id'], $_GET['release'])) {
                    echo "<b>Release successfully deleted.</b><br /><br />\n";
                } else {
                    report_error('An error occured while deleting the release!');
        //  The add method performs further validation then creates the account
        include_once 'pear-database-user.php';
        $ok = user::add($stripped);
        if (PEAR::isError($ok)) {
            $errors[] = 'This email address has already been registered by another user';
            $display_form = true;
            break;
        }
        if (isset($stripped['display_form'])) {
            $display_form = $stripped['display_form'];
        }
        if (is_array($ok)) {
            $errors = $ok;
            break;
        } elseif ($ok === true) {
            report_success('Your account request has been submitted, it will' . ' be reviewed by a human shortly.  This may take from' . ' two minutes to several days, depending on how much' . ' time people have.' . ' You will get an email when your account is open,' . ' or if your request was rejected for some reason.');
            $mailData = array('username' => $stripped['handle'], 'firstname' => $stripped['firstname'], 'lastname' => $stripped['lastname'], 'package' => $stripped['existingpackage']);
            if (!DEVBOX) {
                $mailer = Damblan_Mailer::create('pearweb_account_request', $mailData);
                $additionalHeaders['To'] = PEAR_GROUP_EMAIL;
                $mailer->send($additionalHeaders);
            }
        } elseif ($ok === false) {
            $msg = 'Your account request has been submitted, but there' . ' were problems mailing one or more administrators.' . ' If you don\'t hear anything about your account in' . ' a few days, please drop a mail about it to the' . ' <i>pear-dev</i> mailing list.';
            report_error($msg, 'warnings', 'WARNING:');
        }
        $display_form = false;
    }
} while (0);
try {
    $sHelper = new Pearweb_Service_HoneyPot(HONEYPOT_API_KEY);
示例#16
0
文件: report.php 项目: stof/pearweb
    exit;
}
if (!package_exists($_REQUEST['package'])) {
    $errors[] = 'Package "' . $clean_package . '" does not exist.';
    response_header("Report - Invalid package");
    report_error($errors);
    response_footer();
    exit;
}
response_header('Report - New');
// See if this package uses an external bug system
require_once 'bugs/pear-bugs-utils.php';
$bug_link = PEAR_Bugs_Utils::getExternalSystem($clean_package);
if (!empty($bug_link)) {
    $link = make_link($bug_link);
    report_success($clean_package . ' has an external bug system that can be reached at ' . $link);
    response_footer();
    exit;
}
if (!isset($_POST['in'])) {
    $_POST['in'] = array('package_name' => '', 'bug_type' => '', 'email' => '', 'handle' => '', 'sdesc' => '', 'ldesc' => '', 'repcode' => '', 'expres' => '', 'actres' => '', 'package_version' => '', 'php_version' => '', 'php_os' => '', 'passwd' => '');
    show_bugs_menu($clean_package);
    try {
        $sHelper = new Pearweb_Service_HoneyPot(HONEYPOT_API_KEY);
        $ip = $_SERVER['REMOTE_ADDR'];
        $sHelper->check($ip);
    } catch (Exception $e) {
        if (!isset($auth_user)) {
            report_error($e);
            $display_form = false;
            response_footer();
示例#17
0
 * @author    Tobias Schlitt <*****@*****.**>
 * @author    Daniel Convissor <*****@*****.**>
 * @copyright Copyright (c) 1997-2005 The PHP Group
 * @license   http://www.php.net/license/3_0.txt  PHP License
 * @version   $Id$
 */
/**
 * Obtain the common functions and classes.
 */
require_once 'pepr/pepr.php';
require_once 'HTML/QuickForm2.php';
auth_require('pear.pepr');
if (!empty($_GET['isDeleted'])) {
    response_header('PEPr :: Delete');
    echo "<h1>Delete Proposal</h1>\n";
    report_success('Proposal deleted successfully.');
    echo '<p>';
    echo make_link('/pepr/', 'Back to PEPr Home Page');
    echo "</p>\n";
    response_footer();
    exit;
}
if (empty($_GET['id'])) {
    response_header('PEPr :: Delete :: Invalid Request');
    echo "<h1>Delete Proposal</h1>\n";
    report_error('The requested proposal does not exist.');
    response_footer();
    exit;
}
$proposal = proposal::get($dbh, $_GET['id']);
if (!$proposal) {