aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/mcp/mcp_queue.php
blob: 0630f55b121b7630358b74318f03beba481f9ad6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
<?php
/**
*
* @package mcp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
* mcp_queue
* Handling the moderation queue
* @package mcp
*/
class mcp_queue
{
	var $p_master;
	var $u_action;

	function mcp_queue(&$p_master)
	{
		$this->p_master = &$p_master;
	}

	function main($id, $mode)
	{
		global $auth, $db, $user, $template, $cache;
		global $config, $phpbb_root_path, $phpEx, $action;

		include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx);

		$forum_id = request_var('f', 0);
		$start = request_var('start', 0);

		$this->page_title = 'MCP_QUEUE';

		switch ($action)
		{
			case 'approve':
			case 'disapprove':
				include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);

				$post_id_list = request_var('post_id_list', array(0));

				if (!sizeof($post_id_list))
				{
					trigger_error('NO_POST_SELECTED');
				}

				if ($action == 'approve')
				{
					approve_post($post_id_list, 'queue', $mode);
				}
				else
				{
					disapprove_post($post_id_list, 'queue', $mode);
				}

			break;
		}

		switch ($mode)
		{
			case 'approve_details':

				$this->tpl_name = 'mcp_post';

				$user->add_lang(array('posting', 'viewtopic'));

				$post_id = request_var('p', 0);
				$topic_id = request_var('t', 0);

				if ($topic_id)
				{
					$topic_info = get_topic_data(array($topic_id), 'm_approve');
					if (isset($topic_info[$topic_id]['topic_first_post_id']))
					{
						$post_id = (int) $topic_info[$topic_id]['topic_first_post_id'];
					}
					else
					{
						$topic_id = 0;
					}
				}

				$post_info = get_post_data(array($post_id), 'm_approve', true);

				if (!sizeof($post_info))
				{
					trigger_error('NO_POST_SELECTED');
				}

				$post_info = $post_info[$post_id];

				if ($post_info['topic_first_post_id'] != $post_id && topic_review($post_info['topic_id'], $post_info['forum_id'], 'topic_review', 0, false))
				{
					$template->assign_vars(array(
						'S_TOPIC_REVIEW'	=> true,
						'S_BBCODE_ALLOWED'	=> $post_info['enable_bbcode'],
						'TOPIC_TITLE'		=> $post_info['topic_title'])
					);
				}

				$extensions = $attachments = $topic_tracking_info = array();

				// Get topic tracking info
				if ($config['load_db_lastread'])
				{
					$tmp_topic_data = array($post_info['topic_id'] => $post_info);
					$topic_tracking_info = get_topic_tracking($post_info['forum_id'], $post_info['topic_id'], $tmp_topic_data, array($post_info['forum_id'] => $post_info['forum_mark_time']));
					unset($tmp_topic_data);
				}
				else
				{
					$topic_tracking_info = get_complete_topic_tracking($post_info['forum_id'], $post_info['topic_id']);
				}

				$post_unread = (isset($topic_tracking_info[$post_info['topic_id']]) && $post_info['post_time'] > $topic_tracking_info[$post_info['topic_id']]) ? true : false;

				// Process message, leave it uncensored
				$message = $post_info['post_text'];

				if ($post_info['bbcode_bitfield'])
				{
					include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx);
					$bbcode = new bbcode($post_info['bbcode_bitfield']);
					$bbcode->bbcode_second_pass($message, $post_info['bbcode_uid'], $post_info['bbcode_bitfield']);
				}

				$message = bbcode_nl2br($message);
				$message = smiley_text($message);

				if ($post_info['post_attachment'] && $auth->acl_get('u_download') && $auth->acl_get('f_download', $post_info['forum_id']))
				{
					$extensions = $cache->obtain_attach_extensions($post_info['forum_id']);

					$sql = 'SELECT *
						FROM ' . ATTACHMENTS_TABLE . '
						WHERE post_msg_id = ' . $post_id . '
							AND in_message = 0
						ORDER BY filetime DESC, post_msg_id ASC';
					$result = $db->sql_query($sql);

					while ($row = $db->sql_fetchrow($result))
					{
						$attachments[] = $row;
					}
					$db->sql_freeresult($result);

					if (sizeof($attachments))
					{
						$update_count = array();
						parse_attachments($post_info['forum_id'], $message, $attachments, $update_count);
					}

					// Display not already displayed Attachments for this post, we already parsed them. ;)
					if (!empty($attachments))
					{
						$template->assign_var('S_HAS_ATTACHMENTS', true);

						foreach ($attachments as $attachment)
						{
							$template->assign_block_vars('attachment', array(
								'DISPLAY_ATTACHMENT'	=> $attachment)
							);
						}
					}
				}

				$post_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $post_info['forum_id'] . '&amp;p=' . $post_info['post_id'] . '#p' . $post_info['post_id']);
				$topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $post_info['forum_id'] . '&amp;t=' . $post_info['topic_id']);

				$template->assign_vars(array(
					'S_MCP_QUEUE'			=> true,
					'U_APPROVE_ACTION'		=> append_sid("{$phpbb_root_path}mcp.$phpEx", "i=queue&amp;p=$post_id&amp;f=$forum_id"),
					'S_CAN_VIEWIP'			=> $auth->acl_get('m_info', $post_info['forum_id']),
					'S_POST_REPORTED'		=> $post_info['post_reported'],
					'S_POST_UNAPPROVED'		=> !$post_info['post_approved'],
					'S_POST_LOCKED'			=> $post_info['post_edit_locked'],
					'S_USER_NOTES'			=> true,

					'U_EDIT'				=> ($auth->acl_get('m_edit', $post_info['forum_id'])) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=edit&amp;f={$post_info['forum_id']}&amp;p={$post_info['post_id']}") : '',
					'U_MCP_APPROVE'			=> append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&amp;mode=approve_details&amp;f=' . $post_info['forum_id'] . '&amp;p=' . $post_id),
					'U_MCP_REPORT'			=> append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=reports&amp;mode=report_details&amp;f=' . $post_info['forum_id'] . '&amp;p=' . $post_id),
					'U_MCP_USER_NOTES'		=> append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&amp;mode=user_notes&amp;u=' . $post_info['user_id']),
					'U_MCP_WARN_USER'		=> ($auth->acl_get('m_warn')) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&amp;mode=warn_user&amp;u=' . $post_info['user_id']) : '',
					'U_VIEW_POST'			=> $post_url,
					'U_VIEW_TOPIC'			=> $topic_url,

					'MINI_POST_IMG'			=> ($post_unread) ? $user->img('icon_post_target_unread', 'UNREAD_POST') : $user->img('icon_post_target', 'POST'),

					'RETURN_QUEUE'			=> sprintf($user->lang['RETURN_QUEUE'], '<a href="' . append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue' . (($topic_id) ? '&amp;mode=unapproved_topics' : '&amp;mode=unapproved_posts')) . "&amp;start=$start\">", '</a>'),
					'RETURN_POST'			=> sprintf($user->lang['RETURN_POST'], '<a href="' . $post_url . '">', '</a>'),
					'RETURN_TOPIC_SIMPLE'	=> sprintf($user->lang['RETURN_TOPIC_SIMPLE'], '<a href="' . $topic_url . '">', '</a>'),
					'REPORTED_IMG'			=> $user->img('icon_topic_reported', $user->lang['POST_REPORTED']),
					'UNAPPROVED_IMG'		=> $user->img('icon_topic_unapproved', $user->lang['POST_UNAPPROVED']),
					'EDIT_IMG'				=> $user->img('icon_post_edit', $user->lang['EDIT_POST']),

					'POST_AUTHOR_FULL'		=> get_username_string('full', $post_info['user_id'], $post_info['username'], $post_info['user_colour'], $post_info['post_username']),
					'POST_AUTHOR_COLOUR'	=> get_username_string('colour', $post_info['user_id'], $post_info['username'], $post_info['user_colour'], $post_info['post_username']),
					'POST_AUTHOR'			=> get_username_string('username', $post_info['user_id'], $post_info['username'], $post_info['user_colour'], $post_info['post_username']),
					'U_POST_AUTHOR'			=> get_username_string('profile', $post_info['user_id'], $post_info['username'], $post_info['user_colour'], $post_info['post_username']),

					'POST_PREVIEW'			=> $message,
					'POST_SUBJECT'			=> $post_info['post_subject'],
					'POST_DATE'				=> $user->format_date($post_info['post_time']),
					'POST_IP'				=> $post_info['poster_ip'],
					'POST_IPADDR'			=> ($auth->acl_get('m_info', $post_info['forum_id']) && request_var('lookup', '')) ? @gethostbyaddr($post_info['poster_ip']) : '',
					'POST_ID'				=> $post_info['post_id'],

					'U_LOOKUP_IP'			=> ($auth->acl_get('m_info', $post_info['forum_id'])) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=queue&amp;mode=approve_details&amp;f=' . $post_info['forum_id'] . '&amp;p=' . $post_id . '&amp;lookup=' . $post_info['poster_ip']) . '#ip' : '',
				));

			break;

			case 'unapproved_topics':
			case 'unapproved_posts':
				$user->add_lang(array('viewtopic', 'viewforum'));

				$topic_id = request_var('t', 0);
				$forum_info = array();

				if ($topic_id)
				{
					$topic_info = get_topic_data(array($topic_id));

					if (!sizeof($topic_info))
					{
						trigger_error('TOPIC_NOT_EXIST');
					}

					$topic_info = $topic_info[$topic_id];
					$forum_id = $topic_info['forum_id'];
				}

				$forum_list_approve = get_forum_list('m_approve', false, true);
				$forum_list_read = array_flip(get_forum_list('f_read', true, true)); // Flipped so we can isset() the forum IDs

				// Remove forums we cannot read
				foreach ($forum_list_approve as $k => $forum_data)
				{
					if (!isset($forum_list_read[$forum_data['forum_id']]))
					{
						unset($forum_list_approve[$k]);
					}
				}
				unset($forum_list_read);

				if (!$forum_id)
				{
					$forum_list = array();
					foreach ($forum_list_approve as $row)
					{
						$forum_list[] = $row['forum_id'];
					}

					if (!sizeof($forum_list))
					{
						trigger_error('NOT_MODERATOR');
					}

					$forum_list = implode(', ', $forum_list);

					$sql = 'SELECT SUM(forum_topics) as sum_forum_topics
						FROM ' . FORUMS_TABLE . '
						WHERE ' . $db->sql_in_set('forum_id', $forum_list);
					$result = $db->sql_query($sql);
					$forum_info['forum_topics'] = (int) $db->sql_fetchfield('sum_forum_topics');
					$db->sql_freeresult($result);
				}
				else
				{
					$forum_info = get_forum_data(array($forum_id), 'm_approve');

					if (!sizeof($forum_info))
					{
						trigger_error('NOT_MODERATOR');
					}

					$forum_info = $forum_info[$forum_id];
					$forum_list = $forum_id;
				}

				$forum_options = '<option value="0"' . (($forum_id == 0) ? ' selected="selected"' : '') . '>' . $user->lang['ALL_FORUMS'] . '</option>';
				foreach ($forum_list_approve as $row)
				{
					$forum_options .= '<option value="' . $row['forum_id'] . '"' . (($forum_id == $row['forum_id']) ? ' selected="selected"' : '') . '>' . str_repeat('&nbsp; &nbsp;', $row['padding']) . $row['forum_name'] . '</option>';
				}

				$sort_days = $total = 0;
				$sort_key = $sort_dir = '';
				$sort_by_sql = $sort_order_sql = array();
				mcp_sorting($mode, $sort_days, $sort_key, $sort_dir, $sort_by_sql, $sort_order_sql, $total, $forum_id, $topic_id);

				$forum_topics = ($total == -1) ? $forum_info['forum_topics'] : $total;
				$limit_time_sql = ($sort_days) ? 'AND t.topic_last_post_time >= ' . (time() - ($sort_days * 86400)) : '';

				$forum_names = array();

				if ($mode == 'unapproved_posts')
				{
					$sql = 'SELECT p.post_id
						FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t' . (($sort_order_sql[0] == 'u') ? ', ' . USERS_TABLE . ' u' : '') . '
						WHERE ' . $db->sql_in_set('p.forum_id', $forum_list) . '
							AND p.post_approved = 0
							' . (($sort_order_sql[0] == 'u') ? 'AND u.user_id = p.poster_id' : '') . '
							' . (($topic_id) ? 'AND p.topic_id = ' . $topic_id : '') . "
							AND t.topic_id = p.topic_id
							AND t.topic_first_post_id <> p.post_id
							$limit_time_sql
						ORDER BY $sort_order_sql";
					$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);

					$i = 0;
					$post_ids = array();
					while ($row = $db->sql_fetchrow($result))
					{
						$post_ids[] = $row['post_id'];
						$row_num[$row['post_id']] = $i++;
					}
					$db->sql_freeresult($result);

					if (sizeof($post_ids))
					{
						$sql = 'SELECT t.topic_id, t.topic_title, t.forum_id, p.post_id, p.post_subject, p.post_username, p.poster_id, p.post_time, u.username, u.username_clean, u.user_colour
							FROM ' . POSTS_TABLE . ' p, ' . TOPICS_TABLE . ' t, ' . USERS_TABLE . ' u
							WHERE ' . $db->sql_in_set('p.post_id', $post_ids) . '
								AND t.topic_id = p.topic_id
								AND u.user_id = p.poster_id
							ORDER BY ' . $sort_order_sql;
						$result = $db->sql_query($sql);

						$post_data = $rowset = array();
						while ($row = $db->sql_fetchrow($result))
						{
							$forum_names[] = $row['forum_id'];
							$post_data[$row['post_id']] = $row;
						}
						$db->sql_freeresult($result);

						foreach ($post_ids as $post_id)
						{
							$rowset[] = $post_data[$post_id];
						}
						unset($post_data, $post_ids);
					}
					else
					{
						$rowset = array();
					}
				}
				else
				{
					$sql = 'SELECT t.forum_id, t.topic_id, t.topic_title, t.topic_title AS post_subject, t.topic_time AS post_time, t.topic_poster AS poster_id, t.topic_first_post_id AS post_id, t.topic_first_poster_name AS username, t.topic_first_poster_colour AS user_colour
						FROM ' . TOPICS_TABLE . " t
						WHERE " . $db->sql_in_set('forum_id', $forum_list) . "
							AND topic_approved = 0
							$limit_time_sql
						ORDER BY $sort_order_sql";
					$result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);

					$rowset = array();
					while ($row = $db->sql_fetchrow($result))
					{
						$forum_names[] = $row['forum_id'];
						$rowset[] = $row;
					}
					$db->sql_freeresult($result);
				}

				if (sizeof($forum_names))
				{
					// Select the names for the forum_ids
					$sql = 'SELECT forum_id, forum_name
						FROM ' . FORUMS_TABLE . '
						WHERE ' . $db->sql_in_set('forum_id', $forum_names);
					$result = $db->sql_query($sql, 3600);

					$forum_names = array();
					while ($row = $db->sql_fetchrow($result))
					{
						$forum_names[$row['forum_id']] = $row['forum_name'];
					}
					$db->sql_freeresult($result);
				}

				foreach ($rowset as $row)
				{
					if (empty($row['post_username']))
					{
						$row['post_username'] = $user->lang['GUEST'];
					}

					$template->assign_block_vars('postrow', array(
						'U_TOPIC'			=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&amp;t=' . $row['topic_id']),
						'U_VIEWFORUM'		=> append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']),
						'U_VIEWPOST'		=> append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&amp;p=' . $row['post_id']) . (($mode == 'unapproved_posts') ? '#p' . $row['post_id'] : ''),
						'U_VIEW_DETAILS'	=> append_sid("{$phpbb_root_path}mcp.$phpEx", "i=queue&amp;start=$start&amp;mode=approve_details&amp;f={$row['forum_id']}&amp;p={$row['post_id']}" . (($mode == 'unapproved_topics') ? "&amp;t={$row['topic_id']}" : '')),

						'POST_AUTHOR_FULL'		=> get_username_string('full', $row['poster_id'], $row['username'], $row['user_colour'], $row['post_username']),
						'POST_AUTHOR_COLOUR'	=> get_username_string('colour', $row['poster_id'], $row['username'], $row['user_colour'], $row['post_username']),
						'POST_AUTHOR'			=> get_username_string('username', $row['poster_id'], $row['username'], $row['user_colour'], $row['post_username']),
						'U_POST_AUTHOR'			=> get_username_string('profile', $row['poster_id'], $row['username'], $row['user_colour'], $row['post_username']),

						'POST_ID'		=> $row['post_id'],
						'FORUM_NAME'	=> $forum_names[$row['forum_id']],
						'POST_SUBJECT'	=> ($row['post_subject'] != '') ? $row['post_subject'] : $user->lang['NO_SUBJECT'],
						'TOPIC_TITLE'	=> $row['topic_title'],
						'POST_TIME'		=> $user->format_date($row['post_time']))
					);
				}
				unset($rowset, $forum_names);

				// Now display the page
				$template->assign_vars(array(
					'L_DISPLAY_ITEMS'		=> ($mode == 'unapproved_posts') ? $user->lang['DISPLAY_POSTS'] : $user->lang['DISPLAY_TOPICS'],
					'L_EXPLAIN'				=> ($mode == 'unapproved_posts') ? $user->lang['MCP_QUEUE_UNAPPROVED_POSTS_EXPLAIN'] : $user->lang['MCP_QUEUE_UNAPPROVED_TOPICS_EXPLAIN'],
					'L_TITLE'				=> ($mode == 'unapproved_posts') ? $user->lang['MCP_QUEUE_UNAPPROVED_POSTS'] : $user->lang['MCP_QUEUE_UNAPPROVED_TOPICS'],
					'L_ONLY_TOPIC'			=> ($topic_id) ? sprintf($user->lang['ONLY_TOPIC'], $topic_info['topic_title']) : '',

					'S_FORUM_OPTIONS'		=> $forum_options,
					'S_MCP_ACTION'			=> build_url(array('t', 'f', 'sd', 'st', 'sk')),
					'S_TOPICS'				=> ($mode == 'unapproved_posts') ? false : true,

					'PAGINATION'			=> generate_pagination($this->u_action . "&amp;f=$forum_id&amp;st=$sort_days&amp;sk=$sort_key&amp;sd=$sort_dir", $total, $config['topics_per_page'], $start),
					'PAGE_NUMBER'			=> on_page($total, $config['topics_per_page'], $start),
					'TOPIC_ID'				=> $topic_id,
					'TOTAL'					=> ($total == 1) ? (($mode == 'unapproved_posts') ? $user->lang['VIEW_TOPIC_POST'] : $user->lang['VIEW_FORUM_TOPIC']) : sprintf((($mode == 'unapproved_posts') ? $user->lang['VIEW_TOPIC_POSTS'] : $user->lang['VIEW_FORUM_TOPICS']), $total),
				));

				$this->tpl_name = 'mcp_queue';
			break;
		}
	}
}

