From daedd8faece4a6d296ebf1694bc6a2456562db51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20S=CC=8Ckoda?= Date: Tue, 24 Sep 2013 20:15:59 +0200 Subject: [PATCH] MDL-41707 add current unit test files to new repo --- .gitignore | 13 +++ README.txt | 40 +++++++ behat-rsstest.xml | 40 +++++++ downloadtests.md5 | 1 + downloadtests.zip | Bin 0 -> 39481 bytes index.html | 0 rsstest.xml | 248 ++++++++++++++++++++++++++++++++++++++++ test.html | 20 ++++ test.jpg | Bin 0 -> 39476 bytes test_redir.php | 23 ++++ test_relative_redir.php | 15 +++ 11 files changed, 400 insertions(+) create mode 100644 .gitignore create mode 100644 README.txt create mode 100644 behat-rsstest.xml create mode 100644 downloadtests.md5 create mode 100644 downloadtests.zip create mode 100644 index.html create mode 100644 rsstest.xml create mode 100644 test.html create mode 100644 test.jpg create mode 100644 test_redir.php create mode 100644 test_relative_redir.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f03f128 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +*~ +*.swp +/tags +/TAGS +/cscope.* +/.patches/ +/.idea/ +/nbproject/ +.DS_Store +/.settings/ +/.project +/.buildpath +/.cache diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..979bbf0 --- /dev/null +++ b/README.txt @@ -0,0 +1,40 @@ +===== Moodle Download Tests ===== + +This folder contains 4 files that are used for unit testing +Moodle download capabilities. + +**** !!!! !!!! !!!! ***** +**** It's really important to keep this ***** +**** files completely unmodified in order ***** +**** to obtain coherent test results. ***** +**** !!!! !!!! !!!! ***** + +File specs: + +* test.html: One test valid xhtml file containing UTF-8 chars + and differend linefeeds mixed (unix, dos, mac). + md5: 47250a973d1b88d9445f94db4ef2c97a + size: 3137 + +* test.jpg: One test binary (image) file. + md5: 2af180e813dc3f446a9bb7b6af87ce24 + size: 39476 + +* downloadtests.zip: One zipped folder containing the previous + two files (test.html and test.jpg) to be used to test + the componentlib install functions. + md5: 9e94f74b3efb1ff6cf075dc6b2abf15c + size: 39481 + +* downloadtests.md5 : One text file, required by componentlib + in order to download the previous zip file. + md5: fde140a6d13cb0c671b1b9d190bf41ee + size: 47 + +* rsstest.xml: One valid rss feed. + md5: 8fd047914863bf9b3a4b1514ec51c32c + size: 32188 + +That's all, happy Unit Testing! +20071222 stronk7: initial version +20071230 stronk7: added rss test file diff --git a/behat-rsstest.xml b/behat-rsstest.xml new file mode 100644 index 0000000..ba34b1b --- /dev/null +++ b/behat-rsstest.xml @@ -0,0 +1,40 @@ + + + + Behat Test Feed + http://moodle.org/mod/forum/view.php?f=1 + +This is a test feed. + +Moodle is a leading open-source course management system (CMS) - a software package designed to help educators create quality online courses. Such e-learning systems are sometimes also called Learning Management Systems (LMS) or Virtual Learning Environments (VLE). One of the main advantages of Moodle over other systems is a strong grounding in social constructionist pedagogy. + Moodle + &#169; 2013 moodle + + http://moodle.org/pix/i/rsssitelogo.gif + moodle + http://moodle.org + 140 + 35 + + + Feed item 1 title + http://moodle.org/mod/forum/discuss.php?d=85629 + Fri, 30 Nov 2007 16:47:33 WST + Item 1 description. +<br /> +More info. + + http://moodle.org/mod/forum/discuss.php?d=85629 + + + Feed item 2 title + http://moodle.org/mod/forum/discuss.php?d=84296 + Mon, 12 Nov 2007 16:58:29 WST + Item 2 description. +<br /> +More info. + + http://moodle.org/mod/forum/discuss.php?d=84296 + + + diff --git a/downloadtests.md5 b/downloadtests.md5 new file mode 100644 index 0000000..831ce70 --- /dev/null +++ b/downloadtests.md5 @@ -0,0 +1 @@ +downloadtests,9e94f74b3efb1ff6cf075dc6b2abf15c diff --git a/downloadtests.zip b/downloadtests.zip new file mode 100644 index 0000000000000000000000000000000000000000..8810939bc5447f351bce5f76eef7f6a7a8f5650d GIT binary patch literal 39481 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 + + + Moodle News + http://moodle.org/mod/forum/view.php?f=1 + +General news about Moodle. + +Moodle is a leading open-source course management system (CMS) - a software package designed to help educators create quality online courses. Such e-learning systems are sometimes also called Learning Management Systems (LMS) or Virtual Learning Environments (VLE). One of the main advantages of Moodle over other systems is a strong grounding in social constructionist pedagogy. + Moodle + &#169; 2007 moodle + + http://moodle.org/pix/i/rsssitelogo.gif + moodle + http://moodle.org + 140 + 35 + + + Google HOP contest encourages pre-University students to work on Moodle + http://moodle.org/mod/forum/discuss.php?d=85629 + + + + + Fri, 30 Nov 2007 16:47:33 WST + by Martin Dougiamas. &nbsp;<p><p><img src="http://code.google.com/opensource/ghop/2007-8/images/ghoplogosm.jpg" align="right" style="margin:10px" />After their very successful <a href="http://code.google.com/soc/2007/">Summer of Code</a> program for University students, Google just announced their new <a href="http://code.google.com/opensource/ghop/2007-8/">Highly Open Participation contest</a>, designed to encourage pre-University students to get involved with open source projects via much smaller and diverse contributions.<br /> +<br /> +I'm very proud that Moodle has been selected as one of only <a href="http://code.google.com/opensource/ghop/2007-8/projects.html">ten open source projects</a> to take part in the inaugural year of this new contest.<br /> +<br /> +We have a <a href="http://code.google.com/p/google-highly-open-participation-moodle/issues/list">long list of small tasks</a> prepared already for students, but we would definitely like to see the Moodle community come up with more - so if you have any ideas for things you want to see done, please <a href="http://code.google.com/p/google-highly-open-participation-moodle/">send them to us</a>! Just remember they can't take more than five days.<br /> +<br /> +Google will pay students US$100 for every three tasks they successfully complete, plus send a cool T-shirt. There are also grand prizes including an all-expenses-paid trip to Google HQ in Mountain View, California. If you are (or know) a young student with an interest in Moodle then give it a go! <br /> +<br /> +You can find out all the details on the <a href="http://code.google.com/p/google-highly-open-participation-moodle/">Moodle/GHOP contest site</a>.</p></p> + http://moodle.org/mod/forum/discuss.php?d=85629 + + + Moodle Bugathon! + http://moodle.org/mod/forum/discuss.php?d=84296 + Mon, 12 Nov 2007 16:58:29 WST + by Martin Dougiamas. &nbsp;<p><p>Some people are wondering: "Where is Moodle 1.9"? <br /> +<br /> +Well, it's still <a href="http://tracker.moodle.org/secure/IssueNavigator.jspa?mode=hide&requestId=10435">being polished</a> in order to make it as good as possible. One of the things I really want to avoid is a repeat of our Moodle 1.7 release which was (in retrospect) a little rushed - the implementation of Roles caught a lot of people by surprise.<br /> +<br /> +So in the name of stability and clarity and consistency and all those good things, we are having a <a href="http://docs.moodle.org/en/Bugathon">Moodle Bugathon</a>. <img alt="approve" width="15" height="15" src="http://moodle.org/pix/s/approve.gif" /> Some seriously nice prizes are available to developers who fix the most bugs, test the most bugs, file the most bugs, or even just identify the most duplicate bug reports in the <a href="http://tracker.moodle.org/browse/MDL">Moodle Tracker</a>!<br /> +<br /> +All developers and testers are welcome, even if you've been lurking until now. Join in the bug stomp, and let's make 1.9 the new 1.6. <img alt="wink" width="15" height="15" src="http://moodle.org/pix/s/wink.gif" /> <img alt="big grin" width="15" height="15" src="http://moodle.org/pix/s/biggrin.gif" /><br /> +<br /> +Full details are here: <a href="http://docs.moodle.org/en/Bugathon" target="_blank">http://docs.moodle.org/en/Bugathon</a></p></p> + http://moodle.org/mod/forum/discuss.php?d=84296 + + + Nominate Moodle for Packt's Open Source CMS award + http://moodle.org/mod/forum/discuss.php?d=77246 + Fri, 03 Aug 2007 11:16:27 WST + by Martin Dougiamas. &nbsp;<p><p>If you believe Moodle should win this award, please nominate us:<br /> +<br /> + <a href="http://www.packtpub.com/article/nominate-overall-open-source-cms-winner" target="_blank">http://www.packtpub.com/article/nominate-overall-open-source-cms-winner</a><br /> +<br /> +Even though Moodle is technically not a <a class="data autolink" title="Content Management System" href="http://moodle.org/mod/data/view.php?d=13&amp;rid=500" >content management system</a> Packt assures me that we qualify.<br /> +<br /> +In other news Moodle 1.9 is coming along well and we should have a Beta release very soon! <img alt="[[yes]]" width="15" height="15" src="http://moodle.org/pix/s/yes.gif" /></p></p> + http://moodle.org/mod/forum/discuss.php?d=77246 + + + New full-time developer needed at Moodle HQ + http://moodle.org/mod/forum/discuss.php?d=71624 + Wed, 16 May 2007 13:21:08 WST + by Martin Dougiamas. &nbsp;<p><p>We are looking for a new PHP developer to work with us full-time on location here at <a href="http://moodle.com/hq/">Moodle HQ</a> in Perth, Western Australia.<br /> +<br /> +If you know someone who might be interested, or who might know someone who might be interested please let them know!<br /> +<br /> +Strong PHP skills and good web design are definitely required to succeed in this role. You will need a high degree of self-motivation but will have the support of a knowledgeable team in Perth as well as a fun international developer community. A solid understanding of Moodle architecture will be viewed favourably.<br /> +<br /> +RESPONSIBILITIES<ul><li>Write high quality PHP code conforming to Moodle guidelines</li><li>Unit testing</li><li>Reviewing peer code</li><li>Investigate and resolve bugs</li><li>Participate in planning and design sessions (online and offline)</li><li>Escalate issues when appropriate</li></ul> <br /> +ESSENTIAL SKILLS<ul><li>Min 3 years experience working in a development environment</li><li>Relevant tertiary qualifications or equivalent commercial experience</li><li>Ability to operate with minimal supervision</li><li>Ability to complete tasks to deadline</li><li>Ability to work as a member of a team</li><li>Good communication</li></ul> <br /> +TECHNICAL SKILLS<ul><li>Very strong PHP programming skills</li><li>Good knowledge of XHTML Strict 1.0 and CSS</li><li>Good knowledge of MySQL and/or PostgreSQL</li><li>Good knowledge of Linux system administration</li><li>Familiarity with using the UNIX shell</li><li>Javascript and AJAX experience would help</li></ul> <br /> + +<br /> +Interested? Please send your resumé with cover letter to &#106;&#111;&#98;&#115;&#64;&#109;&#111;o&#100;l&#101;&#46;&#99;om !</p></p> + http://moodle.org/mod/forum/discuss.php?d=71624 + + + moodle.org could be having some hardware problems + http://moodle.org/mod/forum/discuss.php?d=70338 + Sun, 29 Apr 2007 11:18:31 WST + by Martin Dougiamas. &nbsp;<p><p>This server has been having some unusual problems causing it to lock up every now and then. The loads have been high (lots of visitors!) but I don't think that's the whole issue here.<br /> +<br /> +We'll be bringing it down for maintenance sometime later today (so it will be unavailable for a while).</p></p> + http://moodle.org/mod/forum/discuss.php?d=70338 + + + Moodle CVS down for anonymous users + http://moodle.org/mod/forum/discuss.php?d=70126 + Thu, 26 Apr 2007 12:36:14 WST + by Martin Dougiamas. &nbsp;<p><p>Unfortunately our anonymous CVS service (at Sourceforge) is currently down, which may impact administrators using CVS to maintain their <a class="autolink" title="Moodle Sites" href="http://moodle.org/mod/resource/view.php?id=380" >Moodle sites</a>. (Development access is unaffected).<br /> +<br /> +Sourceforge have told us they switched it off due to very high loads on that server - this may be due to our growing number of users but it may just be a rampant process somewhere. We're still working it out with them.<br /> +<br /> +In the meantime we're working on a CVS mirror just in case the Sourceforge service doesn't come back up.<br /> +<br /> +For full details and updates, you can watch <a title="Link to Moodle Tracker" href="http://tracker.moodle.org/browse/MDLSITE-182" target="newpage">MDLSITE-182</a> in the <a href="http://tracker.moodle.org/browse/MDL">Moodle Tracker</a>.</p></p> + http://moodle.org/mod/forum/discuss.php?d=70126 + + + Moodle takes on ten new developers from Google SOC 2007 + http://moodle.org/mod/forum/discuss.php?d=69208 + Mon, 16 Apr 2007 11:57:19 WST + by Martin Dougiamas. &nbsp;<p> I'm very happy to announce that we will again be participating in the <a href="http://code.google.com/soc/">Google Summer of Code Program</a> (an annual event where Google pays students to work for three months on open source projects mentored by established developers). <br /><br />We had 83 applicants for 10 projects! The projects cover a number of features and improvements that have been much requested by segments of the Moodle user community.<br /><br />For full information about the projects, see the <a href="http://docs.moodle.org/en/Student_projects">Student projects</a> page in Moodle Docs.<br /> </p> + http://moodle.org/mod/forum/discuss.php?d=69208 + + + Moodle wins multiple awards from the eLearning Guild! + http://moodle.org/mod/forum/discuss.php?d=68408 + + + Wed, 04 Apr 2007 10:01:13 WST + by Martin Dougiamas. &nbsp;<p><span class="nolink"> +<p>The eLearning Guild has just released their <a href="http://www.elearningguild.com/360">Guild Research 360<sup>o</sup> Report on Learning Management Systems</a>, based on a survey of 930 e-Learning professionals representing 840 different organizations world-wide.<br /> <br /> The survey covers market share and satisfaction ratings in various key sectors using LMS products.</p> +<p>Moodle took out three Platinum awards (top award) and one Gold award (runner-up).<br /></p></span> +<p><font size="4"><span style="font-weight: bold;">Education and Government Learning Management Systems:</span></font> </p> +<table cellpadding="10"><tbody> + <tr> + <td width="50%" valign="top" style="text-align: center;"><img width="150" vspace="0" hspace="0" height="119" border="0" title="Platinum Award" alt="Platinum Award" src="http://www.elearningguild.com/images/GuildResearch-Platinum%20X150.jpg" /><font size="4"><br />Satisfaction</font><br /> + </td> + <td width="50%" valign="top" style="font-weight: bold; text-align: center;"><img width="150" vspace="0" hspace="0" height="119" border="0" title="Gold Award" alt="Gold Award" src="http://www.elearningguild.com/images/GuildResearch-Gold%20X150.jpg" /><br /><font size="4" style="font-weight: normal;">Market Share</font><br /> + </td> + </tr></tbody> +</table><br /> +<p><font size="4"><span style="font-weight: bold;">Small and Medium Corporate Learning Management Systems:</span></font></p> +<table cellpadding="10"><tbody> + <tr> + <td width="50%" valign="top" style="text-align: center;"><img width="150" vspace="0" hspace="0" height="119" border="0" title="Platinum Award" alt="Platinum Award" src="http://www.elearningguild.com/images/GuildResearch-Platinum%20X150.jpg" /><font size="4"><br />Satisfaction</font><br /> + </td> + <td width="50%" valign="top" style="font-weight: bold; text-align: center;"><img width="150" vspace="0" hspace="0" height="119" border="0" title="Platinum Award" alt="Platinum Award" src="http://www.elearningguild.com/images/GuildResearch-Platinum%20X150.jpg" /><br /><font size="4" style="font-weight: normal;">Market Share</font><br /> + </td> + </tr></tbody> +</table> +<span class="nolink"><p><br /> For more details, see the <a href="http://www.elearningguild.com/pbuild/linkbuilder.cfm?selection=doc.1373">eLearning Guild press release</a>.<br /> <br /> Now's a good opportunity to thank our worldwide Moodle community of teachers, students, researchers, developers and other participants who help make the Moodle project what it is. <img alt="smile" width="15" height="15" src="http://moodle.org/pix/s/smiley.gif" /><br /> <br /> We also want to thank our <a href="http://moodle.com/partners/list">Moodle Partners</a> and the clients of our commercial services who contribute to the funding of our core team of developers and keep the software Free. If you need <a href="http://moodle.com/hosting/">Moodle hosting</a>, <a href="http://moodle.com/training/">Moodle training</a> or any other Moodle services, please use an official <a href="http://moodle.com/partners/">Moodle Partner</a> company (you can find them listed on <a href="http://moodle.com/">moodle.com</a>).</p></span></p> + http://moodle.org/mod/forum/discuss.php?d=68408 + + + Moodle 1.8 released! + http://moodle.org/mod/forum/discuss.php?d=68148 + Sat, 31 Mar 2007 23:13:59 WST + by Martin Dougiamas. &nbsp;<p><p><img src="http://moodle.org/images/moodle-1.8.jpg" align="right" /> <br /> +At long last, Moodle 1.8 is ready for production sites. <img alt="big grin" width="15" height="15" src="http://moodle.org/pix/s/biggrin.gif" /><br /> + <span class="nolink"> <br /> +After some of the issues some people experienced with Moodle 1.7, we modified our release process somewhat to give the testing team more time to help developers evaluate and stabilise all the new work in Moodle 1.8. As a result I think Moodle 1.8 release is of a very high standard and I highly recommend production sites using older versions to upgrade to Moodle 1.8.<br /> +<br /> +In this release we've (again) changed nearly every one of the thousands of scripts in Moodle. Here is a taste of some of the biggest new features:<br /> + <ul><li><strong>Accessibility improvements</strong> - Moodle now complies with all major international standards in this area, including XHTML Strict 1.0. All the main forms are now consistently generated using a new core forms library.</li><li><strong>Moodle Network</strong> - the foundation of our networking strategy leading up to Moodle 2.0, it is now possible to link Moodle sites allowing cross-site roaming, transparent enrolments and remote log viewing. We also now include a Web Services API using XML-RPC for remote control and commands. These features are a result of the work of Richard Wyles and Catalyst in New Zealand - thank you!</li><li><strong>Roles improvements</strong> - after feedback from the community, our implementation of Roles from 1.7 has been further improved to increase the usability and flexibility.</li></ul> <br /> +There's a lot more in this release - full details are the in the <a href="http://docs.moodle.org/en/Release_Notes#Moodle_1.8">Moodle 1.8 Release Notes</a>, and downloads are, as usual, on the <a href="http://download.moodle.org/">Moodle Downloads</a> page.<br /> +<br /> +Thanks to all the developers, testers, users and supporters who, as usual, help make the Moodle project possible.<br /> +<br /> +Enjoy! I hope this version makes it easier for educators to facilitate quality online learning.<br /> + </span> <br /> +<img alt="[[martin]]" width="15" height="15" src="http://moodle.org/pix/s/martin.gif" /><br /> +</p></p> + http://moodle.org/mod/forum/discuss.php?d=68148 + + + Moodle 1.7.2 and Moodle 1.6.5 released + http://moodle.org/mod/forum/discuss.php?d=68146 + Sat, 31 Mar 2007 22:10:20 WST + by Martin Dougiamas. &nbsp;<p><p>We've just released two new packages of the older 1.7 and 1.6 releases, containing a number of bug fixes.<br /> +<br /> +In particular, a number of minor security issues were fixed, so even if you don't plan to make any major upgrades in the near future, we highly recommend upgrading to the latest stable package for your version.<br /> +<br /> +You can find all detailed information about the releases in the release notes for <a href="http://docs.moodle.org/en/Release_Notes#Moodle_1.7.2">Moodle 1.7.2</a> and <a href="http://docs.moodle.org/en/Release_Notes#Moodle_1.6.5">Moodle 1.6.5</a>, and of course, all the downloads are available on the <a href="http://download.moodle.org/"><a target="download" href="http://download.moodle.org/">Moodle download</a> page</a>. <img alt="smile" width="15" height="15" src="http://moodle.org/pix/s/smiley.gif" /></p></p> + http://moodle.org/mod/forum/discuss.php?d=68146 + + + Moodle wins two WAITTA awards + http://moodle.org/mod/forum/discuss.php?d=67833 + Tue, 27 Mar 2007 14:41:05 WST + by Martin Dougiamas. &nbsp;<p><p><span class="nolink">Despite Moodle's popularity around the world it's always nice to have some local recognition from one's home state. <img alt="smile" width="15" height="15" src="http://moodle.org/pix/s/smiley.gif" /><br /> +<br /> +Many of you know that the Moodle project was started in <a href="http://maps.google.com/maps?f=q&hl=en&q=16+Wickham+St,+East+Perth,+Western+Australia+6004,+Australia&sll=37.0625,-95.677068&sspn=56.331468,88.330078&layer=&ie=UTF8&z=16&ll=-31.954511,115.875099&spn=0.014929,0.028603&t=h&om=1">Perth, Western Australia</a> and we continue to be based here (<a href="http://moodle.com/hq/">our headquarters</a>).<br /> +<br /> +At a big annual awards dinner for the <a href="http://www.waitta.asn.au/wai_winnersyear.jsp?Year=2006">Western Australian Information Technology and Telecommunications Awards</a> last weekend, Moodle won two categories out of the ten: one for "<b>Best Exporter</b>" and one for "<b>Best Online Service</b>", plus we were a finalist for "<b>Best Product</b>".<br /> + </span></p></p> + http://moodle.org/mod/forum/discuss.php?d=67833 + + + Google Summer of Code 2007 + http://moodle.org/mod/forum/discuss.php?d=67227 + + + Mon, 19 Mar 2007 16:08:23 WST + by Martin Dougiamas. &nbsp;<p><p>Time is running out for student programmers to apply for projects under the exciting <a href="http://code.google.com/soc">Google Summer of Code 2007</a> <a class="data autolink" title="Project" href="http://moodle.org/mod/data/view.php?d=13&amp;rid=107" >project</a>.<br /> +<br /> +If you want to work on Moodle (during May to August 2007), becoming part of our great development community here while Google pays your way (US$4500 for each accepted student), then:<br /> +<br /> +1) Peruse <a href="http://docs.moodle.org/en/Student_projects">our list of Moodle projects for students</a>.<br /> +<br /> +2) <a href="http://groups.google.com/group/google-summer-of-code-announce/web/guide-to-the-gsoc-web-app-for-student-applicants">Apply to Google</a> giving full details of your preferred project and how you plan to tackle it.<br /> +<br /> +Be quick, you have only until March 24! <img alt="smile" width="15" height="15" src="http://moodle.org/pix/s/smiley.gif" /></p></p> + http://moodle.org/mod/forum/discuss.php?d=67227 + + + Moodle.org is running Moodle 1.8 Beta + http://moodle.org/mod/forum/discuss.php?d=66264 + Wed, 07 Mar 2007 00:19:47 WST + by Martin Dougiamas. &nbsp;<p><p>In an effort to get a wider range of testing on Moodle 1.8 beta I've upgraded this site to use it.<br /> +<br /> +As a result you may notice a few rough edges and bugs but on the bright side you're all helping make Moodle 1.8 a really rock-solid and efficient release (not too far off now).<br /> +<br /> +Keep those bug reports coming to the <a href="http://tracker.moodle.org/browse/MDL">Moodle Tracker</a>!<br /> +<br /> +Thanks!</p></p> + http://moodle.org/mod/forum/discuss.php?d=66264 + + + Moodle Job at Moodle HQ + http://moodle.org/mod/forum/discuss.php?d=64967 + Fri, 16 Feb 2007 15:11:44 WST + by Martin Dougiamas. &nbsp;<p><p>We're looking for an experienced developer to work with us as part of the core development team on-site at <a href="http://moodle.com/hq">Moodle HQ</a> in Perth.<br /> +<br /> +Strong PHP skills and good web design are definitely required to succeed in this role. You will need a high degree of self-motivation but will have the support of a knowledgeable team in Perth as well as a fun international developer community. A solid understanding of Moodle architecture will be viewed favourably.<br /> +<br /> +RESPONSIBILITIES<ul><li>Write high quality PHP code conforming to Moodle guidelines</li><li>Unit testing</li><li>Reviewing peer code</li><li>Investigate and resolve bugs</li><li>Participate in planning and design sessions (online and offline)</li><li>Escalate issues when appropriate</li></ul> <br /> +ESSENTIAL SKILLS<ul><li>Min 3 years experience working in a development environment</li><li>Relevant tertiary qualifications or equivalent commercial experience</li><li>Ability to operate with minimal supervision</li><li>Ability to complete tasks to deadline</li><li>Ability to work as a member of a team</li><li>Good communication</li></ul> <br /> +TECHNICAL SKILLS<ul><li>Very strong PHP programming skills</li><li>Good knowledge of XHTML Strict 1.0 and CSS</li><li>Good knowledge of MySQL and/or PostgreSQL</li><li>Good knowledge of Linux system administration</li><li>Familiarity with using the UNIX shell</li><li>Javascript and AJAX experience would help</li></ul> <br /> + +<br /> +Interested? Please send your resumé with cover letter to &#106;o&#98;s@&#109;&#111;&#111;d&#108;&#101;&#46;&#99;&#111;&#109; !<br /> +</p></p> + http://moodle.org/mod/forum/discuss.php?d=64967 + + + Moodle 1.7 is released! + http://moodle.org/mod/forum/discuss.php?d=57989 + Tue, 07 Nov 2006 22:09:47 WST + by Martin Dougiamas. &nbsp;<p><p><span class="nolink"><img src="http://moodle.org/images/moodle-1.7.jpg" align="right" hspace="10" /><p>We're proud to announce the latest major version of Moodle fresh from the oven: <strong>Moodle 1.7</strong> !</p><p>The four big headline features are:<br /> + <ul><li><strong>Roles</strong> - Moodle has a complete new architecture for assigning people permissions. It's very flexible, allowing you to give just a single person the right to delete posts in one particular forum, if you want that! Thanks to <a href="http://www.open.ac.uk/">Open University</a> for sponsoring <a href="http://moodle.com/hq/">Moodle HQ</a> in this development!<br /> + </li><li><strong>XML database schema</strong> - Moodle now supports a single way of specifying database structures using XML, which not only makes development a lot easier for programmers, but allows us to support a wider range of databases. One of our frequent requests is now a reality - in addition to MySQL and PostgreSQL, Moodle can now run out of the box on <b>Microsoft SQL Server</b> and Oracle (with more databases to come). Thanks to <a href="http://microsoft.com/">Microsoft</a> for sponsoring Moodle HQ in this development!<br /> + </li><li><strong>New admin interface</strong> - admins get a productivity boost with a new interface designed to make it much easier to find settings and configure Moodle properly. Thanks to <a href="http://code.google.com/soc/">Google</a> for sponsoring most of this development!<br /> + </li><li><strong>Unit testing framework</strong> - developers can now easily write unit tests that can be run as part of a system check to make sure Moodle code is performing as expected. As Moodle grows this will really help us maintain certain levels of quality. Thanks to Open University for contributing this!<br /> + </li></ul></p><p>There are plenty of other smaller features and fixes created by <a href="http://tracker.moodle.org/browse/MDL">developers and testers</a> from all over the place (thanks!!). You can find out all the details from the <a href="http://docs.moodle.org/en/Release_Notes#Moodle_1.7">Release notes</a> in our comprehensive <a href="http://docs.moodle.org/">Moodle Docs</a>. (Some of the documentation for 1.7 is still catching up!)</p><p>Of course, you can <a target="download" href="http://download.moodle.org/">download Moodle</a> as always from our <a href="http://download.moodle.org/">Moodle Download</a> server.</p></span><p>Enjoy! Good luck with all your <a class="autolink" title="Moodle Sites" href="http://moodle.org/mod/resource/view.php?id=380" >Moodle sites</a> <img alt="[[yes]]" width="15" height="15" src="http://moodle.org/pix/s/yes.gif" /> and wish us well for Moodle 1.8 (already well under way!)</p> <br /> +<img alt="[[martin]]" width="15" height="15" src="http://moodle.org/pix/s/martin.gif" /></p></p> + http://moodle.org/mod/forum/discuss.php?d=57989 + + + \ No newline at end of file diff --git a/test.html b/test.html new file mode 100644 index 0000000..8843b38 --- /dev/null +++ b/test.html @@ -0,0 +1,20 @@ + + + + + + Test Page + + +

