[Openfirst-cvscommit] SF.net SVN: openfirst: [213] trunk/www/blog
Brought to you by:
xtimg
From: <xt...@us...> - 2006-07-28 16:45:59
|
Revision: 213 Author: xtimg Date: 2006-07-28 09:43:16 -0700 (Fri, 28 Jul 2006) ViewCVS: http://svn.sourceforge.net/openfirst/?rev=213&view=rev Log Message: ----------- Add FIRST Blogs to Subversion. Added Paths: ----------- trunk/www/blog/add/ trunk/www/blog/add/index.php trunk/www/blog/add/queue/ trunk/www/blog/add/queue/index.php trunk/www/blog/add/quickreg/ trunk/www/blog/add/quickreg/import.php trunk/www/blog/add/quickreg/index.php trunk/www/blog/api/ trunk/www/blog/api/client.php trunk/www/blog/api/index.php trunk/www/blog/cache/ trunk/www/blog/classic/ trunk/www/blog/classic/index.php trunk/www/blog/help/ trunk/www/blog/help/index.php trunk/www/blog/img/ trunk/www/blog/img/first_blog_logo.gif trunk/www/blog/img/firstcast.jpg trunk/www/blog/img/indicator.gif trunk/www/blog/img/kate.png trunk/www/blog/img/poweredby-openfirst.gif trunk/www/blog/img/rss.gif trunk/www/blog/img/wr/ trunk/www/blog/img/wr/1417AcesHigh.gif trunk/www/blog/img/wr/180SPAM.jpg trunk/www/blog/img/wr/369.JPG trunk/www/blog/img/wr/AcesHighButton.png trunk/www/blog/img/wr/first_blogs_logo-small.gif trunk/www/blog/inc/ trunk/www/blog/inc/foot.php trunk/www/blog/inc/head.php trunk/www/blog/inc/magpierss-0.72/ trunk/www/blog/inc/magpierss-0.72/AUTHORS trunk/www/blog/inc/magpierss-0.72/CHANGES trunk/www/blog/inc/magpierss-0.72/ChangeLog trunk/www/blog/inc/magpierss-0.72/INSTALL trunk/www/blog/inc/magpierss-0.72/NEWS trunk/www/blog/inc/magpierss-0.72/README trunk/www/blog/inc/magpierss-0.72/TROUBLESHOOTING trunk/www/blog/inc/magpierss-0.72/cookbook trunk/www/blog/inc/magpierss-0.72/extlib/ trunk/www/blog/inc/magpierss-0.72/extlib/Snoopy.class.inc trunk/www/blog/inc/magpierss-0.72/htdocs/ trunk/www/blog/inc/magpierss-0.72/htdocs/cookbook.html trunk/www/blog/inc/magpierss-0.72/htdocs/index.html trunk/www/blog/inc/magpierss-0.72/rss_cache.inc trunk/www/blog/inc/magpierss-0.72/rss_fetch.inc trunk/www/blog/inc/magpierss-0.72/rss_parse.inc trunk/www/blog/inc/magpierss-0.72/rss_utils.inc trunk/www/blog/inc/magpierss-0.72/scripts/ trunk/www/blog/inc/magpierss-0.72/scripts/README trunk/www/blog/inc/magpierss-0.72/scripts/magpie_debug.php trunk/www/blog/inc/magpierss-0.72/scripts/magpie_simple.php trunk/www/blog/inc/magpierss-0.72/scripts/magpie_slashbox.php trunk/www/blog/inc/magpierss-0.72/scripts/simple_smarty.php trunk/www/blog/inc/magpierss-0.72/scripts/smarty_plugin/ trunk/www/blog/inc/magpierss-0.72/scripts/smarty_plugin/modifier.rss_date_parse.php trunk/www/blog/inc/magpierss-0.72/scripts/templates/ trunk/www/blog/inc/magpierss-0.72/scripts/templates/simple.smarty trunk/www/blog/inc/scriptaculous-js-1.6.1/ trunk/www/blog/inc/scriptaculous-js-1.6.1/CHANGELOG trunk/www/blog/inc/scriptaculous-js-1.6.1/MIT-LICENSE trunk/www/blog/inc/scriptaculous-js-1.6.1/README trunk/www/blog/inc/scriptaculous-js-1.6.1/lib/ trunk/www/blog/inc/scriptaculous-js-1.6.1/lib/prototype.js trunk/www/blog/inc/scriptaculous-js-1.6.1/src/ trunk/www/blog/inc/scriptaculous-js-1.6.1/src/builder.js trunk/www/blog/inc/scriptaculous-js-1.6.1/src/controls.js trunk/www/blog/inc/scriptaculous-js-1.6.1/src/dragdrop.js trunk/www/blog/inc/scriptaculous-js-1.6.1/src/effects.js trunk/www/blog/inc/scriptaculous-js-1.6.1/src/scriptaculous.js trunk/www/blog/inc/scriptaculous-js-1.6.1/src/slider.js trunk/www/blog/inc/scriptaculous-js-1.6.1/src/unittest.js trunk/www/blog/inc/scriptaculous-js-1.6.1/test/ trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/ trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/_ajax_inplaceeditor_result.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/_ajax_inplaceeditor_text.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/_autocomplete_result.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/ajax_autocompleter2_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/ajax_autocompleter_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/ajax_inplacecollectioneditor_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/ajax_inplaceeditor_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/dragdrop2_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/dragdrop3_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/dragdrop4_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/dragdrop5_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/dragdrop6_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/dragdrop_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/dropmarker.png trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effect_direct_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effect_scale_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects2_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects3_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects4_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects5_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects6_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects_blind_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects_float_appear_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects_grow_strink_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects_queue_limit_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects_queue_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects_random_demo.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/effects_toggle_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/icon.png trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/index.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/position_clone_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/slider_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/sortable2_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/sortable3_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/sortable4_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/sortable5_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/sortable_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/sortable_tree_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/functional/texteffects_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/run_functional_tests.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/run_unit_tests.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/test.css trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/ trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/_ajax_inplaceeditor_result.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/_ajax_inplaceeditor_text.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/_ajax_updater_result.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/_autocomplete_result.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/ajax_autocompleter_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/ajax_inplaceeditor_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/builder_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/dragdrop_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/effects_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/element_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/icon.png trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/index.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/loading_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/position_clone_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/slider_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/sortable_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/string_test.html trunk/www/blog/inc/scriptaculous-js-1.6.1/test/unit/unittest_test.html trunk/www/blog/inc/sql.php trunk/www/blog/index.php trunk/www/blog/redir/ trunk/www/blog/redir/index.html trunk/www/blog/robots.txt trunk/www/blog/rss/ trunk/www/blog/rss/index.php trunk/www/blog/scripts/ trunk/www/blog/scripts/404.php trunk/www/blog/scripts/blogs.php trunk/www/blog/scripts/clearerrorlog.php trunk/www/blog/scripts/common.php trunk/www/blog/scripts/finish_auth.php trunk/www/blog/scripts/login.php trunk/www/blog/scripts/logout.php trunk/www/blog/scripts/openid_auto.php trunk/www/blog/scripts/rss.php trunk/www/blog/scripts/tags.php trunk/www/blog/scripts/topic.php trunk/www/blog/scripts/try_auth.php trunk/www/blog/scripts/updatefeatured.php trunk/www/blog/settings/ trunk/www/blog/settings/index.php trunk/www/blog/sitemap.php trunk/www/blog/style.css trunk/www/blog/updateblogs.php Added: trunk/www/blog/add/index.php =================================================================== --- trunk/www/blog/add/index.php (rev 0) +++ trunk/www/blog/add/index.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,66 @@ +<?php + require_once("../inc/sql.php"); + $hidesidediv = true; + require_once("../inc/head.php"); + +echo "<div class=\"blogEntry\"> +<div class=\"blogText\"> + <h1>Add Your Blog</h1>"; +if(! isset($_REQUEST["email"])) { + +echo "<p><b>Note:</b> If you use <a href='http://www.livejournal.com/'>LiveJournal</a>, <a href='http://www.blogger.com/'>Blogger</a>, <a +href='http://www.xanga.com/'>Xanga</a> or <a href='http://www.modblog.com/'>Modblog</a> you may use the <a href='quickreg/'>Quick +Registration Form</a> instead of this one.</p>"; + +echo "Please fill out this form to suggest a blog for addition to FIRST +Blogs. + +<form action=\".\" method=\"post\"> + <p>Your name (may be blank): <input type=\"text\" name=\"name\" style=\"width: 250px;\"> + <br>Your e-mail address: <input type=\"text\" name=\"email\" style=\"width: 250px;\"> + <br>Team Number (may be blank): <input type=\"text\" name=\"teamnumber\" style=\"width: 50px;\"> + <br>Address of your blog (required): <input type=\"text\" name=\"blog\" style=\"width: 250px;\"></p> + <br>Address of your blog's feed (RSS/Atom) (strongly encouraged): <input type=\"text\" name=\"blogfeed\" style=\"width: 250px;\"></p> + <br>Blog Image (if you have a logo, leave as default if none): <input type=\"text\" name=\"blogimage\" style=\"width: 250px;\" value=\"http://blog.openfirst.org/img/kate.png\"> + <p><input type=\"submit\" value=\"Add My Blog\"></p> +</form>"; + +} elseif(isset($_REQUEST["email"]) && $_REQUEST["email"] != "" && isset($_REQUEST["blog"]) && $_REQUEST["blog"] != "" + && strip_tags($_REQUEST['blogfeed']) == $_REQUEST['blogfeed'] + && strip_tags($_REQUEST['blog']) == $_REQUEST['blog'] + && strpos($_REQUEST['blog'], '[url') === false + && strpos($_REQUEST['blogfeed'], '[url') === false + && $_REQUEST['blog'] != $_REQUEST['blogfeed'] +) { + mysql_query("INSERT INTO pendingBlogMasterList SET +blogAddress=\"" . $_REQUEST["blog"] . "\", +feedLocation=\"" . $_REQUEST["blogfeed"] . "\", +blogImage=\"" . $_REQUEST["blogimage"] . "\", +contactEmail=\"" . $_REQUEST["email"] . "\", +contactName=\"" . $_REQUEST["name"] . "\", +team=\"" . $_REQUEST["teamnumber"] . "\""); + + echo "<p><b>Thank you</b>,</p> + +<p>Your recommendation has been submitted; you +should hear +back within the next couple of days about the status of the addition of +the blog you suggested.</p>"; +} else { + echo "You have not filled in all of the required fields or +there was an error in one of the fields. You cannot use a link containing +HTML or phpBB code. The feed location and the website location must be +different addresses."; } + +echo "</div> + +<div class=\"blogImage\" align=\"center\"> + <p>Add Your Blog</p> + <p><img src=\"http://blog.openfirst.org/img/kate.png\" alt=\"Blog Logo\"></p> +</div> +</div>"; + + + + require_once("../inc/foot.php"); +?> Property changes on: trunk/www/blog/add/index.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/add/queue/index.php =================================================================== --- trunk/www/blog/add/queue/index.php (rev 0) +++ trunk/www/blog/add/queue/index.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,277 @@ +<?php + require_once("../../inc/sql.php"); + require_once("../../inc/head.php"); + + + if(! $_SESSION['moderator']) { + echo "You must be logged in. <a href='/scripts/login.php'>Login</a>. <p>If you are a moderator but cannot login this may be due to the +recent change in how moderators are authenticated. Get in touch with Tim (ti...@op...) to get your information updated.</p>"; + + require_once("../../inc/foot.php"); + die(""); + } + + $mod = str_replace("http://", "", substr($_SESSION['user'], 0, strpos($_SESSION['user'], "."))); + +echo "<div class=\"blogEntry\"> +<div class=\"blogText\"> + <h1>Approval Queue</h1>"; +if(! isset($_REQUEST["id"])) { + +$qu = mysql_query("SELECT * FROM pendingBlogMasterList WHERE rejected='0' ORDER BY id;"); + +if(mysql_num_rows($qu) == 0) { + echo "<p>There are no requests pending moderator approval. Have a nice day.</p>"; +} else { + // Display a list of pending requests. + echo "The following blogs are pending approval:"; + echo "<ul>"; + while($q = mysql_fetch_object($qu)) { + + $update = false; + if(mysql_num_rows(mysql_query("SELECT id FROM blogMasterList WHERE feedLocation=\"" . strip_tags($q->feedLocation) . "\" LIMIT 1;")) > 0) { + $update = true; + } + + echo "<li>"; + if($update) { echo "<b>"; } + echo "#$q->id - <a href='$q->blogAddress'>$q->blogAddress</a> (<a +href='$q->feedLocation'>feed</a>) - <a href='.?action=approve&id=$q->id'>Approve</a> +· <a href='.?action=edit&id=$q->id'>Edit</a> +· <a href='.?action=reject&id=$q->id'>Reject</a>"; + if($update) { echo "</b>"; } +echo "</li>"; + } + echo "</ul>"; +} + +?> +<div style="border: 1px solid;"> +<form action="/add/quickreg/import.php" method="post"> +<span>Import Live Journal Community</span><input type="text" +name="community"><input type="submit" value="Go"><span><br>This process +may be slow, please be patient</span> +</form> +</div> +<?php + +} else { + $q = mysql_fetch_object(mysql_query("SELECT * FROM pendingBlogMasterList WHERE id='" . (int) $_REQUEST["id"] . "'")); + echo "You have selected $q->id - " . strip_tags($q->blogAddress); + if($_REQUEST["action"] == "edit") { + // Edit. + echo "<p>You have selected to edit the details for an entry.</p>"; + + if(isset($_REQUEST["doedit"])) { + $qu = mysql_query("UPDATE pendingBlogMasterList SET +contactEmail=\"" . $_REQUEST["contactEmail"] . "\", +contactName=\"" . $_REQUEST["contactName"] . "\", +blogImage=\"" . $_REQUEST["blogImage"] . "\", +blogAddress=\"" . $_REQUEST["blogAddress"] . "\", +feedLocation=\"" . $_REQUEST["feedLocation"] . "\", +cyclesBetweenUpdates=\"" . $_REQUEST["cyclesBetweenUpdates"] . "\", +cyclesToNextUpdate=\"" . $_REQUEST["cyclesToNextUpdate"] . "\", +team=\"" . $_REQUEST["team"] . "\" + +WHERE id='$q->id';"); + if($qu) { + echo "<p>Blog details edited.</p> <p><a href='.'>Return to queue</a></p>"; + } else { + echo "<p>Error editing blog details (" . mysql_error() . ").</p> <p><a href='.'>Return to queue</a></p>"; + } + } else { + echo " +<form action=\".\" method=\"post\"> +<input type=\"hidden\" name=\"id\" value=\"$q->id\"> +<input type=\"hidden\" name=\"action\" value=\"edit\"> +<input type=\"hidden\" name=\"doedit\" value=\"1\"> +<p>ID Number: $q->id +<br>Contact E-mail: <input type='text' name='contactEmail' value=\"$q->contactEmail\"> +<br>Contact Name: <input type='text' name='contactName' value=\"$q->contactName\"> +<br>Blog Image: <input type='text' name='blogImage' value=\"$q->blogImage\"> +<br>Blog Address: <input type='text' name='blogAddress' value=\"$q->blogAddress\"> +<br>Feed Location: <input type='text' name='feedLocation' value=\"$q->feedLocation\"> +<br>Cycles Between Updates: <input type='text' name='cyclesBetweenUpdates' value='$q->cyclesBetweenUpdates'> +<br>Cycles to Next Update: <input type='text' name='cyclesToNextUpdate' value=\"$q->cyclesToNextUpdate\"> +<br>Team Number: <input type='text' name='team' value=\"$q->team\"></p> + +<p><b>Instructions:</b> If the information for this blog is complete and +correct as it appears (including the RSS/Atom feed location) please click +approve; otherwise, research/ask for any missing details and <a +href='.?action=edit&id=$q->id'>edit the entry</a>. If you have any +questions contact <a href='mailto: ti...@op...'>ti...@op...</a>.</p> + +<p><input type=\"submit\" value=\"Submit Edits\"> or <a href='.'>Return to queue</a></p> + +</form>"; + + } + + } elseif($_REQUEST["action"] == "reject" && ! isset($_REQUEST["reason"])) { + // Rejection stuff. + echo "<p>Please provide a reason for rejecting " . strip_tags($q->blogAddress) . "</p> + +<form action=\"index.php\" method=\"post\"> +<input type=\"hidden\" name=\"id\" value=\"$q->id\"> +<input type=\"hidden\" name=\"action\" value=\"reject\"> +<textarea style=\"width: 500px; height: 200px;\" name=\"reason\" id=\"reason\"></textarea> +<p><input type=\"submit\" value=\"Reject Blog\"> or <a href='.'>Return to queue</a></p> +</form>"; + + } elseif($_REQUEST["action"] == "reject" && isset($_REQUEST["reason"])) { + // Rejection stuff. + echo "<p>Confirmed rejection of $q->blogAddress. A message +has been delivered to the person requesting the addition of the blog +informing them of the status of their request (rejected).</p>"; + +mail($q->contactEmail . ", ti...@op..." + +, "FIRST Blogs Listing (approval number $q->id)", "Hello, + +This message is to inform you that your blog has been rejected for +listing at FIRST Blogs. The moderator processing your blog was $mod + +Additional information may be provided below: + +--- Begin additional information --- + +" . stripslashes($_REQUEST["reason"]) . " + +--- End additional information --- + +If you have any further questions or concerns please contact +t...@op.... If your communication pertains directly to this +listing please quote approval number $q->id. + +-- + +FIRST Blogs Moderation Staff +Supervisor: Tim Ginn <ti...@op...> +FIRST Blogs: http://blog.openfirst.org/ +openFIRST: http://www.openfirst.org/ + +This message has being sent to $q->contactEmail as that is the address +on file for $q->blogAddress at FIRST Blogs (http://blog.openfirst.org). +This is the last message that you will receive regarding this entry unless +you take further action.", "From: ti...@op..."); + +mysql_query("UPDATE pendingBlogMasterList SET rejected='1' WHERE id='$q->id' LIMIT 1;"); + + echo "<p><a href=\".\">Return to queue</a></p>"; + } elseif($_REQUEST["action"] == "approve" && ! isset($_REQUEST["confirm"])) { + echo "<p>ID Number: $q->id +<br>Contact E-mail: <a href='mailto: $q->contactEmail'>$q->contactEmail</a> +<br>Contact Name: $q->contactName +<br>Blog Image: <br><img src='$q->blogImage' alt=''> +<br>Blog Address: <a href='$q->blogAddress'>$q->blogAddress</a> +<br>Feed Location: <a href='$q->feedLocation'>$q->feedLocation</a> +<br>Cycles Between Updates: $q->cyclesBetweenUpdates +<br>Cycles to Next Update: $q->cyclesToNextUpdate +<br>Team Number: $q->team</p> + +<p><b>Instructions:</b> If the information for this blog is complete and +correct as it appears (including the RSS/Atom feed location) please click +approve; otherwise, research/ask for any missing details and <a +href='.?action=edit&id=$q->id'>edit the entry</a>. If you have any +questions contact <a href='mailto: ti...@op...'>ti...@op...</a>.</p> + +<p><a href='.?action=approve&id=$q->id&confirm=1'>Approve +Blog</a> · <a href='.'>Return to Queue</a>"; + + } elseif($_REQUEST["action"] == "approve" && isset($_REQUEST["confirm"])) { + echo "<br>Entering blog into database..."; + $a = mysql_query("INSERT INTO blogMasterList +SET feedLocation=\"$q->feedLocation\", contactEmail=\"$q->contactEmail\", +contactName=\"$q->contactName\", blogName=\"$q->blogName\", +blogImage=\"$q->blogImage\", blogAddress=\"$q->blogAddress\", +cyclesBetweenUpdates=\"$q->cyclesBetweenUpdates\", +cyclesToNextUpdate=\"$q->cyclesToNextUpdate\", +team=\"$q->team\", approvedBy=\"$mod\";"); + if($a) { + echo "success."; + echo "<br>Removing from queue..."; + $b = mysql_query("DELETE FROM pendingBlogMasterList WHERE id='$q->id' LIMIT 1;"); + if($b) { + echo "success."; + echo "<br>Contacting contact person for blog (to inform them of the blog's addition)..."; + mail("$q->contactEmail", "FIRST Blogs Listing", +"Hello, + +This is an automated message to inform you that your blog at +$q->blogAddress has been approved by a moderator and will now be showing +up on FIRST Blogs http://blog.openfirst.org . + +There is typically a delay of about 15-20 minutes from when a moderator +approves a blog to when its entries are first listed on the site so +please be patient. + +If you have any questions about openFIRST or FIRST Blogs please feel free +to contact me. + +Thanks, + +Tim + +Tim Ginn +FIRST Blogs Administrator +openFIRST Project +t...@op...", "From: Tim Ginn <ti...@op...>"); + echo "complete."; + } else { + echo "failure (no further action taken). + +The following information may be useful in diagnosing the problem: + +<pre> +" . mysql_error() . " +</pre>"; + } + } elseif(mysql_errno() == 1062) { + echo "Duplicate entry detected; the given blog is already listed."; + +$u = mysql_query("UPDATE blogMasterLIST SET contactEmail=\"$q->contactEmail\", +contactName=\"$q->contactName\", blogName=\"$q->blogName\", +blogImage=\"$q->blogImage\", blogAddress=\"$q->blogAddress\", +cyclesBetweenUpdates=\"$q->cyclesBetweenUpdates\", +cyclesToNextUpdate=\"$q->cyclesToNextUpdate\", +team=\"$q->team\", approvedBy=\"$mod\" +WHERE feedLocation=\"$q->feedLocation\" LIMIT 1;"); + + if(mysql_error() == 0) { + echo "<br>Information updated (no message has been sent +to the submitter)."; + echo "<br>Removing from queue..."; + $b = mysql_query("DELETE FROM pendingBlogMasterList WHERE id='$q->id' LIMIT 1;"); + if($b) { + echo "success."; + } + } else { + echo "<br>Error updating information."; + } + + } else { + echo "failure (no further action taken). + +The following information may be useful in diagnosing the problem: + +<pre> +#" . mysql_errno() . " - " . mysql_error() . " +</pre>"; + } + + echo "<p><a href='.'>Return to Queue</a></p>"; + } +} + +echo "</div> + +<div class=\"blogImage\" align=\"center\"> + <p>Approval Queue</p> + <p><img src=\"http://blog.openfirst.org/img/kate.png\" alt=\"Blog Logo\"></p> +</div> +</div>"; + + + + require_once("../../inc/foot.php"); +?> Property changes on: trunk/www/blog/add/queue/index.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/add/quickreg/import.php =================================================================== --- trunk/www/blog/add/quickreg/import.php (rev 0) +++ trunk/www/blog/add/quickreg/import.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,63 @@ +<?php + require_once("../../inc/sql.php"); + $hidesidediv = true; + require_once("../../inc/head.php"); + +$comm = str_replace("/", "", $_REQUEST["community"]); + +$inf = fopen("http://community.livejournal.com/$comm/data/foaf", "r"); + +while(! feof($inf)) { + $line = fgets($inf, 2048); + if(strpos($line, "foaf:weblog")) { + $blogaddress = trim(str_replace("<foaf:weblog rdf:resource=\"", "", + +str_replace("\"/>", "", +$line))); + $username = str_replace("http://", "", str_replace(".livejournal.com/", "", $blogaddress)); + + $blogfeed = $blogaddress . "data/rss"; + + + if(! strpos($username, "/")) { + echo $username . "<br>"; + +if(mysql_num_rows(mysql_query("SELECT * FROM blogMasterList WHERE +feedLocation='$blogfeed' LIMIT 1;")) == 0) { + + +$inf2 = fopen("http://$username.livejournal.com/data/foaf", "r"); + +while(!feof($inf2)) { + $lin2 = fgets($inf2, 2048); + if(strpos($lin2, "foaf:img")) { + + $pic = trim(str_replace("<foaf:img rdf:resource=\"", "", str_replace("\" />", "", $lin2))); + echo "<img src='$pic' alt='$pic'><br>"; + + + +mysql_query("INSERT INTO pendingBlogMasterList SET +blogAddress=\"$blogaddress\", +feedLocation=\"$blogfeed\", +blogImage=\"$pic\""); + + + + + + +break; + } +} + +} + } + + + } + +} + + require_once("../../inc/foot.php"); +?> Property changes on: trunk/www/blog/add/quickreg/import.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/add/quickreg/index.php =================================================================== --- trunk/www/blog/add/quickreg/index.php (rev 0) +++ trunk/www/blog/add/quickreg/index.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,80 @@ +<?php + require_once("../../inc/sql.php"); + $hidesidediv = true; + require_once("../../inc/head.php"); + +echo "<div class=\"blogEntry\"> +<div class=\"blogText\"> + <h1>Add Your Blog - Quick Registration</h1>"; +if(! isset($_REQUEST["email"])) { + +echo "Please fill out this form to suggest a blog for addition to FIRST +Blogs. + +<form action=\".\" method=\"post\"> + <p>E-mail (optional): <input type=\"text\" name=\"email\" style=\"width: 250px;\"> + <br>Username <input type=\"text\" name=\"username\"> Service <select name=\"service\"> + <option value='livejournal'>LiveJournal</option> + <option value='blogger'>Blogger (blogspot.com)</option> + <option value='xanga'>Xanga</option> + <option value='modblog'>Modblog</option> +</select> + <br>(if your blogging service is not listed you must <a href='/add/'>use the regular form</a>) + <br>Team Number (may be blank): <input type=\"text\" name=\"teamnumber\" style=\"width: 50px;\"> + <br>Blog Image (if you have a logo, leave as default if none): <input type=\"text\" name=\"blogimage\" style=\"width: 250px;\" value=\"http://blog.openfirst.org/img/kate.png\"> + <p><input type=\"submit\" value=\"Add My Blog\"></p> +</form>"; + +} elseif(isset($_REQUEST["username"]) && $_REQUEST["username"] != "" && isset($_REQUEST["service"]) && $_REQUEST["service"] != "") { + + switch($_REQUEST["service"]) { + case "livejournal": + $blogaddress = "http://" . $_REQUEST["username"] . ".livejournal.com/"; + $blogfeed = "http://" . $_REQUEST["username"] . ".livejournal.com/data/rss"; + break; + + case "blogger": + $blogaddress = "http://" . $_REQUEST["username"] . ".blogspot.com/"; + $blogfeed = "http://" . $_REQUEST["username"] . ".blogspot.com/atom.xml"; + break; + + case "modblog": + $blogaddress = "http://" . $_REQUEST["username"] . ".modblog.com/"; + $blogfeed = "http://" . $_REQUEST["username"] . ".modblog.com/backend/modblog/modblogs.rss.php"; + break; + + case "xanga": + $blogaddress = "http://www.xanga.com/" . $_REQUEST["username"]; + $blogfeed = "http://www.xanga.com/" . $_REQUEST["username"] . "/rss"; + break; + } + + mysql_query("INSERT INTO pendingBlogMasterList SET +blogAddress=\"$blogaddress\", +feedLocation=\"$blogfeed\", +blogImage=\"" . $_REQUEST["blogimage"] . "\", +contactEmail=\"" . $_REQUEST["email"] . "\", +team=\"" . $_REQUEST["teamnumber"] . "\""); + + echo "<p><b>Thank you</b>,</p> + +<p>Your recommendation has been submitted; if you have provided contact information you +should hear +back within the next couple of days about the status of the addition of +the blog you suggested.</p>"; +} else { + echo "You have not filled in all of the required fields."; +} + +echo "</div> + +<div class=\"blogImage\" align=\"center\"> + <p>Add Your Blog - Quick Registration</p> + <p><img src=\"http://blog.openfirst.org/img/kate.png\" alt=\"Blog Logo\"></p> +</div> +</div>"; + + + + require_once("../../inc/foot.php"); +?> Property changes on: trunk/www/blog/add/quickreg/index.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/api/client.php =================================================================== --- trunk/www/blog/api/client.php (rev 0) +++ trunk/www/blog/api/client.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,40 @@ +<?php + +/* + * This is a demo client which connects to the FIRST Blogs + * API and retrieves a list of blogs with a given team number. + * + * The docs for the PEAR XML_RPC are at: + * http://pear.php.net/manual/en/package.webservices.xml-rpc.php + * + * Code originally written by Tim Ginn <ti...@op...> - July 23, 2005 + */ + + +// Include the PEAR XML_RPC Package +require_once 'XML/RPC.php'; +require_once 'XML/RPC/Server.php'; + +// Set and encode parameters for the query +// First parameter: string containing the address to the homepage of your site +// (or e-mail at which the author of a client may be contacted) +// Second parameter: int containing the team number to lookup. +$params = array(new XML_RPC_Value('http://www.example.org', 'string'), new XML_RPC_Value(0, 'int')); + +// Specify which function to use +$msg = new XML_RPC_Message('getbloginfobyteam', $params); + +// Setup the connection to the FIRST Blogs server +$cli = new XML_RPC_Client('/api/', 'blog.openfirst.org'); + +// Debugging (uncomment to enable) +// $cli->setDebug(1); + +// Query the FIRST Blogs server +$resp = $cli->send($msg); + +// Print out a response to the query +// (for most practical purposes you'd probably want to do something else) +print_r($resp); + +?> Property changes on: trunk/www/blog/api/client.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/api/index.php =================================================================== --- trunk/www/blog/api/index.php (rev 0) +++ trunk/www/blog/api/index.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,48 @@ +<?php + include_once("../inc/sql.php"); + require_once 'XML/RPC/Server.php'; + require_once 'XML/RPC.php'; + + function getBlogInfoByTeam($team) { + // Setup variables + $key = $team->getParam(0); + $team = $team->getParam(1); + + // Check validity of variables + if(! isset($key->me["string"])) { + return new XML_RPC_Response(0, 1, "You didn't specify a query key"); + } elseif(! isset($team->me["int"])) { + return new XML_RPC_Response(0, 2, "You didn't specify a team number"); + } + + // Lookup blogs with the given team number + $q = mysql_query("SELECT id, team, blogName, blogImage, blogAddress FROM blogMasterList WHERE team='" . (int) $team->me["int"] . "';"); + $ret = array(); + + while($a = mysql_fetch_assoc($q)) { + $ret= array_merge($ret, array($a)); + } + + // Build the result + $val = XML_RPC_encode($ret); + + // Store in the DB that we've had someone visit us. + @mysql_query("INSERT INTO apiUsers SET user=\"" . addslashes($key->me["string"]) . "\", +ipAddress=\"" . $_SERVER["REMOTE_ADDR"] . "\", +function=\"getBlogInfoByTeam\", timeStamp=\"" . date("Y-m-d G:i:s") . "\";"); + + // Return a response + return new XML_RPC_Response($val); + } + + + // This stuff is defining info for the XML_RPC service + $server = new XML_RPC_Server( + array( + 'getbloginfobyteam' => + array( + 'function' => 'getBlogInfoByTeam' + ) + ) + ); +?> Property changes on: trunk/www/blog/api/index.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/classic/index.php =================================================================== --- trunk/www/blog/classic/index.php (rev 0) +++ trunk/www/blog/classic/index.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,49 @@ +<?php + require_once("../inc/sql.php"); + require_once("../inc/head.php"); +echo "<p>Showing all blog Entries from the past week.</p>"; + + $bQ = mysql_query("SELECT * FROM blogEntries WHERE timeStamp > \"" . date("Y-m-d G:i:s", strtotime("-1 week")) . "\" AND timeStamp < \"" . date("Y-m-d G:i:s", strtotime("+1 day")) . "\" ORDER BY timeStamp DESC;"); + while($b = mysql_fetch_object($bQ)) { + if(trim($b->title) == "") { $b->title = "Untitled Entry"; } + + $bo = mysql_fetch_object(mysql_query("SELECT * FROM blogMasterList WHERE id='$b->parentBlog' LIMIT 1;")); + echo "<div class=\"blogEntry\"> +<div class=\"blogText\"> +<h2><a href=\"$b->uri\">$b->title</a></h2>\n<h3>" . date("r", +strtotime($b->timeStamp)) . "</h3>\n" + . + +str_replace("src=\"http://www.3fatchicks.com", " alt=\"\" src=\"http://www.3fatchicks.com", str_replace("xmlns=\"http://www.w3.org/1999/xhtml\"", "", +str_replace("<wbr", "<wbr", +html_entity_decode($b->description)))) . " + +<p><small><a href=\"$b->uri\">Read More / Comment</a></small></p> +<p><small>Links to this entry on: +<a href=\"http://www.bloglines.com/citations?url=" . urlencode($b->uri) . "&submit=Search\">Bloglines</a> +· +<a href=\"http://www.technorati.com/search/" . urlencode(str_replace("http://", "", $b->uri)) . "\">Technorati</a> +· +<a href=\"http://blogs.icerocket.com/search?q=" . urlencode(str_replace("http://", "", $b->uri)) . "\">IceRocket</a> +· +<a href=\"http://www.feedster.com/links.php?q=" . +urlencode(str_replace("http://", "", $b->uri)) . "&fromsearch=true\">Feedster</a> +· +<a +href=\"http://www.blogpulse.com/search?boolean=link&link=" + . +urlencode($b->uri) . +"&image2.x=23&image2.y=12\"> +Blogpulse</a> +</small></p> +</div> +<div class=\"blogImage\" align=\"center\"> + <p><a href=\"$bo->blogAddress\">$bo->blogName</a></p> + <p><a href=\"$bo->blogAddress\"><img src=\"$bo->blogImage\" alt=\"Blog Logo\"></a></p> + +</div> +</div>"; + } + + require_once("../inc/foot.php"); +?> Property changes on: trunk/www/blog/classic/index.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/help/index.php =================================================================== --- trunk/www/blog/help/index.php (rev 0) +++ trunk/www/blog/help/index.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,85 @@ +<?php + require_once("../inc/sql.php"); + $page_title = "Help"; + require_once("../inc/head.php"); + + echo "<div class=\"blogEntry\"> +<div class=\"blogText\"> +<h2>Help</h2>\n<h3>" . date("Y-m-d") . "</h3> + +<p>Resources:</p>"; +?> +<ul> + <li><a href="http://en.wikipedia.org/wiki/Weblog">Wikipedia explanation of a <b>blog</b></a> (for the unintiated)</li> + <li><a href="http://www.chiefdelphi.com/forums/showthread.php?t=39060">FIRST Blogs API</a> (for developers)</li> + <li><a href="http://www.chiefdelphi.com/forums/showthread.php?t=40049">Thread encouraging feedback</a></li> + </ul> + +<p><b>Who runs this?</b></p> + +<p>FIRST Blogs is part of the <a +href="http://www.openfirst.org/">openFIRST Project</a> and is run +by a team of volunteers. This team includes <a +href="/blogs/10">Kayla</a>, <a href="/blogs/13">Ashley</a> and <a +href="/blogs/34">Tim</a>. If you'd like to help out, e-mail Tim (tim +at openfirst dot org)</p> + +<p><b>How this works</b></p> + +<p>We frequently look for new entries on your blog (typically once an +hour). Every 15 minutes there is an update cycle in which approximately +1/4 of the total number of blogs on FIRST Blogs are examined. The new +posts are indexed and added to our site. Overall statistics are kept +regarding terms used in blog entries in order to produce the tag +cloud.</p> + + +<p><b>Help us out</b></p> + +<p>If you've come here wanting to help out with FIRST Blogs please <a +href="mailto: ti...@op...">e-mail ti...@op...</a>. We're +always in need of people and could use some help finding/adding new +bloggers (fell free to use the <a href="/add/">Add Your Blog</a> +form to submit other's blogs). We'd also appreciate some help moderating +the queue of blogs which are up for submission to FIRST Blogs. There's +the potential to have a lot of them in the queue at any given point and +any incorrect information requires following up with the submitter.</p> + +<p>Also, we appreciate links back to FIRST Blogs. If you wish to do +so you may use the following code:</p> + +<p><code> +<p><a href="http://blog.openfirst.org/"><img src="http://blog.openfirst.org/img/wr/first_blogs_logo-small.gif" alt="FIRST Blogs" title="FIRST Blogs - Online web journals of people involved in FIRST Robotics"></a></p> + +</code></p> + +<p>which will display the following button:</p> + +<a href="http://blog.openfirst.org/"><img src="http://blog.openfirst.org/img/wr/first_blogs_logo-small.gif" alt="FIRST Blogs" title="FIRST Blogs - Online web journals of people involved in FIRST Robotics"></a> + +<p>or, perhaps you may want to try a user bar like those that are gaining +popularity on <a href="http://www.chiefdelphi.com/">Chief Delphi</a> +with the following BB code.</p> + +<p><code> +[url=http://blog.openfirst.org/][img]http://www.openfirst.org/image/userbar/firstblogs.png[/img][/url] +</code></p> + +<p>which will display the following user bar:</p> + +<a +href="http://blog.openfirst.org/"><img +src="http://www.openfirst.org/image/userbar/firstblogs.png"></a> + + + +<?php +echo "</div> +<div class=\"blogImage\" align=\"center\"> + <p><a href=\"http://blog.openfirst.org/\">FIRST Blogs</a></p> + <p><a href=\"http://blog.openfirst.org\"><img src=\"http://blog.openfirst.org/img/wr/first_blogs_logo-small.gif\" alt=\"FIRST Blogs Logo\"></a></p> +</div> +</div>"; + + require_once("../inc/foot.php"); +?> Property changes on: trunk/www/blog/help/index.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/img/first_blog_logo.gif =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/first_blog_logo.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/firstcast.jpg =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/firstcast.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/indicator.gif =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/indicator.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/kate.png =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/kate.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/poweredby-openfirst.gif =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/poweredby-openfirst.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/rss.gif =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/rss.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/wr/1417AcesHigh.gif =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/wr/1417AcesHigh.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/wr/180SPAM.jpg =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/wr/180SPAM.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/wr/369.JPG =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/wr/369.JPG ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/wr/AcesHighButton.png =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/wr/AcesHighButton.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/img/wr/first_blogs_logo-small.gif =================================================================== (Binary files differ) Property changes on: trunk/www/blog/img/wr/first_blogs_logo-small.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/www/blog/inc/foot.php =================================================================== --- trunk/www/blog/inc/foot.php (rev 0) +++ trunk/www/blog/inc/foot.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,26 @@ +</div> + +<div class="footer"> +<p>FIRST Blogs content is © Copyright the original poster. </p> + +<p>For more information or to provide +suggestions/comments/complaints contact <a href="mailto: ti...@op...">ti...@op...</a>. +You may also wish to <a href='/add/'>add your blog</a>. +<?php + +if(isset($hidesidediv)) { +?> +<div style="float: right;"> +<a href="http://www.firsttopsite.com/index.php?id=92" target="_blank"><img src="http://www.firsttopsite.com/img.php?id=92" border="0" alt="FIRST Top Site"></a> +</div> +<?php } ?> +</p> + +</div> +<script type="text/javascript" src="http://simbodev.spyral-productions.com/remotelyhosted/stats.php"> +</script> +<noscript> +<img src="http://simbodev.spyral-productions.com/remotelyhosted/stats.php?js=no" alt="Stats"> +</noscript> +</body> +</html> Property changes on: trunk/www/blog/inc/foot.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/inc/head.php =================================================================== --- trunk/www/blog/inc/head.php (rev 0) +++ trunk/www/blog/inc/head.php 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,171 @@ +<?php +session_start(); + +if(isset($success)) { + $_SESSION['user'] = $esc_identity; + if(mysql_num_rows(mysql_query("SELECT id FROM blogMasterList WHERE blogAddress='" . $_SESSION['user'] . "' AND moderator='1' LIMIT 1;")) > 0) { + $_SESSION['moderator'] = true; + } else { + $_SESSION['moderator'] = false; + } + header("Location: http://blog.openfirst.org/"); + + } + +if(strpos(" " . $_SERVER["HTTP_ACCEPT_ENCODING"], "gzip")) { + // Enable GZip compression (this shrinks the size of the RSS feed dramatically) + if (extension_loaded('zlib') && ini_get("zlib.output_compression") == 0) { + ob_start("ob_gzhandler"); + ob_implicit_flush(1); + } +} +?> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <link rel="alternate" type="application/rss+xml" title="FIRST Blogs (All entries - RSS)" href="http://blog.openfirst.org/rss" /> + <link rel="stylesheet" type="text/css" href="/style.css" title="Default"> + <title>FIRST Blogs <?php if(isset($page_title)) { echo "- $page_title "; } ?>- blog.openfirst.org</title> +</head> +<body> +<div class="header"> +<?php + + $count = mysql_num_rows(mysql_query("SELECT id FROM blogMasterList;")); + $pendingcount = mysql_num_rows(mysql_query("SELECT id FROM pendingBlogMasterList WHERE rejected = 0;")); + if($pendingcount > 0) { + if($pendingcount == 1) { + $pendingcount = "<br>There is a single blog in the approval queue."; + } else { + $pendingcount = "<br>There are $pendingcount blogs in the approval queue."; + } + } else { + $pendingcount = ""; + } +?> +<div style="float: right;"> +<!-- SiteSearch Google --> +<form method="get" action="http://www.google.com/custom" target="_top"> +<table border="0" bgcolor="#b0c4d4"> +<tr><td nowrap="nowrap" valign="top" align="left" height="32"> + +</td> +<td nowrap="nowrap"> +<input type="hidden" name="domains" value="blog.openfirst.org"></input> +<input type="text" name="q" size="31" maxlength="255" value=""></input> +<input type="submit" name="sa" value="Google Search"></input> +</td></tr> +<tr> +<td> </td> +<td nowrap="nowrap"> +<table> +<tr> +<td> +<input type="radio" name="sitesearch" value=""></input> +<font size="-1" color="black">Web</font> +</td> +<td> +<input type="radio" name="sitesearch" value="blog.openfirst.org" checked="checked"></input> +<font size="-1" color="black">FIRST Blogs</font> +</td> +</tr> +</table> +<input type="hidden" name="client" value="pub-5290628900714709"></input> +<input type="hidden" name="forid" value="1"></input> +<input type="hidden" name="channel" value="0663220982"></input> +<input type="hidden" name="ie" value="ISO-8859-1"></input> +<input type="hidden" name="oe" value="ISO-8859-1"></input> +<input type="hidden" name="safe" value="active"></input> +<input type="hidden" name="cof" +value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:94;LW:224;L:http://blog.openfirst.org/img/first_blog_logo.gif;S:http://blog.openfirst.org/;FORID:1;"></input> +<input type="hidden" name="hl" value="en"></input> +</td></tr></table> +</form> +<!-- SiteSearch Google --> + + +</div> +<?php + $randQ = mysql_fetch_object(mysql_query("SELECT quipText FROM randQuip ORDER BY rand() LIMIT 1;")); + echo "<div id=\"quip\">$randQ->quipText<br><small>There are $count blogs monitored by FIRST Blogs.$pendingcount</small></div>"; + +?> +<div id="logo"> + <img src="/img/first_blog_logo.gif" alt="FIRST Blogs" title="FIRST Blogs"> + <br><a href="/">Main Page</a> + | <a href="/add/">Add Your Blog</a> + | <a href="/blogs/0">Browse Blogs</a> + | <a href="/classic/">View All Entries</a> +<?php + if(isset($_SESSION['user']) && $_SESSION['moderator']) { +?> + | <a href="/add/queue/">Queue</a> +<?php + } +?> +<?php + if(isset($_SESSION['user'])) { +?> + | <a href="/settings/">Settings</a> +<?php + } +?> + | <a href="/help/">Help</a> +</div> +</div> +<div class="bodyDiv"> +<span><a href="http://www.openfirst.org/"><img src="/img/poweredby-openfirst.gif" alt="Powered by openFIRST" style="border: 0px;"></a></span> +<?php if(! isset($shownoads)) { ?> +<script type="text/javascript"><!-- +google_ad_client = "pub-5290628900714709"; +google_ad_width = 468; +google_ad_height = 15; +google_ad_format = "468x15_0ads_al_s"; +google_ad_channel ="1243774172"; +google_color_border = ["336699","CCCCCC"]; +google_color_bg = "FFFFFF"; +google_color_link = ["0000FF","000000"]; +google_color_url = ["008000","666666"]; +google_color_text = ["000000","333333"]; +//--></script> +<script type="text/javascript" + src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> +</script> +<?php } ?> + <div> +<p> +<b>What is this place?</b></p> + +<p>FIRST Blogs is a collection of blogs (online web journals) from people +currently or previously involved with the <a +href="http://www.usfirst.org/">FIRST Robotics Competition</a>. Please +<a href="/add/">Add Your Blog</a>.</p> +<?php +if(isset($_SESSION['user'])) { echo "You are the authenticated owner of " . $_SESSION['user'] . " <a href=\"/scripts/logout.php\">logout</a>"; } +?> + </div> + +<?php + if(! isset($hidesidediv)) { +?> + +<div class="sideDiv" style="overflow: hidden;"> +<h1>About</h1> +<p><a href="/">FIRST Blogs</a> is an aggregation of public weblogs written +by those affiliated with FIRST in some way (including alumni). The +opinions expressed in these weblogs and hence this aggregation are those +of the original authors and are not necessarily those of the openFIRST +project.</p> + +<p><a href="/add/">Add your blog</a></p> + +<a href="http://www.firsttopsite.com/index.php?id=92" target="_blank"><img src="http://www.firsttopsite.com/img.php?id=92" border="0" alt="FIRST Top Site"></a> + + </div> + +<?php + + } + +?> Property changes on: trunk/www/blog/inc/head.php ___________________________________________________________________ Name: svn:mime-type + text/php Name: svn:eol-style + native Added: trunk/www/blog/inc/magpierss-0.72/AUTHORS =================================================================== --- trunk/www/blog/inc/magpierss-0.72/AUTHORS (rev 0) +++ trunk/www/blog/inc/magpierss-0.72/AUTHORS 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1 @@ +kellan <ke...@pr...> Property changes on: trunk/www/blog/inc/magpierss-0.72/AUTHORS ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/www/blog/inc/magpierss-0.72/CHANGES =================================================================== --- trunk/www/blog/inc/magpierss-0.72/CHANGES (rev 0) +++ trunk/www/blog/inc/magpierss-0.72/CHANGES 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,41 @@ +Version 0.72 +----------- + - fix security exploit: http://www.sec-consult.com/216.html + +Version 0.7 +----------- + - support for input and output charset encoding + based on the work in FoF, uses iconv or mbstring if available + - + +Version 0.6 +----------- + - basic support for Atom syndication format + including support for Atom content constructs + - fixed support for private feeds (HTTP Auth and SSL) + (thanks to silverorange.com for providing test feeds) + - support for some broken webservers + +Version 0.52 +----------- + - support GZIP content negoiation + - PHP 4.3.2 support + +Version 0.4 +----------- + - improved error handling, better access for script authors + - included example scripts of working with MagpieRSS + - new Smarty plugin for RSS date parsing + +Version 0.3 +----------- + - added support for conditional gets (Last-Modified, ETag) + - now use Snoopy to handle fetching RSS files + +Version 0.2 +----------- + - MAJOR CLEAN UP + - removed kludgy $options array in favour of constants + - phased out returning arrays + - added better error handling + - re-worked comments Property changes on: trunk/www/blog/inc/magpierss-0.72/CHANGES ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/www/blog/inc/magpierss-0.72/ChangeLog =================================================================== --- trunk/www/blog/inc/magpierss-0.72/ChangeLog (rev 0) +++ trunk/www/blog/inc/magpierss-0.72/ChangeLog 2006-07-28 16:43:16 UTC (rev 213) @@ -0,0 +1,405 @@ +2005-10-28 14:11 kellan + + * extlib/Snoopy.class.inc: a better solution + +2005-10-28 11:51 kellan + + * extlib/Snoopy.class.inc: fix arbtriary code execution + vulnerability when using curl+ssl + + http://www.sec-consult.com/216.html + +2005-03-08 10:46 kellan + + * rss_parse.inc: fix bug w/ atom and date normalization + +2005-02-09 14:59 kellan + + * rss_fetch.inc: fix stale cache bug + +2005-01-28 02:27 kellan + + * rss_parse.inc: support php w/o array_change_case + +2005-01-23 20:02 kellan + + * rss_fetch.inc: fix cache bug introduced by charset encoding + +2005-01-12 09:14 kellan + + * rss_cache.inc, rss_fetch.inc: more sanity checks for when things + go wrong + +2004-12-12 13:44 kellan + + * INSTALL, rss_cache.inc, rss_utils.inc: detab + +2004-11-23 20:15 kellan + + * rss_parse.inc: fix calling iconv instead of mb_convert_encoding + +2004-11-22 02:11 kellan + + * CHANGES, ChangeLog, rss_parse.inc, scripts/magpie_debug.php: last + bit of tidying + +2004-11-22 01:45 kellan + + * rss_fetch.inc: detab, bump version + +2004-11-22 01:43 kellan + + * rss_parse.inc: was filtering too much + +2004-11-22 00:03 kellan + + * rss_fetch.inc, rss_parse.inc: cache on $url . $output_encoding + otherwise we can get munged output + +2004-11-21 23:52 kellan + + * rss_parse.inc: add WARNING + +2004-11-21 23:45 kellan + + * rss_parse.inc: don't set ERROR on notice or warning (rss_fetch + dies on parse errors) + +2004-11-21 23:44 kellan + + * rss_fetch.inc: add encoding defines (fix timeout error reporting) + +2004-11-21 20:21 kellan + + * rss_parse.inc: incorporate steve's patch + +2004-11-21 19:26 kellan + + * rss_parse.inc: remove old debugging functions, totally + arbitrarily. might break stuff. can't really explain why i'm + doing this. + +2004-10-28 15:52 kellan + + * rss_parse.inc: fixed '=' instead of '==' + +2004-10-26 00:48 kellan + + * rss_parse.inc: chance epoch to timestamp to conform w/ php naming + conventions + +2004-06-15 12:00 kellan + + * rss_parse.inc: [no log message] + +2004-04-26 14:16 kellan + + * rss_fetch.inc: bump version + +2004-04-26 12:36 kellan + + * rss_parse.inc: fix field doubling + +2004-04-24 17:47 kellan + + * CHANGES, ChangeLog: updated + +2004-04-24 17:35 kellan + + * rss_fetch.inc: bumped version + +2004-04-24 16:52 kellan + + * rss_parse.inc: support arbitrary atom content constructs + + some refactoring + +2004-04-24 16:15 kellan + + * rss_parse.inc: support summary content contstruct. add normalize + function + +2004-03-27 16:29 kellan + + * extlib/Snoopy.class.inc: accept self-signed certs + +2004-03-27 12:53 kellan + + * extlib/Snoopy.class.inc: fixed SSL support * set status * set + error on bad curl + + (also ripped out big chunks of dead weight (submit_form) which + were getting in my way + +2004-01-25 02:25 kellan + + * rss_parse.inc: make RSS 1.0's rdf:about available + +2004-01-25 02:07 kellan + + * rss_parse.inc: clean up text, and line formats. add support item + rdf:about + +2004-01-24 23:40 kellan + + * CHANGES, ChangeLog: update changes + +2004-01-24 23:37 kellan + + * rss_fetch.inc: updated version + +2004-01-24 23:35 kellan + + * rss_parse.inc: whitespace + +2004-01-24 23:23 kellan + + * extlib/Snoopy.class.inc: support badly formatted http headers + +2004-01-24 23:20 kellan + + * rss_parse.inc: added alpha atom parsing support + +2003-06-25 22:34 kellan + + * extlib/Snoopy.class.inc: fixed fread 4.3.2 compatibility problems + +2003-06-13 11:31 kellan + + * rss_fetch.inc: reset cache on 304 + +2003-06-12 21:37 kellan + + * rss_cache.inc, rss_fetch.inc, rss_parse.inc, rss_utils.inc: + bumped up version numbers + +2003-06-12 21:32 kellan + + * htdocs/index.html: updated news + +2003-06-12 21:27 kellan + + * NEWS: a manual blog :) + +2003-06-12 21:22 kellan + + * htdocs/index.html: fully qualified img + +2003-06-12 21:20 kellan + + * htdocs/index.html: clean up. added badge. + +2003-06-12 21:04 kellan + + * rss_utils.inc: clean up regex + +2003-06-12 21:02 kellan + + * rss_cache.inc: suppress some warnings + +2003-05-30 20:44 kellan + + * extlib/Snoopy.class.inc: more comments, cleaned up notice + +2003-05-30 15:14 kellan + + * extlib/Snoopy.class.inc: don't advertise gzip support if the user + hasn't built php with gzinflate support + +2003-05-12 22:32 kellan + + * ChangeLog: changes + +2003-05-12 22:11 kellan + + * htdocs/index.html: announce 0.5 + +2003-05-12 21:42 kellan + + * htdocs/index.html: change + +2003-05-12 21:39 kellan + + * rss_fetch.inc: use gzip + +2003-05-12 21:37 kellan + + * extlib/Snoopy.class.inc: added support gzip encoded content + negoiation + +2003-05-12 21:32 kellan + + * rss_cache.inc, rss_fetch.inc, rss_parse.inc, rss_utils.inc: fixed + typoes + +2003-04-26 21:44 kellan + + * rss_parse.inc: fix minor typo + +2003-04-18 08:19 kellan + + * htdocs/cookbook.html: updated cookbook to show more code for + limiting items + +2003-03-03 16:02 kellan + + * rss_parse.inc, scripts/magpie_slashbox.php: committed (or + adpated) patch from Nicola (www.technick.com) to quell 'Undefined + Indexes' notices + +2003-03-03 15:59 kellan + + * rss_fetch.inc: commited patch from nicola (www.technick.com) to + quell 'undefined indexes' notices. + + * Magpie now automatically includes its version in the + user-agent, & whether cacheing is turned on. + +2003-02-12 01:22 kellan + + * CHANGES, ChangeLog: ChangeLog now auto-generated by cvs2cl + +2003-02-12 00:21 kellan + + * rss_fetch.inc: better errors, hopefully stomped on pesky notices + +2003-02-12 00:19 kellan + + * rss_parse.inc: check to see is xml is supported, if not die + + also throw better xml errors + +2003-02-12 00:18 kellan + + * rss_cache.inc: hopefully cleared up some notices that were being + thrown into the log + + fixed a debug statement that was being called as an error + +2003-02-12 00:15 kellan + + * scripts/: magpie_simple.php, magpie_slashbox.php: moved + magpie_simple to magpie_slashbox, and replaced it with a simpler + demo. + +2003-02-12 00:02 kellan + + * INSTALL, README, TROUBLESHOOTING: Improved documentation. Better + install instructions. + + TROUBLESHOOTING cover common installation and usage problems + +2003-01-22 14:40 kellan + + * htdocs/cookbook.html: added cookbook.html + +2003-01-21 23:47 kellan + + * cookbook: a magpie cookbook + +2003-01-20 10:09 kellan + + * ChangeLog: updated + +2003-01-20 09:23 kellan + + * scripts/simple_smarty.php: minor clean up + +2003-01-20 09:15 kellan + + * scripts/README: added smarty url + +2003-01-20 09:14 kellan + + * magpie_simple.php, htdocs/index.html, scripts/README, + scripts/magpie_debug.php, scripts/magpie_simple.php, + scripts/simple_smarty.php, + scripts/smarty_plugin/modifier.rss_date_parse.php, + scripts/templates/simple.smarty: Added scripts directory for + examples on how to use MagpieRSS + + magpie_simple - is a simple example magpie_debug - spew all the + information from a parsed RSS feed simple_smary - example of + using magpie with Smarty template system + smarty_plugin/modifier.rss_date_parse.php - support file for the + smarty demo templates/simple.smary - template for the smarty demo + +2003-01-20 09:11 kellan + + * rss_fetch.inc, rss_parse.inc: changes to error handling to give + script authors more access to magpie's errors. + + added method magpie_error() to retrieve global MAGPIE_ERROR + variable for when fetch_rss() returns false + +2002-10-26 19:02 kellan + + * htdocs/index.html: putting the website under source control + +2002-10-26 18:43 kellan + + * AUTHORS, ChangeLog, INSTALL, README: some documentation to make + it all look official :) + +2002-10-25 23:04 kellan + + * magpie_simple.php: quxx + +2002-10-25 23:04 kellan + + * rss_parse.inc: added support for textinput and image + +2002-10-25 19:23 kellan + + * magpie_simple.php, rss_cache.inc, rss_fetch.inc, rss_parse.inc, + rss_utils.inc: switched to using Snoopy for fetching rem... [truncated message content] |