plugins/Gallery.php
author Dan
Thu, 15 May 2008 21:11:27 -0400
changeset 28 36ea553da7ba
parent 26 023a21c8f47c
child 29 205d0534a0f2
permissions -rw-r--r--
Oops - maybe it should also detect the file extension properly
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
     1
<?php
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
     2
/*
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
     3
Plugin Name: Snapr
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
     4
Plugin URI: http://enanocms.org/Enano.Img_Gallery
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
     5
Description: Provides an intuitive image gallery system with a browser, viewer for individual images, upload interface, and comment system integration.
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
     6
Author: Dan Fuhry
26
023a21c8f47c Added support for embedding Snapr images as wikitext code into regular pages
Dan
parents: 18
diff changeset
     7
Version: 0.1 beta 2
0
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
     8
Author URI: http://enanocms.org/
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
     9
*/
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    10
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    11
global $db, $session, $paths, $template, $plugins; // Common objects
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    12
18
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    13
define('GALLERY_VERSION', '0.1b2');
0
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    14
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    15
$magick_path = getConfig('imagemagick_path');
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    16
if ( !file_exists($magick_path) || !is_executable($magick_path) )
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    17
{
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    18
  $fn = basename(__FILE__);
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    19
  setConfig("plugin_$fn", '0');
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    20
  die('Snapr: You must have ImageMagick installed and working to use this plugin. The plugin has been disabled, please setup ImageMagick and then re-enable it.');
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    21
}
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    22
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    23
if ( !getConfig('gallery_version') )
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    24
{
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    25
  $q = $db->sql_query('CREATE TABLE '.table_prefix.'gallery(
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    26
                        img_id int(12) NOT NULL auto_increment,
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    27
                        is_folder tinyint(1) NOT NULL DEFAULT 0,
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    28
                        folder_parent int(12) DEFAULT NULL,
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    29
                        img_title varchar(255) NOT NULL DEFAULT \'\',
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    30
                        img_desc longtext NOT NULL DEFAULT \'\',
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    31
                        print_sizes longtext NOT NULL DEFAULT \'\',
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    32
                        img_filename varchar(255) NOT NULL,
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    33
                        img_time_upload int(12) NOT NULL DEFAULT 0,
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    34
                        img_time_mod int(12) NOT NULL DEFAULT 0,
18
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    35
                        img_tags longtext DEFAULT NULL,
0
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    36
                        PRIMARY KEY ( img_id )
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    37
                      );');
2
88c954d2846c Added search functionality (WiP); removed stray .marks file
Dan
parents: 0
diff changeset
    38
  
0
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    39
  if ( !$q )
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    40
    $db->_die();
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    41
  
2
88c954d2846c Added search functionality (WiP); removed stray .marks file
Dan
parents: 0
diff changeset
    42
  $q = $db->sql_query('CREATE FULLTEXT INDEX '.table_prefix.'gal_idx ON '.table_prefix.'gallery(img_title, img_desc);');
88c954d2846c Added search functionality (WiP); removed stray .marks file
Dan
parents: 0
diff changeset
    43
  
8
8490ce0cdd8c Added sample image (Snapr logo) to the gallery on a clean installation
Dan
parents: 5
diff changeset
    44
  if ( !$q )
8490ce0cdd8c Added sample image (Snapr logo) to the gallery on a clean installation
Dan
parents: 5
diff changeset
    45
    $db->_die();
8490ce0cdd8c Added sample image (Snapr logo) to the gallery on a clean installation
Dan
parents: 5
diff changeset
    46
  
8490ce0cdd8c Added sample image (Snapr logo) to the gallery on a clean installation
Dan
parents: 5
diff changeset
    47
  $q = $db->sql_query('INSERT INTO '.table_prefix.'gallery(img_title,img_desc,img_filename,img_time_upload,img_time_mod) VALUES(\'Welcome to Snapr!\', \'You\'\'re past the hard part - Snapr is set up and working on your server. What you\'\'re looking at now is what most users will see when they look at an image in your gallery. The next step is to [[Special:GalleryUpload|upload some images]]. After that, make your gallery publicly accessible by adding a link to the [[Special:Gallery|browser]], if you haven\'\'t already done so. See the README file included with Snapr for more information.\', \'snapr-logo.png\', UNIX_TIMESTAMP(), UNIX_TIMESTAMP());');
8490ce0cdd8c Added sample image (Snapr logo) to the gallery on a clean installation
Dan
parents: 5
diff changeset
    48
  
8490ce0cdd8c Added sample image (Snapr logo) to the gallery on a clean installation
Dan
parents: 5
diff changeset
    49
  if ( !$q )
8490ce0cdd8c Added sample image (Snapr logo) to the gallery on a clean installation
Dan
parents: 5
diff changeset
    50
    $db->_die();
8490ce0cdd8c Added sample image (Snapr logo) to the gallery on a clean installation
Dan
parents: 5
diff changeset
    51
  
0
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    52
  setConfig('gallery_version', GALLERY_VERSION);
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    53
}
18
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    54
if ( getConfig('gallery_version') == '0.1b1' )
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    55
{
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    56
  $q = $db->sql_query('ALTER TABLE ' . table_prefix . 'gallery ADD COLUMN img_tags longtext DEFAULT NULL');
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    57
  if ( !$q )
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    58
    $db->_die();
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    59
  setConfig('gallery_version', '0.1b2');
c1c398349651 Added initial support for notes (aka tags) on images, done completely (including initial load of metadata) with AJAX. They're not fixed at 100x100 like on Facebook either.
Dan
parents: 9
diff changeset
    60
}
0
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    61
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    62
require( ENANO_ROOT . '/plugins/gallery/functions.php' );
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    63
require( ENANO_ROOT . '/plugins/gallery/nssetup.php' );
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    64
require( ENANO_ROOT . '/plugins/gallery/viewimage.php' );
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    65
require( ENANO_ROOT . '/plugins/gallery/browser.php' );
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    66
require( ENANO_ROOT . '/plugins/gallery/upload.php' );
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    67
require( ENANO_ROOT . '/plugins/gallery/fetcher.php' );
2
88c954d2846c Added search functionality (WiP); removed stray .marks file
Dan
parents: 0
diff changeset
    68
require( ENANO_ROOT . '/plugins/gallery/search.php' );
5
c0c324f0eeb5 Added the Random Image sidebar block
Dan
parents: 2
diff changeset
    69
require( ENANO_ROOT . '/plugins/gallery/sidebar.php' );
26
023a21c8f47c Added support for embedding Snapr images as wikitext code into regular pages
Dan
parents: 18
diff changeset
    70
require( ENANO_ROOT . '/plugins/gallery/imagetag.php' );
0
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    71
7caf561c50ee Initial population; browser, viewer, uploader, and security are working
Dan
parents:
diff changeset
    72
?>