Subversion-Projekte lars-tiefland.em_wm

Revision

Revision 114 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
3 lars 1
<?
114 lars 2
    $dir = dirname( $_SERVER["PHP_SELF"] );
3
    $host = "http://" . $_SERVER["SERVER_NAME"];
4
    $url = $host . $dir;
5
    $pear_logger = &create_pear_logger();
6
    $php_logger = &create_php_logger();
7
    set_error_handler( 'errorHandler_PHP' );
8
    PEAR::setErrorHandling( PEAR_ERROR_CALLBACK, 'errorHandler' );
9
    $u = null;
10
    $a = null;
11
    $username = ( isset($_POST["username"]) ) ? $_POST["username"] : "";
66 lars 12
 
114 lars 13
    function errorHandler_PHP( $code, $message, $file, $line )
14
    {
15
        global $php_logger;
16
        /* Map the PHP error to a Log priority. */
17
        switch ( $code )
18
        {
19
            case E_WARNING:
20
            case E_USER_WARNING:
21
                $priority = PEAR_LOG_WARNING;
22
                break;
23
            case E_NOTICE:
24
            case E_USER_NOTICE:
25
                $priority = PEAR_LOG_NOTICE;
26
                break;
27
            case E_ERROR:
28
            case E_USER_ERROR:
29
                $priority = PEAR_LOG_ERR;
30
                break;
31
            default:
32
                $priotity = PEAR_LOG_INFO;
33
        }
34
        $php_logger->log( $message . ' in ' . $file . ' in Zeile ' . $line,
35
            $priority );
36
    }
66 lars 37
 
114 lars 38
    function errorHandler( $error )
39
    {
40
        global $pear_logger;
66 lars 41
 
114 lars 42
        $message = $error->getUserInfo();
66 lars 43
 
114 lars 44
        if ( !empty($error->backtrace[1]['file']) )
45
        {
46
            $message .= ' (' . $error->backtrace[1]['file'];
47
            if ( !empty($error->backtrace[1]['line']) )
48
            {
49
                $message .= ' in Zeile ' . $error->backtrace[1]['line'];
50
            }
51
            $message .= ')';
52
        }
53
        $res = $pear_logger->log( $message, PEAR_LOG_ERR );
54
    }
66 lars 55
 
114 lars 56
    function create_logger()
57
    {
58
        global $db, $u;
59
        $params_log["db"] = $db;
60
        $params_log["u_id"] = $u->u_id;
61
        $logger = &Log::singleton( "lt_sql", "log", "fifa", $params_log );
62
        return $logger;
63
    }
66 lars 64
 
114 lars 65
    function create_php_logger()
66
    {
67
        global $url;
68
        $file_params["mode"] = "666";
69
        $file_params["lineFormat"] = '%1$s %2$s [%3$s] %4$s %5$s %6$s %7$s';
70
        $mail_params["from"] = "Lars Tiefland <webmaster@lars-tiefland.de>";
71
        $mail_params["subject"] = "PHP Fehler auf $url";
72
        $l1 = &Log::singleton( "file", "php_errors.log", "fifa_php", $file_params );
73
        #$l2=&Log::singleton("mail","ltiefland@gmail.com","fifa_php",$mail_params);
74
        $l3 = &Log::singleton( "composite" );
75
        $c1 = $l3->addChild( $l1 );
76
        #$c2=$l3->addChild($l2);
77
        return $l3;
78
    }
66 lars 79
 
114 lars 80
    function create_pear_logger()
81
    {
82
        global $url;
83
        $file_params["mode"] = "666";
84
        $file_params["lineFormat"] = '%1$s %2$s [%3$s] %4$s %5$s %6$s %7$s';
85
        $mail_params["from"] = "Lars Tiefland <webmaster@lars-tiefland.de>";
86
        $mail_params["subject"] = "PEAR Fehler auf $url";
87
        $l1 = &Log::singleton( "file", "pear_errors.log", "fifa_pear", $file_params );
88
        #$l2=&Log::singleton("mail","ltiefland@gmail.com","fifa_pear",$mail_params);
89
        $l3 = &Log::singleton( "composite" );
90
        $c1 = $l3->addChild( $l1 );
91
        #$c2=$l3->addChild($l2);
92
        return $l3;
93
    }
