Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites
View Statistics - Next Notice - Previous NoticeDirectory filter : [ all ] / postnuke_modules / nascar [ view in CVS ]
Date | Directory [filter] | File(s) [view] | Author [filter] |
11 Aug 2002 02:05:05 | postnuke_modules/nascar | pnadmin.php,1.2,1.3 pnadminapi.php,1.1,1.2 pnuserapi.php,1.2,1.3 | George Neill |
+ changed the tracks view output |
Update of /home/cvsroot/postnuke_modules/nascar In directory ns7.hostnuke.net:/tmp/cvs-serv4415 Modified Files: pnadmin.php pnadminapi.php pnuserapi.php Log Message: + changed the tracks view output + added code to allow modification of tracks + added images for track view. Still need to clean up and comment everything I have done thus far. GNeill 2002.08.10 Index: pnadmin.php =================================================================== RCS file: /home/cvsroot/postnuke_modules/nascar/pnadmin.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** pnadmin.php 10 Aug 2002 06:34:54 -0000 1.2 --- pnadmin.php 11 Aug 2002 02:05:02 -0000 1.3 *************** *** 77,86 **** $data['tracks_id'] = pnML(pnVarPrepForDisplay(_TRACKSID)); $data['tracks_name'] = pnML(pnVarPrepForDisplay(_TRACKSNAME)); - $data['tracks_longname'] = pnML(pnVarPrepForDisplay(_TRACKSLONGNAME)); - $data['tracks_location'] = pnML(pnVarPrepForDisplay(_TRACKSLOCATION)); - $data['tracks_weather_url'] = pnML(pnVarPrepForDisplay(_TRACKSWEATHERURL)); - $data['tracks_image'] = pnML(pnVarPrepForDisplay(_TRACKSIMAGE)); - $data['tracks_length'] = pnML(pnVarPrepForDisplay(_TRACKSLENGTH)); - $data['tracks_url'] = pnML(pnVarPrepForDisplay(_TRACKSURL)); $data['tracks_active'] = pnML(pnVarPrepForDisplay(_TRACKSACTIVE)); --- 77,80 ---- *************** *** 99,113 **** } ! $data['status'] = pnML('No items available'); ! ! $reason = pnExceptionValueString(); ! ! if (!empty($reason)) { ! $data['status'] .= '<br /><br />'. pnML('Reason') .' : '. $reason; ! } ! ! pnExceptionFree(); ! return $data; } --- 93,102 ---- } ! // do I need to do any clean up here ? ! // ! // there are no entries in the DB just go ahead and redirect ! // to the 'add' page. GN ! pnRedirect(pnModURL('nascar', 'admin', 'new_tracks')); } *************** *** 221,225 **** if ($tid == true) { ! pnSessionSetVar('statusmsg', _NASCARTRACKSCREATED); } --- 210,215 ---- if ($tid == true) { ! pnSessionSetVar('statusmsg', ! pnML(pnVarPrepForDisplay(_NASCARTRACKSCREATED))); } *************** *** 230,239 **** } - /** - * modify an item - * This is a standard function that is called whenever an administrator - * wishes to modify a current module item - * @param 'tid' the id of the item to be modified - */ function nascar_admin_modify_tracks($args) { --- 220,223 ---- *************** *** 242,246 **** 'objectid'); - extract($args); --- 226,229 ---- *************** *** 253,257 **** } ! $item = pnModAPIFunc('nascar', 'user', 'get', array('tid' => $tid)); if ($item == false) { --- 236,240 ---- } ! $item = pnModAPIFunc('nascar', 'user', 'get_tracks', array('tid' => $tid)); if ($item == false) { *************** *** 259,290 **** } ! if (!pnSecAuthAction(0, 'nascar::Item', "$item[name]::$tid", ACCESS_EDIT)) { return pnML('Not authorized to modify ', 'nascar', pnVarPrepForDisplay($tid)); } ! return array('authid' => pnSecGenAuthKey(), ! 'namelabel' => pnVarPrepForDisplay(_NASCARNAME), ! 'numberlabel' => pnVarPrepForDisplay(_NASCARNUMBER), ! 'updatebutton' => pnVarPrepForDisplay(_NASCARUPDATE), ! 'item' => $item); } ! /** ! * This is a standard function that is called with the results of the ! * form supplied by nascar_admin_modify() to update a current item ! * @param 'tid' the id of the item to be updated ! * @param 'name' the name of the item to be updated ! * @param 'number' the number of the item to be updated ! */ ! function nascar_admin_update($args) { list($tid, $objectid, ! $name, ! $number) = pnVarCleanFromInput('tid', ! 'objectid', ! 'name', ! 'number'); ! extract($args); --- 242,289 ---- } ! if (!pnSecAuthAction(0, 'nascar::Item', "$item[tname]::$tid", ACCESS_EDIT)) { return pnML('Not authorized to modify ', 'nascar', pnVarPrepForDisplay($tid)); } ! return array ( ! 'authid' => pnSecGenAuthKey(), ! 'nascar_home' => pnML(pnVarPrepForDisplay(_NASCARHOME)), ! 'nascar_title' => pnML(pnVarPrepForDisplay(_NASCARTITLE)), ! 'label_viewtracks' => pnML(pnVarPrepForDisplay(_NASCARTRACKS)), ! 'label_id' => pnML(pnVarPrepForDisplay(_TRACKSID)), ! 'label_name' => pnML(pnVarPrepForDisplay(_TRACKSNAME)), ! 'label_longname' => pnML(pnVarPrepForDisplay(_TRACKSLONGNAME)), ! 'label_location' => pnML(pnVarPrepForDisplay(_TRACKSLOCATION)), ! 'label_weather_url' => pnML(pnVarPrepForDisplay(_TRACKSWEATHERURL)), ! 'label_image' => pnML(pnVarPrepForDisplay(_TRACKSIMAGE)), ! 'label_length' => pnML(pnVarPrepForDisplay(_TRACKSLENGTH)), ! 'label_url' => pnML(pnVarPrepForDisplay(_TRACKSURL)), ! 'label_active' => pnML(pnVarPrepForDisplay(_TRACKSACTIVE)), ! 'updatebutton' => pnML('Update'), ! 'item' => $item ! ); } ! function nascar_admin_update_tracks($args) { list($tid, $objectid, ! $tname, ! $tlongname, ! $tlocation, ! $tweather_url, ! $timage, ! $tlength, ! $turl, ! $tactive ) = pnVarCleanFromInput('tid', ! 'objectid', ! 'tname', ! 'tlongname', ! 'tlocation', ! 'tweather_url', ! 'timage', ! 'tlength', ! 'turl', ! 'tactive'); extract($args); *************** *** 300,303 **** --- 299,303 ---- pnExceptionSet(PN_SYSTEM_EXCEPTION, 'NO_PERMISSION', new SystemException($msg)); + return; } *************** *** 315,327 **** if(pnModAPIFunc('nascar', 'admin', ! 'update', ! array('tid' => $tid, ! 'name' => $name, ! 'number' => $number))) { ! pnSessionSetVar('statusmsg', _NASCARUPDATED); ! } ! pnRedirect(pnModURL('nascar', 'admin', 'view')); return true; --- 315,334 ---- if(pnModAPIFunc('nascar', 'admin', ! 'update_tracks', ! array('tid' => $tid, ! 'tname' => $tname, ! 'tlongname' => $tlongname, ! 'tlocation' => $tlocation, ! 'tweather_url' => $tweather_url, ! 'timage' => $timage, ! 'tlength' => $tlength, ! 'turl' => $turl, ! 'tactive' => $tactive))) { ! pnSessionSetVar('statusmsg', ! pnML(pnVarPrepForDisplay(_NASCARTRACKSUPDATED))); ! } ! pnRedirect(pnModURL('nascar', 'admin', 'view_tracks')); return true; *************** *** 408,412 **** array('tid' => $tid))) { ! pnSessionSetVar('statusmsg', _NASCARTRACKSDELETED); } --- 415,420 ---- array('tid' => $tid))) { ! pnSessionSetVar('statusmsg', ! pnML(pnVarPrepForDisplay(_NASCARTRACKSDELETED))); } Index: pnadminapi.php =================================================================== RCS file: /home/cvsroot/postnuke_modules/nascar/pnadminapi.php,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** pnadminapi.php 10 Aug 2002 06:02:33 -0000 1.1 --- pnadminapi.php 11 Aug 2002 02:05:02 -0000 1.2 *************** *** 28,40 **** extract($args); ! $invalid = array(); ! if (count($invalid) > 0) { ! $msg = pnML('Invalid #(1) for #(2) function #(3)() in module #(4)', ! join(', ',$invalid), 'admin', 'create_tracks', 'Nascar'); ! pnExceptionSet(PN_USER_EXCEPTION, 'BAD_PARAM', ! new SystemException($msg)); ! return false; ! } if (!pnSecAuthAction(0, 'nascar::Item', "$tname::", ACCESS_ADD)) { --- 28,40 ---- extract($args); ! //$invalid = array(); ! //if (count($invalid) > 0) { ! //$msg = pnML('Invalid #(1) for #(2) function #(3)() in module #(4)', ! //join(', ',$invalid), 'admin', 'create_tracks', 'Nascar'); ! //pnExceptionSet(PN_USER_EXCEPTION, 'BAD_PARAM', ! //new SystemException($msg)); ! //return false; ! //} if (!pnSecAuthAction(0, 'nascar::Item', "$tname::", ACCESS_ADD)) { *************** *** 153,201 **** } ! /** ! * update a nascar item ! * ! * @author the Nascar module development team ! * @param $args['tid'] the ID of the item ! * @param $args['name'] the new name of the item ! * @param $args['number'] the new number of the item ! * @raise BAD_PARAM, NO_PERMISSION, DATABASE_ERROR ! */ ! function nascar_adminapi_update($args) { - // Get arguments from argument array - all arguments to this function - // should be obtained from the $args array, getting them from other - // places such as the environment is not allowed, as that makes - // assumptions that will not hold in future versions of PostNuke extract($args); - // Argument check - make sure that all required arguments are present - // and in the right format, if not then set an appropriate error - // message and return - // Note : since we have several arguments we want to check here, we'll - // report all those that are invalid at the same time... $invalid = array(); ! if (!isset($tid) || !is_numeric($tid)) { ! $invalid[] = 'item ID'; ! } ! if (!isset($name) || !is_string($name)) { ! $invalid[] = 'name'; ! } ! if (!isset($number) || !is_numeric($number)) { ! $invalid[] = 'number'; } if (count($invalid) > 0) { $msg = pnML('Invalid #(1) for #(2) function #(3)() in module #(4)', ! join(', ',$invalid), 'admin', 'update', 'Nascar'); pnExceptionSet(PN_USER_EXCEPTION, 'BAD_PARAM', new SystemException($msg)); return false; } - // Load API. Note that this is loading the user API in addition to - // the administration API, that is because the user API contains - // the function to obtain item information which is the first thing - // that we need to do. If the API fails to load an appropriate error - // message is posted and the function returns if (!pnModAPILoad('nascar', 'user')) { $msg = pnML('Unable to load #(1) #(2) API', --- 153,178 ---- } ! function nascar_adminapi_update_tracks($args) { extract($args); $invalid = array(); ! ! if(!isset($tid)) ! { ! $invalid[] = "track id"; } + if (count($invalid) > 0) { + $msg = pnML('Invalid #(1) for #(2) function #(3)() in module #(4)', ! join(', ',$invalid), 'admin', 'update_tracks', 'Nascar'); ! pnExceptionSet(PN_USER_EXCEPTION, 'BAD_PARAM', new SystemException($msg)); + return false; } if (!pnModAPILoad('nascar', 'user')) { $msg = pnML('Unable to load #(1) #(2) API', *************** *** 206,221 **** } ! // The user API function is called. This takes the item ID which ! // we obtained from the input and gets us the information on the ! // appropriate item. If the item does not exist we post an appropriate ! // message and return ! $item = pnModAPIFunc('nascar', ! 'user', ! 'get', ! array('tid' => $tid)); if ($item == false) { $msg = pnML('Invalid #(1) for #(2) function #(3)() in module #(4)', ! 'item ID', 'user', 'get', 'Nascar'); pnExceptionSet(PN_USER_EXCEPTION, 'BAD_PARAM', new SystemException($msg)); --- 183,191 ---- } ! $item = pnModAPIFunc('nascar', 'user', 'get_tracks', array('tid' => $tid)); if ($item == false) { $msg = pnML('Invalid #(1) for #(2) function #(3)() in module #(4)', ! 'item ID', 'user', 'get_tracks', 'Nascar'); pnExceptionSet(PN_USER_EXCEPTION, 'BAD_PARAM', new SystemException($msg)); *************** *** 223,238 **** } ! // Security check - important to do this as early on as possible to ! // avoid potential security holes or just too much wasted processing. ! // However, in this case we had to wait until we could obtain the item ! // name to complete the instance information so this is the first ! // chance we get to do the check ! ! // Note that at this stage we have two sets of item information, the ! // pre-modification and the post-modification. We need to check against ! // both of these to ensure that whoever is doing the modification has ! // suitable permissions to edit the item otherwise people can potentially ! // edit areas to which they do not have suitable access ! if (!pnSecAuthAction(0, 'nascar::Item', "$item[name]::$tid", ACCESS_EDIT)) { $msg = pnML('Not authorized to edit #(1) item #(2)', 'Nascar', pnVarPrepForStore($tid)); --- 193,197 ---- } ! if (!pnSecAuthAction(0, 'nascar::Item', "$item[tname]::$tid", ACCESS_EDIT)) { $msg = pnML('Not authorized to edit #(1) item #(2)', 'Nascar', pnVarPrepForStore($tid)); *************** *** 241,245 **** return false; } ! if (!pnSecAuthAction(0, 'nascar::Item', "$name::$tid", ACCESS_EDIT)) { $msg = pnML('Not authorized to edit #(1) item #(2)', 'Nascar', pnVarPrepForStore($tid)); --- 200,205 ---- return false; } ! ! if (!pnSecAuthAction(0, 'nascar::Item', "$tname::$tid", ACCESS_EDIT)) { $msg = pnML('Not authorized to edit #(1) item #(2)', 'Nascar', pnVarPrepForStore($tid)); *************** *** 249,287 **** } - // Get database setup - note that both pnDBGetConn() and pnDBGetTables() - // return arrays but we handle them differently. For pnDBGetConn() - // we currently just want the first item, which is the official - // database handle. For pnDBGetTables() we want to keep the entire - // tables array together for easy reference later on list($dbconn) = pnDBGetConn(); ! $pntable = pnDBGetTables(); ! ! // It's good practice to name the table and column definitions you ! // are getting - $table and $column don't cut it in more complex ! // modules ! $nascartable = $pntable['nascar']; - // Update the item - the formatting here is not mandatory, but it does - // make the SQL statement relatively easy to read. Also, separating - // out the sql statement from the Execute() command allows for simpler - // debug operation if it is ever needed $sql = "UPDATE $nascartable ! SET pn_name = '" . pnVarPrepForStore($name) . "', ! pn_number = " . pnVarPrepForStore($number) . " ! WHERE pn_tid = " . pnVarPrepForStore($tid); $dbconn->Execute($sql); - // Check for an error with the database code, and if so set an - // appropriate error message and return if ($dbconn->ErrorNo() != 0) { - // Hint : for debugging SQL queries, you can use $dbconn->ErrorMsg() - // to retrieve the actual database error message, and use e.g. the - // following message : - // $msg = pnML('Database error #(1) in query #(2) for #(3) function ' . - // '#(4)() in module #(5)', - // $dbconn->ErrorMsg(), $sql, 'admin', 'update', 'Nascar'); - // Don't use that for release versions, though... $msg = pnML('Database error for #(1) function #(2)() in module #(3)', ! 'admin', 'update', 'Nascar'); pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR', new SystemException($msg)); --- 209,232 ---- } list($dbconn) = pnDBGetConn(); ! $pntable = pnDBGetTables(); ! $nascartable = $pntable['nascar_tracks']; $sql = "UPDATE $nascartable ! SET pn_track_name = '" . pnVarPrepForStore($tname) . "', ! pn_longname = '" . pnVarPrepForStore($tlongname) . "', ! pn_location = '" . pnVarPrepForStore($tlocation) . "', ! pn_weather_url = '" . pnVarPrepForStore($tweather_url) ."', ! pn_track_image = '" . pnVarPrepForStore($timage) . "', ! pn_track_length = '" . pnVarPrepForStore($tlength) . "', ! pn_track_url = '" . pnVarPrepForStore($turl) . "', ! pn_active = " . pnVarPrepForStore($tactive) . " ! WHERE pn_track_id = " . pnVarPrepForStore($tid); ! $dbconn->Execute($sql); if ($dbconn->ErrorNo() != 0) { $msg = pnML('Database error for #(1) function #(2)() in module #(3)', ! 'admin', 'update_tracks', 'Nascar'); pnExceptionSet(PN_SYSTEM_EXCEPTION, 'DATABASE_ERROR', new SystemException($msg)); *************** *** 289,293 **** } - // Let the calling process know that we have finished successfully return true; } --- 234,237 ---- Index: pnuserapi.php =================================================================== RCS file: /home/cvsroot/postnuke_modules/nascar/pnuserapi.php,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** pnuserapi.php 10 Aug 2002 06:02:33 -0000 1.2 --- pnuserapi.php 11 Aug 2002 02:05:02 -0000 1.3 *************** *** 95,104 **** list($tid, $tname, ! $tlongname, ! $tlocation, ! $tweather_url, ! $timage, ! $tlength, ! $turl, $tactive) = $result->fields; --- 95,104 ---- list($tid, $tname, ! $tlongname, ! $tlocation, ! $tweather_url, ! $timage, ! $tlength, ! $turl, $tactive) = $result->fields; *************** *** 106,115 **** $items[] = array('tid' => $tid, 'tname' => $tname, ! 'tlongname' => $tlongname, ! 'tlocation' => $tlocation, ! 'tweather_url' => $tweather_url, ! 'timage' => $timage, ! 'tlength' => $tlength, ! 'turl' => $turl, 'tactive' => $tactive); } --- 106,115 ---- $items[] = array('tid' => $tid, 'tname' => $tname, ! 'tlongname' => $tlongname, ! 'tlocation' => $tlocation, ! 'tweather_url' => $tweather_url, ! 'timage' => $timage, ! 'tlength' => $tlength, ! 'turl' => $turl, 'tactive' => $tactive); } *************** *** 137,141 **** $nascartable = $pntable['nascar_tracks']; ! $sql = "SELECT pn_track_id, pn_track_name FROM $nascartable WHERE pn_track_id = " . pnVarPrepForStore($tid); --- 137,149 ---- $nascartable = $pntable['nascar_tracks']; ! $sql = "SELECT pn_track_id, ! pn_track_name, ! pn_longname, ! pn_location, ! pn_weather_url, ! pn_track_image, ! pn_track_length, ! pn_track_url, ! pn_active FROM $nascartable WHERE pn_track_id = " . pnVarPrepForStore($tid); *************** *** 156,160 **** } ! list($tid, $tname) = $result->fields; $result->Close(); --- 164,176 ---- } ! list($tid, ! $tname, ! $tlongname, ! $tlocation, ! $tweather_url, ! $timage, ! $tlength, ! $turl, ! $tactive) = $result->fields; $result->Close(); *************** *** 168,174 **** } ! $item = array('tid' => $tid, 'tname' => $tname); ! ! return $item; } --- 184,196 ---- } ! return(array('tid' => $tid, ! 'tname' => $tname, ! 'tlongname' => $tlongname, ! 'tlocation' => $tlocation, ! 'tweather_url' => $tweather_url, ! 'timage' => $timage, ! 'tlength' => $tlength, ! 'turl' => $turl, ! 'tactive' => $tactive)); }
View Statistics - Next Notice - Previous Notice
Visit Developer Site - Browse CVS Repository |
Syndicate via backend.rss (max. once per hour please) | Powered by CVSNotice 0.1.3 |