/**
* Approve Post/Topic
*/
function approve_post($post_id_list, $id, $mode)
{
	global $db, $template, $user, $config;
	global $phpEx, $phpbb_root_path;

	if (!check_ids($post_id_list, POSTS_TABLE, 'post_id', array('m_approve')))
	{
		trigger_error('NOT_AUTHORISED');
	}

	$redirect = request_var('redirect', build_url(array('quickmod')));
	$success_msg = '';

	$s_hidden_fields = build_hidden_fields(array(
		'i'				=> $id,
		'mode'			=> $mode,
		'post_id_list'	=> $post_id_list,
		'action'		=> 'approve',
		'redirect'		=> $redirect)
	);

	$post_info = get_post_data($post_id_list, 'm_approve');

	if (confirm_box(true))
	{
		$notify_poster = (isset($_REQUEST['notify_poster'])) ? true : false;

		// If Topic -> total_topics = total_topics+1, total_posts = total_posts+1, forum_topics = forum_topics+1, forum_posts = forum_posts+1
		// If Post -> total_posts = total_posts+1, forum_posts = forum_posts+1, topic_replies = topic_replies+1

		$total_topics = $total_posts = 0;
		$topic_approve_sql = $post_approve_sql = $topic_id_list = $forum_id_list = $approve_log = array();
		$user_posts_sql = $post_approved_list = array();

		foreach ($post_info as $post_id => $post_data)
		{
			if ($post_data['post_approved'])
			{
				$post_approved_list[] = $post_id;
				continue;
			}

			$topic_id_list[$post_data['topic_id']] = 1;
			$forum_id_list[$post_data['forum_id']] = 1;

			// User post update (we do not care about topic or post, since user posts are strictly connected to posts)
			// But we care about forums where post counts get not increased. ;)
			if ($post_data['post_postcount'])
			{
				$user_posts_sql[$post_data['poster_id']] = (empty($user_posts_sql[$post_data['poster_id']])) ? 1 : $user_posts_sql[$post_data['poster_id']] + 1;
			}

			// Topic or Post. ;)
			if ($post_data['topic_first_post_id'] == $post_id)
			{
				$total_topics++;
				$topic_approve_sql[] = $post_data['topic_id'];

				$approve_log[] = array(
					'type'			=> 'topic',
					'post_subject'	=> $post_data['post_subject'],
					'forum_id'		=> $post_data['forum_id'],
					'topic_id'		=> $post_data['topic_id'],
				);
			}
			else
			{
				$approve_log[] = array(
					'type'			=> 'post',
					'post_subject'	=> $post_data['post_subject'],
					'forum_id'		=> $post_data['forum_id'],
					'topic_id'		=> $post_data['topic_id'],
				);
			}

			$total_posts++;

			// Increment by topic_replies if we approve a topic...
			// This works because we do not adjust the topic_replies when re-approving a topic after an edit.
			if ($post_data['topic_first_post_id'] == $post_id && $post_data['topic_replies'])
			{
				$total_posts += $post_data['topic_replies'];
			}

			$post_approve_sql[] = $post_id;
		}

		$post_id_list = array_values(array_diff($post_id_list, $post_approved_list));
		for ($i = 0, $size = sizeof($post_approved_list); $i < $size; $i++)
		{
			unset($post_info[$post_approved_list[$i]]);
		}

		if (sizeof($topic_approve_sql))
		{
			$sql = 'UPDATE ' . TOPICS_TABLE . '
				SET topic_approved = 1
				WHERE ' . $db->sql_in_set('topic_id', $topic_approve_sql);
			$db->sql_query($sql);
		}

		if (sizeof($post_approve_sql))
		{
			$sql = 'UPDATE ' . POSTS_TABLE . '
				SET post_approved = 1
				WHERE ' . $db->sql_in_set('post_id', $post_approve_sql);
			$db->sql_query($sql);
		}

		unset($topic_approve_sql, $post_approve_sql);

		foreach ($approve_log as $log_data)
		{
			add_log('mod', $log_data['forum_id'], $log_data['topic_id'], ($log_data['type'] == 'topic') ? 'LOG_TOPIC_APPROVED' : 'LOG_POST_APPROVED', $log_data['post_subject']);
		}

		if (sizeof($user_posts_sql))
		{
			// Try to minimize the query count by merging users with the same post count additions
			$user_posts_update = array();

			foreach ($user_posts_sql as $user_id => $user_posts)
			{
				$user_posts_update[$user_posts][] = $user_id;
			}

			foreach ($user_posts_update as $user_posts => $user_id_ary)
			{
				$sql = 'UPDATE ' . USERS_TABLE . '
					SET user_posts = user_posts + ' . $user_posts . '
					WHERE ' . $db->sql_in_set('user_id', $user_id_ary);
				$db->sql_query($sql);
			}
		}

		if ($total_topics)
		{
			set_config_count('num_topics', $total_topics, true);
		}

		if ($total_posts)
		{
			set_config_count('num_posts', $total_posts, true);
		}

		sync('topic', 'topic_id', array_keys($topic_id_list), true);
		sync('forum', 'forum_id', array_keys($forum_id_list), true, true);
		unset($topic_id_list, $forum_id_list);

		$messenger = new messenger();

		// Notify Poster?
		if ($notify_poster)
		{
			foreach ($post_info as $post_id => $post_data)
			{
				if ($post_data['poster_id'] == ANONYMOUS)
				{
					continue;
				}

				$email_template = ($post_data['post_id'] == $post_data['topic_first_post_id'] && $post_data['post_id'] == $post_data['topic_last_post_id']) ? 'topic_approved' : 'post_approved';

				$messenger->template($email_template, $post_data['user_lang']);

				$messenger->to($post_data['user_email'], $post_data['username']);
				$messenger->im($post_data['user_jabber'], $post_data['username']);

				$messenger->assign_vars(array(
					'USERNAME'		=> htmlspecialchars_decode($post_data['username']),
					'POST_SUBJECT'	=> htmlspecialchars_decode(censor_text($post_data['post_subject'])),
					'TOPIC_TITLE'	=> htmlspecialchars_decode(censor_text($post_data['topic_title'])),

					'U_VIEW_TOPIC'	=> generate_board_url() . "/viewtopic.$phpEx?f={$post_data['forum_id']}&t={$post_data['topic_id']}&e=0",
					'U_VIEW_POST'	=> generate_board_url() . "/viewtopic.$phpEx?f={$post_data['forum_id']}&t={$post_data['topic_id']}&p=$post_id&e=$post_id")
				);

				$messenger->send($post_data['user_notify_type']);
			}
		}

		$messenger->save_queue();

		// Send out normal user notifications
		$email_sig = str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']);

		foreach ($post_info as $post_id => $post_data)
		{
			if ($post_id == $post_data['topic_first_post_id'] && $post_id == $post_data['topic_last_post_id'])
			{
				// Forum Notifications
				user_notification('post', $post_data['topic_title'], $post_data['topic_title'], $post_data['forum_name'], $post_data['forum_id'], $post_data['topic_id'], $post_id);
			}
			else
			{
				// Topic Notifications
				user_notification('reply', $post_data['post_subject'], $post_data['topic_title'], $post_data['forum_name'], $post_data['forum_id'], $post_data['topic_id'], $post_id);
			}
		}

		if (sizeof($post_id_list) == 1)
		{
			$post_data = $post_info[$post_id_list[0]];
			$post_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f={$post_data['forum_id']}&amp;t={$post_data['topic_id']}&amp;p={$post_data['post_id']}") . '#p' . $post_data['post_id'];
		}
		unset($post_info);

		if ($total_topics)
		{
			$success_msg = ($total_topics == 1) ? 'TOPIC_APPROVED_SUCCESS' : 'TOPICS_APPROVED_SUCCESS';
		}
		else
		{
			$success_msg = (sizeof($post_id_list) + sizeof($post_approved_list) == 1) ? 'POST_APPROVED_SUCCESS' : 'POSTS_APPROVED_SUCCESS';
		}
	}
	else
	{
		$show_notify = false;

		if ($config['email_enable'] || $config['jab_enable'])
		{
			foreach ($post_info as $post_data)
			{
				if ($post_data['poster_id'] == ANONYMOUS)
				{
					continue;
				}
				else
				{
					$show_notify = true;
					break;
				}
			}
		}

		$template->assign_vars(array(
			'S_NOTIFY_POSTER'	=> $show_notify,
			'S_APPROVE'			=> true)
		);

		confirm_box(false, 'APPROVE_POST' . ((sizeof($post_id_list) == 1) ? '' : 'S'), $s_hidden_fields, 'mcp_approve.html');
	}

	$redirect = request_var('redirect', "index.$phpEx");
	$redirect = reapply_sid($redirect);

	if (!$success_msg)
	{
		redirect($redirect);
	}
	else
	{
		meta_refresh(3, $redirect);

		// If approving one post, also give links back to post...
		$add_message = '';
		if (sizeof($post_id_list) == 1 && !empty($post_url))
		{
			$add_message = '<br /><br />' . sprintf($user->lang['RETURN_POST'], '<a href="' . $post_url . '">', '</a>');
		}

		trigger_error($user->lang[$success_msg] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], "<a href=\"$redirect\">", '</a>') . $add_message);
	}
}

