outanekka.KIESS.ONL — online multiuser image display solution with additional features!
theme » relaxed · tek · unique ·
user:   password:

About outanekka.KIESS.ONL — online multiuser image display solution with additional features!

support and donate

You can support the outanekka.KIESS.ONL — online multiuser image display solution with additional features! development as well as take a share of the server hosting costs by donating a small amount of money.

about outanekka

The outanekka base arrived at version 0.9.0.16 and is developed by Adrian Immanuel Kieß.

You can contact Adrian Immanuel Kieß under:

  1. E-Mail: adrian@kiess.onl
  2. XMPP: adrian@kiess.onl
  3. Website: https://www.KIESS.ONL

Outanekka is the so called summary of all those below listed modules and additional files:

  1. text is v0.9.0.16, last edit: 20.07.14.

    ;  
        if (defined $found) {
          if (length("$found") > "$where") { 
            my @unpack = unpack("a$where" x (length("$found")/"$where") . " a*","$found");
            my $joined = join("<wbr> ",@unpack);    
            $text =~ s/\Q$found/$joined/g; 
          }
        }
        return $text;
      }
    
    	return undef;
    }
    
    
    =item leetEmail()
    
    leetEmail() returns a leetified e-mail.
    
    =cut
    
    sub leetEmail {
      my $email = shift;
    
      if ($email) {
        for ($email) {
          s/\@/ at /g;
          s/\./ dot /g;
          s/\-/ dash /g;
          s/\_/ underscore /g;
        } 	
    
        return $email;
      } else {
    
        return undef;
      }
    }
    
    
    =item validateEmail()
    
    validateEmail() validates a e-mail for correctness.
    
    =cut
    
    sub validateEmail {
      my $email = shift;
      
      if ($email) {	
        for ($email) {
          s/\;|&|\|*|\`|\"|\:://g;
        }
        if ($email =~ /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/ ||
          $email !~ /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z0-9]+)(\]?)$/ ||
         length($email) >= 254)
        {
          return undef; # vertification failed
        } 
        else {
          return $email; # vertification passed
        }
      } else {
        return undef;
      } 
    }
    
    =item formattingRules()
    
    formattingRules() returns a hint to the user how he can format text using 
    the outanekka shortlink system.
    
    =cut
    
    sub formattingRules {
      return $q->p({-class=>'textbox-subformation'},
            "Type user:UID to refer a user, image:IID to refer a image and album:AID to refer an album."
          );
    }
    
    
    =head1

  2. config is v0.9.0.16, last edit: 20.07.15.

    5';
    our $VER = sprintf("%vd", $VERSION);
    
    our $MODULE = __PACKAGE__;
    our $PATH = q/conf\//;
    our $MODULE_PATH = q/conf\/modules\//;
    our $SUFFIX = q/.conf/;
    
    
    =head2 FUNCTIONS
     
    =over 4
    
    =item readConfigFile()
     
    readConfigFile() reads in a modules configuration file or defaults to the 
    base outanekka.conf configuration file.
    
    =cut
    			  
    sub readConfigFile {
      my $module = shift;
      my ($config, $pkg);
    
      if ($module) {
        $config = $MODULE_PATH . $module . $SUFFIX;
      } else {
        $config = $PATH . 'outanekka' . $SUFFIX;
      }
    
      unless (-e $config) {  
         die "Fatal: Configuration file $config not found! $!\n";
      }
      
      $pkg = q{ 
           package conf;
           do $config or die "Fatal: Configuration file $config misconfigured! $!\n";
           1

  3. home is v0.9.0.18, last edit: 20.11.29.

    .29';
    our $VER = sprintf("%vd", $VERSION);
    our $REF = $conf::sitePath;
    our $NAME = $conf::siteName;
    our $Q_MODULE = $q->param('module');
    our $Q_ACTION = $q->param('action');
    
    our $MODULE = __PACKAGE__;
    
    
    =head2 FUNCTIONS
    
    =over 4
    
    =item run()
    
    run() is called from index.pl.
    
    =cut
    
    sub run {  
      if (!$Q_MODULE or ($Q_MODULE and $Q_MODULE eq 'theme')) {
    		my $v = $q->p({-class=>'about-modules'}, &about::module::moduleVersion($MODULE, $VER) . 
    		  &about::module::moduleVersion('basic', $basic::VER) .
    		  &about::module::moduleVersion('config', $config::VER) . 
    		  &about::module::moduleVersion('html', $html::VER) . 
    		  &about::module::moduleVersion('text', $text::VER) .
    		  &about::module::moduleVersion('theme', $theme::VER));
    
    
        return &home::page() . $v;
      }
    }
    
    =item page()
    
    page() prints the homepage.
    
    =cut 
    
    sub page {
      return # $q->h1

  4. chatbox is v0.9.0.12, last edit: 19.04.28.

    ###############################################################################
    # Author: Adrian Immanuel Kiess < https://www.kiess.onl >
    # License: BSD, see LICENSE file
    # What: Module for outanekka.kiess.onl
    ###############################################################################
    
    package chatbox;
    
    use strict;
    use warnings;
    
    use CGI qw/:standard escapeHTML -utf8/;
    use CGI::Carp qw(warningsToBrowser fatalsToBrowser carpout set_message set_die_handler confess);
    use POSIX qw/strftime/;
    
    use about::module;
    use chatbox::message;
    use chatbox::page;
    
    =head1

  5. imagery is v0.9.0.16, last edit: 20.07.19.

    ;
    #    }
    #
    #		$user = &user::account::queryId($user);
    #
    #    return $user;
    #  }
    #}
    
    =item navigation()
    
    navigation() returns the top <h1

  6. theme is v0.9.0.13, last edit: 20.04.13.

     SYNOPSIS
    
    A outanekka module.
    
    =head1

  7. user is v0.9.0.16, last edit: 20.07.14.

     SYNOPSIS
    
    A outanekka module.
    
    =head1

  8. about is v0.9.0.12, last edit: 19.04.16.

     SYNOPSIS
    
    A outanekka module.
    
    =head1

  9. html is v0.9.0.18, last edit: 20.11.29.

    ;
    
    # vim: noai:sts=2 sw=2 ts=2
    #
    # EOF
    

  10. basic is v0.9.0.12, last edit: 19.05.09.

    2;
    our $LASTEDIT = '1

  11. guestbook is v0.9.0.16, last edit: 20.07.14.

     DESCRIPTION
    
    The guestbook module allows unauthorized users to leave their opinion. 
    A superuser can edit and delete entries. 
    In conclution it is - well, a simple guestbook.
    
    =head2 STATUS
    
    The status is considered stable.
    
    =cut
    
    
    BEGIN {     
      my @sql = (
        qq{CREATE TABLE IF NOT EXISTS guestbook (   
            id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
            opinion	TEXT,
            email	TINYTEXT,
            unixtime BIGINT UNSIGNED default NULL,
            PRIMARY KEY (id)
          );
        },
    		#qq{ALTER TABLE guestbook MODIFY COLUMN id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT;},
      );
    
      for (@sql) {
        my $sth = $main::dbh->prepare($_) or die $main::dbh->errstr;
        $sth->execute or die $main::dbh->errstr;
        $sth->finish;
      }
    }
    
    $| = 1

  12. about::page is v0.9.0.16, last edit: 20.09.23.

    ###############################################################################
    # Author: Adrian Immanuel Kiess < https://www.kiess.onl >
    # License: BSD, see LICENSE file
    # What: Module for outanekka.kiess.onl
    ###############################################################################
    
    package about::page;
    
    use strict;
    use warnings;
    
    use utf8;
    use CGI qw/:standard escapeHTML -utf8/;
    use CGI::Carp qw(warningsToBrowser fatalsToBrowser carpout set_message set_die_handler confess);
    use File::Find qw(find);
    
    =head1

  13. about::module is v0.9.0.16, last edit: 20.07.15.

    5';
    our $VER = sprintf("%vd", $VERSION);
    our $MODULE = \$about::MODULE;
    our $REF = \$about::REF;
    our $PATH_MODULES = \$about::PATH_MODULES;
    
    our $Q_MODULE = \$about::Q_MODULE;
    our $Q_ACTION = \$about::Q_ACTION;
    
    
    =item moduleInfo()
    
    moduleInfo() gets random lines of source code from a perl package.
    
    =cut
    
    sub moduleInfo {
      my $module = shift;
      my $randLine;
      
    	confess unless $module and -f $module and ($module =~ /\.pm$/);
      
      local $/ = 1

  14. guestbook::page is v0.9.0.16, last edit: 20.07.14.

    ; 
    		} else {
    			my ($href);
    			$q->param('module',$$MODULE);
    			$q->param('action','edit');       
    			
    			$href = &guestbook::opinion::queryRecord($id);
    			
    		  if ($href) {	
    			  return $q->h2("Edit opinion \#$id") . 
    				$q->start_form({-action=>$$REF}) . 
    				$q->hidden('module' ) . 
    				$q->hidden('action') . 
    				$q->hidden('id') . 
    				$q->p("Opinion by " . $q->i($href->{email}) . ":" . $q->br().
    					$q->textarea({-style=>'padding:3px; width:1

  15. guestbook::opinion is v0.9.0.16, last edit: 20.07.14.

    ;
    		}
    	}
      return undef;
    }
    
    =head1

  16. user::profile is v0.9.0.16, last edit: 20.07.20.

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

  17. user::page is v0.9.0.16, last edit: 20.07.21.

    1

  18. user::account is v0.9.0.16, last edit: 20.07.21.

    )) {
    
    			my $sth = $::dbh->prepare(qq{
    			  UPDATE $$MODULE SET rightslevel=(?)
    			  WHERE id=(?)
    			}) or warn $::dbh->ersstr;
    			$sth->execute($rightslevel, $uid) or die $::dbh->errstr;
          
    			return $uid;
        }
    		else {
      		&basic::failureMessage("Rightslevel invalid",
    			 	"The given rightslevel " . $q->i($rightslevel) . " is outside the range of 1

  19. user::session is v0.9.0.16, last edit: 20.07.21.

     SYNOPSIS
    
    A outanekka user module.
    
    =head1

  20. imagery::thumb is v0.9.0.16, last edit: 20.07.19.

     NAME
    
    imagery::thumb.pm
    
    =head1

  21. imagery::image is v0.9.0.16, last edit: 20.09.23.

    .1

  22. imagery::page is v0.9.0.18, last edit: 20.11.29.

     = 'Recently Uploaded Images'; last; };
        /^popular$/ && do { 
    			@images = @ { &imagery::image::popular($$PAGE_THUMBS) }; 
    	    $h1

  23. imagery::album is v0.9.0.16, last edit: 20.07.19.

    ;
    		#$cacheImages =~ m/$$PATH_REGEX/;
    		#$cacheImages = $1

  24. imagery::daily is v0.9.0.18, last edit: 20.11.29.

    !);
        
    			#LEFT OUTER JOIN $$MODULE ON $$MODULE\_daily.image_id=$$MODULE\.id 
        $sth->execute() or die $::dbh->errstr;
        $newIid = $sth->fetchrow;
        
        if ($newIid and $newIid =~ m/^(\d+)$/) {
          ($iid, $unixtime) = &imagery::daily::add($newIid);
    			#$iid = $newIid;
        } else {
    			#&imagery::daily::delete($iid);
    		}
      }
    
      return ($iid, $unixtime); 
    }
    
    =item add()
    
    add()
    
    =cut
    
    sub add {
      my $iid = shift;
    
    	my ($sth, $href, $queryIid, $unixtime);
    
      confess unless $iid and $iid =~ m/^(\d)+/;
    
    	$sth = $::dbh->prepare(qq{
    	  SELECT image_id, unixtime FROM $$MODULE\_daily WHERE image_id=?
    	});
    	$sth->execute($iid) or die $::dbh->errstr;
    	$href = $sth->fetchrow_hashref;
    
      $queryIid = $href->{'image_id'};
      $unixtime = $href->{'unixtime'};
    
    	if ($queryIid and ($queryIid =~ m/^(\d)+/)) {
        $sth = $::dbh->prepare(qq{
          UPDATE $$MODULE\_daily SET unixtime=? WHERE image_id=?
        });
        $sth->execute($^T, $iid) or die $::dbh->errstr;
    	} else {
        $sth = $::dbh->prepare(qq{ 
    			INSERT INTO $$MODULE\_daily (image_id, points, unixtime) VALUES (?, ?, ?)
        });
        $sth->execute($iid, 0, $^T) or die $::dbh->errstr;
        
    		$unixtime = $^T;
      }
      
      return ($iid, $unixtime);
    }
    
    =item link()
    
    link() returns an formatted HTML link to the daily image.
    
    =cut
    
    sub link {
      my ($iid) = shift;
    
      if ($iid) {
        if (&imagery::image::exists($iid)) {
    		  
    			return &imagery::image::link($iid);
    	  }
      } else {
        
    		return $q->big(' No image found. ');
      }
    
    	return undef;
    }
    
    =item updatePoints()
    
    updatePoints() adds the specified points to the given image.
    
    =cut
    
    sub updatePoints { 
      my $iid = shift;
      my $points = shift || 1

  25. imagery::quota is v0.9.0.16, last edit: 20.07.15.

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

  26. chatbox::page is v0.9.0.16, last edit: 20.07.14.

     NAME
    
    chatbox::page.pm
    
    =head1

  27. chatbox::message is v0.9.0.12, last edit: 19.04.28.

    ;
    
    # vim: noai:sts=2 sw=2 ts=2
    #
    # EOF
    

about v0.9.0.12
about::module v0.9.0.16
about::page v0.9.0.16

187703
impressions since May 18, 2019
65 images

m2n-lan-dac-running-netbsd-9-with-ctwm-and-netsurf-connected-with-xnest.png by adrian, 18106 impressions www2-kiess-onl-freebsd-12-1-login.png by adrian, 76427 impressions JuliaSet-screenshot-2021-05-07.png by adrian, 565 impressions

30 messages

<adrian> Ja, Bugs bitte an adrian@kiess.onl senden. Danke.
<adrian> ß?üöä -- Umlauttest.
<adrian> öüäß©
<adrian> äüöß
<nuser> Ein kleiner Test!
<adrian> Hallo Welt!

Please log in to write messages!

6 users

we welcome
lapsangs · tanam · nuser · remus · moron · adrian · …

recently active
adrian · …

new images
adrian · lapsangs ·

outanekka.KIESS.ONL v0.9.0.16 (2001–2021) by Adrian Immanuel KießBSD licensed
Designed for the Mozilla browser ♦ outanekka.KIESS.ONL usage statistics
Perl code runtime: 0 wallclock secs ( 0.02 usr + 0.00 sys = 0.02 CPU)
2  time    vsz (  diff)    rss (  diff) shared (  diff)   code (  diff)   data (  diff)
     0  91760 ( 91760)  42076 ( 42076)  14760 ( 14760)   1552 (  1552)  27156 ( 27156) after start
     0  92312 (   552)  42340 (   264)  14760 (     0)   1552 (     0)  27708 (   552) near exit