44 lars 94
 
114 lars 95
    function send_email( $art = 0 )
96
    {
97
        global $u, $mail, $password, $common, $url, $u_key;
98
        $to = "$u->u_name <$u->u_email>";
99
        $from_addr = "webmaster@lars-tiefland.de";
100
        $from_name = "Lars Tiefland";
101
        $from = "$from_name <$from_addr>";
102
        $art = intval( $art );
103
        switch ( $art )
104
        {
105
            case 0:
106
                $email_tpl = "email/$u->u_lang/register.tpl";
107
                $subject = $common["reg_subject"] . " - Welcome to $url";
108
                break;
109
            case 1:
110
                $email_tpl = "email/$u->u_lang/changed.tpl";
111
                $subject = $common["changed_subject"];
112
                break;
113
            case 2:
114
                $email_tpl = "email/$u->u_lang/change.tpl";
115
                $subject = $common["change_subject"];
116
            default:
117
                return false;
118
                break;
119
        }
120
        if ( file_exists($email_tpl) )
121
        {
122
            $email = file_get_contents( "$email_tpl" );
123
            $url_act = $url . "activate.php";
124
            $email = sprintf( $email, $u->u_name, $url, $u->u_name, $password,
125
                $url_act . "?key=$u_key", $url_act, $u_key );
126
            $headers["From"] = $from;
127
            $headers["To"] = $to;
128
            $headers["Subject"] = $subject;
129
            $ret = $mail->send( $to, $headers, $email );
130
        }
131
        else
132
        {
133
            $ret = false;
134
        }
135
        return $ret;
136
    }
44 lars 137
 
114 lars 138
    function login( $username, $password )
139
    {
140
        global $smarty, $username, $meld, $db_meld, $common, $a, $loc, $year,
141
            $type, $config;
142
        $type = $common["$config->type"];
143
        $smarty->assign( "meld", ($username || $meld) ? $common["an_error_occured"] :
144
            $meld );
145
        $smarty->assign( "db_meld", ($username) ? $common["userinfo_incorrect"] :
146
            $db_meld );
147
        $smarty->assign( "error", ($username || $meld) ? true : false );
148
        $smarty->assign( "title", $common["login"] );
149
        $smarty->assign( "user", $username );
150
        $date = $loc->formatDateTime( time() );
151
        $smarty->assign( "date", $date );
152
        $smarty->assign( "year", $year );
153
        $smarty->assign( "L_TYPE", $type );
154
        $smarty->display( "login.tpl" );
155
    }
3 lars 156
 
114 lars 157
    function User_Login( $show = true )
158
    {
159
        global $smarty, $db, $a, $config, $u, $common;
160
        $params = array( "dsn" => $db, "table" => "auth_user", "usernamecol" =>
161
            "u_name", "passwordcol" => "u_password", "db_fields" => "*", );
3 lars 162
 
114 lars 163
        $a = new Auth( "DB", $params, "login", $show );
164
        $a->setSessionName( $config->cookie_name );
165
        $a->setIdle( $config->session_length, false );
166
        $a->setExpire( 2 * $config->session_length, false );
128 lars 167
        //$a->setAdvancedSecurity( true );
114 lars 168
        $a->start();
169
        if ( $a->getAuth() )
170
        {
171
            $u = new User( "", "" );
172
            $u = $u->UserData( $a->getUserName() );
173
            $smarty->assign( "title", $common["login"] );
174
            $smarty->assign( "u_name", $u->u_name );
175
            $smarty->assign( "u_type", $u->u_type );
176
            $disabled = ( $u->u_type == 0 ) ? "disabled=disabled" : "";
177
            $smarty->assign( "disabled", $disabled );
178
            $smarty->assign( "disabled", "" );
179
        }
180
        return $a;
181
    }
