DrupalBin
Submit Code
About
Recent Posts
Fix for Code
1 hour 8 min
ago
Code
1 hour 9 min
ago
example array
1 hour 20 min
ago
Code
1 hour 32 min
ago
more
Tags
CCK
fapi
javascript
jquery
menu
module
Panels
simpletest
template.php
test
theme
views
more tags
User login
Log in using OpenID:
What is OpenID?
Username:
*
Password:
*
Create new account
Request new password
Log in using OpenID
Cancel OpenID login
Home
Fix for Demo code to parse the Google SoC 2008 applications list available to mentors
View
Download
Fix
This fix will not be saved to the database until you submit.
Summary:
Tags:
Any tags you'd like to associate with your code, delimitered by commas (example: Views, CCK, Module, etc).
Source code:
*
<?php /** * Parse the Google SoC 2008 available to mentors at * http://code.google.com/soc/2008/drupal/open.html * in order to include it in a Drupal app * * @author FG Marand http://drupal.org/user/27985 * @license GPL2 * * Usage: log to the SoC2008 site as a mentor, save the page to <your site>/files/soc.html, * and go to <your site>/testcode * * WARNING: this is just demo code */ function testcode_menu($may_cache) { $items = array(); if ($may_cache) { $items[] = array ( 'title' => 'Code de test', 'path' => 'testcode', 'access' => user_access('administer nodes'), 'callback' => 'testcode_test', ); } return $items; } function testcode_test() { $ret = ''; $unsafeFile = file_get_contents('files/soc.html'); @$htmlDom = DOMDocument::loadHTML($unsafeFile); $xml = simplexml_import_dom($htmlDom); $arApps = array(); $appList = $xml->xpath('//table[@class="applist"]/tr'); array_shift($appList); foreach($appList as $row) { /** * Note: trim() silently casts the SimpleXML elements to strings */ $class = trim($row['class']) == 'listrequestapp' ? 'Request' : ' '; $link = $row->td[0]->table->tr[0]->td->a; $l = l(trim($link[0]), $link['href']); $ts = $row->td[0]->table->tr[1]->td; $student = trim($row->td[1]); $mentor = trim(strip_tags($row->td[2]->asXml())); $score = trim($row->td[3]); $arApps[] = array ( 'class' => $class, 'link' => $l, 'student' => $student, 'mentor' => $mentor, 'score' => $score, ); } /** * Now we can format the table as wished */ $header = array(t('Status'), t('Project'), t('Student'), t('Mentor'), t('Score')); $ret = theme('table', $header, $arApps); return $ret; }
Syntax highlighting mode:
ActionScript
ColdFusion
Diff
Drupal
Drupal 5
Drupal 6
HTML
Javascript
MySQL
PHP
Python
robots.txt
SQL
Text
Select the syntax highlighting mode to use.