/**
* Disapprove Post/Topic
*/
function disapprove_post($post_id_list, $id, $mode)
{
	global $db, $template, $user, $config;
	global $phpEx, $phpbb_root_path;
	global $request;

	if (!check_ids($post_id_list, POSTS_TABLE, 'post_id', array('m_approve')))
	{
		trigger_error('NOT_AUTHORISED');
	}

	$redirect = request_var('redirect', build_url(array('t', 'mode', 'quickmod')) . "&amp;mode=$mode");
	$reason = utf8_normalize_nfc(request_var('reason', '', true));
	$reason_id = request_var('reason_id', 0);
	$success_msg = $additional_msg = '';

	$s_hidden_fields = build_hidden_fields(array(
		'i'				=> $id,
		'mode'			=> $mode,
		'post_id_list'	=> $post_id_list,
		'action'		=> 'disapprove',
		'redirect'		=> $redirect)
	);

	$notify_poster = (isset($_REQUEST['notify_poster'])) ? true : false;
	$disapprove_reason = '';

	if ($reason_id)
	{
		$sql = 'SELECT reason_title, reason_description
			FROM ' . REPORTS_REASONS_TABLE . "
			WHERE reason_id = $reason_id";
		$result = $db->sql_query($sql);
		$row = $db->sql_fetchrow($result);
		$db->sql_freeresult($result);

		if (!$row || (!$reason && strtolower($row['reason_title']) == 'other'))
		{
			$additional_msg = $user->lang['NO_REASON_DISAPPROVAL'];
			$request->overwrite('confirm', null, phpbb_request_interface::POST);
		}
		else
		{
			// If the reason is defined within the language file, we will use the localized version, else just use the database entry...
			$disapprove_reason = (strtolower($row['reason_title']) != 'other') ? ((isset($user->lang['report_reasons']['DESCRIPTION'][strtoupper($row['reason_title'])])) ? $user->lang['report_reasons']['DESCRIPTION'][strtoupper($row['reason_title'])] : $row['reason_description']) : '';
			$disapprove_reason .= ($reason) ? "\n\n" . $reason : '';

			if (isset($user->lang['report_reasons']['DESCRIPTION'][strtoupper($row['reason_title'])]))
			{
				$disapprove_reason_lang = strtoupper($row['reason_title']);
			}

			$email_disapprove_reason = $disapprove_reason;
		}
	}

	$post_info = get_post_data($post_id_list, 'm_approve');

	if (confirm_box(true))
	{
		$disapprove_log = $disapprove_log_topics = $disapprove_log_posts = array();
		$topic_replies_real = $post_disapprove_list = array();

		// Build a list of posts to be unapproved and get the related topics real replies count
		foreach ($post_info as $post_id => $post_data)
		{
			$post_disapprove_list[$post_id] = $post_data['topic_id'];
			if (!isset($topic_replies_real[$post_data['topic_id']]))
			{
				$topic_replies_real[$post_data['topic_id']] = $post_data['topic_replies_real'];
			}
		}

		// Now we build the log array
		foreach ($post_disapprove_list as $post_id => $topic_id)
		{
			// If the count of disapproved posts for the topic is greater
			// than topic's real replies count, the whole topic is disapproved/deleted
			if (sizeof(array_keys($post_disapprove_list, $topic_id)) > $topic_replies_real[$topic_id])
			{
				// Don't write the log more than once for every topic
				if (!isset($disapprove_log_topics[$topic_id]))
				{
					// Build disapproved topics log
					$disapprove_log_topics[$topic_id] = array(
						'type'			=> 'topic',
						'post_subject'	=> $post_info[$post_id]['topic_title'],
						'forum_id'		=> $post_info[$post_id]['forum_id'],
						'topic_id'		=> 0, // useless to log a topic id, as it will be deleted
					);
				}
			}
			else
			{
				// Build disapproved posts log
				$disapprove_log_posts[] = array(
					'type'			=> 'post',
					'post_subject'	=> $post_info[$post_id]['post_subject'],
					'forum_id'		=> $post_info[$post_id]['forum_id'],
					'topic_id'		=> $post_info[$post_id]['topic_id'],
				);

			}
		}

		// Get disapproved posts/topics counts separately
		$num_disapproved_topics = sizeof($disapprove_log_topics);
		$num_disapproved_posts = sizeof($disapprove_log_posts);

		// Build the whole log
		$disapprove_log = array_merge($disapprove_log_topics, $disapprove_log_posts);

		// Unset unneeded arrays
		unset($post_data, $disapprove_log_topics, $disapprove_log_posts);

		// Let's do the job - delete disapproved posts
		if (sizeof($post_disapprove_list))
		{
			if (!function_exists('delete_posts'))
			{
				include_once($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
			}

			// We do not check for permissions here, because the moderator allowed approval/disapproval should be allowed to delete the disapproved posts
			// Note: function delete_posts triggers related forums/topics sync,
			// so we don't need to call update_post_information later and to adjust real topic replies or forum topics count manually
			delete_posts('post_id', array_keys($post_disapprove_list));

			foreach ($disapprove_log as $log_data)
			{
				add_log('mod', $log_data['forum_id'], $log_data['topic_id'], ($log_data['type'] == 'topic') ? 'LOG_TOPIC_DISAPPROVED' : 'LOG_POST_DISAPPROVED', $log_data['post_subject'], $disapprove_reason);
			}
		}

		$messenger = new messenger();

		// Notify Poster?
		if ($notify_poster)
		{
			$lang_reasons = array();

			foreach ($post_info as $post_id => $post_data)
			{
				if ($post_data['poster_id'] == ANONYMOUS)
				{
					continue;
				}

				if (isset($disapprove_reason_lang))
				{
					// Okay we need to get the reason from the posters language
					if (!isset($lang_reasons[$post_data['user_lang']]))
					{
						// Assign the current users translation as the default, this is not ideal but getting the board default adds another layer of complexity.
						$lang_reasons[$post_data['user_lang']] = $user->lang['report_reasons']['DESCRIPTION'][$disapprove_reason_lang];

						// Only load up the language pack if the language is different to the current one
						if ($post_data['user_lang'] != $user->lang_name && file_exists($phpbb_root_path . '/language/' . $post_data['user_lang'] . '/mcp.' . $phpEx))
						{
							// Load up the language pack
							$lang = array();
							@include($phpbb_root_path . '/language/' . basename($post_data['user_lang']) . '/mcp.' . $phpEx);

							// If we find the reason in this language pack use it
							if (isset($lang['report_reasons']['DESCRIPTION'][$disapprove_reason_lang]))
							{
								$lang_reasons[$post_data['user_lang']] = $lang['report_reasons']['DESCRIPTION'][$disapprove_reason_lang];
							}

							unset($lang); // Free memory
						}
					}

					$email_disapprove_reason = $lang_reasons[$post_data['user_lang']];
					$email_disapprove_reason .= ($reason) ? "\n\n" . $reason : '';
				}

				$email_template = ($post_data['post_id'] == $post_data['topic_first_post_id'] && $post_data['post_id'] == $post_data['topic_last_post_id']) ? 'topic_disapproved' : 'post_disapproved';

				$messenger->template($email_template, $post_data['user_lang']);

				$messenger->to($post_data['user_email'], $post_data['username']);
				$messenger->im($post_data['user_jabber'], $post_data['username']);

				$messenger->assign_vars(array(
					'USERNAME'		=> htmlspecialchars_decode($post_data['username']),
					'REASON'		=> htmlspecialchars_decode($email_disapprove_reason),
					'POST_SUBJECT'	=> htmlspecialchars_decode(censor_text($post_data['post_subject'])),
					'TOPIC_TITLE'	=> htmlspecialchars_decode(censor_text($post_data['topic_title'])))
				);

				$messenger->send($post_data['user_notify_type']);
			}

			unset($lang_reasons);
		}
		unset($post_info, $disapprove_reason, $email_disapprove_reason, $disapprove_reason_lang);

		$messenger->save_queue();

		if ($num_disapproved_topics)
		{
			$success_msg = ($num_disapproved_topics == 1) ? 'TOPIC_DISAPPROVED_SUCCESS' : 'TOPICS_DISAPPROVED_SUCCESS';
		}
		else
		{
			$success_msg = ($num_disapproved_posts == 1) ? 'POST_DISAPPROVED_SUCCESS' : 'POSTS_DISAPPROVED_SUCCESS';
		}
	}
	else
	{
		include_once($phpbb_root_path . 'includes/functions_display.' . $phpEx);

		display_reasons($reason_id);

		$show_notify = false;

		foreach ($post_info as $post_data)
		{
			if ($post_data['poster_id'] == ANONYMOUS)
			{
				continue;
			}
			else
			{
				$show_notify = true;
				break;
			}
		}

		$template->assign_vars(array(
			'S_NOTIFY_POSTER'	=> $show_notify,
			'S_APPROVE'			=> false,
			'REASON'			=> $reason,
			'ADDITIONAL_MSG'	=> $additional_msg)
		);

		confirm_box(false, 'DISAPPROVE_POST' . ((sizeof($post_id_list) == 1) ? '' : 'S'), $s_hidden_fields, 'mcp_approve.html');
	}

	$redirect = request_var('redirect', "index.$phpEx");
	$redirect = reapply_sid($redirect);

	if (!$success_msg)
	{
		redirect($redirect);
	}
	else
	{
		meta_refresh(3, $redirect);
		trigger_error($user->lang[$success_msg] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], "<a href=\"$redirect\">", '</a>'));
	}
}
selection of packages to upgrade to keep a track of what DrakX is doing. * modules.pm, network.pm, netconnect.pm, common.pm, modparm.pm, Xconfig.pm, commands.pm, lang.pm, fsedit.pm, detect_devices.pm, printer.pm, Xconfigurator.pm: removed foreach (<... which are eating memory 2000/11/14 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/da.po: updated Danish file 2000/11/13 Guillaume Cottenceau <gc@mandrakesoft.com> * standalone/drakgw: Integrate Till's patches for better work with Cups. 2000/11/12 Pixel <pixel@mandrakesoft.com> * standalone/mousedrake: fix for bug #1350 (mousedrake dies with: Undefined subroutine &mouse::serial_ports_names) * pkgs.pm (psUpdateHdlistsDeps): fixed an ugly typo (uses .cz2 for .cz and .cz22 for .cz2) that makes for than one CD install breaks :-( 2000/11/11 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file 2000/11/10 dam's <damien@mandrakesoft.com> * standalone/draknet2: draknet2 : new version of draknet, post-install only, uses only libDrakX backend, beautyfull * netconnect_new.pm: completed adsl_conf_backend corrected conf_network_card_backend : return interface and module separately splitted pppconfig. 2000/11/10 François Pons <fpons@mandrakesoft.com> * share/po/fr.po: typo fixing * printerdrake.pm: fixed wrong case for managing IP for remove CUPS server updated typo for remote CUPS server configuration dialog 2000/11/10 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/sk.po, share/po/lv.po: updated Latvian and Slovak files * share/po/wa.po, share/po/da.po: updated Danish and Walloon files 2000/11/10 Pixel <pixel@mandrakesoft.com> * c/stuff.xs.pm: initIMPS2 move where it should be (in non-C_RPM dependent section) 2000/11/09 dam's <damien@mandrakesoft.com> * netconnect.pm: added handling for 2 ethernet cards with the same module 2000/11/09 François Pons <fpons@mandrakesoft.com> * share/po/fr.po: add some missing translation (mainly printer for CUPS remote config) * printer.pm: make sure to restart cups when cupsd.conf is modified. * printerdrake.pm: fixed modification of BrowsePoll on a existing file. 2000/11/08 dam's <damien@mandrakesoft.com> * netconnect_new.pm: updated 2000/11/08 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: make sure class discarding do not destroy result * pkgs.pm: added new function for selected or installed accessor on pkg make sure package already installed for oem are marked as selected, as some code refer to this state to perform some actions (install_urpmi) * install_steps.pm: fixed for urpmi again; * printerdrake.pm: add management of BrowsePoll <ip>:<port> in /etc/cups/cupsd.conf * printer.pm: add minimal management of /etc/cups/cupsd.conf 2000/11/08 Guillaume Cottenceau <gc@mandrakesoft.com> * share/MonitorsDB: Fixed Samsung SyncMaster 3Ne (bug #1136) 2000/11/08 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/es.po: updated Spanish file 2000/11/07 dam's <damien@mandrakesoft.com> * mouse.pm: now there are 8 ttyS* available for configuration. Used for internal modem configuration that uses ttyS* > 3 * netconnect_new.pm: ttyS0 -> ttyS7 available for configuration some doc 2000/11/07 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: fixed text for card prefered in XFree 3.3 (RIVA128). * install_steps_interactive.pm: use of install_any::boot_medium to avoid listing medium used for boot * install_any.pm: use of $boot_medium where the boot medium is used (default 1) 2000/11/07 Guillaume Cottenceau <gc@mandrakesoft.com> * share/Cards+: fix tseng server for ET4000 W32i, W32p thanks to <sileryti@mail.com> 2000/11/07 Pixel <pixel@mandrakesoft.com> * install2.pm (main): in oem, configureX automatic (main): $::oem is now global :-( (needed in install_steps.pm) * install_steps.pm (afterInstallPackages): give medium 'cdrom' to install_urpmi in case of $::oem 2000/11/06 dam's <damien@mandrakesoft.com> * netconnect_new.pm: backend/frontend fork complete * any_new.pm: load_thiskind changed to load_thiskind_backend, the wait function is passed by argument * network.pm: configureNetwork2 commented. 2000/11/06 François Pons <fpons@mandrakesoft.com> * pkgs.pm: created function for examining already installed package on install (oem). * install2.pm: add a flag to allow by default formating / * install_steps.pm: conditionnal format of / and use already installed packages if any on install. 2000/11/06 Guillaume Cottenceau <gc@mandrakesoft.com> * share/MonitorsDB: added Hitachi CM753 contributed by Adam Julius <ajulius@yahoo.com> 2000/11/06 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/DrakX.pot, share/po/ru.po, share/po/uk.po: updated pot file GRUB/LILO/SILO messages *must* be in ascii only. Changed cyrillic to ascii transliteration for them * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/az.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file * keyboard.pm, ChangeLog: added the 3 kbd layouts for CZ and SK kbds 2000/11/06 Pixel <pixel@mandrakesoft.com> * install2.pm (formatPartitions): formatMountPartitions done even in upgrade (main): set $o->{partitioning}{use_existing_root} in oem * install_steps.pm (doPartitionDisksAfter): remove the mount_all which is plain dumb (doPartitionDisksAfter): fs::mount_all moved here (doPartitionDisks): use $o->{partitioning}{use_existing_root} * install_any.pm (use_root_part): fs::mount_all really removed (use_root_part): fs::mount_all removed * install_steps_interactive.pm (choosePartitionsToFormat): don't propose already mounted partitions (installCrypto): nicer layout 2000/11/05 dam's <damien@mandrakesoft.com> * mouse.pm: changed 'IntelliMouse label' to 'Generic PS2 Wheel Mouse' 2000/11/05 Guillaume Cottenceau <gc@mandrakesoft.com> * share/MonitorsDB: added LG StudioWorks520Si contributed by Yves Maniette <yves@maniette.com> 2000/11/01 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/eo.po: updated Esperanto file 2000/10/31 dam's <damien@mandrakesoft.com> * netconnect_new.pm: continuing forking frontend - backend. adsl ist nearly finished * any_new.pm: added this file to fork frontends and backends in any.pm 2000/10/30 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: heartbeat pixel wonderful un chien vaut mieux que deux tu damsera 2000/10/30 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/wa.po: updated Walloon file * share/keyboards.tar.bz2: updated keyboards 2000/10/30 Pixel <pixel@mandrakesoft.com> * lang.pm (load_po): backslash @ in po strings, otherwise the eval fails 2000/10/28 dam's <damien@mandrakesoft.com> * netconnect_new.pm: new version of draknet. Splited frontends - backends 2000/10/28 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/tr.po: updated Turkish file 2000/10/27 François Pons <fpons@mandrakesoft.com> * install_any.pm: remove the noising rpm output command line when loging installed rpm size (only usefull for live_update and just for conveniance). * pkgs.pm: Make sure $meta_class is defined in readCompsUsers (for HTTP hack) before reading a compssUsers file. * live_install: add VERSION in list of file that have to be symlinked. * common.pm: list_skels returns list of existing directory and writeable. * live_install2: Make sure to remove font path in /tmp/drakx before exiting. 2000/10/26 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/DrakX.pot, share/po/tr.po, share/po/it.po: updated Italian and Turkish files 2000/10/24 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: fortune-mod gets 10/0/10 on request from egil 2000/10/24 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/pl.po: updated Polish file 2000/10/23 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/ca.po: updated Catalan file 2000/10/23 Pixel <pixel@mandrakesoft.com> * install_steps.pm, ChangeLog, diskdrake.pm: added some carriage returns to please jl :) * detect_devices.pm (floppies, probeall): add require "modules" as it should be * install_interactive.pm (partitionWizardSolutions): add "require resize_fat::main" as it should be 2000/10/22 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: linuxconf-gui got -1/-1/-1 while gnome-linuxconf has 74/0/74 2000/10/21 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/uk.po, share/po/tr.po, share/po/az.po: updated Azeri, Turkish and Ukrainian files 2000/10/20 fabman * share/po/es.po: updated 2000/10/20 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: ntp to -1/-1/-1 2000/10/19 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: put all packages requiring kde1-compat to 0 except kisdn-free aumix now gets a high weight (79) because it's required to save the mixer settings at shutdown 2000/10/19 Pixel <pixel@mandrakesoft.com> * share/locales.tar.bz2: fix symlink zh_CN.GB2312 (was zh_CN.G23212) 2000/10/19 tlb * share/po/da.po: 100%, Troels Liebe Bentsen. 2000/10/18 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/az.po: Added AZeri file * share/po/no.po: updated Norwegian file 2000/10/17 dam's <damien@mandrakesoft.com> * interactive_gtk.pm, netconnect.pm, netconnect_consts.pm: removed unused code in ineractive_gtk added some isdn card in pcitable corrected typos, and made ISA isdn work 2000/10/17 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/lv.po: updated Latvian file 2000/10/16 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/be.po, share/po/sp.po, share/po/pt.po, share/po/DrakX.pot, share/po/es.po, share/po/fr.po, share/po/bg.po, share/po/ga.po, share/po/sr.po, share/po/de.po, share/po/et.po, share/po/tr.po, share/po/eu.po, share/po/ru.po, share/po/pt_BR.po, share/po/hr.po, share/po/ko.po, share/po/cy.po, share/po/nl.po, share/po/ja.po, share/po/wa.po, share/po/sv.po, share/po/is.po, share/po/hu.po, share/po/zh_TW.Big5.po, share/po/it.po, share/po/id.po, share/po/pl.po, share/po/fi.po, share/po/no.po, share/po/zh_CN.GB2312.po, share/po/th.po, share/po/el.po, share/po/sk.po, share/po/lt.po, share/po/sl.po, share/po/br.po, share/po/ca.po, share/po/gl.po, share/po/lv.po, share/po/uk.po, share/po/eo.po, share/po/ro.po, share/po/da.po, share/po/cs.po, share/po/af.po: updated pot file * standalone/keyboarddrake, keyboard.pm, ChangeLog: corrected BackSpace setting 2000/10/16 Pixel <pixel@mandrakesoft.com> * detect_devices.pm (cdroms): fix the setting of scdX for ide burners * share/compssList: sympa is -1 except for server * keyboard.pm (write): small pixelization (neater now) * install_steps.pm (installPackages): don't run ldconfig in g_auto_install 2000/10/15 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/nl.po: updated Dutch file 2000/10/14 Pablo Saratxaga <pablo@mandrakesoft.com> * lang.pm, keyboard.pm: small fix for Swedish locale * share/po/DrakX.pot, share/po/es.po, share/po/bg.po, share/po/fr.po, share/po/wa.po, share/po/de.po: updated Bulgarian file 2000/10/13 François Pons <fpons@mandrakesoft.com> * partition_table_empty.pm: empty partition table as assumed only if the MBR is really composed of only null chars. 2000/10/13 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: added viavoicemenu 2000/10/12 Pixel <pixel@mandrakesoft.com> * install_steps.pm (ask_mntpoint_s): dqs 2000/10/11 Pixel <pixel@mandrakesoft.com> * .cvsignore: ignore flog files * install2.pm (main): test * ChangeLog: qsdqsd * install_steps_interactive.pm: * (selectKeyboard): set default $o->{langs} to $o->{lang} 2000/10/10 Guillaume Cottenceau <gc@mandrakesoft.com> * standalone/drakgw, ChangeLog: make only one call to urpmi in order to install all the needed rpm's 2000/10/10 Pablo Saratxaga <pablo@mandrakesoft.com> * share/po/no.po, share/po/es.po: updated Norwegian file * share/po/pl.po: updated Polish file * share/po/zh_CN.GB2312.po, share/po/zh_TW.Big5.po: updated Chinese file 2000/10/10 tlb * share/po/da.po: 99%. 2000-10-10 Guillaume Cottenceau <gc@mandrakesoft.com> * standalone/drakgw: make only one call to urpmi in order to install all the needed rpm's 2000-10-10 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-10 Pixel <pixel@mandrakesoft.com> * install2.pm: increase $::VERSION 2000-10-09 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-09 Guillaume Cottenceau <gc@mandrakesoft.com> * share/po/fr.po: update after Dam's new messages in netconnect 2000-10-09 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-09 Pixel <pixel@mandrakesoft.com> * install_any.pm (kdeicons_postinstall): remove the handling of doc desktop icons. see dadou 2000-10-09 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssUsers: new list (with icons) * share/list: add icons for compssUsers 2000-10-09 dam's <damien@mandrakesoft.com> * standalone/draknet: added wait message 2000-10-09 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-09 Pixel <pixel@mandrakesoft.com> * share/themes-*.rc: change the fg[INSENSITIVE] entry 2000-10-09 François Pons <fpons@mandrakesoft.com> * install_any.pm: added tuxracer in OpenGL games to install if an accelerated card has been found. 2000-10-09 dam's <damien@mandrakesoft.com> * netconnect.pm (main): asking connection after writing start/stop scripts. (adsl_conf): if during install, don't use chkconfig, make the links directly for the adsl init script. 2000-10-09 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-09 Pixel <pixel@mandrakesoft.com> * install_steps.pm (afterInstallPackages): UserView in kdmrc is now true by default. So put false if security >= 3 instead of removing it. 2000-10-09 François Pons <fpons@mandrakesoft.com> * any.pm: default speed of modem set to 115200. * fs.pm: fixed format of RAID partition. * install_interactive.pm: take into account RAID partitions for searching / partition. 2000-10-09 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-09 Pixel <pixel@mandrakesoft.com> * install_steps.pm (selectKeyboard): don't assume $o->{langs} is set (selectLanguage): don't set $o->{langs} (so that you can go back and it works) * common.pm (round_up, round_down): ensure number is an integer * install_steps_interactive.pm (chooseGroups): take into account the min_level to compute the size 2000-10-08 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (choosePackages): move the computing of max_size before calling chooseGroups (not the one for desktop meta_class) (chooseGroups): compute the size of Miscellaneous 2000-10-07 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-07 Pixel <pixel@mandrakesoft.com> * share/compssList: don't install locales-* even in 'all' install (those files are usefull if RPM_INSTALL_LANG doesn't include that lang) 2000-10-07 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-07 Pixel <pixel@mandrakesoft.com> * pkgs.pm (install): log the gonna be installed packages (-> be able to track not installed packages that should have been installed) 2000-10-06 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-06 dam's <damien@mandrakesoft.com> * netconnect.pm (pppConfig): the domain used for kppp is copied in resolv.conf (intro): connection detection improved : now use "ifconfig | grep interface" (pppConfig): corrected cnx_up/down 2000-10-06 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-06 Pixel <pixel@mandrakesoft.com> * install_steps.pm (afterInstallPackages): don't fail if kdeglobals file is not there * share/compssUsers.desktop: fix icons * detect_devices.pm (cdroms): fix for scsi cdrom drives * pci_probing/pcitable: put cs46xx instead of snd-card-cs461x (dixit jeff) * diskdrake.pm (Resize): comment ext2&reiserfs resizing for the moment 2000-10-06 Frederic Lepied <flepied@mandrakesoft.com> * Xconfigurator.pm (write_XF86Config): added mode of wacom devices 2000-10-06 dam's <damien@mandrakesoft.com> * netconnect.pm (ask_connect_now): connection is now tested. 2000-10-06 François Pons <fpons@mandrakesoft.com> * install_steps_interactive.pm, install_steps_gtk.pm: updated license. * Xconfigurator.pm: removed Matrox G200/G400 3D acceleration by DRI, use only Mesa with Utah GLX, fixed autologin for avoiding drakres and no wm available, moved Riva128 card from experimental to stable, fixed presentations of text. * pci_probing/pcitable: fixed Cirrus Logic sound card. 2000-10-06 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-06 François Pons <fpons@mandrakesoft.com> * install2.pm: fixed bad call to hasUsb... * share/Cards+: fixed wrong use of SiS card with 4.0.1, only keep 530, 620 and 6326 with XFree 4.0.1. 2000-10-06 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-06 Pixel <pixel@mandrakesoft.com> * share/list: remove /usr/X11R6/lib/X11/Cards, not needed anymore * install_steps.pm (afterInstallPackages): put the Charset in kdeglobals, otherwise kde uses charset iso8859-1 :( * lang.pm (charset): created * common.pm (update_userkderc): fix it, change the argument passing 2000-10-05 Pixel <pixel@mandrakesoft.com> * share/compssList: raise kde-i18n-*, should be installed whenever kdebase is installed * pci_probing/pcitable: integrate patch from viet (concerns sym53c8xx cards) * share/compssUsers: use "documentation" as the database icon * install_steps_interactive.pm (chooseGroups): fix to accept icons not in the format "*_section.xpm" * install2.pm (miscellaneous): put yes/no in sysconfig/usb entries 2000-10-05 dam's <damien@mandrakesoft.com> * netconnect.pm (adsl_conf): updated pppoe conf. (main): added $netc->{minus_one} to avoid to count dhcp configured eth when asking to share the connection. (adsl-pppoe): improvement. Should work now. (miscellaneous): corrected chmod 755 to 744 for connections scripts * netconnect.pm (main): network is stopped then started, instead of restarted. 2000-10-05 François Pons <fpons@mandrakesoft.com> * live_install: added icons (this fixes the yellow on white tooltips problem). * install_any.pm: added ghostscript-utils in the list of packages to copy when changing CD. * printerdrake.pm: install ghostscript-utils if a lexmark printer is selected on cups. 2000-10-05 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-05 Pixel <pixel@mandrakesoft.com> * install_any.pm (loadO): look for auto_inst.cfg in /, not in /Mandrake/base 2000-10-05 François Pons <fpons@mandrakesoft.com> * netconnect.pm: fixed syntax error. * share/po/i18n_compssUsers: simplified version and fixed dependancies to pkgs.pm (for building drakxtools). 2000-10-04 François Pons <fpons@mandrakesoft.com> * install_gtk.pm: removed 80 pixel on height for live upgrade. * install_steps.pm: do not set keyboard when live upgrade after setting the language. * install_steps_gtk.pm: fixed the trying to start a X server on live. 2000-10-04 Pixel <pixel@mandrakesoft.com> * share/po/i18n_compssUsers: fake module ``c'' so that no need to build DrakX to use i18n_compssUsers * install_steps_interactive.pm (selectLanguage): update license * install_steps_gtk.pm (installPackages): add second license for shitty soft (commercial one) 2000-10-04 dam's <damien@mandrakesoft.com> * draknet (netconnect.pm and network.pm): various translations corrected, network is restarted, buttons connect/disconnect debugged. 2000-10-04 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-04 Pixel <pixel@mandrakesoft.com> * Xconfigurator.pm (main): kill prefdm instead of autologin * install_any.pm (find_root_parts): don't use suggest_mount_points, it couldn't do what we wanted (guess_mount_point): created, contains the common stuff between suggest_mount_points and find_root_parts 2000-10-04 Guillaume Cottenceau <gc@mandrakesoft.com> * standalone/drakgw: fix some failing/untranslated i18n messages * share/po/fr.po: write translations according to drakgw 2000-10-04 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: removed bad card for 3D Rage Pro. * install_any.pm: removed Aurora for SiS card, add more case for detecting right cdrom for live upgrade, fixed wrong list of packages for laptops. * c/stuff.xs.pm: added time interval of 200ms between update of progression bar of install, make sure the last step is seen. 2000-10-04 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-04 Pixel <pixel@mandrakesoft.com> * modules.pm (when_load): stricter regexp for $type is scsi or not (so that scsi_mod with is scsi_raw doesn't get an alias scsi_hostadapter) * detect_devices.pm (isLS120Drive): extend the regexp to include "Caleb Technology - 144MB FDD UHD Floppy" * detect_devices.pm (burners, IDEburners): reworked, renamed, now works! * c/stuff.xs.pm (isBurner): created * modules.pm (load_ide): make sure ide-cd is loaded! * install_steps_interactive.pm (chooseGroups): the label and help are now translated (at least will be), so use the translations 2000-10-03 Pixel <pixel@mandrakesoft.com> * share/po/Makefile (DrakX.pot): added the to-be-translated from compssUsers * share/po/i18n_compssUsers: read the compssUsers's and output the to-be-translated in po format * log.pm (l): log to STDERR instead of STDOUT * install_any.pm (loadO): use first floppy drive available (won't help much though, as stage1 doesn't follow this...) 2000-10-03 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-03 Pixel <pixel@mandrakesoft.com> * Xconfigurator.pm (autologin): don't propose autologin in security > 3 * common.pm (availableRamMB): HACK HACK if i810 and memsize, returns 127 * bootloader.pm (suggest): don't use grub if more than 800MB 2000-10-04 Guillaume Cottenceau <gc@mandrakesoft.com> * share/po/validate.pl: create this tool * share/po/fr.po: fix many typos * share/po/fr.po: make compssUsers translation 2000-10-03 François Pons <fpons@mandrakesoft.com> * Xconfigurator_consts.pm: changed resolution allocation. * fs.pm: removed no more used log. * install2.pm: add exit button if live upgrade. * install_any.pm: increased minimal available size to 65Mb. * install_steps.pm, standalone/printerdrake: fixed cups to CUPS for mode. * printerdrake.pm: fixed not_edit for lpr mode of printerdrake. * share/Cards+: fixed Savage2000 entry. 2000-10-03 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-03 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: updated bad card with Rage Mobility card. * live_install: added test of root user, abort if not root. 2000-10-03 Guillaume Cottenceau <gc@mandrakesoft.com> * share/po/fr.po: fixed bug #518 and fixed other misc errors 2000-10-03 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-10-02 François Pons <fpons@mandrakesoft.com> * diskdrake.pm (Resize): fix to make ext2resizing work a little better * install_steps.pm: fixed installation of urpmi configuration. * detect_devices.pm: updated comment about UltraDMA66/100 management. * modules.pm: updated comment about UltraDMA66/100 management. * diskdrake.pm: adding a cylinder for the minimum of the resize and if there is nothing to do for resize, simply return. * install_any.pm: added missing require pkgs. 2000-10-02 Pixel <pixel@mandrakesoft.com> * many files: remove many lnx4win special cases which are not needed anymore * any.pm (addUsers): grpuser output goes to Mr Dave * bootloader.pm (install_lilo): change the default color of menu * install_steps_interactive.pm (choosePackages): add 300MB choice in desktop * mouse.pm (fullnames): fix i18n fix * install_steps.pm (miscellaneous): don't add ide2=0x... for ultra66 (otherwise chmouel is not happy, so is hdc being hde) * Xconfigurator.pm (main): add handling of icewm logout * c/stuff.xs.pm: changed the stepping of "Progressing installing package" 2000-10-02 dam's <damien@mandrakesoft.com> * netconnect.pm (main): infos are written only when needed. * netconnect.pm (intro): connection checking now works. 2000-10-02 Chmouel Boudjnah <chmouel@mandrakesoft.com> * pci_probing/pcitable: s|snd-card-via686a|via82cxxx_audio|; like jeff request. 2000-09-30 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-30 dam's <damien@mandrakesoft.com> * netconnect.pm: a LOT of bugs fixed. draknet is now completely brok^H^H^H^Hfrozen. 2000-09-29 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-29 dam's <damien@mandrakesoft.com> * netconnect.pm (adsl_conf): dhcp should better work. * network.pm (configureNetwork): remove connection script if a gateway is given. * common.pm (setVarsInShMode): created. chmod the file with permissions passed in argument. 2000-09-29 François Pons <fpons@mandrakesoft.com> * modules.pm (load): fixed when standalone, use modprobe. * pkgs.pm: added preference for wu-ftpd. * detect_devices.pm: added code to proble USB printer. * printer.pm: fixed missing PRINTER=yes on CUPS configuration for USB printer. * install_steps.pm: removed possibilty to add an user in urpmi group (jloup). * install_steps_interactive.pm: log if CD not ejectable. 2000-09-29 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: sync with latest packages * install_steps_interactive.pm (selectLanguage($)): s/42/43/ in MandrakeSoft physical address 2000-09-29 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-29 dam's <damien@mandrakesoft.com> * netconnect.pm (intro): detection of internet configuration/connexion state. * network.pm (write_resolv_conf): better "ppp temp nameserver" in resolv.conf 2000-09-28 Pixel <pixel@mandrakesoft.com> * modules.pm (load_thiskind): add read_already_loaded cuz of pcmcia 2000-09-28 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: add nasty DrakSync and DrakProfile with 50 0 50 2000-09-28 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-28 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (choosePackages): the minimum is 25 in beginner, not 10 * pkgs.pm (readCompssUsers): fix reading description * install_steps.pm (afterInstallPackages): remove the code to handle RPM-GPG-KEYS 2000-09-28 dam's <damien@mandrakesoft.com> * interactive_gtk.pm (ask_from_list_with_helpW): no more theme parsing, no more draknet.rc * netconnect.pm (read_net_conf): no adsl tree anymore. * netconnect.pm: drakgw called if enough card are installed. * netconnect.pm: minor bugs correction. 2000-09-28 François Pons <fpons@mandrakesoft.com> * Makefile.config: added livedrake for drakxtools. * diskdrake.pm: use corrected partition size when resizing a dos partition (like the others). * install_any.pm: no more pnm2ppa packages and others in package to copy when changing CD. * live_install: exec live_install2 instead. * live_install2: contains post live upgrade stuff now. * printerdrake.pm: protect set_help() usage by if $::isInstall, removed reference to package pnm2ppa and others. * standalone/livedrake: initial release for drakxtools. 2000-09-28 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-28 Pixel <pixel@mandrakesoft.com> * install_interactive.pm (partitionWizardSolutions): fix the limit cases for lnx4win * share/po/Makefile ($(PMSCFILES)): fix the DrakX.pot generation 2000-09-27 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (choosePackages): set $size2install to $availableC in desktop install, as it should be * install2.pm (choosePackages): remove the code for removing kdesu in high security... * install_steps_interactive.pm (createBootdisk): format more nicely the text * install_steps_gtk.pm (installPackages): add 10 seconds to have a better estimation * install_steps_interactive.pm (chooseGroups): now returns a boolean (choosePackages): use chooseGroups return value to redo choosePackages * install_steps_gtk.pm (selectMouse): if mouse type is none, then don't test! * Xconfigurator.pm (monitorConfiguration): rename Unlisted to Custom * various: replace all Rescue by Update * pkgs.pm (readCompssUsers): read description for groups * install_steps_interactive.pm (chooseGroups): add description for groups 2000-09-27 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssUsers.desktop: added description * share/compssUsers: added description * share/compssUsers.desktop: added icon support, reordered, renamed * share/compssUsers: reordered, renamed 2000-09-27 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-27 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (selectLanguage): intregrate license again * pkgs.pm (readCompssUsers): reads compssUsers.meta_class * diskdrake.pm (Create): replace ``ne "i386"'' by ``!~ /i.86/'' (as should be) * install_steps_gtk.pm (selectInstallClass1): if @$l (list of install classes) contains only one element, call install_steps_interactive::selectInstallClass1 * install_steps_interactive.pm (choosePartitionsToFormat): fix for "no partitions selected to format" * my_gtk.pm (_create_window): alt-e now *toggles* expert/newbie 2000-09-27 Guillaume Cottenceau <gc@mandrakesoft.com> * share/compssList: more for gnupg, -11 for sucking things, changed compss-groups to be less than 70. * share/compssUsers: modified compssUsers with Warly, added compssUsers.desktop, simplified for KD (now uses Graphical Desktop/KDE instead of listing all relevant packages) 2000-09-27 dam's <damien@mandrakesoft.com> * netconnect.pm (get_info_adsl_providers, read_adsl_providers): Created. adsl provider tree. (set_net_conf): better informations storing. * my_gtk.pm (new): windows are always centered if standalone. 2000-09-27 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: added option "sw_cursor" for S3 Trio3D. fixed 3D hw acceleration for i815 (VideoRam). prefer XF3 for all NeoMagic cards. * install_gtk.pm: re-enabled themes on live upgrade but without modifying background image. * install_steps_gtk.pm: fixed missing help. * live_install: lot of fixes to enable DrakX font, keep upgraded system clean (libperl.so which allows graphical login). * pkgs.pm: added function allowedToUpgrade to filter kernel package. 2000-09-27 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-27 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (configureX): if `clicked' don't go to auto mode * Xconfigurator.pm (monitorConfiguration): fix the translated 'Generic' which is not so (and must not be so) anymore 2000-09-26 Pixel <pixel@mandrakesoft.com> * pkgs.pm: remove all Unskip code * my_gtk.pm (_create_window): add shortcut alt-e to switch to expert * Xconfigurator.pm (resolutionsConfiguration): fix for setting legal resolution * install_steps_interactive.pm (selectLanguage): use formatAlaTeX on the license 2000-09-26 François Pons <fpons@mandrakesoft.com> * fs.pm: added mounting of swap partition when mounting them all (this can help :-) * pkgs.pm: fixed correction size code to make (really) a true bijection between corrected and rpm size. 2000-09-26 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-26 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (selectLanguage): integrate the license (temporary one) * modules.pm (write_conf): fix the /etc/modules generation * interactive_gtk.pm (ask_many_from_listW): if more than 5 entries in icon format, use scrollbar. In non-icon format, use scrollbar for more than 11 entries. * commands.pm (bug): add ddcxinfos * pci_probing/pcitable: replace tulip by de4x5 for 2104x cards 2000-09-26 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: added more 3D Rage Pro card for 3D acceleration with Utah-GLX (Rage Mobility, Rage XC/XL), modified identification for checking acceleration. * install_any.pm: added automatic installation (up 60) for OpenGL games if a graphic card MAY BE accelerated. * live_install: fixed perl idioms in pure shell script and added packdrake symlink if not already installed. * share/compssList: changed level to -1 for all needing 3D hw acceleration packages. 2000-09-26 dam's <damien@mandrakesoft.com> * network.pm (write_resolv_conf): write temp dns line to be used with new initscripts package. Use to set dns live. 2000-09-26 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-26 Pixel <pixel@mandrakesoft.com> * mouse.pm (read): catch exception if fullname2mouse fails (eg: old FULLNAME format) 2000-09-25 Pixel <pixel@mandrakesoft.com> * share/MonitorsDB: merge with latest redhat MonitorsDB * pci_probing/pcitable: major merge with latest redhat pcitable * share/Cards+: added "Intel 815", renamed "Rage 128 (generic)" to "Rage 128", added "Rage 128 Mobility" * install_any.pm (getAvailableSpace): keep 10% of free space on big partitions * Xconfigurator.pm (readMonitorsDB): don't translate Generic (otherwise, only a part is translated, see MonitorsDB for the non-translated part) * interactive.pm (ask_many_from_list): fix sorting * install_gtk.pm (test_mouse): smaller box to fit in 640x480 * install_steps.pm (afterInstallPackages, beforeInstallPackages): RPM-GPG-KEYS is copied before installing packages * pkgs.pm (readCompssUsers): handle icons in compssUsers * common.pm (truncate_list): ensure the list is not too big * install_steps_gtk.pm (choosePackagesTree): restrict the list to 20 elements if it is too big (use truncate_list) 2000-09-25 François Pons <fpons@mandrakesoft.com> * bootloader.pm: add Video mode for entry. * fs.pm: updated for live upgrade. * install2.pm: dropped unuseful steps filtering. * install_any.pm: fixed wrong Device3Dfx package name and clean postinstall rpms directory on upgrade before filling it. * install_gtk.pm: removed window restrictions of live upgrade. * install_steps.pm: fixed initrd symlink following in case of upgrade. * install_steps_gtk.pm, install_steps_interactive.pm: keep always upgrade on live upgrade. * modules.pm: may fixed pcmcia lost driver (typically on network). * pkgs.pm: fixed (uggly?) usage of floating perl data on perl script :-) * printer.pm: back to "Generic PostScript" for default printer (jloup). * printerdrake.pm: make sure an expert can choose among available devices. 2000-09-25 dam's <damien@mandrakesoft.com> * network.pm (write_resolv_conf): write '# ppp temp entry adsl' in /etc/resolv.conf if needed. * netconnect.pm : adsl connection does'nt need any dns anymore. * netconnect.pm (read_net_conf): created. draknet now stores and reload the config. * netconnect.pm (main): if the user is french and uses french keyboard, don't ask his country. 2000-09-25 Pixel <pixel@mandrakesoft.com> * modules.pm: added 8139too * share/Cards+: GeForce2 DDR is handled by driver "nv" * Xconfigurator.pm (main): in killall X for Xdrakres, also killall kdm/xdm/gdm/autologin :) 2000-09-25 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-25 dam's <damien@mandrakesoft.com> * network.pm (configureNetwork): Warn user if he already configured the interface. 2000-09-24 Pixel <pixel@mandrakesoft.com> * modules.pm (mergein_conf): created. call read_conf, fills %modules::conf and set $modules::scsi 2000-09-24 Guillaume Cottenceau <gc@mandrakesoft.com> * standalone/drakgw (fatal_quit($)): add log of reason of fatal_quit 2000-09-24 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-24 Pixel <pixel@mandrakesoft.com> * commands.pm (bug): use first floppy drive instead of fd0 hard coded (nice for LS120's) * install_steps_gtk.pm (selectMouse): if device changed, do the test * standalone/mousedrake: fix for serial mice * install_steps_interactive.pm (selectMouse): fix for serial mice 2000-09-23 dam's <damien@mandrakesoft.com> * netconnect.pm (conf_network_card): now displays the modules of detected ethernet cards. 2000-09-22 dam's <damien@mandrakesoft.com> * netconnect.pm (main): calls drakegw. * netconnect.pm (get_net_device): fixed 2000-09-22 Guillaume Cottenceau <gc@mandrakesoft.com> * standalone/drakgw: - added logs - added verbose mode - fixed wrong stopping of named in other languages than english * netconnect.pm (get_net_device): try to fix it.. 2000-09-22 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (selectKeyboard, choosePartitionsToFormat, chooseCD, installCrypto): use new ask_many_from_list (): * interactive.pm (ask_many_from_list): now only ask_many_from_list exists, obsoleting ask_many_from_list_ref and ask_many_from_list_with_help. More flexible and nicer * interactive_newt.pm (ask_many_from_listW): adapted to new calling type * interactive_gtk.pm (ask_many_from_listW): adapted to new calling type, handle 'shadow' and 'icon2f' 2000-09-22 Pixel <pixel@mandrakesoft.com> * install2.pm (main): if /lnx4win/i in VERSION, set $o->{lnx4win} * Xconfigurator.pm (cardConfiguration): fix setting 4MB of meg for i810 (testFinalConfig): i810 is a verybad_card, aka can't test anything on it :-( (main): fork to background and stay there while waiting for the WM to exit (testFinalConfig): update the backgroung image path * interactive_gtk.pm (exit): flush X before leaving (otherwise the mousecursor is not restored) * run_program.pm (rooted): don't redirect the stdout and stderr to ddebug.log if not $::isInstall * log.pm (l): log on stdout/stderr if !isInstall and !isStandalone * modules.pm (load_raw): redirect stderr to tty5 * install2.pm (main): set variable $::isInstall 2000-09-22 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-22 Guillaume Cottenceau <gc@mandrakesoft.com> * standalone/drakgw: now includes information from netconnect to ignore the interface used for Internet connection 2000-09-22 dam's <damien@mandrakesoft.com> * install_steps_gtk.pm (selectInstallClass1): pixel's typo. * netconnect.pm (get_net_device): added get_net_device to know which interface has been used to configure the internet connection. (conf_network_card): ask to restart network if dhcp too. (main): enable dialing when modem. * network.pm (configureNetworkIntf): changed label to warn people about already configured eth cards. 2000-09-22 François Pons <fpons@mandrakesoft.com> * install_gtk.pm: added Desktop themes. * share/themes-mdk-Desktop.rc, share/themes/mdk-Desktop-bg.png: initial release. * install2.pm: moved back to all steps for live upgrade. * install_gtk.pm: select right logo if desktop. * install_steps_interactive, install_steps_gtk.pm: avoid asking if upgrade for a live upgrade. 2000-09-22 Pixel <pixel@mandrakesoft.com> * install_steps.pm: add some call to log_sizes to log the installed size * install_steps_gtk.pm (installPackages): beep before changeMedium 2000-09-21 Pixel <pixel@mandrakesoft.com> * interactive.pm (ask_from_listf): try to call the f translation function on the default value with the index * install_steps.pm (afterInstallPackages): make the gpg code work, changed the call to "gpg --fast-import --homedir /etc/rpm /root/tmp/RPM-GPG-KEYS" * detect_devices.pm: cleanup and removed unused code 2000-09-21 Guillaume Cottenceau <gc@mandrakesoft.com> * detect_devices.pm (getNet()): really remove plip in standalone 2000-09-21 François Pons <fpons@mandrakesoft.com> * install_steps.pm, netconnect.pm: changed NETWORKING reference from false to no. * printer.pm: changed timeout from 30 to 60. * printerdrake.pm: added wait message when waiting for cups to start. * pci_probing/pcitable: added erwan VIA Rhine board. * network.pm: added DHCP_HOSTNAME reference. 2000-09-21 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-21 Pixel <pixel@mandrakesoft.com> * standalone/keyboarddrake: fix for XF4 * Xconfigurator.pm (write_XF86Config): comment the omit xfree86-dga * install_steps.pm (afterInstallPackages): configure GPG public keyring with mandrake key * standalone/mousedrake: updated/fixed for new mouse handling * install2.pm (main): update for handling oem installs * many files: relGetFile cleanup, updated calls to getFile and getAndSaveFile accordingly * Xconfigurator.pm (testFinalConfig): new XFdrake-image-test.jpg * detect_devices.pm (@netdevices): plip removed in standalone, otherwise plip is always there (because of kmod) * install_steps_interactive.pm (choosePartitionsToFormat): replace the die "cancel" by die "already displayed", so that no error is displayed. * pci_probing/pcitable: replace some rtl8139 by 8139too, added cards DELTA8139 and ADDTRON8139 (for jeff) * Xconfigurator.pm (show_info): also show the colordepth and resolution. don't show server if none, show XF4 driver if there's one. (main): change the "Forget the changes" to "Keep the changes?" with displaying the current configuration. 2000-09-21 François Pons <fpons@mandrakesoft.com> * printer.pm: changed "PostScript" ppd default description to "Raw queue (no filtering)", asked by Till. * Xconfigurator.pm: add log of what user select for 3D hw acceleration. * share/compssList: changed XFree86-glide-module to -2 because the level is the same for XFree86-Glide* which may have multiple different version installed due to dependancies of the first one. 2000-09-21 dam's <damien@mandrakesoft.com> * netconnect.pm (conf_network_card): added check when dhcp. Cable connection should now work. 2000-09-21 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-21 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (exitInstall): call $o->exit if "Some steps are not completed" 2000-09-20 Pixel <pixel@mandrakesoft.com> * bootloader.pm (install_loadlin_config_sys, install_loadlin_desktop): extracted from install_loadlin, do not call them anymore (remove it?) (suggest): put grub in lnx4win install * common.pm (availableRamMB): fixed (round to a multiple of 4) 2000-09-20 dam's <damien@mandrakesoft.com> * netconnect.pm (get_info_isdn_providers & read_isdn_providers): read file in /usr/share and $prefix/usr/share (isdn_write_config): corrected file to be sh compliant. (isdn_write_config): added default route settings for isdn. 2000-09-20 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-20 Pixel <pixel@mandrakesoft.com> * pci_probing/pcitable: replace es1371 by snd-card-ens1371 2000-09-20 dam's <damien@mandrakesoft.com> * Xconfigurator.pm (autologin): for urpmi, added `--best-output' and suspend/resume 2000-09-20 Guillaume Cottenceau <gc@mandrakesoft.com> * standalone/printerdrake: for urpmi, added `--best-output' and suspend/resume * standalone/XFdrake: for urpmi, added `--best-output' and suspend/resume 2000-09-20 dam's <damien@mandrakesoft.com> * standalone/draknet: used new package install function. 2000-09-20 Pixel <pixel@mandrakesoft.com> * detect_devices.pm (isFloppyOrHD): detects wether a device is a floppy or not based on its size (for scsi floppy) * Xconfigurator.pm (testFinalConfig): check if "server" OR "driver" field is set (otherwise XF4 only card won't pass) * bootloader.pm (suggest): fix for ``installing the last cooker from kenobi:/I on an smp machine i don't get anymore an entry for linux-up'' (c chmouel) 2000-09-20 dam's <damien@mandrakesoft.com> * netconnect.pm (read_isdn_providers): corrected typo ($_ -> $_[0]) 2000-09-20 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-19 Pixel <pixel@mandrakesoft.com> * modules.pm (get_pcmcia_devices): fix (especially, now ethernet should be detected) * lang.pm (get_langs): created, gives rpm install langs * install_any.pm (setPackages): give langs::get_langs() to readCompssList * pkgs.pm (readCompssList): don't use RPM_INSTALL_LANG, use given $langs instead. This fixes the RPM_INSTALL_LANG=all install. 2000-09-19 Pablo Saratxaga <pablo@mandrakesoft.com> * netconnect.pm: make dhcp-client, pump and such not translatable. Those are program names and should therefore not be translated, that only confuses translators 2000-09-19 dam's <damien@mandrakesoft.com> * Xconfigurator.pm (autologin): corrected @users definition and passwd cat. 2000-09-19 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-19 Pixel <pixel@mandrakesoft.com> * many files: changed some access to get_root to get_root_ * install_steps_interactive.pm (choosePackages): added code for desktop meta_class install type * install_steps_gtk.pm (selectMouse): cleanup, give parameter emulate3buttons to setMouseLive * c/stuff.xs.pm (setMouseLive): add argument emulate3buttons 2000-09-19 Guillaume Cottenceau <gc@mandrakesoft.com> * interactive*.pm: changed `suspend' and `resume' to behave as expected, added `enter_console' and `leave_console' 2000-09-19 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-19 Pixel <pixel@mandrakesoft.com> * install2.pm (miscellaneous): replaced LITTLE_FRIED_OIGNONS by META_CLASS * Xconfigurator.pm (cardConfiguration): when ddcxinfos gives false result (not enough VideoRam), also remove the found resolutions * Xconfigurator.pm (main): remove the automatic searching of resolutions * Xconfigurator.pm (resolutionsConfiguration): cleanup, remove the automatic searching of resolutions. * mouse.pm (fullnames): changed the `_' in `[' before Other (nicer, uh?) * install2.pm (selectMouse): changed clicked to !first_time 2000-09-19 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-19 Pixel <pixel@mandrakesoft.com> * Xconfigurator.pm (testFinalConfig): remove the bloody prototype 2000-09-19 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-18 Dam's <damien@mandrakesoft.com> * Xconfigurator (autologin): do it eve, if newbie. Autologin is now in separated function. 2000-09-18 Pixel <pixel@mandrakesoft.com> * Xconfigurator.pm (testFinalConfig): don't skip the test in auto if called via "Test again" * Xconfigurator.pm (resolutionsConfiguration): ensure all depth are bounded * bootloader.pm (suggest): don't put "linux-nonfb" if "linux" is classic and no-fb * fsedit.pm (check_mntpoint): add a check for /etc /lib... which must not be mount points. Also check that /home, /tmp and /usr are on trueFS * interactive.pm (ask_from_entries_ref): add bounding of "val" in case of type "range". die if min > max. 2000-09-18 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-18 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (choosePartitionsToFormat): nicer partition/device display * partition_table_raw.pm (zero_MBR): add on the fly require of the good partition_table_$type * detect_devices.pm (cdroms): fix (yet again) the scd$nb device assignment to ide burners * install_steps.pm (afterInstallPackages): comment out a part of the icons mess messing * Xconfigurator.pm (cardConfiguration): move Unlisted to Other/Unlisted * share/CardsNames: updated (for Voodoo5) * install_steps_gtk.pm (selectMouse): fix the test to know wether the guy has changed the mouse type (to know wether to test the mouse or not) * install_steps_interactive.pm (selectLanguage): add the license * install_steps_interactive.pm (choosePackages): have the "Recommended" size be the default (in the choice Minimum/Recommanded/Complete) * diskdrake.pm (Type): fix a typo * install_steps.pm (doPartitionDisksAfter): mark partition as mounted 2000-09-17 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-17 Pixel <pixel@mandrakesoft.com> * install/pcmcia_config.patch: cleaned * diskdrake.pm (Create, Type): have type field not_editable * tools/make_mdkinst_stage2: use TMPDIR if available 2000-09-16 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (choosePartitionsToFormat): move the setting of toFormat before asking for bad blocks, seems to fix things?? weird :-/ * network.pm (miscellaneousNetwork): fix the setting of focus on error (tx2Thomas Poindessous :) * install_steps_interactive.pm (configurePrinter): changed "Cancel" to "None" (for Thomas Poindessous :) * printer.pm (poll_ppd_base): max polling time raised from 10s to 30s (for Till) * install_steps.pm (ask_mntpoint_s): don't force partition type to be ext2 (at least if it's a known fs) (for Warly) 2000-09-15 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-15 Pixel <pixel@mandrakesoft.com> * install_steps_gtk.pm (set_help): save the help message displayed in $o->{current_help} * install_gtk.pm (create_big_help): display $o->{current_help} * mouse.pm: reworked quite a lot. Now sorts/categorize nicely the mice. * install_steps_interactive.pm (selectMouse): adapted for reworked mouse.pm * install2.pm (selectMouse): adapted for mouse::read now returning an hash ref * detect_devices.pm (hasMousePS2): remove hasMouseMacUSB, do it in one function (now takes the device in the parameter) * interactive.pm (ask_from_treelistf): added (just like ask_from_listf, but with a tree) * Xconfigurator.pm: the reference is now nbuttons to know wether to put Emulate3Buttons or ZAxisMapping. * Xconfigurator.pm (cardConfiguration): install Glide_V3-DRI on Banshee too. * Xconfig.pm: guess nbuttons based on Emulate3Buttons and ZAxisMapping. * common.pm (availableRamMB): replace availableRam, now use the size of /proc/kcore (what else to find the real ramsize?) * common.pm (cat__): created * install2.pm (main): add field meta_class in $o. Can be 'desktop', in case option desktop is given, or if /desktop/i is found in /VERSION * install_steps.pm (miscellaneous): for lnx4win, always have 'mem=' (so that the initrd is visible by both windows * install2.pm (main): add option "desktop" * install_any.pm (generate_ks_cfg): fix for new(?) $o->{intf} format * install_interactive.pm (partitionWizardSolutions): use only TrueFS for existing_part (partitionWizard): have only "loopback" for lnx4win * pci_probing/pcitable: associate Voodoo5 with Voodoo5 * share/Cards+: add Voodoo5 * bootloader.pm (suggest): add entry linux-nonfb (called linux-up for smp) 2000-09-14 DrakX <install@linux-mandrake.com> * snapshot uploaded 2000-09-12 François Pons <fpons@mandrakesoft.com> * detect_devices.pm, mouse.pm: moved probing serial port before to detect a wacom tablet (even if a PS/2 or USB mouse is found). * help.pm: corrected reference to previous version of LM (jloup). * install2.pm: removed duplicate code for getting network configuration, using network module. * netconnect.pm: intf is now a hash and no more an array. * network.pm: changed nature of intf to hash from array, reworked write_resolv_conf function to keep old code in comment but only when not used anymore (to make it easier by hand modification). * printer.pm: SOCKET accessible to expert only (jloup). * printerdrake.pm: local port only available for expert if a printer has been detected (jloup). 2000-09-11 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: reorganized choices of 3D optimizations, added experimental support for expert users. * install_steps_interactive.pm: removed question to keep XF3. 2000-09-05 François Pons <fpons@mandrakesoft.com> * printerdrake.pm: removed all previous URI specific mode and added socket and expert URI general mode. * printer.pm: fixed bugs, start lo interface before cups. 2000-09-04 François Pons <fpons@mandrakesoft.com> * printerdrake.pm: added pnm2ppa and lm110 support in cups configuration. probe for printer device (parallel) and try to install usb for printer. * printer.pm: removed local printer configuration for cups (keep only local configuration using URI). 2000-09-01 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: fixes to configure XF86Config-4 when XFree-3.3 is installed, make 16bits by default on 3D hardware acceleration, fixed selection of hardware for hardware acceleration. * install_steps.pm: add cups for printer configuration, used for auto_install. added new function to add packages only if requires are already satisfied. * standalone/printerdrake: updated. 2000-08-31 dam's <damien@mandrakesoft.com> * moved many things to network.pm and any.pm * everything should be broken now. 2000-08-31 François Pons <fpons@mandrakesoft.com> * install2.pm: removed printer default config (now obsoleted). * install_steps_interactive.pm: add cups support. * printerdrake.pm: add cups support. * printer.pm: add cups support. 2000-08-31 Frederic Lepied <flepied@mandrakesoft.com> * install_any.pm (setPackages): install the right glide module according to the Voodoo card detected. * Xconfigurator.pm (write_XF86Config): ZAxisMapping for XF 4. (autoDefaultDepth): default depth to 16 for Voodoo cards except for Voodo5 ones. 2000-08-29 dam's <damien@mandrakesoft.com> * moved pppConfig in netconnect.pm and any.pm * moved miscellaneousNetwork in any * modem configuration is now useable in standalone mode. 2000-08-29 David BAUDENS <baudens@mandrakesoft.com> * install_steps_interactive.pm: change Small/Normal/Full -> Minimum/Recommanded/Complete (aka make FredB happy) 2000-08-28 dam's <damien@mandrakesoft.com> * draknet (netconnect): renamed drakfuck -> draknet. standard ADSL and french alcatel ADSL implemented. * Xconfigurator.pm (autologin) : use of the new autologin system. 2000-08-24 François Pons <fpons@mandrakesoft.com> * ../update_kernel*: changed reference from extract_archive to packadrake. * Makefile*: added live_install and live_install2. * Xconfigurator.pm: updated Mach64 acceleration to only 3D Rage Pro AGP card type, commented SiS and S3ViRGE support by GLX. * commands.pm, keyboard.pm, lang.pm, pkgs.pm, list, tools/*: updated to use packdrake now. * install2.pm, install_steps.pm, install_steps_gtk, Makefile*: manage live upgrade. * modules.pm: use standard modprobe command for load in live upgrade. * netconnect.pm: added minimal modification for being compilable. * rescue/list: added packdrake and sfdisk. * live_install, live_install2: live upgrade of package. 2000-08-22 dam's <damien@mandrakesoft.com> * drakfuck (netconnect):finished isdn PCI/ISA card implemetation * added isdndb.net: providers database 2000-08-20 dam's <damien@mandrakesoft.com> * moved Netconnect.pm to netconnect.pm * moved DrakFuck to drakfuck 2000-08-18 Pixel <pixel@mandrakesoft.com> * share/Cards+: for i810, force VideoRam 2000-08-18 dam's <damien@mandrakesoft.com> * modules.pm: added isdn type in @drivers_by_category. corrected load_thiskind (thx pixel) : it's not unsafe anymore * Netconnect.pm: just display PCI isdn card recognized. 2000-08-17 Pixel <pixel@mandrakesoft.com> * install_any.pm: many cleanup. moved some functions to common, any or install_interactive (newly created) 2000-08-16 dam's <damien@mandrakesoft.com> * install_steps_interactive.pm(configureNetwork): added call to isdn configuration * added standalone/DrakFuck: standalone entry point to configure internet connexion. * added Netconnect.pm: internet connexion functions. 2000-08-11 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (selectInstallClass): yet a bigger warning so that people don't choose expert installs. Also set the focus on "Custom" by default. * install_steps_interactive.pm (doPartitionDisks): created, calls the wizard. * install_steps.pm (doPartitionDisksBefore, doPartitionDisksAfter): created (was mainly in install2::doPartitionDisks) * install2.pm (doPartitionDisks): much cleanup * install_any.pm (partitionWizard): working state (still rough) 2000-08-08 Pixel <pixel@mandrakesoft.com> * standalone/rpmdrake (AddMedia): fix the ftp addmedia, fix the cdrom addmedia 2000-08-07 Pixel <pixel@mandrakesoft.com> * diskdrake.pm (Resize): * install_steps_gtk.pm (doPartitionDisks): remove the before_leaving ensuring the filehandle is closed * resize_fat/main.pm (DESTROY): use a better solution for ensuring the filehandle is closed 2000-08-07 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: added SiS6326 in the list of chipset that needVideoRam, reported on ml. * install_steps.pm: fixed auto install of printer. 2000-08-06 Pixel <pixel@mandrakesoft.com> * interactive.pm (ask_from_listf): created this GREAT function that should have been created a long time ago. * any.pm, install_any.pm, install_steps_gtk.pm, install_steps_interactive.pm: a lot of rewrite to use the new ask_from_listf, a lot of nice cleanup! * fs.pm (df): created, returns the free space of the part. Save it in $part->{free} * install_steps_gtk.pm (doPartitionDisks): ensure the closing of the device in case of error * resize_fat/main.pm (new): ensure the closing of the device in case of error * install_any.pm (partitionWizard): the great partitioning wizard is created. Not finished yet (nor called from anywhere) * install_steps.pm (doPartitionDisksLnx4win): created function out of doPartitionDisks * install_steps_gtk.pm (installPackages): removed the displaying of size to install (people are bothered cuz not the same size) 2000-08-06 dam's <damien@mandrakesoft.com> * install_steps_gtk.pm (create_steps_window): use drawing area instead of button. Implemented all steps events. 2000-08-05 Pixel <pixel@mandrakesoft.com> * mouse.pm (detect): test a hack for usb mouse via hub (sparhawk@enteract.com) * fsedit.pm (undo): force isDirty and needKernelReread only if hd hasBeenDirty, otherwise believe the flag saved * partition_table.pm (write): flag hd as hasBeenDirty * install2.pm: a few renaming of methods so that the step names correspond to install2 function and install_steps* methods (eg: configureX & setupXfree unified to configureX) 2000-08-04 dam's <damien@mandrakesoft.com> * any.pm (setAutoLogin): added this method to write xdm-config * Xconfigurator.pm: clenead autologin code and use of above method 2000-08-04 Pixel <pixel@mandrakesoft.com> * pkgs.pm (setSelectedFromCompssList): save $nb to able to restore it in case of max_size reached. only purpose is the log! * install_steps_interactive.pm (choosePackages): in newbie, ask between Small/Medium/Full install * install_steps_interactive.pm (choosePackages): in expert, have the min_mark be 0 instead of 1 * common.pm (find_index): added this nice function * install_any.pm (getAvailableSpace_mounted): use common::df * loopback.pm (getFree): use common::df * commands.pm (df): use common::df * common.pm (df): added * diskdrake.pm (Resize)): add resizing of reiserfs * share/list.i386: add resize_reiserfs 2000-08-02 dam's <damien@mandrakesoft.com> * Xconfigurator.pm : autologin is functionall. When wmsession.d is more up to date, I'll add the list of wm to launch at boot. It writes in /etc/X11/xdm/xdm-config. 2000-08-01 Pixel <pixel@mandrakesoft.com> * install2.pm (miscellaneous): modify as chmouel want (aka, "" instead of "no" for MOUSE and KEYBOARD in sysconfig/usb) * services.pm: separation between interaction and action. * install_steps.pm (servicesConfig): the job is now done here * install_steps_interactive.pm (servicesConfig): only the asking part 2000-08-01 François Pons <fpons@mandrakesoft.com> * pkgs.pm: fixed the below fixe, now ok. * Xconfigurator.pm: fixed a bug for using default card flags setting, add support for GeForce DDR for both 3.3 and 4.0. * pci_probing/pcitable: fixed NV15 (GeForce2) card entry, now use XFree 3.3 as unsupported in XFree 4.0. * share/Cards+: added "NVIDIA GeForce2 DDR (generic)". 2000-07-31 François Pons <fpons@mandrakesoft.com> * pkgs.pm: fixed provided package with choice in deps used with a base package, complicated but kernel-fb or similar can be unselected now. 2000-07-27 François Pons <fpons@mandrakesoft.com> * install_steps_interactive.pm: changed expert message to ask using XFree 3.3 instead of XFree 4.0 used by default (server). * Xconfigurator.pm: make sure only one server is installed, default to XFree 4.0 if supported unless XFree 3.3 accept 3D acceleration and not XFree 4.0, ask user in such case. * pci_probing/pcitable: added Intel 815 pci ids. 2000-07-26 dam's <damien@mandrakesoft.com> * install_steps_gtk.pm: applied new LN stars, logo title and help logo. improved steps appearences. * modified share/step-*.xpm * added share/help.xpm * updated ../HACKING to ling help logo. 2000-07-21 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: enable 3D acceleration configuration with XFree86, use /usr/X11R6/lib/modules/glx-3.so for X version 3 Utah-GLX accelerated module. 2000-07-20 dam's <damien@mandrakesoft.com> * Xconfigurator.pm: use {miscellaneous}{autologuser} instead of {miscellaneous}{autologuser} + {miscellaneous}{autologing}. * move some README content to ../HACKING 2000-07-19 dam's <damien@mandrakesoft.com> * Xconfigurator.pm: added autologin boxes. result is in {miscellaneous}{autologin} and in {miscellaneous}{autologuser} 2000-07-19 François Pons <fpons@mandrakesoft.com> * any.pm: added default root to existing root device when adding an entry in bootloader. * bootloader.pm: avoid duplicating entry (floppy and old-floppy) when they are identical. manage hackkernel by suggest an entry by default if installed. * install_steps.pm: reworked symlink closure for bootloader to keep previous configuration. 2000-07-11 François Pons <fpons@mandrakesoft.com> * bootloader.pm: merged lilo.pm and silo.pm inside bootloader.pm, this include a configure_entry from silo.pm to build a initrd if used. * share/compssList: added kde2 packages. * share/compssUsers: added kde2 group, renamed kde to kde1 group specific. 2000-07-07 François Pons <fpons@mandrakesoft.com> * install2.pm (choosePackages): always execute setPackage to copy hdlist* and depslist files (support mixed partitionDisks and choosePackages). * install_any.pm (setPackages): avoid clearing upgrade flag. * install_steps.pm (choosePackages): use $first_time to avoid reselection of packages according to compssList. * install_steps_interactive (choosePackages): use $first_time and $individual to avoid reselection of packages according if user go back to step choosePackages. * pkgs.pm: added psUpdateHdlistsDeps to restore hdlist* and depslist files in /var/lib/urpmi. * diskdrake.pm: fixed uneditable combo for Mount point action. 2000-06-23 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: better approach for Sun* server in newbie. * fs.pm: added romfs support for mount. * fsedit.pm: changed auto allocation for partitions for sparc*. * install2.pm: restored bootdisk creation and auto install boot disk creation for sparc*. * install_any.pm: changed vfat to romfs when mounting kickstart floppy on sparc*. * install_steps.pm: avoid proposing formating sunos partition. * install_steps_interactive.pm: boot disk for sparc* and support for installation of SILO on /boot partition (sparc*). * install_steps_newt.pm: removed cylinder 0 bug warning. * interactive.pm: fixed typo for not_edit set to 1 by default. * partition_table.pm: fixed get_holes on sparc* where a whole disk partition caused problems. * partition_table_sun.pm: removed cylinder 0 bug as found in mke2fs. * silo.pm: handle /boot partition, install silo.conf in /boot and make a symlink from /etc. * share/list.sparc: added losetup and genromfs for boot disk creation. 2000-06-21 Pablo Saratxaga <pablo@mandrakesoft.com> * lang.pm: changed the way console font data is written; not all of the [0], [1], [2] values must defined, so three cases must be used. Also added a variable $CHARSET for /etc/sysconfig/i18n; it can then be used by console-tools to load the proper compose table 2000-06-20 François Pons <fpons@mandrakesoft.com> * c/sbus.c: added some functions for silo.c integration. * c/silo.c: initial release including write in prom, and translation of disk name from openprom to linux, rh version modified. * silo.pm: added write in prom, support of sunos boot from silo. * partition_table.pm: added support for ufs partition like windows one. * install_steps_interactive.pm: added other entries in silo. * install_steps.pm: support sunos partition. * install_any.pm: automatically mount sunos partition with diskdrake. * fsedit.pm: added /mnt/sunos suggested mount point. * fs.pm: added ufs support for mount. 2000-06-19 François Pons <fpons@mandrakesoft.com> * crypto.pm: modified for getting sparc crypto file for sparc*. * modules.pm: make sure to load sd_mod when needed. * pci_probing/main.pm: always use loaw_endian in pci structs. * pci_probing/translate-pcitable.pl: added arch specific module name translation. 2000-06-16 Pixel <pixel@mandrakesoft.com> * modules.pm (write_conf): rename conf.modules to modules.conf if needed. Outputs to modules.conf * detect_devices.pm (cdroms): fix using scd0 for ide-burners when already a scsi cdrom drive 2000-06-13 Pablo Saratxaga <pablo@mandrakesoft.com> * pkgs.pm: added 'acon' requirement for all right-to-left languages 2000-06-07 François Pons <fpons@mandrakesoft.com> * diskdrake.pm: added SunOS partition as blue for diskdrake. * install_steps_interactive.pm: make sure of no division by zero may happen. * install_steps_newt.pm: added WARNING for fdisk on sparc*. * modules.pm: make sure of loading sd_mod module after any scsi module. * sbus_probing/main.pm: insmod openprom before trying sbus probing. * pkgs.pm: corrected by use of parabolic solution for size approximation. * silo.pm: try with "silo -p 2 -t" if "silo -t" has failed due to bad probe. 2000-06-05 Pablo Saratxaga <pablo@mandrakesoft.com> * install_steps.pm,lang.pm: added load_console_font, to load the proper console fonts (text mode install is not very useful otherwise) 2000-06-03 Pixel <pixel@mandrakesoft.com> * diskdrake.pm (Create): don't accept less than 32MB part for reiserfs * diskdrake.pm (Type): don't accept less than 32MB part for reiserfs 2000-06-01 Pablo Saratxaga <pablo@mandrakesoft.com> * share/fonts.tar.bz2: replaced the Korean 16pt fonts by a 12pt font; it fits better with the other fonts. Added a 'README' file with some comments and the required copyright notice 2000-05-29 François Pons <fpons@mandrakesoft.com> * Xconfigurator.pm: added support for SBUS card autodetection. * commands.pm: added lssbus to list SBUS devices detected. * detect_devices.pm: removed alpha restriction on USB. * install_steps_interactive.pm: added SBUS support. * c/sbus.c: initial revision, core SBUS support (inspired from kudzu). * c/stuff.xs.pm: added wrapper for sbus.c interface. * sbus_probing/main.pm: initial revision (inspired from kudzu). 2000-05-27 Adam Lebsack <adam@mandrakesoft.com> * share/list.ppc: various PPC modifications, for HFS * partition_table_mac.pm: bug fixes * partition_table.pm: various HFS fixes, isHiddenMacPart() * diskdrake.pm: added HFS to top buttons when run on PPC * keyboard.pm: fixed name of mac-fr2-ext keymap * install_steps_gtk.pm: added Xpmac server support for PPC. * install_steps_interactive.pm: disallow hardware configuration on PPC for now. All drivers should be in the kernel. setup_this_kind(). * fsedit.pm: fixed verify_hds for PPC, /proc/partitions will never match our partition table read. Added PPC grep condition for PPC in get_visible_fstab. * fs.pm: fix argument for HFS formatting. * Makefile: special installation of PPC files. 2000-05-25 Chmouel Boudjnah <chmouel@mandrakesoft.com> * standalone/drakboot: Don't display Configure-/LILO/GRUB/ on alpha|sparc. 2000-05-25 François Pons <fpons@mandrakesoft.com> * silo.pm: added configure_entry to try creating an initrd for an image entry in bootloader. fixed wrong usage of run_programm::rooted with 2>. * commands.pm: fixed insmod command to take modules64.cz* on sparc* * install2.pm: removed create boot disk and create auto install disk on sparc*. force writing of /etc/conf.modules for step setupBootloader. * install_steps.pm: fixed upgrade for sparc* and disable supermount for sparc*. * install_steps_interactive.pm: added missing $prefix for glob_. call configure_entry in setupSILO. fixed cancel or None entry on setupBootloader. * modules.pm: updated alias for sparc*. * any.pm: fixed proprable wrong test for setupBootloader in beginner at the very beginning. * printer.pm: fixed typo. * Xconfigurator.pm: avoid testing if using a Sun* server, added depth and resolution for these server too. 2000-05-24 François Pons <fpons@mandrakesoft.com> * partition_tabel.pm: fixed wrong detection of DOS partition on sparc*. * partition_table_sun.pm: fixed a bug when reading partition table with unused partition in the middle of the table. 2000-05-23 François Pons <fpons@mandrakesoft.com> * common.pm: update arch to take into account sparc and sparc64. added better_arch and compat_arch function. * silo.pm: fixed adding new kernel automatically. * install2.pm: removed create boot disk stuff for sparc*. * install_steps.pm: added initrd generation for alpha. added ldconfig at end of installation. removed /usr/bin/dumpkeys existence test on sparc*, should be added in the future. * install_steps_interactive.pm: removed supermount for sparc*. * install_steps_gtk.pm: added /dev/kbd device creation and permedia2 support for sparc*. removed screen limit of 1024x768. * detect_devices.pm: fixed problem on machine with really no IDE interface. * modules.pm: added support for 32 and 64 bit architectures on sparc*. * install_any.pm: fixed getAvailableSpace_mounted if /usr is not a separate partition. * pkgs.pm: added support for multi-arch rpm file (need for sparc*), fixed correctSize and invCorrectSize to take back a linear approximation above 9Gb approximatively. removed ftp rewind as broken currently. * keyboard.pm: fixed bad list of available keyboard (broke sparc*), fixed globing (removed) against existing '*'. * partition_table.pm: removed support for non SUN partition table, as it may freeze the kernel or may be blanked? * Xconfigurator.pm: take Sun24 server by default on sparc*, add support for permedia2 card (3DLabs server). * share/list.sparc: added perl-5.6.0 for sparc*, fixed for sparc*. * Makefile: added support for modules and modules64 for sparc*. * c/stuff.xs.pm: added kernel_arch function for getting the current true architecture provided by the kernel (uname -m). 2000-05-09 Pixel <pixel@mandrakesoft.com> * install_any.pm (kdeicons_postinstall): the URL link to doc must be $lang/index.html, not only $lang. * standalone/mousedrake: add handling of XF86Config-4 * any.pm (setupBootloader): fix bug (was adding 2 glob_'s) 2000-05-08 Pixel <pixel@mandrakesoft.com> * install2.pm (main): move the touch of some files here to please linuxconf * install2.pm (miscellaneous): s/KBD/KEYBOARD/ * lilo.pm (install_grub): don't keep symlinks for reiserfs * lilo.pm (suggest): allow grub everytime now (not only if !reiserfs) * install_any.pm (getHds): default mount point for windobe in lowercased for StartOffice(!) 2000-05-08 Pablo Saratxaga <pablo@mandrakesoft.com> * share/keyboards.tar.bz2: Fixed Brazilian keyboard (.br); added Iranian (.ir), Arabic (.ar) and new Lithuanian (.lt_new) keyboards * keyboard.pm: Added new Lithuanian keyboard and changed the string for brazilian ABNT-2 to state more clearly its ABNT nature (it is not a standard PC keyboard; it uses some different keycodes) 2000-05-07 Pixel <pixel@mandrakesoft.com> * install_steps.pm (choosePackages): return availableCorrected instead of available * pkgs.pm (correctSize): add 18MB for full multi-cd (many hdlist's) * modules.pm (text2driver): same as text2lang below * keyboard.pm (text2keyboard): same as text2lang below * lang.pm (text2lang): replace the while (... each) by a foreach (keys) (because each is dangerous if loop is exited) * install_steps_interactive.pm (selectKeyboard): better handling of multiple langs question. * ftp.pm (new): Timeout set to 60 (seconds), was default (120) * install_steps_interactive.pm (setup_thiskind): remove ide-* from modules displayed as loaded. 2000-05-06 Pixel <pixel@mandrakesoft.com> * fsedit.pm (check_mntpoint): verify that standard mntpoints (/ /usr) are not on not trueFS * any.pm (setupBootloader): add $prefix for the 2 glob_'s 2000-05-07 Pablo Saratxaga <pablo@mandrakesoft.com> * share/keyboards.tar.bz2: added Ukrainian keyboard xmodmap.ua 2000-05-06 Pablo Saratxaga <pablo@mandrakesoft.com> * printerdrake.pm: fixed English error 2000-05-05 Pixel <pixel@mandrakesoft.com> * Xconfigurator.pm (monitorConfiguration): remove the special case for fbdev. * install_steps_interactive.pm (setup_thiskind): replace return by next in case load_module fails. * install_steps_gtk.pm (selectInstallClass1): translate Install/Upgrade * Xconfigurator.pm (cardConfiguration): force xf4 for rage 128's * Xconfigurator.pm (testFinalConfig): force $bad_card for xf4 * pkgs.pm (correctSize): updated for 7.1 * install_any.pm (getAvailableSpace): move the removing of $minAvailableSize here. 2000-05-04 Pixel <pixel@mandrakesoft.com> * install2.pm (configurePrinter): give clicked to printerConfig * interactive.pm (ask_from_entries_ref): set default val if not_edit * interactive_newt.pm (ask_from_entries_refW): remove setting of default val. Now done in interactive::ask_from_entries_ref * interactive_gtk.pm (ask_from_entries_refW): handle empty value * modules.pm (read_already_loaded): ensure that already loaded modules are put in %loaded. * modules.pm (load_ide): add loading if ide-probe-mod (for new kernel) * lilo.pm (install_lilo): truncate label's to 15 chars * install_any.pm (generate_ks_cfg): fix missing space * install_any.pm (generate_ks_cfg): fix bug for nfs comand * install2.pm: get rid of autoformat * install_steps.pm (choosePartitionsToFormat): get rid of autoformat 2000-05-03 Pixel <pixel@mandrakesoft.com> * any.pm (setupBootloader): replace ask_many_from_list by ask_from_list for bootloader choice * services.pm (drakxservices): stop immediately service if removed * install_steps.pm (configureNetwork): replaced dhcpxd by dhcpcd * install_steps.pm (afterInstallPackages): touch some files to please linuxconf 2000-05-03 François Pons <fpons@mandrakesoft.com> * install_steps.pm: updated min size, fixed kppprc generation. * install_any.pm: make sure postinstall-rpm is here before erasing (avoid error on reboot only). 2000-05-02 Pixel <pixel@mandrakesoft.com> * raid.pm (format_part): don't call raid::make if part is already formatted (as raidstop fails) * Xconfigurator_consts.pm: Rage128 and 3dfx are not available any more * install_steps_interactive.pm (setup_thiskind): make insmod'ing fail a simple warning. * Xconfigurator.pm (readMonitorsDB): adapt to new MonitorsDB * share/MonitorsDB: take new one from RedHat * standalone/drakboot: added kfloppy * g_auto_install: add $dir/lib to LD_LIBRARY_PATH (it was silly not to have it) 2000-05-01 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (setRootPassword): remove NIS_server, use NIS instead * install_any.pm (setAuthentication): remove NIS_server, use NIS instead * standalone/rpmdrake (AddMedia): hdlist.cz2 instead of hdlist 2000-04-28 Pixel <pixel@mandrakesoft.com> * install_steps.pm (afterInstallPackages): fix yet another bug for ttf from windobe handling * install_steps_interactive.pm (selectInstallClass): hide beginner mode in corporate. Display special help. 2000-04-29 Pablo Saratxaga <pablo@mandrakesoft.com> * my_gtk.pm: added call to Gtk->init; that makes 16 bit locales text to be properly aligned (reported by Craig Chang <craig_chang@taipei.siscomm.com.tw>) * common.pm: now that po handling is correct, I changed the order of reading variables so that it follows the standards ($LANGUAGE first) * share/fonts.tar.bz2, lang.pm: added an 8pt font for cp1251 2000-04-28 François Pons <fpons@mandrakesoft.com> * install_steps*.pm: added support for selection of package during upgrade the same way it is done for installation. added check of minimal size, abort else (at least let the user know about :-) fixed crypto if no network interface available. * install2.pm: fixed problem during upgrade that lost network configuration. 2000-04-28 Pixel <pixel@mandrakesoft.com> * modules.pm (load_raw): don't call commands::insmod, do it in place. Merge with load_multi * install_steps.pm (afterInstallPackages): fix windobe ttfonts symlinking * Xconfigurator.pm (cardConfiguration): load module agpgart for i810 * install_any.pm (getHds): changed the mount point setting for windows partitions as device_windobe is not unique 2000-04-27 Pixel <pixel@mandrakesoft.com> * install_steps_gtk.pm (create_steps_window): changed to adapt to new hidden format * install2.pm (@installSteps): changed the way hidden is handled. Now it is a true perl expression (great power now) * install_steps_gtk.pm (selectInstallClass1): update steps window before asking normal/devel/server. Nicer! * install_steps_interactive.pm (configureNetwork): when "Cancel" pressed at network interface configuration do not skip all configuration. 2000-04-26 François Pons <fpons@mandrakesoft.com> * install_steps.pm (pppConfig): modified a lot, removed template file for ifcfg and chat file. 2000-04-26 Pixel <pixel@mandrakesoft.com> * install_steps_gtk.pm (choosePackagesTree): use a fix width for the tree column (so that the checkbox are always visible without scrolling) * standalone/drakboot: drakfloppy and gfloppy are X only, no need to propose them in console * install_any.pm (relGetFile): added auto_inst to files to get from Mandrake/base * install2.pm (main): changed auto_inst behaviour * standalone/adduserdrake: fix a bug (s/$o/$in/g) * interactive_newt.pm (ask_from_entries_refW): now handling complete/changed/focus_out callbacks (at least more than before) * Newt/Newt.xs: added rough callback handling 2000-04-25 François Pons <fpons@mandrakesoft.com> * printerdrake.pm: added support for PPA more easily, allow printers entry using ppa driver event if pnm2ppa not installed, install it if neccessary after. * network.pm, install_steps.pm, install_steps_interactive.pm: added support for stoping a network interface, usefull for ppp0 to avoid using it too long. * install_steps.pm: fixed missing local on pap_secrets file. 2000-04-25 Pixel <pixel@mandrakesoft.com> * lilo.pm (install): moved the generation of the keytable here. It is used by both lilo & grub (lilo is not always installed as was assumed) * common.pm (formatAlaTeX): remove bounding spaces * pkgs.pm (setSelectedFromCompssList): remove the hack for min mark 25 in beginner * install_steps_interactive.pm (choosePackages): set $min_mark to 25 in beginner 2000-04-24 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (setupXfree): add a yesorno question for choosing between XF4 and XF3 in expert * install_steps_gtk.pm (choosePackagesTree): enlarge the tree window * install_any.pm (update_userkderc): make sure uid and gid are kept * diskdrake.pm (Create): add Extended_0x85 as a choice for expert * partition_table.pm (add_extended): handle a 3rd arg, $extended_type to tell which kind of extended partition is wanted * partition_table.pm (adjust_main_extended): in non-expert, automatically set extended to linux-extended if there's only linux-type partitions. 2000-04-22 Pablo Saratxaga <pablo@madrakesoft.com> * install_steps_interactive.pm: s/Mb/MB/ as 'b' is symbol for bit and not for byte. RAM is expressed in megabytes -> MB 2000-04-19 François Pons <fpons@mandrakesoft.com> * install_steps_interactive.pm: fixed crazy mutli CD manipulation. * printer.pm: fixed wrong prototype of print_pages. * install2.pm: set version to 7.1 for crypto stuff. * crypto.pm: commented ackbar crypto site. 2000-04-17 Pixel <pixel@mandrakesoft.com> * lilo.pm (suggest): in failsafe, runlevel ASKRUNLEVEL (handled by linuxconf) 2000-04-14 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (choosePartitionsToFormat): don't ask about checking bad blocks for reiserfs, cuz not handled * fs.pm (mount): reiserfs handling * fs.pm (format_reiserfs): added * fs.pm (write_fstab): add option "notail" for reiserfs if the partition holds the kernel (/boot or /) * partition_table.pm (isTrueFS): added, replaces most occurences of isExt2 2000-04-12 François Pons <fpons@mandrakesoft.com> * install2.pm: force installation step if package have been selected on step choose packages. * install_any.pm: protected against die in perl (setstep or theme_changed). 2000-04-11 François Pons <fpons@mandrakesoft.com> * resize_fat: added some limits verification. * interactive_gtk.pm: corrected swap of arg with help adding. 2000-04-10 François Pons <fpons@mandrakesoft.com> * interactive_gtk.pm, my_gtk.pm: added tooltips for ask_from_list, which is used by printerdrake only. drops key bindings. 2000-04-07 François Pons <fpons@mandrakesoft.com> * tools/serial_probe: obsoleting pnp_serial which is now replaced by this one, taken from kudzu, really faster and probe all serial devices at one time. modified to probe correctly modem :-) * mouse.pm: updated to use serial_probe interface of detect_devices.pm. * detect_devices.pm: modified to use serial_probe, cache probed devices to avoid reprobing. 2000-04-06 François Pons <fpons@mandrakesoft.com> * install_steps_interactive.pm, install_steps.pm: added support for peerdns options of ppp, so removed dns address unless expert. 2000-04-05 François Pons <fpons@mandrakesoft.com> * crypto.pm, install_steps_interactive.pm, install2.pm, install_steps.pm: added crypto stuff to support hdlist-crypto.cz2 and depslist-crypto. dependancies are not supported but with a simpler format of depslist file where closure are not done and only package name are used for dependancies. * pkgs.pm: added better support for multi CD manipulation, including selection and refus. 2000-04-04 François Pons <fpons@mandrakesoft.com> * pkgs.pm: modified selection packages from compssList by incremental selection, much more quickly. added selected medium for selecting a package. * install_any.pm: refused media hash transfered to selected value of media table. @needToCopy list should only have package of default medium. 2000-04-03 Pixel <pixel@mandrakesoft.com> * fs.pm (format_ext2): add options "-b 1024 -O none" for alpha 2000-03-31 François Pons <fpons@mandrakesoft.com> * install_steps_gtk.pm: made changeMedium sub modification permanent. * pkgs.pm: modified upgrade to avoid use of header. 2000-03-31 Pablo Saratxaga <pablo@mandrakesoft.com> * keyboard.pm: some more choices for PPC keyboards 2000-03-30 François Pons <fpons@mandrakesoft.com> * install2pm: added eval around loading af_packet and postinstall copy of RPMS. * devices.pm: added /dev/kdb for SPARC. * install_any.pm: modified multi CD management, postinstall copy of RPMS. * install_steps_gtk.pm: added support for Xsun server for SPARC. * install_steps_interactive.pm: added multi CD dialog box for selecting CD available. Serialized ethernet configuration and ppp configuration. * pkgs.pm: added check for infinite recursion for bad depslist. * printer.pm: better test for reparse of printerdb. * Xconfigurator.pm: added support for Xsun server for SPARC. 2000-03-30 Pixel <pixel@mandrakesoft.com> * install_steps_gtk.pm (choosePackagesTree): enhance tree selection 2000-03-29 Pixel <pixel@mandrakesoft.com> * interactive_gtk.pm (wait_messageW): add some padding (nicer) * install_steps_interactive.pm (generateAutoInstFloppy): created, creates a floppy for auto installs. * install_any.pm (generate_ks_cfg): created, generates stage1 ks.cfg file * share/po/DrakX.pot: added special comment for grub entry 2000-03-28 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (selectKeyboard): sort langs for many-lang install * mouse.pm (write): add WHEEL telling if a wheel mouse is there 2000-03-28 Pablo Saratxaga <pablo@mandrakesoft.com> * keyboard.pm: added entries for all three Armenian keyboards 2000-03-26 Pixel <pixel@mandrakesoft.com> * install_any.pm (install_urpmi): full support for multi-hdlist's * pkgs.pm (extractHeaders): look for hdlist in /tmp instead of $prefix/var/lib/urpmi * pkgs.pm (psUsingHdlists): put hdlist's in /var/lib/urpmi with a fake name. Access via /tmp/$hdlist is given for non-fake name * detect_devices.pm (hasHPT): return undef if no htp (silly me :-/) 2000-03-25 Pixel <pixel@mandrakesoft.com> * lilo.pm: updated to the new format of entries. It was an hash. Now the key is field kernel_or_dev, and entries is an array. (get): added, it returns the entry using a kernel (needed because entries is no more a hash) * install_steps_interactive.pm (setupLILO): adapted to the new format * Xconfigurator.pm (write_XF86Config): basic XF86Config-4 handling * fsedit.pm (suggest_part): if suggested part contains a field "hd", ensure the partition is created on this hard drive * install2.pm (main): before leaving installation, remove /var/lib/urpmi if urpmi not installed * diskdrake.pm (Resize): ext2resize to size $part->{size} instead of $size 2000-03-24 Pixel <pixel@mandrakesoft.com> * detect_devices.pm (hasHPT): added. Now nice handling of hpt366 (ultra66) without rebooting and making special floppy :) * lilo.pm (install_grub): much better grub configuration (better than lilo's :pp) * install_steps.pm (setupBootloaderBefore): remove entry floppy for security > 3 2000-03-23 Pixel <pixel@mandrakesoft.com> * install_steps_gtk.pm (selectMouse): added, takes care of telling the X server if the user changed the mouse type. Only done if a serial mouse is chosen. * install_steps_newt.pm (doPartitionDisks): add a call to * mouse.pm (write): added "device=" in etc/sysconfig/mouse for devfs (it looses the symlink /dev/mouse) 2000-03-22 Pixel <pixel@mandrakesoft.com> * pci_probing/pcitable: replace Server:Rage128 by proper XFree entry 2000-03-20 François Pons <fpons@mandrakesoft.com> * detect_devices.pm, fs.pm, install_any.pm: added supports for LS-120 floppy drive and icons on desktop of KDE (untested). * printer.pm, printerdrake.pm: added supports for PPA interface in new rhs-printfilters, always enable "Print text as postscript" option for such printers. 2000-03-20 Pablo Saratxaga <pablo@mandrakesoft.com> * keyboard.pm: changed XKB name for Swedish keyboard changed XKB names for Russian and German keyboards added a choice for "Croatian" keyboard * share/compss{,List}: added various new locales-*, ispell-* and netscape-* files. changed ppa to pnm2ppa. 2000-03-17 François Pons <fpons@mandrakesoft.com> * install_steps.pm: added setup for all configured queue. * install_steps_interactive.pm: modified for retrieving packages or current configuration. * printer.pm: correction, tested retrieve of printer configuration without printtool comments in printcap file: added update of entry according to gsdriver used (untested again). * printerdrake.pm: better handling of cancel, manage of multiple queue definition together (as lp|My printer). 2000-03-16 François Pons <fpons@mandrakesoft.com> * install_steps_interactive.pm: moved in printerdrake.pm the test of printer usage. * printerdrake.pm: heavy modification to handle multiple queue, corrected some bugs too, added much more features as printtool. * printer.pm: added more features for filter, allow printer to be retrieved without help of printtool id in printcap file (untested). 2000-03-14 Pixel <pixel@mandrakesoft.com> * diskdrake.pm (Loopback): handling of the file loopback: test existence of the file and take its size. 2000-03-14 François Pons <fpons@mandrakesoft.com> * install_any.pm: corrected for duplicate file on other CD. 2000-03-13 Pixel <pixel@mandrakesoft.com> * detect_devices.pm (floppies): don't return hash but the device name 2000-03-13 François Pons <fpons@mandrakesoft.com> * pkgs.pm, install_any.pm: small correction for multiple media installation. * tools/syncrpms: added for handling synchronisation of multiple source rpm directories (and multiple target), include cleaning. * tools/closurepkgs: tools to get rpm that may be installed by DrakX after normal packages installation (printer, network, X11...), may be used to duplicate on other CD some important stuff of the first one. 2000-03-12 Pixel <pixel@mandrakesoft.com> * install_steps_interactive.pm (choosePackages): compute the max_size very simply (sum of all package sizes), otherwise too costly * pkgs.pm (install): call cleanHeaders at the end * pkgs.pm (cleanHeaders): created * install2.pm (miscellaneous): /etc/msec/init.sh is now /usr/sbin/msec (yoann thanks for not telling :pp) * pkgs.pm (install): remove the $prefix of mountpoints for not enough room to install error message 2000-03-11 Pixel <pixel@mandrakesoft.com> * my_gtk.pm (_create_window): add callback on focus to ensure_focus. The result is no more 3 focus states with 2 buttons. * interactive_gtk.pm (ask_from_treelistW): better keyboard handling * raid.pm (make): check the result of mkraid. Suggest raidtools are missing in standalone diskdrake * devices.pm (set_loop): created, searches for an available loopback and sets the file to it * lilo.pm (dev2grub): fixed a missing slash * interactive_gtk.pm (wait_message_nextW): do not update if same message, otherwise silly gtk won't do anything and we'll wait forever :( 2000-03-10 François Pons <fpons@mandrakesoft.com> * *.pm: heavy modification to take into account multiple media installation. 2000-03-10 Pixel <pixel@mandrakesoft.com> * install2.pm (@install_classes): cleanup, no more i18n (is now in install_steps_interactive), remove old entries 2000-03-09 Pixel <pixel@mandrakesoft.com> * modules.pm (write_conf): don't add alias block-major-11 in every case * modules.pm (add_alias): special case oss (post-installs modprobe snd-pcm-oss) * fs.pm (format_*): move the @options before the device * loopback.pm: created, added a lot of stuff for loopback in diskdrake.pm, fs.pm... 2000-03-08 Pixel <pixel@mandrakesoft.com> * partition_table.pm: %type2fs replaced ox402 by 0x402 * detect_devices.pm (cdroms): fix "scd" (should be "scd0") * install_any.pm (install_urpmi): update for new hdlist.cz2 2000-03-07 Pixel <pixel@mandrakesoft.com> * interactive_gtk.pm (ask_from_treelistW): s/focus_row/set_focus_row/ * install_steps_interactive.pm (addUser): force add a normal user for security 4 2000-03-05 Pixel <pixel@mandrakesoft.com> * my_gtk.pm (_ask_from_list): replace focus_row with set_focus_row (tis the Gtk-Perl 0.7002 was of doing) 2000-03-04 Pixel <pixel@mandrakesoft.com> * modules.pm (write_conf): add ide-floppy to the modprobes of post-install supermount 2000-03-03 Pixel <pixel@mandrakesoft.com> * commands.pm (ps): add RSS to ps command 2000-03-02 Adam Lebsack <adam@mandrakesoft.com> * mouse.pm: added mac mouse detection to mouse::detect. * detect_devices.pm: added a routine to probe /dev/usbmouse on macs. 2000-03-01 François Pons <fpons@mandrakesoft.com> * *.pm: heavy modification to take into account smaller transaction during installation. still a lot of test to perform, no provides updated currently and building of hdlist.cz2 and depslist.ordered need old files... nothing done for hdlist.gz during post installation, but hdlist.cz2 is already copied in /var/lib/urpmi [and is used during installation of packages as extract_archive need a true file]. 2000-03-01 Pixel <pixel@mandrakesoft.com> * lilo.pm (install_grub): creation * network.pm (write_interface_conf): ONBOOT = !pcmcia * install_steps_gtk.pm (new): more intelligent SIGCHLD handler 2000-02-29 Pixel <pixel@mandrakesoft.com> * modules.pm: moved common network stuff from "net" to "network" (modules like nfs lockd...) * fs.pm (write_fstab): moved the sort to the right place * services.pm (drakxservices): chkconfig --list is i18n'ed :( set LANGUAGE=C before * partition_table_raw.pm (get_geometry): geom{cylinders} must not be a decimal value :) * install_steps_gtk.pm (create_logo_window): set_name logo for logo window * share/install.rc: force disabling of background image theme * install_steps_gtk.pm (enteringStep): add step information for console 1 * any.pm (addKdmIcon): new function * install_steps.pm (addUser): handle field icon * install_steps_interactive.pm (addUser): add choice of kdm icon * standalone/adduserdrake: add choice of kdm icon * diskdrake.pm (ask_all_data...): change for easier i18n * install_steps.pm (miscellaneous): add CLEAN_TMP handling (need cleaning?) * install_steps_interactive.pm (miscellaneous): add CLEAN_TMP option in expert * install2.pm (miscellaneous): add CLEAN_TMP option for /etc/sysconfig/system * install_steps_interactive.pm (miscellaneous): forbidden useSupermount if high security. * mouse.pm (detect): fix bug (ttyS instead of ttyS0) 2000-02-28 Pixel <pixel@mandrakesoft.com> * install_steps_gtk.pm (createXconf): do not use "Generic VGA" for svga and accel. SVGA also wants 16 bpp. added ugly modeline for 800x600. * partition_table_raw.pm (get_geometry): when the HDIO_GET_IDENTITY fails, defaults to what GETGEO gave * install2.pm (main): use modules::load_multi to increase boot start time * modules.pm (load_multi): added this function for loading many modules at once. * install_steps_gtk.pm (new): increase time before timeout * detect_devices.pm (cdroms): change the device associated with ide-burners (hdX -> scdX). Problem is how to know the X in scdX :( * modules.pm (write_conf): sort scsi_hostadapter's 2000-02-27 Pixel <pixel@mandrakesoft.com> * install2.pm (main): load ide-probe and the like in 'prereq' type so no aliases are added to conf.modules 2000-02-25 Pixel <pixel@mandrakesoft.com> * devices.pm (make): small code cleanup * partition_table_raw.pm (adjustEnd): more explicit error message * fsedit.pm (allocatePartitions): fix a bug (size was getting too big after each allocation) making adjustEnd cry 2000-02-24 Pixel <pixel@mandrakesoft.com> * interactive_gtk.pm (new): added the "new" method to initialize windowheight for isStandalone * install_steps_gtk.pm (new): returns undef in case no X server works * install2.pm (main): moved the ejectCdrom from install_steps::END to here * install2.pm (main): fix the $SIG{SEGV} handler * install2.pm (main): added a "try again" in text install if the "new" fails * install_steps_interactive.pm (createBootdisk): fix an error for non fdX choice of floppy drive * install_steps_interactive.pm (setup_thiskind): remove the "defined @l" 2000-02-23 Pixel <pixel@mandrakesoft.com> * install2.pm (%suggestedPartitions): remove any /boot entries * install2.pm (selectInstallClass): removed the special code to /boot entries from suggestedPartitions for on non-intel (and it was buggy :) * fsedit.pm (@suggestions): remove the /boot entry * fsedit.pm (check_mntpoint): remove the 1024 cylinder check * fsedit.pm (suggest_part): remove the 1024 cylinder special case * install_steps_interactive.pm (setupLILO): replace linear option by lba32 * lilo.pm (suggest): add lba32 by default * install_steps_interactive.pm (load_thiskind): moved the HPT stuff to install_any::ultra66 and call it. Add sound card configuration (3 lines :) * my_gtk.pm and interactive_gtk: resize the list and tree based on root window size * install_steps_gtk: $width and $height goes $::rootwidth and $::rootheight, also other dimensions goes global (main::) * commands.pm (strings): replace the typo \{$n,} by {$n,} 2000-02-23 François Pons <fpons@mandrakesoft.com> * build_archive, extract_archive: changed format of TOC to speed up extraction of archive, now 5 to 6 times faster to read TOC :-) 2000-02-22 Pixel <pixel@mandrakesoft.com> * Xconfigurator.pm: load "Cards" database only to translate NAME to fields. Added file CardsNames created from Cards using share/Cards2CardsNames. Kind of list of normalized NAMEs * MonitorsDB: replace the ` ' separator for vendor by `|' * install_steps_interactive.pm (timeConfig): use ask_from_treelist * interactive_gtk.pm (ask_from_treelist): creation of ask_from_treelist. Usage is just the same as ask_from_list with one more argument (the separator eg: |, /) 2000-02-21 François Pons <fpons@mandrakesoft.com> * diskdrake.pm: fixed deadlock while trying to create partition when available space is equal or less than 2 cylinders. fixed Create action on corrupted partition by removing stalling window. Blocked partition table writing if there are error by forcing user to correct partition table. * partition_table.pm: fixed typo in verifyParts with cdie, added verifyParts on Resize action. 2000-02-21 Pixel <pixel@mandrakesoft.com> * install_steps_gtk.pm (create_big_help): display the help in full screen * my_gtk.pm (_create_window): add big help on F1 * common.pm (add2hash): now returns the first parameter * mouse.pm (detect): really defaults to serial mouse * interactive.pm: add ask_many_from_list_with_help and ask_many_from_list_with_help_ref * services.pm: creation, it handles what was in standalone/drakxservices 2000-02-18 Pixel <pixel@mandrakesoft.com> * install_steps_gtk.pm (createXconf): added /dev/ (X wants "/dev/psaux" and not "psaux") * diskdrake.pm (Create): show start sector even for non-expert on non-i386 2000-02-16 Pixel <pixel@mandrakesoft.com> * mouse.pm (detect): add defaults to serial mouse * install_steps_gtk.pm (createXconf): remove the defaults to serial mouse 2000-02-15 Pixel <pixel@mandrakesoft.com> * diskdrake.pm: "After %s partition %s," inlined otherwise does not please pablo and translators... 2000-02-14 Pixel <pixel@mandrakesoft.com> * diskdrake.pm (Create): hide start sector choice for non-expert 2000-02-11 Pixel <pixel@mandrakesoft.com> * partition_table_raw.pm (get_geometry): do not use the cylinder number given by HDIO_GETGEO cuz limited to 16bits. Compute using the total_sectors using HDIO_GET_IDENTITY * c/stuff.xs.pm: added total_sectors (gives the number of sector of a drive) * modules.pm (load): ignore error in loading prereq's * modules.pm (@drivers_by_category): rcpci instead of rcpci45, z85230 added * commands.pm (mount): add modules::load_deps otherwise the fs::mount won't succeed insmoding vfat if needed 2000-02-11 François Pons <fpons@mandrakesoft.com> * fixed diskdrake to handle limit case when creating and resizing partition table, address size limit and start sector limit. 2000-02-11 Pixel <pixel@mandrakesoft.com> * install2.pm (main): add a callback on SEGV -> message printed -> that way, ENDs are called (otherwise skipped) * install_steps_interactive.pm (setup_thiskind): handles the undef value returned by load_thiskind * install_steps_interactive.pm (exitInstall): do not call install_steps::exitInstall * install_steps (exitInstall): removed * install_steps (END): added (it does ejectCdrom) * install_steps_interactive.pm (load_thiskind): returns undef if error loading a module * fs.pm (format_part): changed the prototype from $;$@ to $;@ otherwise, @options always have a value (mostly undef) and mkdosfs fails (with "mkdosfs", "/dev/hdXX", undef, "-F", 32) * install_steps_interactive.pm (setup_thiskind): add a $auto_probe_pci that overrules $o->{auto_probe_pci} (that way no pci probe the second time) 2000-02-10 François Pons <fpons@mandrakesoft.com> * heavy modification of build_archive and extract_archive to manage a TOC directly in archive file, handle bzip2 or gzip compression, extract_archive can extract multiple files a time, with minimal invocation of uncompress program and follow symlink and expand directory contents. * use build_archive/extract_archive for locales. * fixed a min/max in install_steps_gtk for Resize/Create partition. * fixed adjustEnd with dos partition table, take care of magic 63 sectors at beginning of partitions, a more solid method should be used for that. 2000-02-10 Pixel <pixel@mandrakesoft.com> * modules.pm (load_thiskind): skip modules "unknown" and "ignore" 2000-02-09 Pixel <pixel@mandrakesoft.com> * partition_table.pm (add): cdie if maximum number of partitions handled by linux is reached * Xconfigurator.pm (chooseResolutionsGtk): display the graphic card or server found * install_any.pm (relGetFile): for mdkinst files, take care not to have a double '/' (see debbugs #591) * install_steps_interactive.pm (configureNetwork): purpose: add ability to configure both modem and lan clean up the behaviour * fs.pm (write_fstab): purpose: sort the fstab per mount point (cuz /usr must be before /usr/local) also: rewrite of the part writing the fstab.