3 lars 182
 
114 lars 183
    function User_logout()
184
    {
185
        global $a;
186
        $a->logout();
187
    }
188
    // {{{ validate_email()
3 lars 189
 
114 lars 190
    /**
191
     * Check to see if email address is valid or
192
     * already present in the DB
193
     */
194
    function validate_email( $email )
195
    {
196
        global $smarty;
197
        $meld = "";
198
        $error = false;
199
        if ( $email != '' )
200
        {
201
            if ( preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is',
202
                $email) && $email != "your@address.com" )
203
            {
204
                $error = false;
205
                $meld = "";
206
                $db_meld = "";
207
            }
208
            else
209
            {
210
                $error = true;
211
                $meld = "Email ungültig!";
212
                $db_meld = "";
213
                $smarty->assign( "email", $email );
214
            }
215
        }
216
        else
217
        {
218
            $error = true;
219
            $meld = "Email ungültig!";
220
            $db_meld = "";
221
            $smarty->assign( "email", $email );
222
        }
223
        if ( $error )
224
        {
225
            $smarty->assign( "title", "Ungültige E-Mail Adresse" );
226
            $smarty->assign( "error", $error );
227
            $smarty->assign( "meld", $meld );
228
            $smarty->assign( "db_meld", $db_meld );
229
        }
230
        else
231
        {
232
            $smarty->assign( "meld", "" );
233
            $smarty->assign( "db_meld", "" );
234
        }
235
        return !$error;
236
    }
237
    // }}}
238
    // {{{ log_split()
239
    function log_split( $s )
240
    {
241
        global $k, $time0, $count_t;
242
        $r = array();
243
        $p = 0;
244
        $l = strlen( $s );
245
        while ( $p < $l )
246
        {
247
            check_Time();
248
            while ( ($p < $l) && (strpos(" \r\t\n", $s[$p]) !== false) )
249
            {
250
                $p++;
251
            }
252
            if ( $s[$p] == '"' )
253
            {
254
                $p++;
255
                $q = $p;
256
                while ( ($p < $l) && ($s[$p] != '"') )
257
                {
258
                    if ( $s[$p] == '\\' )
259
                    {
260
                        $p += 2;
261
                        continue;
262
                    }
263
                    $p++;
264
                }
265
                $r[] = stripslashes( substr($s, $q, $p - $q) );
266
                $p++;
267
                while ( ($p < $l) && (strpos(" \r\t\n", $s[$p]) !== false) )
268
                {
269
                    $p++;
270
                }
271
                $p++;
272
            }
273
            else
274
            {
275
                if ( $s[$p] == "'" )
276
                {
277
                    $p++;
278
                    $q = $p;
279
                    while ( ($p < $l) && ($s[$p] != "'") )
280
                    {
281
                        if ( $s[$p] == '\\' )
282
                        {
283
                            $p += 2;
284
                            continue;
285
                        }
286
                        $p++;
287
                    }
288
                    $r[] = stripslashes( substr($s, $q, $p - $q) );
289
                    $p++;
290
                    while ( ($p < $l) && (strpos(" \r\t\n", $s[$p]) !== false) )
291
                    {
292
                        $p++;
293
                    }
294
                    $p++;
295
                }
296
                else
297
                {
298
                    $q = $p;
299
                    while ( ($p < $l) && (strpos(";", $s[$p]) === false) )
300
                    {
301
                        $p++;
302
                    }
303
                    $r[] = stripslashes( trim(substr($s, $q, $p - $q)) );
304
                    while ( ($p < $l) && (strpos(" \r\t\n", $s[$p]) !== false) )
305
                    {
306
                        $p++;
307
                    }
308
                    $p++;
309
                }
310
            }
311
        }
312
        $r2 = array( array() );
313
        $i = 0;
314
        $j = 0;
315
        $ind = 0;
316
        $anz = count( $r );
317
        while ( $i < $anz )
318
        {
319
            $wert = $r[$i];
320
            $l = strlen( $wert ) - 1;
321
            $char = substr( $wert, $l, 1 );
322
            if ( $char == '"' || $char == '"' )
323
            {
324
                $wert = substr( $wert, 0, $l );
325
            }
326
            $r2[$j][$ind] = $wert;
327
            if ( $ind == 2 )
328
            {
329
                $ind = 0;
330
                $j++;
331
            }
332
            else
333
            {
334
                $ind++;
335
            }
336
            $i++;
337
        }
338
        return $r2;
339
    }
