<p> If you aren't sure that what you're about to report is a bug, you should ask for help using one of the means for support <a href="http://www.php.net/support.php">listed here</a>. </p> <p> <strong>Failure to follow these instructions may result in your bug simply being marked as "not a bug."</strong> </p> <p>Report <img src="images/pear_item.gif"><b>PEAR</b> related bugs <a href="http://pear.php.net/bugs/">here</a></p> <p> <strong>If you feel this bug concerns a security issue, e.g. a buffer overflow, weak encryption, etc, then email <?php echo make_mailto_link("{$site_data['security_email']}?subject=%5BSECURITY%5D+possible+new+bug%21", $site_data['security_email']); ?> who will assess the situation or use <strong>Security</strong> as bug type in the form below.</strong> </p> <?php } display_bug_error($errors); ?> <form method="post" action="report.php?package=<?php echo htmlspecialchars($package); ?> " name="bugreport" id="bugreport" enctype="multipart/form-data"> <input type="hidden" name="in[did_luser_search]" value="<?php echo isset($_POST['in']['did_luser_search']) ? $_POST['in']['did_luser_search'] : 0; ?>
<a target="top" href="http://bugs.php.net/how-to-report.php">how to report a bug that someone will want to help fix</a>. <br /> If you aren't sure that what you're about to report is a bug, you should ask for help using one of the means for support <a href="/support/">listed here</a>. </p> <p> <strong>Failure to follow these instructions may result in your bug simply being marked as "bogus."</strong> <br /> <strong>If you feel this bug concerns a security issue, eg a buffer overflow, weak encryption, etc, then email <?php echo make_mailto_link('pear-group@php.net?subject=%5BSECURITY%5D+possible+new+bug%21', 'pear-group'); ?> who will assess the situation.</strong> </p> <p> <strong>Note:</strong><br /> Please supply any information that may be helpful in fixing the bug: <ul style="padding-left: 15px;"> <li>The version number of the <?php echo SITE_BIG; ?> package or files you are using.</li> <li>A short script that reproduces the problem.</li> <li>The list of modules you compiled PHP with (your configure line).</li> <li>Any other information unique or specific to your setup.</li>
The current PEAR Group membership lasts from June 15th, 2009 until June 15th, 2010, and is made up of PEAR developers duly elected by the developers of PEAR to serve. </p> <p>An archive of older groups can be found <a href="/group/archive.php">here</a></p> <p>The Group was <?php echo make_link("http://marc.theaimsgroup.com/?l=pear-dev&m=106073080219083&w=2", "first announced"); ?> on 12th August 2003 by Stig S. Bakken, and was made into an elected body by the constitution adopted on 18th March 2007. If you would like to get in contact with the members, you can write to <?php echo make_mailto_link("*****@*****.**"); ?> . </p> <h2>» Administrative Documents</h2> <ul> <li>04th November 2005: <?php echo make_link("docs/20051104-sa.php", "Security Vulnerability Announcement"); ?> </li> <li>02nd April 2004: <?php echo make_link("docs/20040402-la.php", "License Announcement"); ?> </li> <li>19th March 2004: <?php
<p>Some forms on the PECL website use <a href="http://en.wikipedia.org/wiki/Captcha"><acronym title="Completely Automated Public Turing test to tell Computers and Humans Apart" >CAPTCHA</acronym></a>s in order to avoid our getting spammed.</p> <?php if (isset($_SESSION['captcha'])) { ?> <p>Your CAPTCHA is <img src="/captcha-image.php" alt="CAPTCHA text" />. If you are having a hard time reading it, reloading this page will modify how the image looks.</p> <p>If you are visually impaired, please send a note to the <?php echo make_mailto_link('*****@*****.**', 'pecl-dev'); ?> mailing list. Be sure to explain your situation and include all of the information from the form you are trying to submit.</p> <?php } else { ?> <p>This page provides further information once you view a form which requires a CAPTCHA.</p> <?php } response_footer();
function display($self_link) { $this->self_link = $self_link; #print "<pre>"; print_r($_POST); print "</pre>"; $view = get_http_var('view', 'needattention'); $id = get_http_var("id"); $rep_id = get_http_var("rep_id"); // Display about id if ($id) { if ($this->do_actions($id)) { # header("Location: ".$_SERVER['REQUEST_URI'] . "\n"); # exit; } // Navigation bar $this->render_bar($view, false, $id); // Display general information print "<h2>Message id " . make_ids_links($id) . ":</h2>"; $message = msg_admin_get_message($id); msg_check_error($message); $this->print_message($message); // Commands $form = new HTML_QuickForm('messageForm', 'post', $self_link); if (!get_http_var('note')) { $actiongroup[] = &HTML_QuickForm::createElement('text', 'notebody', null, array('size'=>30)); $actiongroup[] = &HTML_QuickForm::createElement('submit', 'note', 'Note'); } $actiongroup[] = &HTML_QuickForm::createElement('static', null, null, " <b>Action:</b>"); if ($message['frozen']) { if ($message['state'] != 'error' and $message['state'] != 'failed' and $message['state'] != 'failed_closed') $actiongroup[] = &HTML_QuickForm::createElement('submit', 'error', 'Error with email'); if ($message['state'] != 'failed' and $message['state'] != 'failed_closed') $actiongroup[] = &HTML_QuickForm::createElement('submit', 'failed', 'Fail silently'); if ($message['state'] != 'error' and $message['state'] != 'failed' and $message['state'] != 'failed_closed') $actiongroup[] = &HTML_QuickForm::createElement('submit', 'thaw', 'Thaw'); } else { if ($message['state'] != 'error' and $message['state'] != 'failed' and $message['state'] != 'failed_closed') $actiongroup[] = &HTML_QuickForm::createElement('submit', 'freeze', 'Freeze'); } if ($message['no_questionnaire']) $actiongroup[] = &HTML_QuickForm::createElement('submit', 'yes_questionnaire', 'Allow Questionnaire'); else $actiongroup[] = &HTML_QuickForm::createElement('submit', 'no_questionnaire', 'No Questionnaire'); if ($message['state'] == 'pending') $actiongroup[] = &HTML_QuickForm::createElement('submit', 'ready', 'Confirm'); elseif ($message['state'] == 'failed' || $message['state'] == 'failed_closed') $actiongroup[] = &HTML_QuickForm::createElement('submit', 'ready', 'Retry'); if (!get_http_var('body')) $actiongroup[] = &HTML_QuickForm::createElement('submit', 'body', 'View Body'); else $actiongroup[] = &HTML_QuickForm::createElement('submit', 'nobody', 'Hide Body'); if (!get_http_var('wire_emails')) $actiongroup[] = &HTML_QuickForm::createElement('submit', 'wire_emails', 'View Emails'); else $actiongroup[] = &HTML_QuickForm::createElement('submit', 'no_wire_emails', 'Hide Emails'); $form->addElement('hidden', 'id', $id); $form->addElement('hidden', 'token', get_token()); $form->addGroup($actiongroup, "actiongroup", "",' ', false); admin_render_form($form); print 'Similar messages: '; print '<a href="' . htmlspecialchars(url_new("", true, 'view', 'similarbody', 'simto', $id, 'id', null)) . '">different rep</a>, '; print '<a href="' . htmlspecialchars(url_new("", true, 'view', 'similarbodysamerep', 'simto', $id, 'id', null)) . '">same rep</a> '; // Links to send messages to sender print " Email sender: <small>"; make_mailto_link($message['sender_email'], "Your message to " . $message['recipient_name'] . " has not been sent", "Hi " . $message['sender_name']. ", Unfortunately, your message to " . $message['recipient_name'] . " has not been sent. You can only use our service to write to your own elected representatives, not to representatives for other places. Here is a full explanation as to why we have this policy: http://www.writetothem.com/about-qa#onlyrep There's a copy of your message below, so you can send it another way, if you like. -------------------------------------------------------------", "write-to-own-reps-only"); make_mailto_link($message['sender_email'], "Your message to " . $message['recipient_name'], "Hi " . $message['sender_name']. ", -------------------------------------------------------------\n\n". $message['message'], "blank-mail-quoting-message"); print "</small>"; // Body text if enabled if (get_http_var('body')) { print "<h2>Body text of message (only read if you really need to)</h2>"; print "<blockquote>"; print nl2br(htmlspecialchars($message['message'])); print "</blockquote>"; } // Body text if enabled if (get_http_var('wire_emails')) { foreach (array('representative', 'confirm', 'confirm-reminder', 'failure', 'questionnaire', 'questionnaire-reminder') as $type) { print "<h2>Wire text of email - $type</h2>"; $wire = msg_admin_get_wire_email($message['id'], $type); if (msg_get_error($wire)) { print "Error contacting queue:"; print_r($wire); } else { print "<pre>"; print ms_make_clickable(htmlspecialchars($wire)); print "</pre>"; } } } // Questionnaire answers if there are any if (is_array($message['questionnaires']) and count($message['questionnaires']) > 0) { print "<h2>Questionnaire Responses</h2>"; foreach ($message['questionnaires'] as $q) { if ($q['question_id'] == 0) { print "Reply within two/three weeks:"; } elseif ($q['question_id'] == 1) { print "First time contacted any representative:"; } else { print $q['question_id'] . ":"; } print " <b>" . $q['answer'] . "</b><br>"; } } // Log of what has happened to message $allevents = get_http_var('allevents', 0); print '<h2>' . ($allevents ? 'All events for this message' : 'Important events for this message') . '</h2>'; print ($allevents ? '<a href="' . htmlspecialchars(url_new('', true, 'allevents', null)) . '">View only important events</a>' : '<a href="' . htmlspecialchars(url_new('', true, 'allevents', 1)) . '">View all events</a>'); $recents = msg_admin_message_events($id, !$allevents); if (msg_get_error($recents)) { print "Error contacting queue:"; print_r($recents); $recents = array(); } $this->print_events($recents); if (count($message['bounces']) > 0) { print "<h2>Bounce Messages</h2>"; foreach ($message['bounces'] as $bounce) { print "<hr>"; print "<blockquote>" . nl2br(htmlspecialchars($bounce)) . "</blockquote>"; } print "<hr>"; if ($message['state'] == 'bounce_confirm') { $form = new HTML_QuickForm('bounceForm', 'post', $self_link); $bouncegroup[] = &HTML_QuickForm::createElement('submit', 'error', 'Fatal Delivery Error'); $bouncegroup[] = &HTML_QuickForm::createElement('submit', 'bounce_wait', 'Temporary Problem'); $bouncegroup[] = &HTML_QuickForm::createElement('submit', 'ready', 'Fatal Delivery Error, but should retry with same details'); $form->addGroup($bouncegroup, "bouncegroup", "Which kind of bounce message is this?",' ', false); $form->addElement('hidden', 'id', $id); $form->addElement('hidden', 'token', get_token()); admin_render_form($form); } } } elseif ($view == 'statistics') { // Display general statistics $stats = msg_admin_get_stats(1); if (msg_get_error($stats)) { print "Error contacting queue:"; print_r($stats); } $freq_referrers_day = msg_admin_get_popular_referrers(60 * 60 * 24); if (msg_get_error($freq_referrers_day)) { print "Error contacting queue:"; print_r($freq_referrers_day); } $freq_referrers_week = msg_admin_get_popular_referrers(60 * 60 * 24 * 7); if (msg_get_error($freq_referrers_week)) { print "Error contacting queue:"; print_r($freq_referrers_week); } // Navigation bar $this->render_bar($view, false, $id); ?> <h2>Queue statistics</h2> <p> <b><?=$stats["created_1"]?></b> new in last hour, <b><?=$stats["created_24"]?></b> new in last day, <b><?=$stats["created_168"]?></b> new in last week <br>last fax sent <b><?=strftime('%e %b %Y, %H:%M', $stats["last_fax_time"])?></b>, last email sent <b><?=strftime('%e %b %Y, %H:%M', $stats["last_email_time"])?></b> </p> <h2>Messages in each state by type (created in last day)</h2> <? $this->_display_state_table($stats, "day "); ?> <h2>Messages in each state by type (created in last week)</h2> <? $this->_display_state_table($stats, "week "); ?> <h2>Messages in each state by type (created in last four weeks)</h2> <? $this->_display_state_table($stats, "four "); ?> <h2>Messages in each state by type (all time)</h2> <? $this->_display_state_table($stats, "alltime "); ?> <h2>Top referrers in last day</h2> <table border=1> <? foreach ($freq_referrers_day as $row) { if ($row[1] > 1 && $row[0] != "") { print "<tr><td>" . trim_url($row[0]) . "</td><td>$row[1]</td></tr>"; } } ?> </table> <h2>Top referrers in last week</h2> <table border=1> <? foreach ($freq_referrers_week as $row) { if ($row[1] > 1 && $row[0] != "") { print "<tr><td>" . trim_url($row[0]) . "</td><td>$row[1]</td></tr>"; } } ?> </table> <? } elseif ($rep_id) { $repinfo = dadem_get_representative_info($rep_id); dadem_check_error($repinfo); $sameperson = null; if ($repinfo['parlparse_person_id']) { $sameperson = dadem_get_same_person($repinfo['parlparse_person_id']); dadem_check_error($sameperson); } if (!$sameperson) $sameperson = array($rep_id); $messages = array(); $this->render_bar("rep_id", true, $id); $rep_ids = ''; foreach ($sameperson as $this_rep_id) { $params = array('rep_id' => $this_rep_id); $new_messages = msg_admin_get_queue('rep_id', $params); if (msg_get_error($new_messages)) { print "Error contacting queue:"; print_r($new_messages); $new_messages = array(); } $messages = array_merge($messages, $new_messages); $rep_ids = ' ' . $this_rep_id; } $by_year = array(); foreach ($messages as $message) { if ($message['dispatched']) $year = strftime('%Y', $message['dispatched']); else $year = strftime('%Y', $message['created']); $by_year[$year][] = $message; } $years = array_keys($by_year); sort($years); foreach ($years as $year) { $year_array = $by_year[$year]; print "<h2>Year $year for rep ids $rep_ids"; print " (" . count($year_array) . " of them): </h2>"; $q_by_email = array(); $q_by_email_yes = array(); $dispatched_by_email = array(); $sent_by_email = array(); $q_0_no = 0; $q_0_yes = 0; $q_1_no = 0; $q_1_yes = 0; $dispatched = 0; foreach ($year_array as $message) { if (!array_key_exists($message['sender_email'], $q_by_email)) { $q_by_email[$message['sender_email']] = 0; $q_by_email_yes[$message['sender_email']] = 0; $sent_by_email[$message['sender_email']] = 0; } $q_by_email[$message['sender_email']] += $message['questionnaire_0_no']; $q_by_email[$message['sender_email']] += $message['questionnaire_0_yes']; $q_by_email_yes[$message['sender_email']] += $message['questionnaire_0_yes']; $q_0_no += $message['questionnaire_0_no']; $q_0_yes += $message['questionnaire_0_yes']; $q_1_no += $message['questionnaire_1_no']; $q_1_yes += $message['questionnaire_1_yes']; if ($message['dispatched'] && ($message['state'] == 'sent' || $message['state'] == 'finished')) { $sent_by_email[$message['sender_email']] = $sent_by_email[$message['sender_email']] + 1; $dispatched++; $dispatched_by_email[$message['sender_email']] = true; } } print "Dispatched: $dispatched (unique: " . count($dispatched_by_email) . ")"; if ($q_0_yes + $q_0_no > 0) { print " Responsiveness: $q_0_yes / " . ($q_0_no + $q_0_yes); } if ($q_1_yes + $q_1_no > 0) { print " First time: $q_1_yes / " . ($q_1_no + $q_1_yes); } $html = ''; foreach ($q_by_email as $email => $q_count) { $sent_count = $sent_by_email[$email]; $q_count_yes = $q_by_email_yes[$email]; if ($q_count > 1 || $sent_count > 1) { $html .= "<tr><td>$email</td><td>$sent_count</td><td>$q_count_yes / $q_count</td></tr>"; } } if ($html) { print '<table border="1">'; print '<th>Multiple mailers</th><th>Message dispatched</th><th>Responses to first question</th>'; print $html; print '</table>'; } else { print ' Nobody succesfully sent more than one message to this rep using same email.'; } print '<p>'; $this->print_messages($year_array, null); } } else { // Perform actions on checked items $sender_emails = array(); $sender_full = array(); foreach ($_POST as $k=>$v) { if (stristr($k, "check_")) { $checkid = str_replace("check_", "", $k); $this->do_actions($checkid); $message = msg_admin_get_message($checkid); msg_check_error($message); array_push($sender_emails, $message['sender_email']); array_push($sender_full, $message['sender_name'] . " <" . $message['sender_email'] . ">"); } } if (count($sender_emails) > 0) { print "<p><b>Email list for BCCing:</b><br>" . implode(",", array_unique($sender_emails)); print "<p><b>List of names and addresses:</b><br>" . implode("<br>", array_unique($sender_full)); } // Decide what message view to show $params = array(); $reverse = false; if (stristr($view, "_rev")) { $view = str_replace("_rev", "", $view); $reverse = true; } if (get_http_var('search')) { $view = "search"; } // Set up additional parameters for view if necessary. if ($view == "similarbody" || $view == 'similarbodysamerep') { $params['msgid'] = get_http_var('simto'); } else if ($view == "search" || $view == "logsearch") { $params['query'] = get_http_var('query'); } // Get details about view $messages = msg_admin_get_queue($view, $params); if (msg_get_error($messages)) { print "Error contacting queue:"; print_r($messages); $messages = array(); } // Navigation bar $this->render_bar($view, $reverse, $id); // Display messages print "<h2>Messages which"; if ($view == "similarbody") { print " have similar bodies to " . make_ids_links(get_http_var('simto')); } elseif ($view == "similarbodysamerep") { print " are to the same representative and have similar bodies to " . make_ids_links(get_http_var('simto')); } elseif ($view == "search") { print " match search query '" . htmlspecialchars(get_http_var('query')) . "'"; } elseif ($view == "logsearch") { print " whose log matches '" . htmlspecialchars(get_http_var('query')) . "'"; } else { print " are $view"; } print " (" . count($messages) . " messages): </h2>"; if ($reverse) { $messages = array_reverse($messages); } $this->print_messages($messages, ($view == 'similarbody' || $view == 'similarbodysamerep') ? $params['msgid'] : null); if ($view == 'recentchanged' or $view == 'recentcreated') print "<p>..."; /* indicate that this isn't all the messages... */ // Help ?> <h2>Help — what views/searches are there?</h2> <p> <b>Need Attention:</b> Message which are frozen, most likely due to possible abuse, or need bounce messages classifying. <br><b>Failing:</b> Messages for which delivery is failing, most like incorrect contact details. Sorted by recipient. <br><b>Recently Created:</b> Most recent messages constituents have made. <br><b>Recently Changed:</b> Messages which something has happened to recently. <br><b>Similar to:</b> Shows messages with bodies similar to a given message. Click on "View similar messages" from a message page to get to this view. Displays colourful diffs of the differences. <br><b>Contains:</b> Searches the sender details, recipient details and message body. Enter multiple terms separate by spaces, all must be present to match. If you query by state name ('pending') or representative type ('EUR') you must enter the whole word, case sensitive. Otherwise queries are case insensitive. Yes, you can query on the referrer URL. If you have one, you can enter a confirmation or questionnaire token from an email, such as cqyv7yrisjugc5i5rfz4w75tmnxzi. Examples: '<b>ready EUR</b>' - all messages to MEPs which are ready to be sent. '<b>francis theyworkforyou</b>' - probably all messages written by someone called Francis who came to WTT via theyworkforyou.com. </p> <? } if ($view != "statistics") { ?> <h2>Help — what do the buttons do?</h2> <? if (!$id) { ?> <p>They apply to all items you have checked.</p> <? } ?> <p> <b>note</b> adds the text entered as a remark in the message's log <br><b>freeze</b> stops delivery to representative, but other stuff (such as confirmation message) still happens <br><b>thaw</b> undoes a freeze, so message gets delivered. <br><b>no questionnaire</b> makes the message one for which no questionnaire is sent. <br><b>error with email</b> rejects a message, sending a "could not deliver" email to constituent. <br><b>fail silently</b> rejects a message, with no email to the constituent. <br><b>confirm</b> moves 'pending' to 'ready', the same as user clicking confirm link in email <br><b>retry</b> moves a failed message back to 'ready', restarting the sending process <br><b>view body</b> should only be done if you have good reason to believe it is an abuse of our service. <br><b>edit contact details</b> by clicking on the recipient name </p> <p>To find out <b>state meanings</b>, point the mouse to find out what they are </p> <? if (!$id) { ?> <h2>Help — what do the states mean?</h2> <p>Here is a diagram of state changes:</p> <p><img src="queue-state-machine.png"></p> <p>Description of states in the normal lifetime of a message:</p> <dl> <dt>new</dt> <dd>The message has been created by the user but it has not yet been sent to them for confirmation.</dd> <dt>pending</dt> <dd>The message has been sent to the user but not confirmed yet. A reminder copy of the message is sent if the user does not confirm it within a day.</dd> <dt>ready</dt> <dd>The message has been confirmed by the user but it has not yet been successfully sent; <em>or</em> it has been sent by email but encountered a fatal bounce for a transient error condition (such as the recipient's mailbox being full).</dd> <dt>bounce_wait <em>email only</em></dt> <dd>The message has been sent, but we hang on to it for a little while in case a bounce message arrives. Bounce messages are either automatically classified (where they meet the RFC1892 standard for delivery status notifications) or passed into the bounce_confirm state for manual classification.</dd> <dt>sent</dt> <dd>The message has been sent (and, in case of an email, no bounce message has arrived within the set time). This is the state in which the questionnaire and questionnaire reminder are sent.</dd> <dt>finished</dt> <dd>All our processing of the message has completed successfully.</dd> </dl> </dl> <? } } }
</p> <ul> <li>You may not remove any copyright or other proprietary notices contained in the documents and information on this Site.</li> <li>The rights granted to you constitute a license and not a transfer of title.</li> <li>The rights specified above to view, download and print the documents and information available on this Site are not applicable to the graphical elements, design or layout of this Site. These elements of the Site are protected by trade dress and other laws and may not be copied or imitated in whole or in part.</li> </ul> <p> You can contact the webmaster at <?php echo make_mailto_link(PEAR_WEBMASTER_EMAIL); ?> . </p> <p> For more information on the PHP Group and the PHP project, please see <?php echo make_link('http://www.php.net/'); ?> . </p> <?php response_footer();
?> </li> <li><?php echo user_link('toby'); ?> </li> </ul> <small>(In alphabetic order)</small> <p>The website team can be reached at <?php echo make_mailto_link(PEAR_WEBMASTER_EMAIL); ?> .</p> <p>More information about the website can be found on a <a href="/about/">dedicated page</a>.</p> <h2>» PEAR Documentation Team</h2> <p>The authors of the documentation are listed on a <a href="/manual/en/manual.php#authors">special page</a> in the manual. The team can be reached via the mailing list <?php echo make_mailto_link(PEAR_DOC_EMAIL); ?> (<a href="/support/lists.php">subscription information</a>).</p> <?php response_footer();
<li>Username: <span class="nickname"><?php echo $row['handle']; ?> </span></li> <?php if ($row['active']) { echo ' <li>Active: <strong>Yes</strong></li>' . "\n"; } else { echo ' <li>Active: <strong>NO</strong></li>' . "\n"; } if ($row['lastlogin'] && !is_null($row['lastlogin'])) { echo ' <li>Last login: <i>' . date('Y-m-d', $row['lastlogin']) . '</i></li>' . "\n"; } if (isset($auth_user)) { echo ' <li>Email: <span class="email">'; echo make_mailto_link($row['email']); echo "</span></li>\n"; } else { if ($row['showemail']) { $row['email'] = str_replace(array('@', '.'), array(' at ', ' dot '), $row['email']); echo ' <li>Email: '; echo make_link('/account-mail.php?handle=' . $handle, htmlspecialchars($row['email']), '', 'class="email"'); echo "</li>\n"; } else { echo ' <li>Email: '; echo make_link('/account-mail.php?handle=' . $handle, 'via web form'); echo "</li>\n"; } } if ($row['homepage']) { echo ' <li>Homepage: <span class="url">';
?> : Most recent proposals with a status of "Finished"</li> </ul> </li> <li>PEPr proposal search feeds: <ul> <li><?php echo make_link('/feeds/pepr_config.rss'); ?> : View all proposals containing "config"</li> <li><?php echo make_link('/feeds/pepr_XML.rss'); ?> : View all proposals containing "XML"</li> <li><?php echo make_link('/feeds/pepr_search_table+config.rss'); ?> : View proposals containing "table" and "config"</li> <li>For other searches, the same scheme applies.</li> </ul> </li> </ul> <p>If you have questions or suggestions about the RSS service, please contact the <?php echo make_mailto_link(PEAR_WEBMASTER_EMAIL, 'webmasters'); ?> .</p> <?php response_footer();
?> : Benchmarking</li> <li>For all other categories, the same scheme as shown above applies</li> </ul> </li> <li>Feeds per package: <ul> <li><?php echo make_link("/feeds/pkg_apc.rss"); ?> : APC</li> <li><?php echo make_link("/feeds/pkg_phar.rss"); ?> : phar</li> <li>For all other packages, the same scheme as shown above applies</li> </ul> </li> </ul> <p>If you have questions or suggestions about the RSS service, please contact the <?php echo make_mailto_link("*****@*****.**", "webmasters"); ?> .</p> <?php response_footer(); ?>
<h1>Damblan</h1> <p>Damblan is a set of utility classes, which we are using on pear.php.net. Some people might even call Damblan a framework, but we don't. For now.</p> <p>The name is derived from the Nepalese summit <?php echo make_link("http://www.summitpost.com/show/mountain_link.pl/mountain_id/52", "Ama Dablam"); ?> , but with an additional "m". Please do not ask for the reason.</p> <p>Currently the feature set of Damblan is quite limited, but we are working towards integrating caching, parsing and sending emails and other great stuff. At a certain point there may be even the possibility to download and install Damblan as a PEAR package.</p> <p>If you have questions or comments about Damblan, get in touch with <?php echo make_mailto_link("*****@*****.**", "Martin"); ?> .</p> <p><?php echo make_link("/about/", "Back"); ?> </p> <?php response_footer();
echo $p['summary']; ?> </i><br /><br /> </li> <?php } ?> </ul> <?php if ($show_search_link) { ?> <p align="center"> <?php print_link(getURL('/package-search.php?pkg_name=' . htmlspecialchars(basename($_SERVER['REQUEST_URI'], ENT_QUOTES)) . '&bool=AND&submit=Search'), 'View full search results...'); ?> </p> <?php } } ?> <p>If you think that this error message is caused by an error in the configuration of the server, please contact <?php echo make_mailto_link("*****@*****.**"); ?> . <?php response_footer();
echo ' <th class="form-label_top_center">Name</th>' . "\n"; echo ' <th class="form-label_top_center">Email</th>' . "\n"; echo ' <th class="form-label_top_center">Homepage</th>' . "\n"; echo " </tr>\n"; $rowno = 0; while (is_array($row = $sth->fetchRow(DB_FETCHMODE_ASSOC))) { extract($row); if (++$rowno % 2) { echo " <tr bgcolor=\"#e8e8e8\">\n"; } else { echo " <tr bgcolor=\"#e0e0e0\">\n"; } echo " <td>" . make_link("/user/" . $handle, $handle) . "</td>\n"; echo ' <td style="white-space: nowrap">' . $name . "</td>\n"; if ($showemail && !empty($auth_user) && !empty($auth_user->registered)) { echo ' <td>' . make_mailto_link($email) . "</td>\n"; } else { echo ' <td>('; echo make_link('/account-mail.php?handle=' . $handle, 'not shown'); echo ")</td>\n"; } if (!empty($homepage)) { echo '<td><a href="' . $homepage . '" rel="nofollow">Homepage</a></td>' . "\n"; } else { echo '<td> </td>'; } echo " </tr>\n"; } echo " <tr>\n"; echo ' <th class="form-label_top_center" style="font-size: 80%">' . "\n"; if ($offset > 0) {
When necessary newer members of the PEAR community may therefore be unable to directly communicate with the meeting. I would therefore suggest to newer members to write down their ideas as a well thought out RfC and post it to the <a href="mailto:<?php echo PEAR_DEV_EMAIL; ?> ">mailinglist</a> or send it to <?php echo make_mailto_link('*****@*****.**', 'me'); ?> directly. That way we can more easily incorporate their ideas into the meeting. <br /><br /> Please mail all comments to either <a href="mailto:<?php echo PEAR_DEV_EMAIL; ?> "><?php echo PEAR_DEV_EMAIL; ?> </a> or <?php echo make_mailto_link('*****@*****.**', 'Lukas Smith'); ?> . <br /><br /> On behalf of the PEAR developers: Lukas Smith. </div> <?php response_footer();
<h2>» Website Soure Code</h2> <p>The source code of the website is available via SVN. To checkout the latest version, use the following commands:</p> <pre> $ svn checkout http://svn.php.net/repository/pear/pearweb/trunk </pre> <p>One can also view the source code by using the <a href="http://svn.php.net/viewvc/pear/pearweb/">web interface</a>.</p> <h2>» Privacy Policy</h2> <p>Read the <a href="privacy.php">privacy policy</a>.</p> <h2>» License & Copyright</h2> <p>The PHP code that runs the website is licensed under the PHP License. Some third-party code such as <a href="http://www.aditnus.no/jpgraph/">jpgraph</a> is bundled with the website in SVN and may be available under a different license. If you are uncertain about the license or copyright constraints, please get in touch with the <?php echo make_mailto_link(PEAR_WEBMASTER_EMAIL, 'webmaster mailing list'); ?> .</p> <?php response_footer();