Moodle is a software package for producing internet-based courses and web sites. It's an ongoing development project designed to support a social constructionist framework of education.

+

Moodle es un paquete de software para la creación de cursos y sitios Web basados en Internet. Es un proyecto en desarrollo diseñado para dar soporte a un marco de educación social constructivista.

+

Moodle [čti můdl] je softwarový balíček pro tvorbu výukových systémů a elektronických kurzů na internetu. Jedná se o neustále se vyvíjející projekt, navržený na základě sociálně konstruktivistického přístupu k vzdělávání.

+

Moodleはインターネット上で授業用のWebページを作るためのソフトです。教育学でいう社会的構築主義の考え方に基づいて作られており,日々改良が行われています。

+
+

Moodle is a software package for producing internet-based courses and web sites. It's an ongoing development project designed to support a social constructionist framework of education.

+

Moodle es un paquete de software para la creación de cursos y sitios Web basados en Internet. Es un proyecto en desarrollo diseñado para dar soporte a un marco de educación social constructivista.

+

Moodle [čti můdl] je softwarový balíček pro tvorbu výukových systémů a elektronických kurzů na internetu. Jedná se o neustále se vyvíjející projekt, navržený na základě sociálně konstruktivistického přístupu k vzdělávání.

+

Moodleはインターネット上で授業用のWebページを作るためのソフトです。教育学でいう社会的構築主義の考え方に基づいて作られており,日々改良が行われています。

