outanekka.KIESS.ONL, your online image gallery!
theme » relaxed · tek · unique ·
user:   password:

About outanekka

Outanekka modules

The outanekka base arrived at version 0.9.0.11.

It is the so called summary of all those below listed modules and additional files.

  1. basic is v0.9.1.1, last edit: 18.02.09.

    ;
    our $LASTEDIT = '1

  2. config is v0.2.0.1, last edit: 18.02.09.

    ###############################################################################
    # Author: Adrian Immanuel Kiess < adrian at kiess.onl >
    # License: Gnu Public License
    # What: Module for outanekka.org
    ###############################################################################
    
    package config;
    
    use strict;
    use warnings;
    
    =head1

  3. home is v0.1.1.3, last edit: 18.02.09.

     AUTHOR
    
    Adrian Immanuel Kiess - < http://www.kiess.onl >
    
    =cut
    
    1

  4. chatbox is v0.9.9.8, last edit: 18.02.12.

     SEE ALSO
    
    L<perlpod>, L<perlpodspec>
    
    =cut
    
    1

  5. about is v1.0.2.1, last edit: 18.02.12.

    ;
    
    our $q = new CGI; 
    our $VERSION = 1

  6. html is v0.0.1.3, last edit: 16.06.27.

    ';
    our $PAGE_REFRESH = 60; # READY MOVE TO CHATBOX.PM
    
    our $benchmarkA = \$main::benchmarkA;
    #our $dbh;
    our $cookie = \$main::cookie; # READY MOVE TO USER.PM
    
    our $BASE = 'index.pl';
    our $COPYRIGHT_URL = $conf::copyrightUrl;
    our $REF = $conf::sitePath;
    our $NAME = $conf::siteName;
    our $STATS_URL = $conf::siteStats;
    our $TITLE = $conf::siteTitle;
    our $WEBMASTER = $conf::siteWebmaster;
    
    our $Q_MODULE = $q->param('module');
    our $Q_ACTION = $q->param('action');
    our $Q_ID = $q->param('id');
    our $Q_PATH = $q->param('path');
    
    our $PATHLENGTH  = 255;
    
    
    =item run()
    
    run() is called from index.pl while building the main content of the 
    current page. The following logic will decide what to execute 
    inside here.
    
    =cut
    
    sub run {
      my $header = &header();
      my $topbar = &topbar();
      my $navmenu = &navmenu();
      my $navmenuUser = &user::page::navmenu();
      my $middleBegin = &middleBegin();
      my $middle = &middle();
      my $right = &right();
      my $bottombar = &bottombar();
     
      #### standard reporting functionality
      #msg(    &basic::getFailureMessage( "Database","Connecting to database"));
      #error(  "Database connection failed! ");
      #debug(  "Connection arguments were! ");
    
      return $header .
        $topbar . 
        $q->div({-class=>'topbar-nav'},
          $q->div({-style=>'float:right;'},
            $navmenu
          ) .
          $navmenuUser
        ) . 
        $middleBegin . 
        ($main::locallog || ""). 
        Log::Message::Simple->stack_as_string .
        $middle .
        $right .
        $bottombar;
       
    }
    
    
    =item header()
    
    header().
    
    =cut
    
    sub header {
     
      my $stylesheet .= qq|
        }
        img {
     	behavior: url("pngbehavior.htc");
        }\n|;
      my $siteUrl = $conf::siteUrl;
      my $chatboxREF = "/chatbox/";
      
      $chatboxREF =~ s/^\/// if $siteUrl =~ m/\/$/;
     
      return ($$cookie ? 
        $q->header(-type=>'text/html',-cookie=>$$cookie) :
        $q->header(-type=>'text/html')) . 
    	  $q->start_html(
    			 -encoding => "UTF-8",
        	-title=>$NAME . 
        		($Q_MODULE ? ' : '.$Q_MODULE : '').
    	  		($Q_ACTION ? ' : '.$Q_ACTION : '').
    	  		($Q_ID ?     ' : '.$Q_ID     : '').
    	  		($Q_PATH ?   ' : '.$Q_PATH   : ''),
      		#-base=>'true',
      		-meta=>{'copyright'=>  'GPL',
    	  		     'publisher'=> $AUTHOR,
    	  		     'description'=> 'A image display web solution with additional features.',
    	  		     'generator'=> 'outanekka.org ' . $BASE . ' ' . $main::VER},
      		-style=>{-code=> $stylesheet},
      		-head=>[ 
    		    $q->Link({-rel=>'Stylesheet',
                      -href=>&theme::getDefaultCSS(),
                      -type=>'text/css'}),
    			  $q->Link({-rel=>'Stylesheet',
    	          		  -href=>&theme::getThemeCSS(),
                      -type=>'text/css'}),
    	  		$q->Link({-rel=>'shortcut icon',
    	                -href=>$REF.'favicon.ico',
    		              -type=>'image/x-icon'}), 
    		    (($Q_MODULE and ($Q_MODULE eq "chatbox")) ? 
    	        $q->meta({-http_equiv => 'Refresh', 
    			              -content=> "$chatbox::PAGE_REFRESH; URL=$siteUrl$chatboxREF"}) 
    		         : "")
          ],     
        );
    }
    
    
    =item topbar()
    
    topbar().
    
    =cut
    
    sub topbar {
      my $img;
      my $img_src = &theme::getBannerImage();
        
      #if ($ENV{'HTTP_USER_AGENT'} and $ENV{'HTTP_USER_AGENT'} !~ /MSIE/) {
      #} else {
        #$img_style = "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(".
        #"src='".$img_src."";".',sizing='scale');";  
      #}
      
      $img = $q->a({-href=>$REF},
             $q->img({-src=>$img_src,
                      -title=>$TITLE,
    								  -alt=>$TITLE})) . 
             $q->div({-class=>'loading'},''); #'loading the page...');	    
    
      return $q->div({-class=>'topbar',
                      -title=>$NAME},
               $q->div({-class=>'topbar-text'},
                 $img . 
    	           $q->div(
    	             $q->small('theme &raquo; ' . &theme::getThemeLinks()
    		           ) . 
                   &user::page::topbar()
    	           )
    	         )
    	       );
    }
    
    
    =item navmenu()
    
    navmenu().
    
    =cut
    
    sub navmenu {
      return "\n<!-- navmenu() -->\n".
        $q->ul({-id=>'navmenu'},
        
        $q->li({-style=>'margin-right:1

  7. guestbook is v0.9.9.8, last edit: 18.02.09.

    );
          }
          elsif ($action eq "delete") {
            my $remove = &guestbook::page::remove();
            #return $remove;
            #$o .= $remove if $remove and $remove ne 0;
          }
    
        }
    
        return 
          $q->h1

  8. user is v0.2.2.5, last edit: 18.02.15.

    0) default NULL,
    #	email		TINYTEXT,
    #	gender		TINYINT UNSIGNED,
    #	homepage	TINYTEXT,
    #	impressions	INT UNSIGNED,
    #	karma		INT UNSIGNED,
    #	last_seen	VARCHAR(1

  9. imagery is v0.7.1.1, last edit: 16.06.26.

    6.06.26';
    our $VER = sprintf("%vd", $VERSION);
    our $EMPTY_ALBUM = 'emptyAlbum.png';
    our $REF = $conf::sitePath . MODULE . '/';
    our $REF_ALBUM = $REF . 'album/';
    our $REF_IMAGE	= $REF . 'image/';
    our $REF_VIEW = $REF . 'view/';
    our $REF_LOCAL = $conf::sitePath . $conf::rootPath;
    our $PATH = $conf::rootPath;
    our $PATH_ALBUMS = $PATH . $conf::albumsPath;
    our $PATH_CACHES = $PATH . $conf::cachesPath;
    our $CACHE_ALBUMS = $PATH_CACHES . $conf::albumsCachePath;
    our $CACHE_IMAGES = $PATH_CACHES . $conf::imagesCachePath;
    our $CACHE_THUMBS = $PATH_CACHES . $conf::thumbsCachePath;
    our $ALBUM_MD = $conf::albumMaxDimension;
    our $IMAGE_MD = $conf::imageMaxDimension;
    our $THUMB_MD = $conf::thumbMaxDimension;
    our $PAGE_THUMBS = $conf::pageThumbs;
    our $SLIDER_THUMBS = $conf::sliderThumbs;
    our $AIEXT = qr/$conf::allowedImageExtensions/i;
    our $PATH_REGEX	= qr!([\w\.\-\[\]\/]+)!;
    our $IMAGE_REGEX = qr/(([\w\d\s\-+=\[\]\?(){}\.]+)(?:$AIEXT))/;
    our $Q_MODULE = $q->param('module');
    our $Q_ACTION = $q->param('action');
    our $Q_ID = $q->param('id');
    our $Q_PATH	= $q->param('path');
    
    $PATH_ALBUMS =~ m/$PATH_REGEX/;
    $PATH_ALBUMS = $1

  10. theme is v0.2.2.1, last edit: 18.02.09.

    ###############################################################################
    # Author: Adrian Immanuel Kiess < adrian at kiess.onl >
    # License: Gnu Public License
    # What: Module for outanekka.org
    ###############################################################################
    
    package theme;
    
    use strict;
    use warnings;
    use CGI;
    use CGI::Carp 	qw/fatalsToBrowser carpout set_message/;
    use contributed::Util qw/shuffle first/;
    
    =head1

  11. text is v0.2.0.3, last edit: 18.02.09.

     SYNOPSIS
    
    A outanekka module
    
    =head1

  12. 0
  13. about::module is v0.0.1.3, last edit: 18.02.09.

    px; 
    	                       border-left-width: 2px; 
                             border-left-style: solid; 
    			                   padding-left: 3px;'},
    		     $q->escapeHTML($randLine))));  
      } else {
        return 0;
      }
    }
    
    
    =item getModuleVersion()
    
    getModuleVersion() displays the name and version of a perl package.
    
    =cut
    
    sub getModuleVersion {
      my $base = shift;
      my $ver = shift;
      
      if ($base and $ver) {
        return $q->p({-id=>'module-version'},
        $q->a({-href=>"$conf::sitePath"."about#"."$base"},$base),"v".$ver);
      } else {
        return 0;
      }
    }
    
    
    =item getModule()
    
    getModules() returns all perl packages found recursively in a directory.
    
    =cut
    
    sub getModules {
      my $path = shift;
      my @modules;
      
      if ($path and -d $path) {
        sub list_dirs {
            my @dirs = shift;
            my @files;
            find({ wanted => sub { push @files, $_ if !-d} , no_chdir => 1

  14. about::page is v0.0.1.4, last edit: 18.02.11.

     DESCRIPTION
    
    This module will offer bassic informations about this software to the 
    user. Additionally, one can set site specific informations to be 
    presented to the user.
    
    =head2 STATUS
    
    The status is to be considered stable.
    
    =cut
    
    $| = 1

  15. 00
  16. user::profile is v0.0.0.1, last edit: 18.02.14.

    024 * 1

  17. user::account is v0.0.0.1, last edit: 18.02.11.

    ;
    }
    
    =item validatePassword()
    
    validatePassword() validates the password to it's correctness to the system.
    
    =cut
    
    sub validatePassword {
      my $newPassword = shift;
      
      if ($newPassword) {
    	  if ((length($newPassword) > $$PASSWORD_LENGTH_MAX) or 
                (length($newPassword) < $$PASSWORD_LENGTH_MIN)) {
          &basic::failureMessage("Password length failure",
          "Passwords have to be between $$PASSWORD_LENGTH_MIN and 
          $$PASSWORD_LENGTH_MAX characters long. Please try again.");
    	 	  return 0;
    		} else {
    			return 1

  18. user::page is v0.0.0.1, last edit: 18.02.10.

    ;
    

  19. user::session is v0.0.0.2, last edit: 18.02.12.

    8.02.1

  20. guestbook::opinion is v0.0.0.6, last edit: 18.02.11.

    ###############################################################################
    # Author: Adrian Immanuel Kiess < adrian at kiess.onl >
    # License: Gnu Public License
    # What: Module for outanekka.org
    ###############################################################################
    
    package guestbook::opinion;
    
    use strict;
    use warnings;
    use CGI 	qw/:standard escapeHTML/;
    use CGI::Carp 	qw/fatalsToBrowser carpout set_message/;
    use POSIX 	qw/strftime/;
    
    use guestbook;
    
    =head1

  21. guestbook::page is v0.0.0.5, last edit: 18.02.11.

     DESCRIPTION
    
    Handles everything corresponding to page output.
    
    =head2 STATUS
    
    The status is considered unstable.
    
    =cut
    
    #use constant OPINION_MIN => 2;
    #use constant OPINION_MAX => 81

  22. chatbox::message is v0.0.0.10, last edit: 18.02.12.

    ;
      }
      
      return 0;
    }
    
    
    =item delete()
    
    delte() deletes a message from the chatbox.
    
    =cut
    
    sub delete {
      my $id = shift || $$Q_ID;
    
      if (&user::session::getUserLevel() >= 255 and $id and $id !~ /\D/) {
        my $sth = $::dbh->prepare(qq{
           DELETE FROM $$MODULE WHERE id=?
        }) or die $::dbh->errstr;
        $sth->execute($id) or die $::dbh->errstr;
        
        if (!$sth->err()) {
          &basic::successMessage("Message deleted",
            "The message \#$id was successfully deleted.");
        }
        else { 
         &basic::failureMessage("Message not deleted",
           "The message \#$id could " . $q->b("not") . " be deleted.");
        }
      }
    }
     
    
    =item link()
    
    link() formats the message for output to the user.
    
    =cut
    
    sub link {
      my $id = shift;
      my $uid = shift;
      my $msg = shift;
      my $unixtime = shift;
        
      if ($id and $uid and $msg) {
        my $o;  
        
        if ($unixtime) {  
          my $gmtime = strftime "%b %d, %R", gmtime($unixtime);
          
          if (&user::session::getAccountLevel() >= 255) {
            $o .= $q->small("&nbsp;[&nbsp;" .
    				  $q->a({-href=>$$REF."delete/$id"},"delete " . $q->b("&crarr;")) . "&nbsp;] ");
          }
          
          $o .= $q->i($gmtime);
        }
        
        $msg = &text::getFormattedText($msg);
    		$msg = &text::insertSpaces($msg,'1

  23. chatbox::page is v0.0.0.3, last edit: 18.02.12.

    ;
        } else {
          return 0;
        }
        return 0;
      }
      return 0;
    }
    
    
    =item delete()
    
    delete() deletes a message from the chatbox.
    
    =cut
    
    sub delete {
      my $id = shift || $$Q_ID;
      
      if ((&user::account::getAccountLevel >= 255 ) and $id and 
        ($id =~ /\d+/)) {
        
        if (&chatbox::message::delete($id)) {
          return 1

  24. imagery::album is v0.1.0.2, last edit: 16.06.26.

    ###############################################################################
    # Author: Adrian Immanuel Kiess < adrian at kiess.onl >
    # License: Gnu Public License
    # What: Module for outanekka
    ###############################################################################
    
    package imagery::album;
    
    use strict;
    use warnings;
    use CGI; 
    use CGI::Carp 		qw(fatalsToBrowser carpout set_message confess);
    use File::Path;
    
    =head1

  25. imagery::thumb is v0.0.1.1, last edit: 05.03.12.

    ;
    
    our $q 			= new CGI; 
    our $VERSION 		= 0.0.1

  26. imagery::quota is v0.9.1.0, last edit: 16.06.27.

     : return 0; 
    }
    
    =item getAlbumNum()
    
    getAlbumNum().
    
    =cut
    
    sub getAlbumNum {
      my $userId = shift;
      my ($count, $sth);
    
      confess unless $userId;
      
      $sth = $::dbh->prepare(qq{ 
          SELECT count(*) FROM ${\MODULE}_albums WHERE user=?
      });
      $sth->execute($userId);
      $count = $sth->fetchrow;
    
      return $count;
    }
    
    =item getImageNum()
    
    getImageNum().
    
    =cut
    
    sub getImageNum {
      my $userId = shift;
      my ($count, $sth);
    
      confess unless $userId;
      
      $sth = $::dbh->prepare(qq{ 
          SELECT count(*) FROM 
          ${\MODULE} LEFT OUTER JOIN ${\MODULE}_albums ON
          ${\MODULE}.album_id=${\MODULE}_albums.album_id
          WHERE ${\MODULE}_albums.user=?
      });
      $sth->execute($userId);
      $count = $sth->fetchrow;
    
      return $count;
    }
    
    =item getFreeSpace()
    
    getFreeSpace().
    
    =cut
    
    sub getFreeSpace {
      my $userId = shift;
      my ($free, $used, $sth);
    
      confess unless $userId;
      
      $sth = $::dbh->prepare(qq{ 
          SELECT sum(size) FROM 
          ${\MODULE} LEFT OUTER JOIN ${\MODULE}_albums ON
          ${\MODULE}.album_id=${\MODULE}_albums.album_id
          WHERE ${\MODULE}_albums.user=?
      });
      $sth->execute($userId);
      $used = $sth->fetchrow;
    	if (defined $used) {
        $used = int($used / 1

  27. imagery::page is v0.2.1.0, last edit: 16.06.26.

     NAME
    
    imagery::page.pm
    
    =head1

  28. imagery::image is v0.1.1.2, last edit: 16.06.26.

    ;
    
          #print $outFile;
          #open (OUTFILE, ">", $outFile) or die $!;
          
          #while (<$givenFileHandle>) {
          #  chomp;
          #  print OUTFILE;
          #}
         
          #close($givenFileHandle);
          #close(OUTFILE);
          #chmod(0666, $outFile) 
          # 		or die 'Fatal: Cant chmod '.$givenFile.' to 0666 '.$!;
    
          $image->Write($outFile);
          
          return &basic::success('Image Uploaded',
                              qq!Your Image <i>$givenFile</i> was successfully uploaded.!).
            &page('unknown', $path, $givenFile);
        }
      } else {
        return &uploadForm($path);
      }
    }
    
    =item uploadForm()
    
    =cut
    
    sub uploadForm {
      my $path = shift;
    
      confess unless $path;
    
      return &imagery::navigation($path).
          $q->h2('image upload').
          $q->p('The uploaded image will be placed in your album'.
          $q->i($path).'.'.$q->br().
          'Only images with the file type JPEG (.jpe, .jpg, .jpeg) and '.
          $q->a({-href=>'http://www.libpng.org'},'PNG').
          ' (.png) can be uploaded.'.
          $q->br().'The maximum file size is '.$q->i($conf::imageMaxSize).' kilobyte.').
          $q->p($q->start_multipart_form(-action=>$$REF).
          $q->hidden('module').
          $q->hidden('action').
          $q->hidden('path').
          $q->filefield(-name=>'givenFile',
                        -accept=>'image/jpeg,image/png',
                        -default=>'',
                        -size=>60,
                        -maxlength=>80)).
          $q->p($q->submit('uploadImage','Upload Image').
          " ( Please be patient; the upload may take a while! )".
          $q->end_form());
    }
    
    =item selectData
    
    =cut
    
    sub selectData {
      my $id = shift;
      my ($sth, $href);
      
      confess unless $id && $id =~ /^\d+$/;
      
      &imagery::daily::givePoints($id, 1

  29. imagery::daily is v0.0.2.1, last edit: 16.06.26.

     NAME
    
    imagery::daily.pm
    
    =head1

about v1.0.2.1

453515
impressions since February 09, 2018
4 images

MendelLaw-screenshot-2018-10-25.png, 253168 impressions KnightTour-screenshot-2018-10-25.png, 228061 impressions JuliaSet-screenshot-2018-10-25.png, 268954 impressions

chatbox

<adrian> jjj
<susan> ll
<susan> Hallo Welt!
<test> 123
<test> aa
<adrian> as

Please log in to write a message!

users

we welcome
Sites · resun · sunur · 1sss · matum · susan1 · susan · sinir · test12 · meter111 · meter11 · meter1 · meter · munar · munar · rrrr · …

recently active
adrian · susan · sunur · …

new images
Sites · resun · sunur · 1sss · matum · susan1 · susan · sinir · test12 · meter111 · meter11 · meter1 · meter · munar · munar · rrrr · …

outanekka.kiess.onl v0.9.0.11 (2001–2019) by Adrian Immanuel KiessGPL licensed
Designed for gecko engine < mozilla.org> ♦ outanekka.kiess.onl usage statistics
Perl code runtime: 0 wallclock secs ( 0.04 usr + 0.00 sys = 0.04 CPU)