Billeder fra den gamle WEB

Sidst skrev jeg lidt om hvordan jeg har gjort vore gamle WEB-sider tilgængelig for registrede brugere på min BLOG, men billed håndteringen var ikke helt på plads.

Før Facebook bruge vi jo vores WEB til at dele vores billeder, jeg havde efterhånden fået strikket et php-script sammen til at håndtere det, og hver gang jeg pillede i det blev det endnu mere kompliceret tilsidst var det opp paa 1134 linier kode, og tæt på lige så mange bugs. Så jeg turde ikke røre ved det.

Nu er jeg så startet forfra, og har implementeret de mest brugte hjørner af scriptet. Det gamle script havde mange (all for mange) muligheder, men de tre vigtigste var:

http://storepeter.dk/pics?Peter – Viste et galleri af billederne under Peter

http://storepeter.dk/thumb?Peter/020129-213456.jpg – Viste en thumbnail

http://storepeter.dk/pics?Peter/020129-213456.jpg – Viste selve billedet

Jeg har genskabt denne funktionalitet ved at udvide det script jeg præsenterede for et par dag siden – kun 70 linier er der kommet til siden sidst, og jeg er godt tilfreds med resultatet – farvel til det gamle pics-script paa 1134 liner.
Og takket være lightbox ser det meget bedre ud end før. Nedenfor er er hvad der skal tilføjes til http://storepeter.dk/web/access-til-sider-uden-for-wordpress posten fra forleden:


/*
* required addition to .htaccess
* RewriteRule ^[A-Z] if_logged_in.php [L]
* RewriteRule ^pics if_logged_in.php [L]
* RewriteRule ^thumb if_logged_in.php [L]
*/

require_once('wp-load.php');
$oldweb = ABSPATH.'oldweb/';
is_user_logged_in() || auth_redirect();

function not_found($what)
{
status_header(404);
die('404 http://'.$_SERVER['HTTP_HOST']." $what not found");
}
function setup_file($pattern,$subdir)
{
global $url;
global $oldweb;
global $file;
if (!preg_match($pattern,$url['path']))
return false;
if (!isset($url['query']))
return false;
$opath = $url['query'];
$dir = dirname($opath);
$file = basename($opath);
$file = $oldweb.$dir.$subdir.$file;
return true;
}
function gallery($galid)
{
global $oldweb;
$files = array_diff(scandir($oldweb.$galid.'/00_THUMB'), array('..', '.'));
if (!count($files))
not_found("empty");
header('Content-Type: text/html; charset=utf-8');
echo "\n\n\n";
echo " Gallery $galid\n";
echo "\n";
echo "\n";
echo "\n";
echo "\n\n";
foreach ($files as $file) {
if (is_file($oldweb.$galid.'/00_CAPTION/'.$file.'.cmt')) {
$caption = file_get_contents($oldweb.$galid.'/00_CAPTION/'.$file.'.cmt')." ".$file;
} else {
$caption = $file;
}
echo "";
echo "
";
}
die();
}

# MAIN
$url = parse_url($_SERVER['REQUEST_URI']);
if (setup_file('/^\/pics/','/00_BIG/')) {
if (is_dir($oldweb.$url['query'].'/00_THUMB'))
gallery($url['query']);
} elseif (setup_file('/^\/thumb/','/00_THUMB/')) {
} else {
$file = $oldweb.$url['path'];
if (is_dir($file)) { // redirect dir to dir/
if (preg_match('/\/$/', $file)) {
$file = $file.'index.html';
} else {
header("Location: http://".$_SERVER['HTTP_HOST'].$url['path'].'/');
die();
}
}
}

/*
* end of changes by peter@lorenzen.us
* The rest was taken from https://gist.github.com/hakre/1552239
*/

Print Friendly, PDF & Email
This entry was posted in Web, Wordpress. Bookmark the permalink.