+
+

Moodle is a software package for producing internet-based courses and web sites. It's an ongoing development project designed to support a social constructionist framework of education.

Moodle es un paquete de software para la creación de cursos y sitios Web basados en Internet. Es un proyecto en desarrollo diseñado para dar soporte a un marco de educación social constructivista.

Moodle [čti můdl] je softwarový balíček pro tvorbu výukových systémů a elektronických kurzů na internetu. Jedná se o neustále se vyvíjející projekt, navržený na základě sociálně konstruktivistického přístupu k vzdělávání.

Moodleはインターネット上で授業用のWebページを作るためのソフトです。教育学でいう社会的構築主義の考え方に基づいて作られており,日々改良が行われています。

+ diff --git a/test.jpg b/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b9f96a4f4e0abe1200928fb8cc1a989a07e2de8d GIT binary patch literal 39476 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 literal 0 HcmV?d00001 diff --git a/test_redir.php b/test_redir.php new file mode 100644 index 0000000..8a771cc --- /dev/null +++ b/test_redir.php @@ -0,0 +1,23 @@ + 10) { + $redir = 10; +} + +if ($redir <= 1) { + $target = "$testurl?done=1"; +} else { + $redir--; + $target = "$testurl?redir=$redir"; +} + +header('HTTP/1.1 302 Found'); +header("Location: $target"); diff --git a/test_relative_redir.php b/test_relative_redir.php new file mode 100644 index 0000000..dfb84ea --- /dev/null +++ b/test_relative_redir.php @@ -0,0 +1,15 @@ +