340
    // }}}
341
    // {{{ check_Time()
342
    function check_Time()
343
    {
344
        global $time0;
345
        $count_t = 0;
346
        $time1 = time();
347
        if ( $time1 - $time0 >= 25 )
348
        {
349
            $time0 = $time1;
350
            $count_t++;
351
            set_time_limit( 30 );
352
        }
353
    }
354
    // }}}
355
    // {{{ PMA_readFile()
3 lars 356
 
114 lars 357
    //This function reads the file uploaded according to compression method
358
    function PMA_readFile( $fname, $comp )
359
    {
360
        if ( isset($fname) )
361
        {
362
            check_Time();
363
            switch ( $comp )
364
            {
365
                case 'self':
366
                    $file = @fopen( "$fname", 'rb' );
367
                    if ( !$file )
368
                    {
369
                        return false;
370
                    }
371
                    $test = fread( $file, 3 );
372
                    fclose( $file );
373
                    if ( $test[0] == chr(31) && $test[1] == chr(139) )
374
                    {
375
                        return PMA_readFile( $fname, "gzip" );
376
                    }
377
                    else
378
                    {
379
                        if ( $test == 'BZh' )
380
                        {
381
                            return PMA_readFile( $fname, 'bzip2' );
382
                        }
383
                        else
384
                        {
385
                            return PMA_readFile( $fname, 'plain' );
386
                        }
387
                    }
388
                    break;
389
                case 'plain':
390
                    $file = @fopen( $fname, 'rb' );
391
                    if ( !$file )
392
                    {
393
                        return false;
394
                    }
395
                    $content = fread( $file, filesize($fname) );
396
                    fclose( $file );
397
                    break;
398
                case 'gzip':
399
                    if ( @function_exists('gzopen') )
400
                    {
401
                        $file = @gzopen( $path, 'rb' );
402
                        if ( !$file )
403
                        {
404
                            return false;
405
                        }
406
                        $content = '';
407
                        while ( !gzeof($file) )
408
                        {
409
                            $content .= gzgetc( $file );
410
                        }
411
                        gzclose( $file );
412
                    }
413
                    else
414
                    {
415
                        return false;
416
                    }
417
                    break;
418
                case 'bzip2':
419
                    if ( @function_exists('bzdecompress') )
420
                    {
421
                        $file = @fopen( $fname, 'rb' );
422
                        if ( !$file )
423
                        {
424
                            return false;
425
                        }
426
                        $content = fread( $file, filesize($fname) );
427
                        fclose( $file );
428
                        $content = bzdecompress( $content );
429
                    }
430
                    else
431
                    {
432
                        return false;
433
                    }
434
                    break;
435
                default:
436
                    return false;
437
            }
438
            check_Time();
439
            return $content;
440
        }
441
        /*		else
442
        {
443
        require("import.php");
444
        }*/
445
    }
3 lars 446
 
114 lars 447
    function p_log( $message )
448
    {
449
        global $u_id, $u_name, $pending, $email, $db;
450
        $t_stamp = time();
451
        $sql = "INSERT INTO log (user_id, datum, message) VALUES ($u_id, $t_stamp, '$message')";
452
        $r = $db->query( $sql );
453
        $res = ( !DB::isError($r) );
454
        return $res;
455
    }
3 lars 456
 
114 lars 457
    function get_log_entries()
