Block random problem after upgrade from 1.3.3 to 1.4

flasher

Joined: 2002-11-13
Posts: 33
Posted: Sat, 2003-09-20 22:13
Warning: main(errors/configure_instructions.php) [function.main]: failed to create stream: None file or directory of this type in /home/www/html/modules/gallery/errors/reconfigure.php on line 13

Fatal error: main() [function.main]: Failed opening required 'errors/configure_instructions.php' (include_path='.:/usr/local/lib/php') in /home/www/html/modules/gallery/errors/reconfigure.php on line 13

Here is the message I got after upgrading, everything was working properly before, who experienced such problems and solved it ???

 
flasher

Joined: 2002-11-13
Posts: 33
Posted: Mon, 2003-09-22 07:04

What changed between the 2 versions why this error appears ???

Here bellow my code :

<?
/*
 * Gallery - a web based photo album viewer and editor
 * Copyright (C) 2000-2001 Bharat Mediratta
 * 
 * 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.
 */

/*
 * This block selects a random photo for display. It will only display photos
 * from albums that are visible to the public. It will not display hidden
 * photos. 
 *
 * Once a day (or whatever you set CACHE_EXPIRED to) we scan all albums and
 * create a cache file listing each public album and the number of photos it
 * contains. For all subsequent attempts we use that cache file. This means
 * that if you change your albums around it may take a day before this block
 * starts (or stops) displaying them.
 */

// Hack prevention.
if (!empty($HTTP_GET_VARS["GALLERY_BASEDIR"]) ||
        !empty($HTTP_POST_VARS["GALLERY_BASEDIR"]) ||
        !empty($HTTP_COOKIE_VARS["GALLERY_BASEDIR"])) {
    print "Security violation\n";
    exit;
}

$GALLERY_BASEDIR = "d:/program files/easyphp/www/html/modules/gallerie_photos/";
require($GALLERY_BASEDIR . "init.php");

if ($profile) {
    $timer = time();
}

/* Initializing the seed */
srand ((double) microtime() * 1000000);

define(CACHE_FILE, $gallery->app->albumDir . "/block-random.cache");
define(CACHE_EXPIRED, 86400);

// Check the cache file to see if it's up to date
$rebuild = 1;
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);
}

if (isset($index)) {
    $id = $album->getPhotoId($index);
    $url = "http://www.inflightpictures.com/";
    $url .= "modules.php?set_albumName=".$album->fields["name"];
    $url .= "&id=" .$id;
    $url .= "&op=modload&name=gallerie_photos&file=index&include=view_photo.php";

    echo "<center>"
    ."<a href=\"$url\">"
    //."<a href=" .makeAlbumUrl($album->fields["name"], $id) .">"
    .$album->getThumbnailTag($index)
    ."</a></center>";

    $caption = $album->getCaption($index);
    if ($caption) {
        echo "<center>$caption</center>";
        }

    $albumURL = "http://www.inflightpictures.com/";
    $albumURL .= "modules.php?set_albumName=".$album->fields["name"];
    $albumURL .= "&op=modload&name=gallerie_photos&file=index&include=view_album.php";
    echo "<br><center>Album: "
    //."<a href=" .makeAlbumUrl(currentAlbum) .">"
    ."<a href=\"$albumURL\">"
    .$album->fields["title"]
    ."</a></center>";
} else {
    print "No photo chosen.";
}

if ($profile) {
    $elapsed = time() - $timer;
    print "
Elapsed: $elapsed secs";
}

/*
 * --------------------------------------------------
 * 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 {
        $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;
        }
    }
    }
}