phpslash-commit Mailing List for phpSlash (Page 36)
Brought to you by:
joestewart,
nhruby
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(11) |
Nov
(59) |
Dec
(60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(52) |
Feb
(77) |
Mar
(118) |
Apr
(76) |
May
(106) |
Jun
(145) |
Jul
(9) |
Aug
(15) |
Sep
(78) |
Oct
(83) |
Nov
(105) |
Dec
(51) |
2003 |
Jan
(105) |
Feb
(100) |
Mar
(111) |
Apr
(149) |
May
(95) |
Jun
(56) |
Jul
(8) |
Aug
(2) |
Sep
|
Oct
(22) |
Nov
(117) |
Dec
(6) |
2004 |
Jan
(1) |
Feb
|
Mar
(3) |
Apr
(25) |
May
|
Jun
(11) |
Jul
(26) |
Aug
(85) |
Sep
(119) |
Oct
(312) |
Nov
(271) |
Dec
(5) |
2005 |
Jan
(6) |
Feb
|
Mar
|
Apr
(12) |
May
(7) |
Jun
(8) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Joe S. <joe...@us...> - 2004-04-22 20:08:28
|
Update of /cvsroot/phpslash/phpslash-dev/include/class In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14113/phpslash-dev/include/class Modified Files: slashAuth.class Log Message: psl_validate was depending on global variable . Index: slashAuth.class =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/class/slashAuth.class,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** slashAuth.class 19 Apr 2004 21:08:36 -0000 1.2 --- slashAuth.class 22 Apr 2004 20:08:17 -0000 1.3 *************** *** 349,353 **** // psl built in Challenge Response // other auth methods can return true or false for validation results ! $is_user = $this->psl_validate($username, $password, $user_info); // Drop password for safety --- 349,353 ---- // psl built in Challenge Response // other auth methods can return true or false for validation results ! $is_user = $this->psl_validate($username, $password, $response, $user_info); // Drop password for safety |
From: Joe S. <joe...@us...> - 2004-04-22 20:08:26
|
Update of /cvsroot/phpslash/phpslash-dev/include/class/authtypes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14113/phpslash-dev/include/class/authtypes Modified Files: slashAuthCR.class Log Message: psl_validate was depending on global variable . Index: slashAuthCR.class =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/class/authtypes/slashAuthCR.class,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** slashAuthCR.class 19 Apr 2004 21:08:36 -0000 1.1 --- slashAuthCR.class 22 Apr 2004 20:08:17 -0000 1.2 *************** *** 14,19 **** // psl built in Challenge Response ! function psl_validate($username, $password, $user_info) { ! global $challenge, $response; // debug("response", $response); --- 14,19 ---- // psl built in Challenge Response ! function psl_validate($username, $password, $response, $user_info) { ! global $challenge; // debug("response", $response); |
From: Joe S. <joe...@us...> - 2004-04-22 20:08:26
|
Update of /cvsroot/phpslash/phpslash-dev In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14113/phpslash-dev Modified Files: CHANGES Log Message: psl_validate was depending on global variable . Index: CHANGES =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/CHANGES,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -d -r1.67 -r1.68 *** CHANGES 19 Apr 2004 21:08:35 -0000 1.67 --- CHANGES 22 Apr 2004 20:08:16 -0000 1.68 *************** *** 13,16 **** --- 13,20 ---- 9 - Removal of something (kill -9 :) + 2004-April 22 3:00PM CST Joe Stewart <joe...@us...> + [B] - slashAuth.class, slashAuthCR.class - psl_validate was depending on + global variable $response. + 2004-April 19 4:00PM CST Joe Stewart <joe...@us...> [FT] - slashAuthCR.class, slashAuth.class, config.ini.php, config.php - |
From: Joe S. <joe...@us...> - 2004-04-19 21:10:20
|
Update of /cvsroot/phpslash/phpslash-dev/include/templates/en/basic In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11073/phpslash-dev/include/templates/en/basic Modified Files: emailNotifyComment.tpl emailNotifySubmission.tpl Log Message: php3 to php Index: emailNotifyComment.tpl =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/templates/en/basic/emailNotifyComment.tpl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** emailNotifyComment.tpl 28 Apr 2003 15:26:56 -0000 1.2 --- emailNotifyComment.tpl 19 Apr 2004 21:10:11 -0000 1.3 *************** *** 15,19 **** Notice: A new comment has been submitted to {SITE_NAME}. ! <{ROOTURL}/article.php3?story_id={STORY_ID}#{COMMENT_ID}>. +=+=+=+=+=+=+=+=+=+=+=+=++=+=+=++=+=+=++=++=+=+=+ --- 15,19 ---- Notice: A new comment has been submitted to {SITE_NAME}. ! <{ROOTURL}/article.php?story_id={STORY_ID}#{COMMENT_ID}>. +=+=+=+=+=+=+=+=+=+=+=+=++=+=+=++=+=+=++=++=+=+=+ Index: emailNotifySubmission.tpl =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/templates/en/basic/emailNotifySubmission.tpl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** emailNotifySubmission.tpl 28 Apr 2003 15:26:56 -0000 1.2 --- emailNotifySubmission.tpl 19 Apr 2004 21:10:11 -0000 1.3 *************** *** 16,20 **** You now need to login and check the Submissions. ! <{ROOTURL}>/admin/submissionAdmin.php3> +=+=+=+=+=+=+=+=+=+=+=+=++=+=+=++=+=+=++=++=+=+=+ --- 16,20 ---- You now need to login and check the Submissions. ! <{ROOTURL}>/admin/submissionAdmin.php> +=+=+=+=+=+=+=+=+=+=+=+=++=+=+=++=+=+=++=++=+=+=+ |
From: Joe S. <joe...@us...> - 2004-04-19 21:08:50
|
Update of /cvsroot/phpslash/phpslash-dev In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10487/phpslash-dev Modified Files: CHANGES Log Message: modular authentication Index: CHANGES =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/CHANGES,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -d -r1.66 -r1.67 *** CHANGES 16 Apr 2004 17:50:30 -0000 1.66 --- CHANGES 19 Apr 2004 21:08:35 -0000 1.67 *************** *** 13,16 **** --- 13,24 ---- 9 - Removal of something (kill -9 :) + 2004-April 19 4:00PM CST Joe Stewart <joe...@us...> + [FT] - slashAuthCR.class, slashAuth.class, config.ini.php, config.php - + restructured authorization process. Authentication method can + be configured and class created for alternate authentication methods. + slashAuthCR.class moved to authtypes directory. slashAuth.class + is the main authorization class. + emailNotifyComment.tpl, emailNotifySubmit.tpl - change php3 to php. + 2004-April 16 12:30PM CST Joe Stewart <joe...@us...> [F] - Story.class, relatedlinks.php, slash-all.sql - Related links for articles |
From: Joe S. <joe...@us...> - 2004-04-19 21:08:47
|
Update of /cvsroot/phpslash/phpslash-dev/include/class In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10487/phpslash-dev/include/class Modified Files: slashAuth.class Removed Files: slashAuthCR.class Log Message: modular authentication Index: slashAuth.class =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/class/slashAuth.class,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** slashAuth.class 12 Mar 2003 16:12:50 -0000 1.1.1.1 --- slashAuth.class 19 Apr 2004 21:08:36 -0000 1.2 *************** *** 1,15 **** <?php - /** - * slashAuth.class -> Primary methods for providing Authorization - * @version $Id$ - * - * Provides Authorization functions of PHPSlash - * - * Extends the phplib Auth class and provides the login form - * and validation. - * - */ ! class slashAuth extends Auth { var $classname = "slashAuth"; // For object health --- 1,20 ---- <?php ! /* $Id$ ! * ! * Provides the authorization functions of PHPSlash ! * ! * Extends the phplib auth class. ! * ! * Quoting the phplib local.inc ! * ! * "A variation of Auth which uses a Challenge-Response ! * Authentication. The password never crosses the net in clear, ! * if the remote system supports JavaScript. Please read the ! * Documentation section about CR Authentication to understand ! * what is going on." ! * ! */ ! class slashAuth_base extends Auth { var $classname = "slashAuth"; // For object health *************** *** 21,54 **** var $cancel_login = "cancel"; var $mode = "log"; ! var $debug = true; ! function debug($msg,$val) { ! if ($this->debug) { ! debug($msg,$val); } } ! ! /** ! * ! * Displays the loginform ! * ! **/ function auth_loginform() { ! global $_PSL; ! $templ = pslNew("slashTemplate",$_PSL['templatedir']); $templ->set_file(array( ! 'form' => "loginform.tpl" )); ! $templ->set_var('ACTION_URL', $_PSL['rooturl'] . "/login.php"); ! $templ->set_var('PHP_SELF', $_PSL['phpself']); ! ! if (isset($this->auth["uname"])) { ! $templ->set_var('USERNAME',$this->auth["uname"]); } else { ! $templ->set_var('USERNAME',""); ! $this->auth["error"] = ""; } if (isset($this->auth["error"])) { $templ->set_var('ERROR', $this->auth["error"]); --- 26,134 ---- var $cancel_login = "cancel"; var $mode = "log"; ! var $psl; ! var $sess; ! ! /** ! * customizes class names and loads the class definitions ! * ! * @param string classnames (as many as you want) ! * @return void ! */ ! function loadClasses() { ! $arr = func_get_args(); ! foreach($arr as $class) { ! $this->$class = pslGetClass($this->$class); ! loadClass($this->$class); } } ! ! /** ! * functions as a class constructor. ! * Called from page_open. ! * ! * @return void ! */ ! function start() { ! ! global $_PSL, $HTTP_GET_VARS, $sess; ! ! $this->psl = &$_PSL; ! $this->sess = &$sess; ! ! // If the magic word is defined in the config file - use it. ! if(!empty($_PSL['magic'])) { ! $this->magic = $_PSL['magic']; ! } ! ! AddClassRequirement("author",$_PSL['moduledir'] ."/". $_PSL['module']['Author'] ."/Author.class"); ! ! $this->loadClasses("database_class"); ! ! // setup registration mode or login only ! if (!empty($HTTP_GET_VARS['mode']) && $HTTP_GET_VARS['mode']=='reg') { ! if( !empty($_PSL['auth.mode'])) { ! $this->mode = $_PSL['auth.mode']; ! } else { ! $this->mode='reg'; ! } ! } else { ! $this->mode='log'; ! } ! ! // use preferences ! if(!empty($this->auth['preferences'])) { ! $this->use_preferences(); ! } ! ! // call underlying phplib auth ! Auth::start(); ! } ! ! ! /** ! * auth_loginform - displays the login form. ! * ! * @return void ! */ function auth_loginform() { ! global $challenge, $HTTP_GET_VARS, $HTTP_POST_VARS, $sess, $saved_get, $saved_post; ! // preserve the POST variable through the login process ! $saved_post = $HTTP_POST_VARS; ! $saved_get = $HTTP_GET_VARS; ! ! $sess->register("saved_post"); ! $sess->register("saved_get"); ! ! // generate a challenge word if needed. ! if(empty($challenge)) { ! $challenge = md5(uniqid($this->magic)); ! $sess->register("challenge"); ! } ! ! // create the template object ! $templ = pslNew("slashTemplate"); $templ->set_file(array( ! 'form' => "loginformCR.tpl" )); ! $templ->set_var( array( ! // 'ACTION_URL' => $this->psl['rooturl'] . "/login.php", ! 'ACTION_URL' => $this->psl['phpself'], ! 'PHP_SELF' => $this->psl['phpself'], ! 'ROOTURL' => $this->psl['rooturl'], ! 'CHALLENGE' => $challenge ! )); ! ! // Display the previously used name in the form field ! if (isset($this->auth["uname"]) && $this->auth["uname"] != "nobody") { ! $templ->set_var('USERNAME', htmlentities($this->auth["uname"])); } else { ! $templ->set_var('USERNAME', ""); ! // $this->auth["error"] = ""; } + + // Display message string if present if (isset($this->auth["error"])) { $templ->set_var('ERROR', $this->auth["error"]); *************** *** 56,123 **** $templ->set_var('ERROR', ""); } slashhead("Login", "Login"); $templ->pparse('OUT',"form"); slashfoot(); } ! ! /** ! * ! * Validates the login form entry ! * ! * @param string global username ! * @param string global password ! * ! * @return integer uid ! * ! **/ function auth_validatelogin() { - $fn = "slashAuth::auth_validatelogin()"; - $this->debug($fn,"begin"); ! global $HTTP_POST_VARS; ! $username = $HTTP_POST_VARS['username']; ! $password = $HTTP_POST_VARS['password']; ! # the login form will save the username if(isset($username)) { $this->auth["uname"] = $username; ! } else if ($this->nobody){ ## provides for "default login cancel" ! $uid = $this->auth["uid"] = "nobody"; ! return $uid; } ! if ($username == "" || ! $password == "" || ! strstr($username,"'")){ // spit out empty login form return false; } ! # assume the check is gonna fail $uid = false; ! $md5_pw_net = md5("$username:$password"); ! $q = "SELECT * ! FROM psl_author ! WHERE author_name = '$username' ! AND password = '$md5_pw_net'"; ! $this->debug("$fn:query",$q); $this->db->query($q); ! $this->debug("$fn:numrows",$this->db->num_rows()); while ($this->db->next_record()) { ! $uid = $this->db->f("author_id"); ! $this->auth["uid"] = $this->db->f("author_id"); ! $this->auth["uname"] = $this->db->f("author_name"); ! $this->auth["perm"] = $this->db->f("perms"); ! $p = $this->db->f("perms"); ! return $uid; } ! $this->auth["error"] = "Either your username or password are invalid.<br>Please try again."; return false; } } ?> --- 136,791 ---- $templ->set_var('ERROR', ""); } + + // Link to registration screen if enabled + $templ->set_block("form","reg_block","regblock"); + if( $this->psl['auth.mode'] == "reg") { + $templ->parse("regblock", "reg_block", true); + } + // display slashhead("Login", "Login"); + AddClassRequirement("navbar",$this->psl['classdir'] . "/NavBar.class"); + $navbar = pslNew("NavBar"); + echo $navbar->getNavBar(); $templ->pparse('OUT',"form"); slashfoot(); + } ! ! /** ! * auth_preauth - allow for auto login or preference loading. ! * ! * @return int ! */ ! function auth_preauth() { ! ! global $HTTP_COOKIE_VARS, $sess; ! ! // debug("auth", "preauth"); ! // The preauth cookie is called 'user_info' ! if( !empty($HTTP_COOKIE_VARS['user_info'])){ ! ! // generate the challenge we expect ! $cookie_challenge = md5($this->magic .":". $this->psl['basedir']); ! ! // decode the cookie data into an array ! $cookie_ary = unserialize(base64_decode($HTTP_COOKIE_VARS['user_info'])); ! ! # assume the check is gonna fail ! $uid = false; ! ! $user_info = $this->get_psluser_info($cookie_ary[1]); ! ! $is_user = $this->psl_preauth($user_info['author_name'], $user_info['password'], $user_info); ! ! // if the user is not found - apply any preferences ! if ($is_user == false) { ! if(!empty($cookie_ary['preferences'])) { ! $this->auth['preferences'] = $cookie_ary['preferences']; ! // use preferences ! $this->use_preferences(); ! } ! return false; ! } ! ! // user found - now check for correct data ! $this->auth["uname"] = $user_info["author_name"]; ! $this->auth["dname"] = $user_info["author_realname"]; ! ! $temparray=unserialize($user_info['author_options']); ! ! $md5_pw = $user_info['password']; // this is the raw MD5ed user/pass combo ! $expected_response = md5("$md5_pw:$cookie_challenge"); ! ! // compare the response given in the cookie to expected response ! if( $expected_response == $cookie_ary[0]) { ! // preauth successful ! // debug("preauth", "successful"); ! $this->auth["url"] = $user_info["url"]; ! $uid = $user_info["author_id"]; ! $this->auth["perm"] = $this->get_userperms($uid); ! ! // use preferences ! if(!empty($temparray['preferences'])){ ! $this->auth['preferences'] = $temparray['preferences']; ! $this->use_preferences(); ! } ! ! // expire cache for this session ! if(function_exists('jpcache_gc')) { ! jpcache_gc('string', "-slashSess-" . $sess->id, "100"); ! } ! ! // success is signalled by returning the user's id. ! return $uid; ! } else { ! // preauth failed ! // debug("preauth", "failed"); ! return false; ! } ! } else if ($this->nobody) { ! ! // no user_info cookie ! // if public access allowed apply the data for user named 'nobody' ! $arg_ary['author_name'] = 'nobody'; ! $author_ary = $this->load_user_info($arg_ary); ! ! $this->auth['preferences'] = ''; ! // get rid of session variables and use the db author record. ! $this->clear_session_vars(); ! ! // expire cache for this session ! if(function_exists('jpcache_gc')) { ! jpcache_gc('string', "-slashSess-" . $sess->id, "100"); ! } ! ! // return the id for user 'nobody' ! return $author_ary['author_id']; ! } ! ! } ! ! /** ! * auth_validatelogin - process the login form. ! * ! * @return int ! */ function auth_validatelogin() { ! global $HTTP_POST_VARS, $HTTP_GET_VARS, $saved_get, $saved_post, $challenge, $sess; ! // If no POST variables this must be an error or user ! // abandoned a login form to return to a public area of site ! if(empty($HTTP_POST_VARS)) { ! // This will happen when abandoning a login form ! // need to load the data for the 'nobody' user. ! if(!empty($this->auth['uid']) && ! ($this->auth['uid'] == 'nobody' || $this->auth['uid'] == 'form')){ ! $arg_ary['author_name'] = 'nobody'; ! $author_ary = $this->load_user_info($arg_ary); ! return $author_ary['author_id']; ! } ! ! return false; ! } ! ! $setcookie = ''; ! $lostpw = ''; ! ! // set form entries to local variables ! $username = $HTTP_POST_VARS['username']; ! $password = ''; ! if(array_key_exists('password', $HTTP_POST_VARS)) { ! $password = $HTTP_POST_VARS['password']; ! } ! // $challenge = $HTTP_POST_VARS['challenge']; // use session variable ! $response = $HTTP_POST_VARS['response']; ! if(!empty($HTTP_POST_VARS['setcookie'])) { ! $setcookie = $HTTP_POST_VARS['setcookie']; ! } ! if(!empty($HTTP_POST_VARS['lostpw'])) { ! $lostpw = $HTTP_POST_VARS['lostpw']; ! } ! ! // missing challenge - shouldn't happen ! if(empty($HTTP_POST_VARS['challenge'])) { ! // $this->auth["error"] = "debug only - missing challenge"; ! return false; ! } ! ! // old loginforms expire - prevents hitting "back" or ! // "refresh" to login ! if($challenge != $HTTP_POST_VARS['challenge']) { ! // $this->auth["error"] = "debug only - wrong challenge"; ! return false; ! } ! ! // the login form will save the username if(isset($username)) { $this->auth["uname"] = $username; ! } else if ($this->nobody) { // provides for "default login cancel" ! $arg_ary['author_name'] = 'nobody'; ! $author_ary = $this->load_user_info($arg_ary); ! ! return $author_ary['author_id']; } ! // check for missing name or other shenanigans ! if ($username == "" || strstr($username,"'")) { ! // spit out empty login form ! $this->auth["error"] = pslgetText("Either your username or password are invalid. Please try again."); ! return false; ! } ! ! // If the "Lost password" reminder is checked - call the ! // method in Author class. ! if( $lostpw) { ! $author = pslNew("Author"); ! $ary['username'] = $username; ! $success = $author->lostpw($ary); ! $this->auth["error"] = $author->message; return false; } ! // assume the check is gonna fail $uid = false; + + $user_info = $this->get_psluser_info($username); + + // username not found - return failure + if ($user_info == false) { + return false; + } ! // username found ! $uid = $user_info["author_id"]; ! $this->auth["uid"] = $user_info["author_id"]; ! $this->auth["uname"] = $user_info["author_name"]; ! $this->auth["dname"] = $user_info["author_realname"]; ! $this->auth["url"] = $user_info["url"]; ! // auth type specific validation ! // psl built in Challenge Response ! // other auth methods can return true or false for validation results ! $is_user = $this->psl_validate($username, $password, $user_info); ! ! // Drop password for safety ! $password=''; ! $HTTP_POST_VARS['password'] = ''; ! ! if ($is_user == false) { ! // failed - return with error message ! $this->auth["error"] = pslgetText("Either your username or password are invalid. Please try again."); ! return false; ! } else { ! // success - authenticated ! ! // set Remember Me cookie ! if(!empty($setcookie)){ ! $this->set_preauth_cookie($user_info); ! } ! ! // apply user's preferences ! $temparray=unserialize($user_info['author_options']); ! if(!empty($temparray['preferences'])){ ! $this->auth['preferences'] = $temparray['preferences']; ! $this->use_preferences(); ! } ! ! // load the user's permissions/group membership ! $this->auth["perm"] = $this->get_userperms( $uid); ! ! // successful - no errors ! $this->auth["error"] = ""; ! ! // restore saved POST variables ! $HTTP_GET_VARS = $saved_get; ! $HTTP_POST_VARS = $saved_post; ! ! // clear the session variables ! $saved_get = ''; ! $saved_post = ''; ! $challenge = ''; ! ! // get rid of session variables and use the db author record. ! $this->clear_session_vars(); ! ! // expire cache for this session ! if(function_exists('jpcache_gc')) { ! jpcache_gc('string', "-slashSess-" . $sess->id, "100"); ! } ! ! // signal success by returning user id ! return $uid; ! } ! ! $this->auth["error"] = pslgetText("Either your username or password are invalid. Please try again."); ! return false; ! } ! ! ! /** ! * auth_registerform - displays the registration form. ! * ! * @return void ! */ ! function auth_registerform() { ! global $sess; ! ! // create the template object ! $templ = pslNew("slashTemplate"); ! $templ->set_file(array( ! form => "registerform.tpl" ! )); ! ! // Fill out any fields already saved ! $templ->set_var(ACTION_URL,$this->psl['rooturl']."/login.php?mode=reg"); ! $templ->set_var(PHP_SELF,$this->psl[phpself]); ! if (isset($this->auth["uname"])) { ! $templ->set_var(USERNAME,$this->auth['uname']); ! } else { ! $templ->set_var(USERNAME,""); ! $this->auth["error"] = ""; ! } ! if (isset($this->auth["email"])) { ! $templ->set_var(EMAIL,$this->auth["email"]); ! } else { ! $templ->set_var(EMAIL,""); ! } ! if (isset($this->auth["realname"])) { ! $templ->set_var(REALNAME,$this->auth["realname"]); ! } else { ! $templ->set_var(REALNAME,""); ! } ! if (isset($this->auth["url"])) { ! $templ->set_var(URL,$this->auth["url"]); ! } else { ! $templ->set_var(URL,""); ! } ! if (isset($this->auth["quote"])) { ! $templ->set_var(QUOTE,$this->auth["quote"]); ! } else { ! $templ->set_var(QUOTE,""); ! } ! if (isset($this->auth["seclev"])) { ! $templ->set_var(SECLEV,$this->auth["seclev"]); ! } else { ! $templ->set_var(SECLEV,""); ! } ! ! if (isset($this->auth["error"])) { ! $templ->set_var(ERROR,$this->auth["error"]); ! } else { ! $templ->set_var(ERROR,""); ! } ! ! // display the form ! slashhead("Register", "Register"); ! AddClassRequirement("navbar",$this->psl['classdir'] . "/NavBar.class"); ! $navbar = pslNew("NavBar"); ! echo $navbar->getNavBar(); ! $templ->pparse(OUT,"form"); ! slashfoot(); ! } ! ! /** ! * auth_doregister - validate the registration. ! * ! * @return void ! */ ! function auth_doregister() { ! ! global $HTTP_POST_VARS, $challenge, $response; ! ! // if no POST variables, this must be an error ! if(empty($HTTP_POST_VARS)) { ! return false; ! } ! ! // save the entered data - to display the form again with data ! $this->auth["uname"] = $username = $HTTP_POST_VARS['username']; ! $this->auth["realname"] = $realname = $HTTP_POST_VARS['realname']; ! $this->auth["email"] = $email = $HTTP_POST_VARS['email']; ! $this->auth["url"] = $url = $HTTP_POST_VARS['url']; ! $this->auth["quote"] = $quote = $HTTP_POST_VARS['quote']; ! $this->auth["seclev"] = $seclev = $HTTP_POST_VARS['seclev']; ! ! // password is not saved in the session ! $pass1 = $HTTP_POST_VARS['pass1']; ! $pass2 = $HTTP_POST_VARS['pass2']; ! ! // if form empty - complain ! if ($username == "" || $pass1 == ""){ ! $this->auth["error"] = pslgetText("Username or password missing. Please try again."); ! return false; ! } ! ! // Check the passwords for validity. ! if ($pass1 != $pass2) { ! $this->auth["error"] = pslgetText("Password and repeated password do not match. Please try again."); ! return false; ! } ! if (($pass1 == "") OR ($pass2 == "")) { ! $this->auth["error"] = pslgetText("Please enter your password."); ! return false; ! } ! ! // assume the check is gonna fail ! $uid = false; ! ! $user_info = $this->get_psluser_info($username); ! ! if($user_info) { ! // If user is present and password matches, silently log ! // the user in. ! $md5_pw = md5($username .":". $pass1); ! if($this->psl_validate($username, $md5_pw, $user_info)) { ! // if ($user_info["password"] == $md5_pw) { ! $uid = $user_info["author_id"]; ! $this->auth["uid"] = $user_info['author_id']; ! $this->auth["uname"] = $user_info['author_name']; ! // $this->auth["perm"] = $user_info['perms']; ! $this->auth["email"] = $user_info['email']; ! $this->auth["realname"] = $user_info['realname']; ! // $this->auth["perm"] = $this->get_userperms($uid); ! return $uid; ! } ! // If user is present and password does not match, ! // complain and fail. ! $this->auth["error"] = pslgetText("This username is already taken. Please choose a different one."); ! return false; ! ! } ! ! // add new user ! $author = pslNew("Author"); ! $ary["author_name"] = $username; ! $ary["password"] = $pass1; ! $ary["email"] = $email; ! $ary["url"] = $url; ! $ary["quote"] = $quote; ! $ary["author_realname"] = $realname; ! $ary["seclev"] = $seclev; ! // temporary kludge to fix registration ! $perm_ary['nobody'] = 20; ! $perm_ary['user'] = 21; ! $ary["permission"] = $perm_ary; ! ! // use Author.class saveAuthor for account creation ! if ($author->saveAuthor($ary)) { ! // successful account creation ! // attempt to log in the new user ! ! // $password = $pass1; ! $HTTP_POST_VARS['username'] = $username; ! $HTTP_POST_VARS['password'] = $pass1; ! // $HTTP_POST_VARS['challenge'] = md5(uniqid($this->magic)); ! $HTTP_POST_VARS['challenge'] = $challenge; ! $HTTP_POST_VARS['response'] = ''; ! // debug("username", $username); ! // debug("pass1", $pass1); ! ! $uid = $this->auth_validatelogin(); ! if( $uid == false) { ! $this->auth["error"] = pslgetText("Account created, but validation failed"); ! } ! return $uid; ! } else { ! // account creation failed ! $this->auth["error"] = pslgetText("User Registration failed"); ! return false; ! } ! ! } ! ! /** ! * get_userperms - return an array of the user's group memberships. ! * ! * @return array ! */ ! function get_userperms($uid) { ! ! /* ! * Get the group perms's for this author into an array ! */ ! $q = "SELECT psl_permission.permission_name, ! psl_group.group_name, ! psl_group.group_id ! FROM psl_group, ! psl_author_group_lut, ! psl_group_permission_lut, ! psl_permission ! WHERE psl_group.group_id = psl_author_group_lut.group_id ! AND psl_group.group_id = psl_group_permission_lut.group_id ! AND psl_group_permission_lut.permission_id = psl_permission.permission_id ! AND psl_author_group_lut.author_id = '$uid' "; ! ! // debug("q", $q); $this->db->query($q); ! ! while ($this->db->next_record()) { ! $group_id = $this->db->Record['group_id']; ! // Load the group and its permissions ! $this->auth['perm'][$this->db->Record['group_name']][$this->db->Record['permission_name']] = true; ! ! // get the available sections for this group ! $q = "SELECT section_id ! FROM psl_group_section_lut ! WHERE group_id = '$group_id' "; ! $db2 = pslNew("slashDB"); ! $db2->query($q); ! while ($db2->next_record()) { ! $section_perm = "section_id". $db2->Record['section_id']; ! $this->auth["perm"][$this->db->Record['group_name']][$section_perm] = true; ! } ! } ! ! /* ! * Get the group->group perm's for this author into an array ! */ ! ! // first get all the group names in an array ! $q = "SELECT group_name, ! group_id ! FROM psl_group "; ! // debug("q", $q); ! $this->db->query($q); ! ! while ($this->db->next_record()) { ! $groups_ary[$this->db->Record['group_id']] = $this->db->Record['group_name']; ! } + // get the group of groups for this user + $q = "SELECT psl_group_group_lut.group_id, + psl_group_group_lut.childgroup_id + FROM psl_author_group_lut, + psl_group_group_lut + WHERE psl_group_group_lut.group_id = psl_author_group_lut.group_id + AND psl_author_group_lut.author_id = '$uid' "; + // debug("q", $q); + $this->db->query($q); + while ($this->db->next_record()) { ! $group_id = $this->db->Record['group_id']; ! $childgroup_id = $this->db->Record['childgroup_id']; ! ! $group_name = $groups_ary[$group_id]; ! $childgroup_name = ''; ! if(!empty($groups_ary[$childgroup_id])) { ! $childgroup_name = $groups_ary[$childgroup_id]; ! } ! if(empty($this->auth['perm'])) { ! $this->auth['perm'] = array(); ! ! } ! ! if( array_key_exists($childgroup_name, $this->auth['perm'])) { ! // We already know the perms for this group ! $this->auth['perm'][$group_name][$childgroup_name] = $this->auth['perm'][$childgroup_name]; ! } else { ! // We don't have the perms for this group so - ! // query to get group perms ! $q = "SELECT psl_permission.permission_name ! FROM psl_group_permission_lut, ! psl_permission ! WHERE psl_group_permission_lut.permission_id = psl_permission.permission_id ! AND psl_group_permission_lut.group_id = '$childgroup_id' "; ! // debug("q", $q); ! $db2 = pslNew("slashDB"); ! $db2->query($q); ! ! while ($db2->next_record()) { ! $this->auth['perm'][$group_name][$childgroup_name][$db2->Record['permission_name']] = true; ! ! // get the available sections for this group ! $q = "SELECT section_id ! FROM psl_group_section_lut ! WHERE group_id = '$childgroup_id' "; ! $db3 = pslNew("slashDB"); ! $db3->query($q); ! while ($db3->next_record()) { ! $section_perm = "section_id". $db3->Record['section_id']; ! ! $this->auth["perm"][$group_name][$childgroup_name][$section_perm] = true; ! } ! ! } ! ! } // endif ! ! } //end while ! ! return $this->auth['perm']; ! } // end of function get_userperms() ! ! function clear_session_vars() { ! $this->clear_session_var("comment_name"); ! $this->clear_session_var("comment_email"); ! $this->clear_session_var("comment_url"); ! } ! ! function clear_session_var($var) { ! if($this->sess->is_registered($var)) { ! $this->sess->unregister($var); ! $_SESSION[$var] = null; ! unset($GLOBALS[$var]); ! } ! } ! ! function use_preferences() { ! ! // use language preference ! if(isset($this->auth['preferences']['lang'])) { ! $this->psl['languagefile'] = setLang($this->auth['preferences']['lang']); ! $this->psl['templatedir'] = setLangTpl($this->auth['preferences']['lang']); } ! ! // use skin preference ! if ((isset($this->auth['preferences']['skin'])) && ! ($this->psl['defaultskin'] != $this->auth['preferences']['skin'])){ ! $this->psl['templatedir'] = setSkinTpl($this->auth['preferences']['skin'],"userpref"); ! } ! } ! ! ! function load_user_info($arg_ary) { ! ! loadClass('Author'); ! $author_ary = Author::getAuthor($arg_ary); ! $this->auth["perm"] = $this->get_userperms($author_ary['author_id']); ! $this->auth["dname"] = $author_ary['author_realname']; ! $this->auth["uname"] = $author_ary['author_name']; ! $this->auth["email"] = $author_ary['email']; ! $this->auth["url"] = $author_ary['url']; ! ! return $author_ary; ! } ! ! function get_psluser_info($username) { ! ! $info = false; ! ! $q = "SELECT * ! FROM psl_author ! WHERE author_name = '$username' "; ! ! $this->db->query($q); ! ! if($this->db->next_record()) { ! $info = $this->db->Record; ! } ! ! return $info; ! } ! ! function set_preauth_cookie($user_info) { ! ! // set preauth cookie so the user won't have ! // to log in again ! $cookie_challenge = md5($this->magic .":". $this->psl['basedir']); ! $md5_pw = $user_info['password']; // this is the raw MD5ed user/pass combo ! $cookie_response = md5("$md5_pw:$cookie_challenge"); ! $cookie_ary[] = $cookie_response; ! $cookie_ary[] = $this->auth['uname']; ! $cookie_ary[] = $cookie_challenge; ! // strip the rooturl down to its path for the cookie path. ! $rooturl_ary = parse_url($this->psl['rooturl']); ! setcookie( 'user_info', base64_encode(serialize($cookie_ary)), time()+31536000,$rooturl_ary['path'] , "" , ""); ! ! } ! ! // dummy method to be overridden in child class ! function psl_validate($username, $password, $user_info) { ! return false; ! } ! ! // dummy method to be overridden in child class ! function psl_preauth($username, $password, $user_info) { return false; } + + } ?> --- slashAuthCR.class DELETED --- |
From: Joe S. <joe...@us...> - 2004-04-19 21:08:46
|
Update of /cvsroot/phpslash/phpslash-dev/public_html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10487/phpslash-dev/public_html Modified Files: config_setup.ini.php config-dist.ini.php config-dist.php Log Message: modular authentication Index: config_setup.ini.php =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/public_html/config_setup.ini.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** config_setup.ini.php 13 Nov 2003 20:41:46 -0000 1.4 --- config_setup.ini.php 19 Apr 2004 21:08:37 -0000 1.5 *************** *** 172,176 **** ;; jpcache ! jpcache.enable = internal ;;; --- 172,191 ---- ;; jpcache ! ;; ! ;; jpcache.enable - valid values = off, internal, static ! ;; ! ;; off - no output cache done ! ;; internal - output cache using either database or file storage ! ;; static - output cache written as html files to the basedir. ! ;; ! ;; static cache warning: This mechanism writes the html cache files ! ;; to the basedir by default. This can be a security risk on servers that ! ;; php writes files using a common user/group. ! ;; ! ;; This option should only be used where the files created are owned by ! ;; the user, the server is in a jail, uml, or security assured in some ! ;; other way. ! ;; ! jpcache.enable = internal ;;; *************** *** 227,230 **** --- 242,251 ---- ;;; + ;; Authorization mode: + ;; 'CR' - Authorize by Challenge Response [default] + ;; 'LDAP' - + auth.type = "CR" + + ;;;;;; ;; Registration mode: ;; 'reg' - allow users to register themselves and create accounts on your site *************** *** 377,380 **** --- 398,402 ---- ;; 'log' for output to the admin log ;; 'mail' to e-mail output + ;; 'delayed','queue','push' - add output to next debug call debug_type = "now" ;; Mail debug output here (e.g., "web...@ph..."); Index: config-dist.ini.php =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/public_html/config-dist.ini.php,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** config-dist.ini.php 4 Mar 2004 21:45:16 -0000 1.9 --- config-dist.ini.php 19 Apr 2004 21:08:37 -0000 1.10 *************** *** 242,249 **** ;;; ;; Registration mode: ;; 'reg' - allow users to register themselves and create accounts on your site ;; 'log' - restrict the creation of new accounts to administrators ! authmode = "reg" ;;; --- 242,255 ---- ;;; + ;; Authorization mode: + ;; 'CR' - Authorize by Challenge Response [default] + ;; 'LDAP' - + auth.type = "CR" + + ;;;;;; ;; Registration mode: ;; 'reg' - allow users to register themselves and create accounts on your site ;; 'log' - restrict the creation of new accounts to administrators ! auth.mode = "reg" ;;; Index: config-dist.php =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/public_html/config-dist.php,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** config-dist.php 26 Nov 2003 19:33:21 -0000 1.17 --- config-dist.php 19 Apr 2004 21:08:37 -0000 1.18 *************** *** 101,104 **** --- 101,109 ---- } + // auth.type -> which authorization type + if(empty($_PSL['auth.type'])) { + $_PSL['auth.type'] = "CR"; + } + // Config crutches for new users if (true) { // New Install = true ; Tested config.ini.php = false *************** *** 272,276 **** addClassRequirement("slashSess","session"); addClassRequirement("slashSess",$_PSL['classdir'] . "/slashSess.class"); ! addClassRequirement("slashAuth",$_PSL['classdir'] . "/slashAuthCR.class"); addClassRequirement("slashPerm","perm"); addClassRequirement("slashPerm",$_PSL['classdir'] . "/slashPerm.class"); --- 277,283 ---- addClassRequirement("slashSess","session"); addClassRequirement("slashSess",$_PSL['classdir'] . "/slashSess.class"); ! addClassRequirement("slashAuth_base",$_PSL['classdir'] . "/slashAuth.class"); ! AddClassRequirement("slashAuth","slashAuth_base"); ! addClassRequirement("slashAuth",$_PSL['classdir'] . "/authtypes/slashAuth". $_PSL['auth.type'] .".class"); addClassRequirement("slashPerm","perm"); addClassRequirement("slashPerm",$_PSL['classdir'] . "/slashPerm.class"); |
From: Joe S. <joe...@us...> - 2004-04-19 21:08:46
|
Update of /cvsroot/phpslash/phpslash-dev/include/class/authtypes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10487/phpslash-dev/include/class/authtypes Added Files: slashAuthCR.class Log Message: modular authentication --- NEW FILE: slashAuthCR.class --- <?php /* $Id: slashAuthCR.class,v 1.1 2004/04/19 21:08:36 joestewart Exp $ * * Quoting the phplib local.inc * * "A variation of Auth which uses a Challenge-Response * Authentication. The password never crosses the net in clear, * if the remote system supports JavaScript. Please read the * Documentation section about CR Authentication to understand * what is going on." */ class slashAuth extends slashAuth_base { // psl built in Challenge Response function psl_validate($username, $password, $user_info) { global $challenge, $response; // debug("response", $response); // debug("challenge", $challenge); $is_user = false; // generate the expected response $md5_pw = $user_info['password']; // this is the raw MD5ed user/pass combo $expected_response = md5("$md5_pw:$challenge"); // debug("expected_response", $expected_response); // True when JS is disabled if ($response == "") { $md5_pw_net = md5("$username:$password"); $response = md5("$md5_pw_net:$challenge"); } // Response is set, JS might be enabled... // compare the responses if ($expected_response == $response) { // success $is_user = true; } else { $this->auth["error"] = pslgetText("Either your username or password are invalid. Please try again."); } return $is_user; } // psl built in "Remember Me" function psl_preauth($username, $password, $user_info) { global $HTTP_COOKIE_VARS; $is_user = false; // decode the cookie data into an array $cookie_ary = unserialize(base64_decode($HTTP_COOKIE_VARS['user_info'])); // generate the challenge we expect $cookie_challenge = md5($this->magic .":". $this->psl['basedir']); $md5_pw = $password; // this is the raw MD5ed user/pass combo $expected_response = md5("$md5_pw:$cookie_challenge"); // compare the response given in the cookie to expected response if( $expected_response == $cookie_ary[0]) { $is_user = true; } return $is_user; } } ?> |
From: Joe S. <joe...@us...> - 2004-04-19 20:56:02
|
Update of /cvsroot/phpslash/phpslash-dev/include/class/authtypes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7637/authtypes Log Message: Directory /cvsroot/phpslash/phpslash-dev/include/class/authtypes added to the repository |
From: Joe S. <joe...@us...> - 2004-04-16 17:50:40
|
Update of /cvsroot/phpslash/phpslash-dev/tables/0.8 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26140/phpslash-dev/tables/0.8 Modified Files: slash-all.sql Log Message: Story.class, relatedlinks.php, slash-all.sql - Related links for articles Index: slash-all.sql =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/tables/0.8/slash-all.sql,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** slash-all.sql 12 Nov 2003 21:29:49 -0000 1.2 --- slash-all.sql 16 Apr 2004 17:50:31 -0000 1.3 *************** *** 122,126 **** INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_variable_seq',63); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_section_seq',16); ! INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_block_seq',170); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_author_seq',20); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_infolog',170); --- 122,126 ---- INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_variable_seq',63); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_section_seq',16); ! INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_block_seq',171); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_author_seq',20); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_infolog',170); *************** *** 128,132 **** INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_glossary_seq',1); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_blocktype_seq',20); ! INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_section_block_lut_seq',435); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_permission_seq',82); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_group_seq',27); --- 128,132 ---- INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_glossary_seq',1); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_blocktype_seq',20); ! INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_section_block_lut_seq',439); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_permission_seq',82); INSERT INTO db_sequence (seq_name, nextid) VALUES ('psl_group_seq',27); *************** *** 219,223 **** INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (153,12,'Page - public - nav - top',0,'','tpl=navbar','','a:3:{s:6:\"column\";s:3:\"top\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";}',60,NULL); INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (154,12,'Page - public - nav - foot',0,'','tpl=navbarFooter','','a:3:{s:6:\"column\";s:6:\"bottom\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";}',10,NULL); ! INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (155,18,'Page - public - module',0,'','','','a:3:{s:6:\"column\";s:6:\"center\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";}',90,NULL); INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (156,19,'Page - public',0,'','','','a:3:{s:6:\"column\";s:4:\"page\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";}',0,NULL); INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (157,18,'Page - admin - module',0,'','','','a:2:{s:6:\"column\";s:6:\"center\";s:8:\"box_type\";s:11:\"contentonly\";}',90,1050617309); --- 219,223 ---- INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (153,12,'Page - public - nav - top',0,'','tpl=navbar','','a:3:{s:6:\"column\";s:3:\"top\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";}',60,NULL); INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (154,12,'Page - public - nav - foot',0,'','tpl=navbarFooter','','a:3:{s:6:\"column\";s:6:\"bottom\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";}',10,NULL); ! INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (155,18,'Page - public - module',0,'','','','a:3:{s:6:\"column\";s:6:\"center\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";}',95,NULL); INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (156,19,'Page - public',0,'','','','a:3:{s:6:\"column\";s:4:\"page\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";}',0,NULL); INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (157,18,'Page - admin - module',0,'','','','a:2:{s:6:\"column\";s:6:\"center\";s:8:\"box_type\";s:11:\"contentonly\";}',90,1050617309); *************** *** 232,236 **** INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (162,18,'Mailinglist',0,'','','','a:3:{s:6:\"column\";s:6:\"center\";s:5:\"width\";s:0:\"\";s:6:\"module\";s:11:\"MailingList\";}',90,NULL); INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (170,18,'Module - Comment',0,'','','','a:4:{s:6:\"column\";s:6:\"center\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";s:6:\"module\";s:7:\"Comment\";}',80,NULL); ! -- -- Table structure for table 'psl_block_type' --- 232,236 ---- INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (162,18,'Mailinglist',0,'','','','a:3:{s:6:\"column\";s:6:\"center\";s:5:\"width\";s:0:\"\";s:6:\"module\";s:11:\"MailingList\";}',90,NULL); INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (170,18,'Module - Comment',0,'','','','a:4:{s:6:\"column\";s:6:\"center\";s:5:\"width\";s:0:\"\";s:8:\"box_type\";s:11:\"contentonly\";s:6:\"module\";s:7:\"Comment\";}',80,NULL); ! INSERT INTO psl_block (id, type, title, expire_length, location, source_url, cache_data, block_options, ordernum, date_issued) VALUES (171,18,'Related Links',0,'','','','a:4:{s:6:\"column\";s:5:\"right\";s:5:\"width\";s:0:\"\";s:6:\"module\";s:5:\"Story\";s:4:\"page\";s:12:\"relatedlinks\";}',92,NULL); -- -- Table structure for table 'psl_block_type' *************** *** 968,971 **** --- 968,975 ---- INSERT INTO psl_section_block_lut (lut_id, block_id, section_id) VALUES (434,170,4); INSERT INTO psl_section_block_lut (lut_id, block_id, section_id) VALUES (435,170,5); + INSERT INTO psl_section_block_lut (lut_id, block_id, section_id) VALUES (436,171,3); + INSERT INTO psl_section_block_lut (lut_id, block_id, section_id) VALUES (437,171,4); + INSERT INTO psl_section_block_lut (lut_id, block_id, section_id) VALUES (438,171,5); + INSERT INTO psl_section_block_lut (lut_id, block_id, section_id) VALUES (439,171,7); -- |
From: Joe S. <joe...@us...> - 2004-04-16 17:50:40
|
Update of /cvsroot/phpslash/phpslash-dev In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26140/phpslash-dev Modified Files: CHANGES Log Message: Story.class, relatedlinks.php, slash-all.sql - Related links for articles Index: CHANGES =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/CHANGES,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -d -r1.65 -r1.66 *** CHANGES 4 Mar 2004 21:45:16 -0000 1.65 --- CHANGES 16 Apr 2004 17:50:30 -0000 1.66 *************** *** 13,16 **** --- 13,20 ---- 9 - Removal of something (kill -9 :) + 2004-April 16 12:30PM CST Joe Stewart <joe...@us...> + [F] - Story.class, relatedlinks.php, slash-all.sql - Related links for articles + works again. + 2004-March 4 3:30PM CST Joe Stewart <joe...@us...> [F] - functions.inc, config-dist.ini.php - debug output can now be delayed |
From: Joe S. <joe...@us...> - 2004-04-16 17:50:40
|
Update of /cvsroot/phpslash/phpslash-dev/include/modules/story In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26140/phpslash-dev/include/modules/story Modified Files: Story.class Added Files: relatedlinks.php Log Message: Story.class, relatedlinks.php, slash-all.sql - Related links for articles --- NEW FILE: relatedlinks.php --- <?php // $Id: relatedlinks.php,v 1.1 2004/04/16 17:50:31 joestewart Exp $ // Displays the contents of the related links block // block can be anywhere with a lower order number than the story (module) block // usually this means either below the story or in a right side column. global $_PSL, $ary, $relatedlinks; $content = ''; if(array_key_exists('story_id', $ary)) { // one particular story requested if(isset($relatedlinks )) { $content .= $relatedlinks; unset($relatedlinks); } } return $content; ?> Index: Story.class =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/modules/story/Story.class,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Story.class 26 Nov 2003 19:33:21 -0000 1.8 --- Story.class 16 Apr 2004 17:50:31 -0000 1.9 *************** *** 241,244 **** --- 241,246 ---- function getStory($story_id, $mode, $argv_ary="", $tpl="") { + global $relatedlinks; + $default_tpl = "story.tpl"; /* *************** *** 344,347 **** --- 346,351 ---- } } + // relatedlinks is a global variable that contains the related links html. + $relatedlinks = $related; $arrows = $this->getNextPrev($story_id, $argv_ary); } *************** *** 405,410 **** } ! $this->template->parse('STORY', 'template'); ! $thestory = $this->template->get('STORY'); if( $cache_ary[$story_name]['expire'] > 0) { $cache_ary[$story_name]['cache'] = $thestory; --- 409,414 ---- } ! $thestory = $this->template->parse('STORY', 'template'); ! if( $cache_ary[$story_name]['expire'] > 0) { $cache_ary[$story_name]['cache'] = $thestory; |
From: Jeff B. <jb...@us...> - 2004-04-16 13:45:45
|
Update of /cvsroot/phpslash/debian In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2844 Modified Files: postinst Added Files: templates Log Message: db password question --- NEW FILE: templates --- Template: phpslash/db_password Type: password Description: A password is required to ensure some security between phpslash and phpslash's MySql database. Index: postinst =================================================================== RCS file: /cvsroot/phpslash/debian/postinst,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** postinst 13 Apr 2004 21:09:49 -0000 1.1 --- postinst 16 Apr 2004 13:45:37 -0000 1.2 *************** *** 2,6 **** # Get a password to use for the phpslash mysql account ! read phpslash_password # Install a phpslash db into mysql --- 2,6 ---- # Get a password to use for the phpslash mysql account ! db_get phpslash/db_password # Install a phpslash db into mysql |
From: Jeff B. <jb...@us...> - 2004-04-14 01:41:13
|
Update of /cvsroot/phpslash/debian In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21430 Modified Files: control Log Message: Hey I don't have to package phplib after all, its included in phpslash... Index: control =================================================================== RCS file: /cvsroot/phpslash/debian/control,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** control 13 Apr 2004 21:09:49 -0000 1.1 --- control 14 Apr 2004 01:41:04 -0000 1.2 *************** *** 8,12 **** Architecture: all Package: phpslash ! Depends: apache, php4 (>= 4.1.2), php4-mysql, mysql-server (>= 3.23.2), phplib Description: php implementation of slashdot phpSlash is a CMS that provides an easy and flexible means to publish websites. --- 8,12 ---- Architecture: all Package: phpslash ! Depends: apache, php4 (>= 4.1.2), php4-mysql, mysql-server (>= 3.23.2) Description: php implementation of slashdot phpSlash is a CMS that provides an easy and flexible means to publish websites. |
From: Jeff B. <jb...@us...> - 2004-04-13 21:23:52
|
Update of /cvsroot/phpslash/debian In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2834 Added Files: changelog control copyright postinst rules Log Message: Initial import, still got some ways to go :) --- NEW FILE: changelog --- phpslash (0.7.2-1) unstable; urgency=low * Initial Release. -- Jeff Breker <jb...@sy...> Mon, 12 Apr 2004 17:39:00 -0400 --- NEW FILE: control --- Source: phpslash Section: web Priority: optional Maintainer: Jeff Breker <jb...@sy...> Standards-Version: 3.6.1.0 Build-Depends-Indep: debhelper (>= 4.2.7) Architecture: all Package: phpslash Depends: apache, php4 (>= 4.1.2), php4-mysql, mysql-server (>= 3.23.2), phplib Description: php implementation of slashdot phpSlash is a CMS that provides an easy and flexible means to publish websites. It currently boasts full HTML templates, an OO design, the ability to operate in a hosted environment, and a bunch of other goodies. --- NEW FILE: copyright --- This package was debianized by Jeff Breker <jb...@sy...> on Mon, 12 Apr 2004 17:39:00 -0400 It was downloaded from http://sourceforge.net/projects/phpslash/ Upstream Authors: Name: Email: (@users.sourceforge.net) Ajay Sharma ajayrockrock@ Blake Carver btcarver@ Costas Malamas cmalamas@ Joe Stewart joestewart@ Peter Cruickshank krabu@ Luis M lems1@ Lars Heuer lheuer@ Nathan Hruby nhruby@ Matthew Leingang sympleko@ Matt Wiseman trollboy@ Copyright: GPL On Debian systems, the complete text of the GNU General Public Licence can be found in the file `/usr/share/common-licenses/GPL'. --- NEW FILE: postinst --- #!/bin/sh # Get a password to use for the phpslash mysql account read phpslash_password # Install a phpslash db into mysql mysqladmin create phpslash echo "GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,INDEX,ALTER ON phpslash.* TO 'phpslash'@'localhost' IDENTIFIED BY '${phpslash_password}';" | mysql mysql mysql -u phpslash --password=${phpslash_password} phpslash < /usr/share/phpslash/tables/0.7/slash-all.sql # Set config data --- NEW FILE: rules --- #!/usr/bin/make -f configure: configure-stamp configure-stamp: dh_testdir touch configure-stamp build: build-stamp build-stamp: configure-stamp dh_testdir touch build-stamp clean: dh_testdir dh_testroot dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs mkdir -p debian/tmp/var/www debian/tmp/usr/share/phpslash cp -R public_html debian/tmp/var/www/phpslash cp -R class debian/tmp/usr/share/phpslash/class cp -R tables debian/tmp/usr/share/phpslash/tables binary-indep: build install dh_testdir dh_testroot dh_installchangelogs CHANGES dh_installdocs dh_compress dh_fixperms dh_installdeb dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep .PHONY: build clean binary-indep binary install configure |
From: Joe S. <joe...@us...> - 2004-04-13 17:45:59
|
Update of /cvsroot/phpslash/debian In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18863 Log Message: initial debian repository Status: Vendor Tag: vendortag Release Tags: releasetag No conflicts created by this import ***** Bogus filespec: - Imported sources |
From: Joe S. <joe...@us...> - 2004-03-04 21:58:53
|
Update of /cvsroot/phpslash/phpslash-dev/public_html In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23223/phpslash-dev/public_html Modified Files: config-dist.ini.php Log Message: debug output can now be delayed to only display once or send one email. Index: config-dist.ini.php =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/public_html/config-dist.ini.php,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** config-dist.ini.php 26 Nov 2003 19:33:21 -0000 1.8 --- config-dist.ini.php 4 Mar 2004 21:45:16 -0000 1.9 *************** *** 392,395 **** --- 392,396 ---- ;; 'log' for output to the admin log ;; 'mail' to e-mail output + ;; 'delayed','queue','push' - add output to next debug call debug_type = "now" ;; Mail debug output here (e.g., "web...@ph..."); |
From: Joe S. <joe...@us...> - 2004-03-04 21:58:53
|
Update of /cvsroot/phpslash/phpslash-dev/include/class In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23223/phpslash-dev/include/class Modified Files: functions.inc Log Message: debug output can now be delayed to only display once or send one email. Index: functions.inc =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/class/functions.inc,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** functions.inc 26 Nov 2003 19:35:25 -0000 1.12 --- functions.inc 4 Mar 2004 21:45:16 -0000 1.13 *************** *** 408,411 **** --- 408,412 ---- * 'log' - log in db * 'mail' - mail to whomever + * 'delayed','queue','push' - add output to next debug call * other - return as string * (optional; default - specified in config file) *************** *** 423,426 **** --- 424,430 ---- function debug($name, $msg, $type='default',$max_level=NULL) { GLOBAL $_PSL; + + static $ans; + if (!$_PSL['debug']) { return ''; *************** *** 437,457 **** } $escapeHtmlFlag = $_PSL['debug.escape_html']; ! $ans = debug_iterator($name,$msg,$type,$max_level,$escapeHtmlFlag); switch($type) { ! case 'log': ! logwrite($name,get_r($msg)); ! $ans = true; ! break; ! case 'now': ! echo $ans; ! break; ! case 'mail': ! if ($_PSL['debug.mailto']) { ! mail($_PSL['debug.mailto'], ! "PHPSlash Debug Output", ! $ans, ! "X-Generator: " . $_PSL['phpself']); ! } ! break; } return $ans; --- 441,471 ---- } $escapeHtmlFlag = $_PSL['debug.escape_html']; ! if(!isset($ans)) { ! $ans = null; ! } ! $ans .= debug_iterator($name,$msg,$type,$max_level,$escapeHtmlFlag); switch($type) { ! case 'log': ! logwrite($name,get_r($msg)); ! $ans = true; ! break; ! case 'now': ! echo $ans; ! $ans = null; ! break; ! case 'mail': ! if ($_PSL['debug.mailto']) { ! mail($_PSL['debug.mailto'], ! "PHPSlash Debug Output", ! $ans, ! "X-Generator: " . $_PSL['phpself']); ! } ! $ans = null; ! break; ! case 'delayed': ! case 'queue': ! case 'push': ! // don't do anything yet. ! break; } return $ans; |
From: Joe S. <joe...@us...> - 2004-03-04 21:58:53
|
Update of /cvsroot/phpslash/phpslash-dev In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23223/phpslash-dev Modified Files: CHANGES Log Message: debug output can now be delayed to only display once or send one email. Index: CHANGES =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/CHANGES,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -d -r1.64 -r1.65 *** CHANGES 1 Dec 2003 19:23:57 -0000 1.64 --- CHANGES 4 Mar 2004 21:45:16 -0000 1.65 *************** *** 13,16 **** --- 13,20 ---- 9 - Removal of something (kill -9 :) + 2004-March 4 3:30PM CST Joe Stewart <joe...@us...> + [F] - functions.inc, config-dist.ini.php - debug output can now be delayed + to only display once or send one email. + 2003-December 1 1:00PM CST Joe Stewart <joe...@us...> [B] - poll/admin.php - added missing Comment.class for poll deletion. |
From: Luis M <le...@us...> - 2004-01-05 18:01:17
|
Update of /cvsroot/phpslash/phpslash-dev/doc/html In directory sc8-pr-cvs1:/tmp/cvs-serv4004 Modified Files: psldeveloper.sgml Log Message: added how to translate documents Index: psldeveloper.sgml =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/doc/html/psldeveloper.sgml,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** psldeveloper.sgml 12 Mar 2003 16:12:49 -0000 1.1.1.1 --- psldeveloper.sgml 5 Jan 2004 18:01:14 -0000 1.2 *************** *** 555,559 **** <p>To generate new documentation, type "make" while in the doc/html directory. The Makefile generates all versions of the documentation from the sgml source files. <sect1> Translation files ! <p>Files located in the class/locale directory are called by the function pslgetText to translate strings contained in the code to the chosen language. <sect1> censor.php --- 555,564 ---- <p>To generate new documentation, type "make" while in the doc/html directory. The Makefile generates all versions of the documentation from the sgml source files. <sect1> Translation files ! <p>Files located in the include/locale directory are called by the function pslgetText to translate strings contained in the code to the chosen language. ! <p> Procedure for translating to new languages: ! <itemize> ! <item>In the "locale" directory, copy the file en.php to LANG.php, where LANG is the desired language. ! <item>Change the values of the array to the new translated language. i.e. A key value like, "This is English" => "This is English", will be changed to: "This is English" => "This is LANG". ! </itemize> <sect1> censor.php |
From: Luis M <le...@us...> - 2003-12-11 06:22:08
|
Update of /cvsroot/phpslash/phpslash-dev/include/locale In directory sc8-pr-cvs1:/tmp/cvs-serv26326 Modified Files: fr.php Log Message: missing string Index: fr.php =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/locale/fr.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** fr.php 12 Mar 2003 16:12:52 -0000 1.1.1.1 --- fr.php 11 Dec 2003 06:22:05 -0000 1.2 *************** *** 984,989 **** "Topic Administration" => ! "Administration des Catégories" ); ! ?> \ No newline at end of file --- 984,991 ---- "Topic Administration" => ! "Administration des Catégories", + "Topic Administration" => + "Administration des Groupes" ); ! ?> |
From: Luis M <le...@us...> - 2003-12-02 19:11:57
|
Update of /cvsroot/phpslash/phpslash-dev/include/locale In directory sc8-pr-cvs1:/tmp/cvs-serv19569 Modified Files: es.php Log Message: included missing string 'group administration' Index: es.php =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/locale/es.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** es.php 28 May 2003 02:07:51 -0000 1.3 --- es.php 2 Dec 2003 19:11:54 -0000 1.4 *************** *** 1002,1006 **** "Topic Administration" => ! "Administración de Temas" ); ?> --- 1002,1009 ---- "Topic Administration" => ! "Administración de Temas", ! ! "Group Administration" => ! "Administración de grupos" ); ?> |
From: Joe S. <joe...@us...> - 2003-12-01 19:24:00
|
Update of /cvsroot/phpslash/phpslash-dev In directory sc8-pr-cvs1:/tmp/cvs-serv4538/phpslash-dev Modified Files: CHANGES Log Message: poll/admin.php - added missing Comment.class for poll deletion. Index: CHANGES =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/CHANGES,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** CHANGES 1 Dec 2003 19:07:05 -0000 1.63 --- CHANGES 1 Dec 2003 19:23:57 -0000 1.64 *************** *** 14,17 **** --- 14,20 ---- 2003-December 1 1:00PM CST Joe Stewart <joe...@us...> + [B] - poll/admin.php - added missing Comment.class for poll deletion. + + 2003-December 1 1:00PM CST Joe Stewart <joe...@us...> [B] - slashTemplate.class - get the correct template when current language is not the default language. |
From: Joe S. <joe...@us...> - 2003-12-01 19:23:18
|
Update of /cvsroot/phpslash/phpslash-dev/include/modules/poll In directory sc8-pr-cvs1:/tmp/cvs-serv4452/phpslash-dev/include/modules/poll Modified Files: admin.php Log Message: poll/admin.php - added missing Comment.class for poll deletion. Index: admin.php =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/modules/poll/admin.php,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** admin.php 6 Jun 2003 17:00:08 -0000 1.3 --- admin.php 1 Dec 2003 19:23:15 -0000 1.4 *************** *** 6,9 **** --- 6,10 ---- AddClassRequirement("poll",$_PSL['moduledir'] . "/poll/Poll.class"); + AddClassRequirement("poll",$_PSL['moduledir'] . "/comment/Comment.class"); $pagetitle = pslgetText("Poll Administration"); // The name to be displayed in the header |
From: Joe S. <joe...@us...> - 2003-12-01 19:07:09
|
Update of /cvsroot/phpslash/phpslash-dev/include/class In directory sc8-pr-cvs1:/tmp/cvs-serv1534/phpslash-dev/include/class Modified Files: slashTemplate.class Log Message: slashTemplate.class - get the correct template when current language is not the default language. Index: slashTemplate.class =================================================================== RCS file: /cvsroot/phpslash/phpslash-dev/include/class/slashTemplate.class,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** slashTemplate.class 24 Jun 2003 19:32:34 -0000 1.5 --- slashTemplate.class 1 Dec 2003 19:07:06 -0000 1.6 *************** *** 91,103 **** $skin_cfg = ''; $skin_cfg = parse_ini_file($templatedir ."/skin.ini"); ! if(!empty($skin_cfg['skin.parent.language'])) { $language = $skin_cfg['skin.parent.language']; } if($this->set_file($varname, $filename, $skin_cfg['skin.parent'], $language)) { // template in current language / parent skin ! $status = true; } elseif($this->set_file($varname, $filename, $skin_cfg['skin.parent'], $this->psl['language.default'])) { // template in default language / parent skin ! $status = true; } // $status = false; --- 91,103 ---- $skin_cfg = ''; $skin_cfg = parse_ini_file($templatedir ."/skin.ini"); ! if(!empty($skin_cfg['skin.parent.language'])) { $language = $skin_cfg['skin.parent.language']; } if($this->set_file($varname, $filename, $skin_cfg['skin.parent'], $language)) { // template in current language / parent skin ! $status = true; } elseif($this->set_file($varname, $filename, $skin_cfg['skin.parent'], $this->psl['language.default'])) { // template in default language / parent skin ! $status = true; } // $status = false; *************** *** 107,113 **** // no parent skin ! // try to find template in module/template, skin/module, or in ! // defaultskin directory. ! if(file_exists($this->psl['moduledir'] ."/". $this->psl['module'][$this->psl['module']['module.current']] ."/templates/" . basename($filename))) { // module templates in module subdirectory $filepath = $this->psl['moduledir'] ."/". $this->psl['module'][$this->psl['module']['module.current']] ."/templates/" . basename($filename); --- 107,113 ---- // no parent skin ! // try to find template in module/template, skin/module, or in ! // defaultskin directory. ! if(file_exists($this->psl['moduledir'] ."/". $this->psl['module'][$this->psl['module']['module.current']] ."/templates/" . basename($filename))) { // module templates in module subdirectory $filepath = $this->psl['moduledir'] ."/". $this->psl['module'][$this->psl['module']['module.current']] ."/templates/" . basename($filename); *************** *** 117,121 **** $filepath = $templatedir ."/". $this->psl['module'][$this->psl['module']['module.current']] ."/". basename($filename); $status = Template::set_file($varname, $filepath); ! } elseif(!$this->set_file($varname, $filename, $this->psl['defaultskin'], $this->psl['language.default'])) { // template isn't in the defaults either - bail out $this->message = "set_file: set_file: For varname $varname filename $filepath is invalid."; --- 117,124 ---- $filepath = $templatedir ."/". $this->psl['module'][$this->psl['module']['module.current']] ."/". basename($filename); $status = Template::set_file($varname, $filepath); ! } elseif($this->set_file($varname, $filename, $this->psl['defaultskin'], $this->psl['language.default'])) { ! // template in default language / default skin ! $status = true; ! } else { // template isn't in the defaults either - bail out $this->message = "set_file: set_file: For varname $varname filename $filepath is invalid."; *************** *** 123,131 **** $status = false; } ! // $status = true; ! } ! ! // return $status; ! } else { reset($varname); --- 126,131 ---- $status = false; } ! } ! } else { reset($varname); |