458
    {
459
        global $db;
460
        $sql = "SELECT * FROM log";
461
        $res = $db->query( $sql );
462
        if ( !DB::isError($res) )
463
        {
464
            $anz = $res->num_Rows();
465
        }
466
        else
467
        {
468
            if ( file_exists("../log/log.txt") )
469
            {
470
                $content = PMA_readFile( "../log/log.txt", "plain" );
471
                $r = log_split( $content );
472
                $anz = count( $r[0] );
473
            }
474
        }
475
        return $anz;
476
    }
477
    function read_log( $start )
478
    {
479
        $content = "";
480
        global $max_anz, $db;
481
        $sql = "SELECT * FROM log LIMIT $start, $max_anz";
482
        $res = $db->query( $sql );
483
        if ( $res->num_Rows() )
484
        {
485
            while ( $row_d = $res->fetch_Row() )
486
            {
487
                $content .= "'" . $row_d["user_id"] . "';'" . $row_d["datum"] .
488
                    "';'" . $row_d["message"] . "'\r\n";
489
            }
490
            $row = log_split( $content );
491
        }
492
        else
493
        {
494
            if ( file_exists("../log/log.txt") )
495
            {
496
                $content = PMA_readFile( "../log/log.txt", "plain" );
497
                $row = log_split( $content );
498
                $row = array_splice( $row, $start, $max_anz );
499
            }
500
            else
501
            {
502
                $row = "";
503
            }
504
        }
505
        return $row;
506
    }
3 lars 507
 
114 lars 508
    //
509
    // Pagination routine, generates
510
    // page number sequence
511
    // taken from phpBB
3 lars 512
 
114 lars 513
    function generate_pagination( $base_url, $num_items, $per_page, $start_item,
514
        $add_prevnext_text = true )
515
    {
516
        if ( !$num_items )
517
        {
518
            return "";
519
        }
3 lars 520
 
114 lars 521
        $total_pages = ceil( $num_items / $per_page );
3 lars 522
 
114 lars 523
        if ( $total_pages == 1 )
524
        {
525
            return '';
526
        }
3 lars 527
 
114 lars 528
        $on_page = floor( $start_item / $per_page ) + 1;
3 lars 529
 
114 lars 530
        $page_string = '';
531
        if ( $total_pages > 25 )
532
        {
533
            $init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;
3 lars 534
 
114 lars 535
            for ( $i = 1; $i < $init_page_max + 1; $i++ )
536
            {
537
                $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' :
538
                    '<a href="' . $base_url . "?start=" . ( ($i - 1) * $per_page ) .
539
                    '">' . $i . '</a>';
540
                if ( $i < $init_page_max )
541
                {
542
                    $page_string .= ", ";
543
                }
544
            }
3 lars 545
 
114 lars 546
            if ( $total_pages > 3 )
547
            {
548
                if ( $on_page > 1 && $on_page < $total_pages )
549
                {
550
                    $page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';
3 lars 551
 
114 lars 552
                    $init_page_min = ( $on_page > 4 ) ? $on_page : 5;
553
                    $init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page :
554
                        $total_pages - 4;
3 lars 555
 
114 lars 556
                    for ( $i = $init_page_min - 1; $i < $init_page_max + 2;
557
                        $i++ )
558
                    {
559
                        $page_string .= ( $i == $on_page ) ? '<b>' . $i .
560
                            '</b>' : '<a href="' . $base_url . "?start=" . ( ($i -
561
                            1) * $per_page ) . '">' . $i . '</a>';
562
                        if ( $i < $init_page_max + 1 )
563
                        {
564
                            $page_string .= ', ';
565
                        }
566
                    }
3 lars 567
 
114 lars 568
                    $page_string .= ( $on_page < $total_pages - 4 ) ?
569
                        ' ... ' : ', ';
570
                }
571
                else
572
                {
573
                    $page_string .= ' ... ';
574
                }
3 lars 575
 
114 lars 576
                for ( $i = $total_pages - 2; $i < $total_pages + 1; $i++ )
577
                {
578
                    $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' :
579
                        '<a href="' . $base_url . "?start=" . ( ($i - 1) * $per_page ) .
580
                        '">' . $i . '</a>';
581
                    if ( $i < $total_pages )
582
                    {
583
                        $page_string .= ", ";
584
                    }
585
                }
586
            }
587
        }
588
        else
589
        {
590
            for ( $i = 1; $i < $total_pages + 1; $i++ )
591
            {
592
                $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' :
593
                    '<a href="' . $base_url . "?start=" . ( ($i - 1) * $per_page ) .
594
                    '">' . $i . '</a>';
595
                if ( $i < $total_pages )
596
                {
597
                    $page_string .= ', ';
598
                }
599
            }
600
        }
3 lars 601
 
114 lars 602
        if ( $add_prevnext_text )
603
        {
604
            if ( $on_page > 1 )
605
            {
606
                $page_string = ' <a href="' . $base_url . "?start=" . ( ($on_page -
607
                    2) * $per_page ) . '">Zurück</a>&nbsp;&nbsp;' . $page_string;
608
            }
609
            else
610
            {
611
                $page_string = 'Zurück&nbsp;&nbsp;' . $page_string;
612
            }
613
            if ( $on_page < $total_pages )
614
            {
615
                $page_string .= '&nbsp;&nbsp;<a href="' . $base_url .
616
                    "?start=" . ( $on_page * $per_page ) . '">Weiter</a>';
617
            }
618
            else
619
            {
620
                $page_string .= '&nbsp;&nbsp;Weiter';
621
            }
3 lars 622
 
114 lars 623
        }
3 lars 624
 
114 lars 625
        $page_string = 'Gehe zu Seite ' . $page_string;
3 lars 626
 
114 lars 627
        return $page_string;
628
    }
