| Author | Message |
| Post Title: Fatal error: Call to undefined function: floatval() | |
hue
Joined: Oct 04, 2003 Posts: 3
|
Posted: Wed Dec 03, 2003 12:49 pm
<your message here>Hello, I have nuke 6.8
Gallery 1.4-pl1 Readhat server The gallery works great only when i try and add the random block i get this error Fatal error: Call to undefined function: floatval() in /home/httpd/vhosts/1stmarinedivision.com/httpdocs/modules/gallery/random_support.php on line 199 The image will show up until you refresh your page , then its gone! Also, the link dont work once you click on the photo, just page can not be displayed! Any help would be greatly apprciated ---- Give us your Gallery/webserver information to get a faster answer. Get this information from the PHP diagnostic (in the configuration wizard). Gallery URL (optional but very useful): Gallery version: Apache version: PHP version (don't just say PHP 4, please): Graphics Toolkit: Operating system: Web browser/version (if applicable): The CONFIG lines from the top of your block file(s):[/code] |
| Author | Message |
| Post Title: Re: Fatal error: Call to undefined function: floatval() | |
hue
Joined: Oct 04, 2003 Posts: 3
|
Posted: Wed Dec 03, 2003 1:11 pm
Isnt This function is only in CVS. ?
|
| Author | Message |
| Post Title: | |
slackbladder
Joined: Mar 29, 2003 Posts: 1038 Location: Cambs,UK
|
Posted: Wed Dec 03, 2003 1:52 pm
Plz post your random_support.php here and the CONFIG lines from the top of your block-NG-random.php
|
| Author | Message |
| Post Title: | |
dari
Joined: Mar 03, 2003 Posts: 6287 Location: Washington Township, NJ, USA
|
Posted: Wed Dec 03, 2003 1:54 pm
floatval is a standard PHP function:
http://www.php.net/floatval what version of PHP are you running? if it's older than 4.2.0, that's why you're getting this error. |
| Author | Message |
| Post Title: Re: Fatal error: Call to undefined function: floatval() | |
hue
Joined: Oct 04, 2003 Posts: 3
|
Posted: Wed Dec 03, 2003 3:47 pm
My php version is 4.1.2 as for the random_support.php
Code: › <?php
/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * Original random block code from gallery.menalto.com * This updated version (c) 2003 Dariush Molavi * dari.molavi@nukedgallery.net * Version 1.0 * 8 August 2003 */ global $gallery, $GALLERY_BASEDIR; $GALLERY_BASEDIR = "/home/httpd/vhosts/1stmarinedivision.com/httpdocs/modules/gallery/"; require_once($GALLERY_BASEDIR . "init.php"); define(ALBUM_BASEADDR, "http://1stmarinedivision.com/albums/"); define(CACHE_FILE, $gallery->app->albumDir . "/block-random.cache"); define(SERVER_ADDR, "1stmarinedivision.com/"); define(CACHE_EXPIRED, 86400); function daily_photo(){ global $gallery; if((fs_file_exists($gallery->app->albumDir."/daily.jpg"))){ $stat=stat($gallery->app->albumDir."/daily.jpg"); $modtime = $stat['mtime']; if(date("d", $modtime) != date("d", time())) { list($album,$index) = get_random_photo_id(); list($url, $albumURL) = random_photo($album,$index,24); $content = "<center><a href=\"".$url."\"><img src=\"".ALBUM_BASEADDR."daily.jpg\" border=\"0\"></a></center>"; $content .= "<br><center>From: <a href=\"".$albumURL."\">".$album->fields["title"]."</a></center>"; } else{ $fp = fs_fopen($gallery->app->albumDir."/daily.txt", "r"); $line = explode(" ",fgets($fp, 4096)); fclose($fp); $content = "<center><a href=\"".$line[0]."\"><img src=\"".ALBUM_BASEADDR."daily.jpg\" border=\"0\"></a></center>"; $content .= "<br><center>From: <a href=\"".$line[1]."\">".$line[2]."</a></center>"; } } else { list($album,$index) = get_random_photo_id(); list ($url, $albumURL) = random_photo($album,$index,24); $content = "<center><a href=\"".$url."\"><img src=\"".ALBUM_BASEADDR."daily.jpg\" border=\"0\"></a></center>"; $content .= "<br><center>From: <a href=\"".$albumURL."\">".$album->fields["title"]."</a></center>"; } return $content; } function hourly_photo(){ global $gallery; if((fs_file_exists($gallery->app->albumDir."/hourly.jpg"))){ $stat=stat($gallery->app->albumDir."/hourly.jpg"); $modtime = $stat['mtime']; if(date("G", $modtime) != date("G", time())) { list($album,$index) = get_random_photo_id(); list($url, $albumURL) = random_photo($album,$index,1); $content = "<center><a href=\"".$url."\"><img src=\"".ALBUM_BASEADDR."hourly.jpg\" border=\"0\"></a></center>"; $content .= "<br><center>From: <a href=\"".$albumURL."\">".$album->fields["title"]."</a></center>"; } else{ $fp = fs_fopen($gallery->app->albumDir."/hourly.txt", "r"); $line = explode(" ",fgets($fp, 4096)); fclose($fp); $content = "<center><a href=\"".$line[0]."\"><img src=\"".ALBUM_BASEADDR."hourly.jpg\" border=\"0\"></a></center>"; $content .= "<br><center>From: <a href=\"".$line[1]."\">".$line[2]."</a></center>"; } } else { list($album,$index) = get_random_photo_id(); list ($url, $albumURL) = random_photo($album,$index,1); $content = "<center><a href=\"".$url."\"><img src=\"".ALBUM_BASEADDR."hourly.jpg\" border=\"0\"></a></center>"; $content .= "<br><center>From: <a href=\"".$albumURL."\">".$album->fields["title"]."</a></center>"; } return $content; } function random_photo($album, $index,$filetype){ global $gallery; if (isset($index)) { $id = $album->getPhotoId($index); $url = SERVER_ADDR; $url .= "modules.php?set_albumName=".$album->fields["name"]; $url .= "&id=" .$id; $url .= "&op=modload&name=gallery&file=index&include=view_photo.php"; $albumURL = SERVER_ADDR; $albumURL .= "modules.php?set_albumName=".$album->fields["name"]; $albumURL .= "&op=modload&name=gallery&file=index&include=view_album.php"; $content = "<center><a href=\"$url\">".$album->getThumbnailTag($index)."</a></center>"; $caption = $album->getCaption($index); if ($caption) { $content.="<br><center>".$caption."</center>"; } $content .= "<br><center>From: <a href=\"".$albumURL."\">".$album->fields["title"]."</a></center>"; } else { $content = "No photo chosen."; } if($filetype == 24) { fs_copy($gallery->app->albumDir."/".$album->fields["name"]."/".$id.".thumb.jpg",$gallery->app->albumDir."/daily.jpg"); $fp = fs_fopen($gallery->app->albumDir."/daily.txt","w"); fwrite($fp,$url." ".$albumURL." ".$album->fields["title"]); fclose($fp); return array($url, $albumURL); } else if($filetype == 1) { fs_copy($gallery->app->albumDir."/".$album->fields["name"]."/".$id.".thumb.jpg",$gallery->app->albumDir."/hourly.jpg"); $fp = fs_fopen($gallery->app->albumDir."/hourly.txt","w"); fwrite($fp,$url." ".$albumURL." ".$album->fields["title"]); fclose($fp); return array($url, $albumURL); } return $content; } function get_random_photo_id(){ /* Initializing the seed */ srand ((double) microtime() * 1000000); // Check the cache file to see if it's up to date $rebuild = 0; if (fs_file_exists(CACHE_FILE)) { $stat = fs_stat(CACHE_FILE); $mtime = $stat[9]; if (time() - $mtime < CACHE_EXPIRED) { $rebuild = 1; } } if (!$rebuild) { scanalbums(); savecache(); } else { readcache(); } $album = choosealbum(); if ($album) { $index = choosephoto($album); } return array($album,$index); } /* * -------------------------------------------------- * Support functions * -------------------------------------------------- */ function savecache() { global $cache; if ($fd = fs_fopen(CACHE_FILE, "w")) { foreach ($cache as $key => $val) { fwrite($fd, "$key/$val\n"); } fclose($fd); } } function readcache() { global $cache; if ($fd = fs_fopen(CACHE_FILE, "r")) { while ($line = fgets($fd, 4096)) { list($key, $val) = explode("/", $line); $cache[$key] = $val; } fclose($fd); } } function choosephoto($album) { global $cache; $count = $cache[$album->fields["name"]]; if ($count == 0) { // Shouldn't happen return null; } else if ($count == 1) { $choose = 1; } else { $count = (float)$foo;($count); $choose = rand(1, $count); $wrap = 0; if ($album->isHidden($choose)) { $choose++; if ($choose > $album->numPhotos(1)) { $choose = 1; $wrap++; if ($wrap = 2) { return null; } } } } return $choose; } function choosealbum() { global $cache; /* * The odds that an album will be selected is proportional * to the number of (visible) items in the album. */ $total = 0; foreach ($cache as $name => $count) { if (!$choose) { $choose = $name; } $total += $count; if ($total != 0 && ($total == 1 || rand(1, $total) <= $count)) { $choose = $name; } } if ($choose) { $album = new Album(); $album->load($choose); return $album; } else { return null; } } function scanalbums() { global $cache; global $gallery; $cache = array(); $everybody = $gallery->userDB->getEverybody(); $albumDB = new AlbumDB(); foreach ($albumDB->albumList as $tmpAlbum) { if ($everybody->canReadAlbum($tmpAlbum)) { $seeHidden = $everybody->canWriteToAlbum($tmpAlbum); $numPhotos = $tmpAlbum->numPhotos($seeHidden); $name = $tmpAlbum->fields["name"]; if ($numPhotos > 0) { $cache[$name] = $numPhotos; } } } } ?> and for the config lines (which mine is called block-RandomPhoto.php ) Code: › $GALLERY_BASEDIR = "/home/httpd/vhosts/1stmarinedivision.com/httpdocs/modules/gallery/";
require_once($GALLERY_BASEDIR . "random_support.php"); define(CACHE_FILE, $gallery->app->albumDir."/block-random.cache"); define(ALBUM_BASEADDR, "http://1stmarinedivision.com/albums/"); define(SERVER_ADDR, "1stmarinedivision.com/"); require_once($GALLERY_BASEDIR . "init.php"); |
| Author | Message |
| Post Title: | |
dari
Joined: Mar 03, 2003 Posts: 6287 Location: Washington Township, NJ, USA
|
Posted: Wed Dec 03, 2003 3:49 pm
your version of PHP does not support the floatval command.
either upgrade (good idea, since it's also very buggy), or use: (float)<var> instead of floatval(<var>) |
| Author | Message |
| Post Title: Re: Fatal error: Call to undefined function: floatval() | |
gijza
Joined: Apr 14, 2003 Posts: 7
|
Posted: Thu Apr 29, 2004 5:11 am
i had the same problem (php 4.1.2) , but the function float doesn't work, so i copied this function from www.php.net/floatval
Code: › function floatval($strValue) {
$floatValue = ereg_replace("(^[0-9]*)(\\.|,)([0-9]*)(.*)", "\\1.\\3", $strValue); if (!is_numeric($floatValue)) $floatValue = ereg_replace("(^[0-9]*)(.*)", "\\1", $strValue); if (!is_numeric($floatValue)) $floatValue = 0; return $floatValue; } put it above the other function and everything works perfect! |
| Author | Message |
| Post Title: Re: Fatal error: Call to undefined function: floatval() | |
gijza
Joined: Apr 14, 2003 Posts: 7
|
Posted: Thu Apr 29, 2004 5:13 am
btw: both seems to work!
i misread dari's post |