2
I've written a custom module that takes a table that is stored within the XOOPS database but which has no admin interface, and formats it.
I update it by downloading a .csv file from another site and then using MS access push it back to the server via the mysql-odbc driver.
The module is fairly simple.
The index.php just does this:
<?php require('header.php'); include_once XOOPS_ROOT_PATH."/modules/bslist/class/class.bslist.php"; // We must always set our main template before including the header $xoopsOption['template_main'] = 'bslist_simple.html'; $bs_array = BsList::get_bs(); $bs_count = count($bs_array); // Include the page header require(XOOPS_ROOT_PATH.'/header.php'); $xoopsTpl->assign('bs_count', $bs_count); $xoopsTpl->assign('bs_array', $bs_array); // Include the page footer require(XOOPS_ROOT_PATH.'/footer.php'); ?>
The two class files look like this:
:::::::::::::: class/class.bslist.php :::::::::::::: <?php include_once "class.bsmember.php"; class BsList extends BsMember { function get_bs($limit=0, $start=0) { $db =& Database::getInstance(); $ret = array(); $sql = "SELECT * FROM ".$db->prefix("bslist"); $sql .= " ORDER BY LastName"; $result = $db->query($sql,intval($limit),intval($start)); while ( $myrow = $db->fetchArray($result) ) { $ret[] = new BsMember($myrow); } return $ret; } } ?> :::::::::::::: class/class.bsmember.php :::::::::::::: <?PHP class BsMember { var $MemberNumber; var $LastName; var $FirstName; var $Nickname; var $SpouseFirst; var $Address1; var $Address2; var $Address3; var $City; var $State; var $ZipPC; var $Country; var $Email; var $Type; var $SocietyExpiration; var $ChapterExpiration; var $HomePhone; var $WorkPhone; var $Fax; var $YearsOfService; var $BirthDate; var $MenOfNote; function BsMember ($ary) { $this->LastName = $ary["LastName"]; $this->FirstName = $ary["FirstName"]; $this->HomePhone = $ary["HomePhone"]; $this->WorkPhone = $ary["WorkPhone"]; $this->Email = $ary["Email"]; if ($this->HomePhone == "0--0") $this->HomePhone = ""; if ($this->WorkPhone == "0--0") $this->WorkPhone = ""; } }
and the template looks like this:
le="color: #000000"><?php <style> .bslist td { padding: 2px 1ex 2px 1ex; } </style> <table class="bslist" llspacing="0" cellpadding="0"> <tr class="head"> <td>Name</td> <td>Home Phone</td> <td>Work Phone</td> <td>Email</td> </tr> <{section name=bs_mem loop=$bs_array}> <tr class='<{cycle values="even,odd"}>'> <td><{$bs_array[bs_mem]->LastName}>, <{$bs_array[bs_mem]->FirstName}></td> <td><{$bs_array[bs_mem]->HomePhone}></td> <td><{$bs_array[bs_mem]->WorkPhone}></td> <{assign var="email2" value=$bs_array[bs_mem]->Email}> <td><{if $email2}><{mailto address=$email2 encode="javascript"}><{/if}></td> </tr> <{/section}> </table>