3 lars 629
 
114 lars 630
    function checkDir( $dir )
631
    {
632
        if ( empty($dir) )
633
        {
634
            $dir = "upload";
635
        }
636
        if ( file_exists("$dir") )
637
        {
638
            $ftype = filetype( "$dir" );
639
            if ( $ftype == "dir" || $ftype == "link" )
640
            {
641
                if ( $ftype == "link" )
642
                {
643
                    $fname_l = readlink( "$dir" );
644
                    $ftype_l = filetype( $fname_l );
645
                    if ( $ftype_l == "dir" )
646
                    {
647
                        $ret = is_writeable( $fname_l );
648
                    }
649
                    else
650
                    {
651
                        if ( unlink("$dir") )
652
                        {
653
                            $ret = mkdir( "$dir" );
654
                        }
655
                        else
656
                        {
657
                            $ret = false;
658
                        }
659
                    }
660
                }
661
                else
662
                {
663
                    $ret = true;
664
                }
665
            }
666
            else
667
            {
668
                if ( unlink("$dir") )
669
                {
670
                    $ret = mkdir( "$dir" );
671
                }
672
                else
673
                {
674
                    $ret = false;
675
                }
676
            }
677
        }
678
        else
679
        {
680
            $ret = mkdir( "$dir" );
681
        }
682
        return $ret;
683
    }
3 lars 684
 
114 lars 685
    function upload_pic( $pic, &$meld, &$dst )
