Subversion-Projekte lars-tiefland.medien

Revision

Revision 85 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

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