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

About outanekka — your multiuser image display web solution with additional features

support and donate

You can support the outanekka multiuser image display web 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.

    4';
    our $VER = sprintf("%vd", $VERSION);
    our $MODULE = __PACKAGE__;
    
    
    =head2 FUNCTIONS
    
    =over 4
    
    =item formattedText()
    
    formattedText() formats shortlinks to html links.
    
    =cut
    
    sub formattedText {
      my $text = shift;
      
      if ($text) {
        for ($text) {
          #s/<a href="(lucky\.pl\?(value=go&)?&url=)?(.*?)">(.*?)<\/a>/&lucky::return_link($3,$4,1

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

     SYNOPSIS
    
    A outanekka module.
    
    =head1

  3. home is v0.9.0.12, last edit: 19.05.02.

    ($NAME . " Home") .
        &imagery::page::daily();
    }
    
    =head1

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

    9.04.28';
    our $VER = sprintf("%vd", $VERSION);
    our $MODULE = __PACKAGE__;
    our $REF = $conf::sitePath . $MODULE . "/";
    our $Q_MODULE = $q->param('module');
    our $Q_ACTION = $q->param('action');
    our $Q_ID = $q->param('id');
    our $Q_SKIP = $q->param('skip');
    
    our $MESSAGE_MIN = 2;
    our $MESSAGE_MAX = 1

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

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

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

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

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

    ; # force flush
    
    our $q = new CGI;
    our $VERSION = 0.9.0.1

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

     SYNOPSIS
    
    A outanekka module.
    
    =head1

  9. html is v0.9.0.16, last edit: 20.07.15.

     DESCRIPTION
    
    Responsible for the building the HTML code of the site. 
    
    =head2 STATUS
    
    The status is to be considered stable.
    
    =cut
    
    BEGIN {
      &config::readConfigFile(  );
    }
    
    #$CGI::POST_MAX = 1

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

    ,                                     # Please untaint
    	#  untaint_pattern => qr|^([-_+@\w./\[\]]+)$|},      # Untaint Pattern
    	#  $path                                             # Where to search
    	#);
    	# 
    	#rmdir $path;
    	#
    	if ($path !~ "m/^\/$/" and $path !~ "m/\.\./g" and (my $count = ($path =~ tr/\///) >= 2)) { #and $path =~ "\/{2,}") {
    		remove_tree($path);
    
        return 1

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

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

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

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

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

    ;
      open(MO, "<", $module) or die "can't open $!";
      srand();
      rand($.) < 1

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

    00%;',
    												-override=>1

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

    6;
    our $LASTEDIT = '20.07.1

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

    6;
    $| = 1

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

    6;
    our $LASTEDIT = '20.07.21

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

     DESCRIPTION
    
    Handles the whole user account.
    
    =head2 STATUS
    
    The status is considered testing.
    
    =cut
    
    #$CGI::POST_MAX = 1

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

    ;
      } else {
    
    		return undef;
    	}
    }
    
    =item lastSignups()
    
    lastSignups() returns the last signups to outanekka.
    
    =cut
    
    sub lastSignups {
      my $limit = shift || 3;
      
    	if ($limit) {
        my ($sth, $aref);
    
    		$sth = $::dbh->prepare(qq{
    			  SELECT id FROM $$MODULE ORDER BY id DESC LIMIT 0,?
    			}) or die $::dbh->erstr;
        $sth->execute($limit) or die $::dbh->errstr;
    
    		$aref = $sth->fetchall_arrayref( {} );
    
    		return $aref;
      }
    
    	return undef;
    }
    
    =item lastSignupsLinks()
    
    lastSignupsLinks() returns the links to the last signed up users.
    
    =cut
    
    sub lastSignupsLinks {
      my $limit = shift || 3;
      my ($lastSignups, @links);
    	
    	$lastSignups = &lastSignups($limit);
    
      foreach my $user (@{ $lastSignups }) {
        push @links, &user::account::link($user->{'id'}) . ' &middot; ';
      }
    
      return @links;
    }
    
    =item lastSeen()
    
    lastSeen() returns the users last seen to outanekka.
    
    =cut
    
    sub lastSeen {
      my $limit = shift || 3;
    	
    	if ($limit) {
        my ($sth, $aref);
    
    		$sth = $::dbh->prepare(qq{
    			SELECT user_id
    			FROM $$MODULE\_session GROUP BY user_id ORDER BY MAX(last_seen) DESC LIMIT 0,?
    			}) or warn $::dbh->erstr;
        $sth->execute($limit) or warn $::dbh->errstr;
    
    		$aref = $sth->fetchall_arrayref( {} );
    
        return $aref;
      }
    
    	return undef;
    }
    
    =item lastSeenLinks() 
    
    lastSeenLinks() returns the links of the users last seen to outanekka.
    
    =cut
    
    sub lastSeenLinks {
      my $limit = shift || 3;
      my ($lastSeen, @links);
    	
    	$lastSeen = &lastSeen($limit);
    
      foreach my $user (@{ $lastSeen }) {
        push @links, &user::account::link($user->{'user_id'}) . ' &middot; ';
      }
    
      return @links;
    }
    
    =item hasSession()
    
    hasSession() returns true if the user has a valid session, false otherwise.
    
    =cut
    
    sub hasSession {
      return $$sessionKey ? $$sessionKey : 0;
    }
    
    =item getAccountId()
    
    getAccountId() returns the account ID of the user session.
    
    =cut
    
    sub getAccountId {
      return $$accountId ? $$accountId : 0;
    }
    
    =item getAccountNick() 
    
    getAccountNick() returns the account nick of the user session.
    
    =cut
    
    sub getAccountNick {
      return $$accountNick ? $$accountNick : 0;
    }
    
    =item getAccountLevel()
    
    getAccountLevel() returns the rightslevel of the user session.
    
    =cut
    
    sub getAccountLevel {
      return $$accountLevel ? $$accountLevel : 0;
    }
    
    =head1

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

    .1

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

    6;
    our $LASTEDIT	= '20.07.21

  22. imagery::page is v0.9.0.16, last edit: 20.07.19.

    00%; text-align:center;'},
    			  $q->a({-href=>$$REF.'popularAlbums'},'popular albums, ' . 
    			  $q->small('click to view all&hellip;'))).
    		  $q->div({-style=>'width:1

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

    ;
    				#$renameAlbum =~ s/?!($$PATH_REGEX)//g;
    				#$renameAlbum = $1

  24. imagery::daily is v0.9.0.12, last edit: 18.05.12.

     DESCRIPTION
    
    The imagery::daily module handles everything related to the daily image of the imagery.
    
    =head2 STATUS
    
    The status is to be considered unstable.
    
    =cut
    
    
    BEGIN {
      my @sql = (
        qq{CREATE TABLE IF NOT EXISTS imagery_daily (
            daily_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
            image_id BIGINT UNSIGNED NOT NULL,
            points BIGINT UNSIGNED,
    				unixtime BIGINT default NULL,
            UNIQUE (image_id),
            UNIQUE (daily_id),
    				PRIMARY KEY (daily_id)
          );
        },
    		#qq{ALTER TABLE imagery_daily add column IF NOT EXISTS unixtime INT default NULL },
    		#qq{ALTER TABLE imagery_daily add column IF NOT EXISTS image_id BIGINT UNSIGNED NOT NULL }
      );
    
      for (@sql) {
        my $sth = $main::dbh->prepare($_) or die $main::dbh->errstr;
        $sth->execute or die $main::dbh->errstr;
        $sth->finish;
      }
    }
    
    
    $| = 1

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

    5';
    our $VER = sprintf("%vd", $VERSION);
    our $MODULE =  \$imagery::MODULE;
    
    =head2 FUNCTIONS
    
    =over 4
    
    =cut
    
    =item verifyAlbum()
    
    verifyAlbum()
    
    =cut
    
    sub verifyAlbum {
      my $uid = shift;
    
      confess unless $uid;
    
      ((&albumNum($uid) < $conf::albumMaxNum) 
    		  or (&user::session::getAccountLevel() >= 255)) ? return 1

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

    ,
    	                  -maxlength=>$$MESSAGE_MAX),
          $q->submit(-label=>'shout >>'),
          $q->end_form(),
          &text::formattingRules());
      } else {
        $o .= p(i("Please " . &user::account::loginLink() . " to submit a message."));
      }
    
      $sth = $::dbh->prepare(qq{ 
        SELECT id, message, user_id, unixtime FROM $$MODULE ORDER BY id DESC LIMIT ?,?
      }) or warn $::dbh->errstr;       
    
      $sth->execute($skip,$$SKIP_PAGE) or warn $::dbh->errstr;   
       
      while ( $href = $sth->fetchrow_hashref ) {
        $o .= &chatbox::message::link($href->{id}, 
                             $href->{user_id}, 
    			                   $href->{message}, 
    			                   $href->{unixtime}
    			    );
      } 
      
    	$count = &chatbox::message::count();
      
      if ($count) {
        my ($navigation, $skip) = &basic::navigation($count,$$REF,"messages",$$SKIP_PAGE);
        
        return $o .
          $navigation .
          $q->p({-class=>'textbox-subformation'},
            "This page automatically refreshes every $$PAGE_REFRESH seconds."
          );	
      } else {
         return $o . 
    		   $q->p($q->i("Yet no chat messages. Feel free to stress the input field."));
      } 
    }
    
    
    =item slider()
    
    slider() displays some little messages in the corner of the main website.
    
    =cut
    
    sub slider {  
      my $o;
      my $messages;    
      my $sth;
      my @query_array = split(/;/, $q->query_string);
      my $hiddenFields;
     
        
      foreach my $field (@query_array) {     
        $field =~ s/=(.*)$//g;
        $hiddenFields .= $q->hidden($field) if $field ne "chatboxMessage";
      }
        
      if (&user::session::hasSession()) { 
        $o .= $q->start_multipart_form({-action=>$$REF,
                -style=>'text-align:center;',
    			      -method=>''}) .
            ($hiddenFields ? $hiddenFields : "") .
            "< " . $q->b($q->a({-href=>$$REF."history"},"history")) . " > &clubs; " .
            "your message:" . $q->br().
            $q->textfield(-style=>'width:1

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

     NAME
    
    chatbox::message.pm
    
    =head1

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

79445
impressions since May 18, 2019
89 images

ci_80924.pdf by moron, 796 impressions 3 - BYJ92gz.jpeg by adrian, 709 impressions 233109562_af677d2bfd_o.jpeg by adrian, 785 impressions

27 messages

<adrian> Habe ein paar NetBSD Devotionalien hochgeladen:
netbsd
netbsd
<nuser> Schicke Sachen! Wir werden weiter an Outanekka bauen!
<tanam> Saubere Arbeit. Die Userprofile sind nun implementiert.
<adrian> Ja, Bugs bitte an adrian@kiess.onl senden. Danke.
<adrian> ß?üöä -- Umlauttest.
<adrian> öüäß©

Please log in to write messages!

6 users

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

recently active
adrian · remus · moron · nuser · tanam · …

new images
adrian · moron · lapsangs · remus ·

outanekka.kiess.onl v0.9.0.16 (2001–2020) by Adrian Immanuel KießBSD licensed
Designed for gecko engine < mozilla.org > ♦ outanekka.kiess.onl usage statistics
Perl code runtime: 0 wallclock secs ( 0.01 usr + 0.01 sys = 0.02 CPU)
2  time    vsz (  diff)    rss (  diff) shared (  diff)   code (  diff)   data (  diff)
     0  97336 ( 97336)  40496 ( 40496)  13736 ( 13736)   1440 (  1440)  26956 ( 26956) after start
     0  97736 (   400)  41024 (   528)  13736 (     0)   1440 (     0)  27356 (   400) near exit