686
    {
687
        $fname = "../images/$pic";
688
        $tmp = $_FILES['pic']['tmp_name'];
689
        //		echo $_FILES["pic"]["type"];
690
        $img_info = getimagesize( $tmp );
691
        $typ = $img_info[2];
692
        switch ( $typ )
693
        {
694
            case 1: //GIF
695
            case 2: //JPEG
696
            case 3: //PNG
697
                if ( checkDir("../images") )
698
                {
699
                    if ( !move_uploaded_file($tmp, $fname) )
700
                    {
701
                        $meld = "Konnte Datei nicht verschieben!";
702
                        unlink( $tmp );
703
                        $ret = false;
704
                    }
705
                    else
706
                    {
707
                        if ( !checkDir("../images/thumbs") )
708
                        {
709
                            $meld = "Konnte Thumbnail nicht erstellen!";
710
                            unlink( $fname );
711
                            $ret = false;
712
                        }
713
                        else
714
                        {
715
                            if ( function_exists("gd_info") )
716
                            {
717
                                //GD Bibliothek steht zur Verfügung
718
                                $gd_info = gd_info();
719
                                $width = 60;
720
                                $height = round( $img_info[1] / ($img_info[0] /
721
                                    $width), 0 );
722
                                $im_d = imagecreate( $width, $height );
723
                                switch ( $typ )
724
                                {
725
                                    case 1:
726
                                        $im_s = imagecreatefromgif( $fname );
727
                                        break;
728
                                    case 2:
729
                                        $im_s = imagecreatefromjpeg( $fname );
730
                                        break;
731
                                    case 3:
732
                                        $im_s = imagecreatefrompng( $fname );
733
                                        break;
734
                                }
735
                                imagepalettecopy( $im_d, $im_s );
736
                                imagecopyresized( $im_d, $im_s, 0, 0, 0, 0,
737
                                    $width, $height, $img_info[0], $img_info[1] );
738
                                $dst = $pic;
739
                                if ( $gd_info["PNG Support"] )
740
                                {
741
                                    $dst = substr( $dst, 0, strlen($dst) - 3 );
742
                                    $dst .= "png";
743
                                    if ( $typ != 3 )
744
                                    {
745
                                        imagePNG( $im_s, "../images/$dst" );
746
                                    }
747
                                    $ret = imagePNG( $im_d,
748
                                        "../images/thumbs/$dst" );
749
                                }
750
                                else
751
                                {
752
                                    if ( $gd_info("JPEG Support") )
753
                                    {
754
                                        $ret = imageJPEG( $im_d,
755
                                            "../images/thumbs/$dst" );
756
                                    }
757
                                    else
758
                                    {
759
                                        $ret = false;
760
                                    }
761
                                }
762
                                imagedestroy( $im_s );
763
                                imagedestroy( $im_d );
764
                                if ( !$ret )
765
                                {
766
                                    $meld =
767
                                        "Konnte Thumbnail nicht erstellen!";
768
                                }
769
                            }
770
                            else
771
                            {
772
                                //GD-Bibliothek steht NICHT zur Verfügung!
773
                                $ret = copy( $fname, $fname2 );
774
                                $dst = $fname2;
775
                                if ( !$ret )
776
                                {
777
                                    $meld =
778
                                        "Konnte Thumbnail nicht erstellen!";
779
                                }
780
                            }
781
                        }
782
                    }
783
                }
784
                else
785
                {
786
                    $meld = "Konnte Datei nicht verschieben!";
787
                    $ret = false;
788
                }
789
                break;
790
            default:
791
                $meld = "Das ist kein gültiges Bild!";
792
                $ret = false;
793
                break;
794
        }
795
        return $ret;
796
    }
797
    function generate_pagination2( $base_url, $num_items, $per_page, $start_item,
798
        $add_prevnext_text = true )
799
    {
800
        global $mode, $common;
801
        if ( !$num_items )
802
        {
803
            return "";
804
        }
3 lars 805
 
114 lars 806
        $total_pages = ceil( $num_items / $per_page );
3 lars 807
 
114 lars 808
        if ( $total_pages == 1 )
809
        {
810
            return '<table align="center" class="navig"><tr><th>' . $common["page"] .
811
                " 1 " . $common["of"] . ' 1</th></tr></table><br><br>';
812
        }
813
 
814
        $on_page = floor( $start_item / $per_page ) + 1;
815
 
816
        $page_string =
817
            '<table align="center" class="navig"><tr><th colspan="5">' . $common["page"] .
818
            ' ' . $on_page . ' ' . $common["of"] . ' ' . $total_pages .
819
            '</th></tr><tr>';
820
 
821
        if ( $add_prevnext_text )
822
        {
823
            if ( $on_page > 1 )
824
            {
825
                $page_string .= "<td><form name=\"nav\" action=$base_url method=\"post\"><input type=\"submit\" value=\"|<<\" title=\"${common["first_page"]}\" class=\"liteoption\"><input type=\"hidden\" name=\"start\" value=\"0\"><input type=\"hidden\" name=\"mode\" value=\"$mode\"></form></td>";
826
                $prev_v = ( $on_page - 2 ) * $per_page;
827
                $page_string .= "<td><form name=\"nav\" action=$base_url method=\"post\"><input type=\"submit\" value=\"|<\" title=\"${common["previous_page"]}\" class=\"liteoption\"><input type=\"hidden\" name=\"start\" value=\"$prev_v\"><input type=\"hidden\" name=\"mode\" value=\"$mode\"></form></td>";
828
            }
829
            else
830
            {
831
                $page_string .= "<td><form name=\"nav\" action=$base_url method=\"post\"><input type=\"submit\" value=\"|<<\" disabled class=\"liteoption\"><input type=\"hidden\" name=\"start\" value=\"0\"><input type=\"hidden\" name=\"mode\" value=\"$mode\"></form></td>";
832
                $page_string .= "<td><form name=\"nav\" action=$base_url method=\"post\"><input type=\"submit\" value=\"|<\" class=\"liteoption\" disabled><input type=\"hidden\" name=\"start\" value=\"0\"></form></td>";
833
            }
834
        }
835
        if ( $total_pages > 1 )
836
        {
837
            $page_opts = "";
838
            for ( $i = 0; $i < $total_pages; $i++ )
839
            {
840
                $selected = "";
841
                $j = $i + 1;
842
                if ( $j == $on_page )
843
                {
844
                    $selected = "selected=\"selected\"";
845
                }
846
                $start = ( $i * $per_page );
847
                $page_opts .= "<option value=$start $selected>$j</option>";
848
            }
849
            $page_string .= "<td width=\"100\"><form name=\"nav\" action=$base_url method=\"post\"><select name=\"start\">$page_opts</select>&nbsp;&nbsp;<input type=\"submit\" value=\"${common["go"]}\" class=\"liteoption\"><input type=\"hidden\" name=\"mode\" value=\"$mode\"></form></td>";
850
        }
851
 
852
        if ( $add_prevnext_text )
853
        {
854
            if ( $on_page < $total_pages )
855
            {
856
                $next_v = ( $on_page * $per_page );
857
                $page_string .= "<td><form name=\"nav\" action=$base_url method=\"post\"><input type=\"submit\" value=\">|\" title=\"${common["next_page"]}\" class=\"liteoption\"><input type=\"hidden\" name=\"start\" value=\"$next_v\"><input type=\"hidden\" name=\"mode\" value=\"$mode\"></form></td>";
858
                $max_v = ( $total_pages - 1 ) * $per_page;
859
                $page_string .= "<td><form name=\"nav\" action=$base_url method=\"post\"><input type=\"submit\" value=\">>|\" title=\"${common["last_page"]}\" class=\"liteoption\"><input type=\"hidden\" name=\"start\" value=\"$max_v\"><input type=\"hidden\" name=\"mode\" value=\"$mode\"></form></td>";
860
            }
861
            else
862
            {
863
                $page_string .= "<td><form name=\"nav\" action=$base_url method=\"post\"><input type=\"submit\" value=\">|\" class=\"liteoption\" disabled><input type=\"hidden\" name=\"start\" value=\"0\"><input type=\"hidden\" name=\"mode\" value=\"$mode\"></form></td>";
864
                $page_string .= "<td><form name=\"nav\" action=$base_url method=\"post\"><input type=\"submit\" value=\">>|\" disabled class=\"liteoption\" disabled><input type=\"hidden\" name=\"start\" value=\"0\"><input type=\"hidden\" name=\"mode\" value=\"$mode\"></form></td>";
865
            }
866
 
867
        }
868
        $page_string .= "</tr></table><br><br>";
869
 
870
        return $page_string;
871
    }
3 lars 872
?>