Merge lp:~quam-plures-core/quam-plures/no_wp_and_mt_importers into lp:quam-plures

Proposed by EdB
Status: Merged
Approved by: Tilman Blumenbach
Approved revision: not available
Merged at revision: not available
Proposed branch: lp:~quam-plures-core/quam-plures/no_wp_and_mt_importers
Merge into: lp:quam-plures
Diff against target: 126806 lines (+62155/-64582)
9 files modified
inc/_core/__core.init.php (+0/-2)
inc/_core/ui/forms/_form.funcs.php (+0/-119)
inc/tools/mtimport.ctrl.php (+0/-1674)
inc/tools/tools.ctrl.php (+0/-18)
inc/tools/wpimport.ctrl.php (+0/-586)
locales/de_DE/LC_MESSAGES/messages.po (+15569/-15576)
locales/fr_FR/LC_MESSAGES/messages.po (+16528/-16535)
locales/messages.pot (+14812/-14819)
locales/ru_RU/LC_MESSAGES/messages.po (+15246/-15253)
To merge this branch: bzr merge lp:~quam-plures-core/quam-plures/no_wp_and_mt_importers
Reviewer Review Type Date Requested Status
Tilman Blumenbach Pending
Review via email: mp+19605@code.launchpad.net
To post a comment you must log in.
Revision history for this message
EdB (edb) wrote :

Removed mtimport and wpimport - 2 files gone and a few edited. Most editing was in translations. See http://forums.quamplures.net/viewtopic.php?f=9&t=245 if you're into it :)

Revision history for this message
Tilman Blumenbach (tblue) wrote :

I think you can safely remove form_select(), form_select_object() and form_checkbox() now that these functions are not needed anymore and deprecated anyway.

Revision history for this message
EdB (edb) wrote :

I saw Walter's comment on that and figured "next" because I do kinda want to keep a focus ya know? Got those wrote down on my whiteboard (an actual whiteboard - yeah I know) as 'check and remove'.

Revision history for this message
EdB (edb) wrote :

Or I can push it into this one?

Revision history for this message
Tilman Blumenbach (tblue) wrote :

You've got a point with the "keeping focus" stuff. Well, perhaps you could just add a @todo for now?

7427. By EdB

removed functions that are fully obsoleted by the removal of the importers

Revision history for this message
EdB (edb) wrote :

Thought about it a bit. Walter's comment clearly indicated those funcs were needed for something that I removed, so either clean it up now OR somehow figure out how to clean out all obsolete stuff later. Seems like "clean up as we go" makes more sense and has a chance of working.

So now we have the importers gone, and removal of functions no longer needed by anything.

Revision history for this message
Tilman Blumenbach (tblue) wrote :

Looks fine now. I will test it tomorrow.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'inc/_core/__core.init.php'
2--- inc/_core/__core.init.php 2010-01-15 20:06:40 +0000
3+++ inc/_core/__core.init.php 2010-02-18 17:25:21 +0000
4@@ -105,7 +105,6 @@
5 'itemstatuses' => 'items/item_statuses.ctrl.php',
6 'itemtypes' => 'items/item_types.ctrl.php',
7 'locales' => 'locales/locales.ctrl.php',
8- 'mtimport' => 'tools/mtimport.ctrl.php',
9 'plugins' => 'plugins/plugins.ctrl.php',
10 'settings' => 'settings/settings.ctrl.php',
11 'set_antispam' => 'antispam/antispam_settings.ctrl.php',
12@@ -116,7 +115,6 @@
13 'users' => 'users/users.ctrl.php',
14 'upload' => 'files/upload.ctrl.php',
15 'widgets' => 'widgets/widgets.ctrl.php',
16- 'wpimport' => 'tools/wpimport.ctrl.php',
17 );
18
19
20
21=== modified file 'inc/_core/ui/forms/_form.funcs.php'
22--- inc/_core/ui/forms/_form.funcs.php 2010-02-08 21:42:02 +0000
23+++ inc/_core/ui/forms/_form.funcs.php 2010-02-18 17:25:21 +0000
24@@ -92,125 +92,6 @@
25 }
26 }
27
28-/**
29- * Display a select field and populate it with a callback function.
30- *
31- * @deprecated Deprecated by (@link Form::select_input())
32- *
33- * @param string field name
34- * @param string default field value
35- * @param callback callback function
36- * @param string field label to be display before the field
37- * @param string note to be displayed after the field
38- * @param string CSS class for select
39- * waltercruz> still used by mtimport
40- */
41-function form_select(
42- $field_name,
43- $field_value,
44- $field_list_callback,
45- $field_label,
46- $field_note = '',
47- $field_class = '' )
48-{
49- echo '<fieldset>';
50- echo ' <div class="label"><label for="', $field_name, '">', $field_label, (($field_label != '') ? ':' : ''), '</label></div>';
51- echo ' <div class="input"><select name="', $field_name, '" id="', $field_name, '"';
52- if( !empty($field_class) )
53- {
54- echo ' class="', $field_class,'"';
55- }
56- echo '>';
57-
58- // call the callback function:
59- $field_list_callback( $field_value );
60-
61- echo ' </select>';
62- echo ' <span class="notes">', $field_note, '</span></div>';
63- echo "</fieldset>\n\n";
64-}
65-
66-
67-/**
68- * Display a select field and populate it with a cache object.
69- *
70- * @deprecated Deprecated by (@link Form::select_object())
71- *
72- * @param string field name
73- * @param string default field value
74- * @param DataObjectCache Cache containing values for list (get_option_list() gets called on it)
75- * @param string field label to be display before the field
76- * @param string note to be displayed after the field
77- * @param boolean allow to select [none] in list
78- * @param string CSS class for select
79- * waltercruz> still used by mtimport
80- */
81-function form_select_object(
82- $field_name,
83- $field_value,
84- & $field_object,
85- $field_label,
86- $field_note = '',
87- $allow_none = false,
88- $field_class = '' )
89-{
90- echo '<fieldset>';
91- echo ' <div class="label"><label for="', $field_name, '">', $field_label, ':</label></div>';
92- echo ' <div class="input"><select name="', $field_name, '" id="', $field_name, '"';
93- if( !empty($field_class) )
94- {
95- echo ' class="'.$field_class.'"';
96- }
97- echo '>';
98- echo $field_object->get_option_list( $field_value, $allow_none );
99- echo ' </select>';
100- echo ' <span class="notes">'.$field_note.'</span></div>';
101- echo "</fieldset>\n\n";
102-}
103-
104-/**
105- * form_checkbox(-)
106- *
107- * @deprecated Deprecated by (@link Form::checkbox())
108- *
109- * @param string the name of the checkbox
110- * @param boolean initial value
111- * @param string label
112- * @param string note
113- * @param string CSS class
114- * @param boolean to output (default) or not
115- * @return mixed true (if output) or the generated HTML if not outputting
116- * waltercruz > still used by mtimport
117- */
118-function form_checkbox( $field_name, $field_value, $field_label, $field_note = '',
119- $field_class = '', $output = true )
120-{
121- $r = "<fieldset>\n"
122- .'<div class="label"><label for="'.$field_name.'">'.$field_label.":</label></div>\n"
123- .'<div class="input"><input type="checkbox" class="checkbox" name="'.$field_name.'" id="'
124- .$field_name.'" value="1"';
125- if( $field_value )
126- {
127- $r .= ' checked="checked"';
128- }
129- if( !empty($field_class) )
130- {
131- $r .= ' class="'.$field_class.'"';
132- }
133- $r .= " />\n"
134- .'<span class="notes">'.$field_note."</span></div>\n"
135- ."</fieldset>\n\n";
136-
137- if( $output )
138- {
139- echo $r;
140- return true;
141- }
142- else
143- {
144- return $r;
145- }
146-}
147
148 /**
149 * form_info(-)
150
151=== removed file 'inc/tools/mtimport.ctrl.php'
152--- inc/tools/mtimport.ctrl.php 2010-01-15 20:06:40 +0000
153+++ inc/tools/mtimport.ctrl.php 1970-01-01 00:00:00 +0000
154@@ -1,1674 +0,0 @@
155-<?php
156-/**
157- * This file implements importing of Movable Type entries into b2evolution.
158- *
159- * {@internal
160- * TODO:
161- * - Wrap this by an abstract import class!
162- * - list of all posts, editable (overkill?)
163- * - assign comment_author_ID to comments if user exist?! }}
164- *
165- *
166- * This script was developed and tested with b2evolution 0.9.0.4 (on Sourceforge CVS)
167- * and Movable Type 2.64 and 2.661.
168- * It should work quite alright with b2evo 0.9 and later though.
169- *
170- * This file is part of the Quam Plures project - {@link http://quamplures.net/}.
171- * See also {@link https://launchpad.net/quam-plures}.
172- *
173- * @copyright (c) 2009 by the Quam Plures developers - {@link http://quamplures.net/}
174- * @copyright (c)2003-2009 by Francois PLANQUE - {@link http://fplanque.net/}.
175- * Parts of this file are copyright (c)2004-2005 by Daniel HAHLER - {@link http://thequod.de/contact}.
176- * Credits go to the WordPress team (@link http://wordpress.org), where I got the basic
177- * import-mt.php script with most of the core functions. Thank you!
178- *
179- * @license http://quamplures.net/license.html GNU General Public License (GPL)
180- *
181- * {@internal Open Source relicensing agreement:
182- * Daniel HAHLER grants Francois PLANQUE the right to license
183- * Daniel HAHLER's contributions to this file and the b2evolution project
184- * under any OSI approved OSS license (http://www.opensource.org/licenses/).
185- * }}
186- *
187- * {@internal Below is a list of authors who have contributed to design/coding of this file: }}
188- * @author fplanque: Francois PLANQUE
189- * @author blueyed: Daniel HAHLER
190- *
191- * @package pond
192- */
193-if( !defined('QP_MAIN_INIT') ) die( 'Please, do not access this page directly.' );
194-
195-global $dispatcher;
196-
197-/**
198- * IMPORT_SRC_DIR directory where to be imported files get searched for.
199- */
200-define('IMPORT_SRC_DIR', $basepath);
201-
202-/**
203- * Enter the relative path of the import.txt file containing the MT entries.
204- * If the file is called import.txt and it is in /admin, then this line should be:
205- * <code>
206- * define('MTEXPORT', 'import.txt');
207- * </code>
208- *
209- * You only need this to force a specific file instead of using a dropdown list
210- * (UI selection)
211- */
212-define('MTEXPORT', '');
213-
214-/**
215- * Set to true to get a lot of var_dumps, wrapped in pre tags
216- */
217-$output_debug_dump = 0;
218-
219-
220-// ----------- don't change below if you don't know what you do ------------------------
221-// TODO: Make this AdminUI compliant, or better: make an MT import plugin..
222-
223-load_funcs('files/model/_file.funcs.php');
224-load_class('items/model/_item.class.php');
225-
226-set_magic_quotes_runtime( 0 ); // be clear on this
227-
228-// TODO: $io_charset !!
229-$head = <<<EOB
230-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
231-<html xmlns="http://www.w3.org/1999/xhtml">
232-<head>
233- <title>${app_name} &rsaquo; Import from Movable Type</title>
234- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
235- <link href="{$admintemplates_url}legacy/rsc/css/variation.css" rel="stylesheet" type="text/css" title="Variation" />
236- <link href="{$admintemplates_url}legacy/rsc/css/desert.css" rel="alternate stylesheet" type="text/css" title="Desert" />
237- <link href="{$admintemplates_url}legacy/rsc/css/legacy.css" rel="alternate stylesheet" type="text/css" title="Legacy" />
238-EOB;
239-if( is_file( $admintemplates_path.'legacy/rsc/css/custom.css' ) )
240-{
241- $head .= '<link href="'.$admintemplates_url.'legacy/rsc/css/custom.css" rel="alternate stylesheet" type="text/css" title="Custom" />';
242-}
243-$head .= <<<EOB
244-<script type="text/javascript" src="{$rsc_url}js/styleswitcher.js?v=2"></script>
245-</head>
246-<body>
247-<div id="header">
248- <div id="headinfo">
249- <span style="font-size:150%; font-weight:bold">Movable Type to ${app_name} importer</span>
250- [<a href="{$dispatcher}?ctrl=tools">Back to ${app_name}</a>]
251- </div>
252-EOB;
253-
254-$conf_file = $conf_path.'_config.php';
255-if( !file_exists( $conf_file ) )
256-{
257- dieerror( 'There doesn\'t seem to be a conf/_config.php file. You must install '.$app_name.' before you can import any entries.', $head );
258-}
259-require( $conf_file );
260-if( ! isset($config_is_done) || ! $config_is_done )
261-{
262- $error_message = '';
263- require( $inc_path.'_conf_error_page.php' );
264-
265- dieerror( $app_name.' configuration is not done yet.', $head );
266-}
267-
268-
269-// TODO: this should use no output buffering (probably to display page content during import, which may take long)!
270-
271-
272-// Check if user is logged in and is in group #1 (admins)
273-if( !is_logged_in() || $current_User->Group->ID != 1 )
274-{ // login failed
275- debug_die( 'You must login with an administrator (group #1) account.' );
276-}
277-
278-echo $head;
279-
280-param( 'exportedfile', 'string', '' );
281-param( 'import_mode', 'string', 'normal' );
282-
283-/*** mode-tabs ***/ ?>
284-<ul class="tabs"><?php
285- foreach( array( 'easy', 'normal', 'expert' ) as $tab )
286- {
287- echo ( $tab == $import_mode ) ? '<li class="current">' : '<li>';
288- echo '<a href="'.$dispatcher.'?ctrl=mtimport&amp;import_mode='.$tab.( !empty($exportedfile) ? '&amp;exportedfile='.$exportedfile : '' ).'">'.ucwords($tab).'</a></li>';
289- }
290-?></ul>
291-</div>
292-
293-<div style="padding-top:1em;clear:both;">
294-<?php
295- // check existence of export-file
296- if( empty($exportedfile) )
297- {
298- if( '' != MTEXPORT && !file_exists(MTEXPORT) )
299- {
300- ?>
301- <div class="error"><p>
302- The MT export file you defined in MTEXPORT at top of the script does not seem to exist.
303- Please check the path you've given for MTEXPORT or choose a file below.
304- </p></div>
305- <?php
306- }
307- elseif( '' != MTEXPORT )
308- {
309- $exportedfile = MTEXPORT;
310- }
311- if( empty($exportedfile) )
312- { // no valid MTEXPORT defined
313- chooseexportfile();
314- echo '</div></div></body></html>';
315- exit(0);
316- }
317- }
318- else
319- {
320- if( !file_exists($exportedfile) )
321- {
322- chooseexportfile();
323- dieerror("The MT export file [$exportedfile] you've chosen does not seem to exist. Please check path/permission.");
324- }
325- }
326-
327- // get the params
328- param( 'simulate', 'integer', 0 );
329- param( 'default_password', 'string', 'changeme' );
330- param( 'default_password2', 'string', 'changeme' );
331- param( 'post_locale', 'string', $Settings->get( 'default_locale' ) );
332-
333- if( $default_password != $default_password2 )
334- {
335- dieerror( 'The two passwords for new users are not identical.' );
336- }
337-
338- param( 'default_userlevel', 'integer', 1 );
339- if( $default_userlevel > 10 ) $default_userlevel = 10;
340- param( 'default_usergroup', 'integer', $Settings->get('newusers_grp_ID') );
341- param( 'default_convert_breaks', 'integer', 1 );
342- param( 'convert_html_tags', 'integer', 0 );
343-
344- param( 'action', 'string', '' );
345-
346-
347- // global arrays
348- $categories_countprim = array(); // counts posts in primary categories
349-
350- // load caches
351- blog_load_cache();
352- cat_load_cache( 'none' );
353-
354- $i_user = -1;
355-
356- if( empty($action) )
357- {
358- param( 'import_mode', 'string', 'normal', true );
359- import_data_extract_authors_cats();
360-
361- ?>
362- <div class="panelinfo">
363- <p>We are about to import <?php
364- echo '['.$exportedfile.'].';
365- if( '' == MTEXPORT )
366- {
367- ?> [<a href="<?php echo $dispatcher ?>?ctrl=mtimport&amp;import_mode=<?php echo $import_mode ?>">choose another export-file</a>]<?php
368- } ?></p>
369-
370- <p>This file contains <?php echo count( $posts ) ?> post(s) from <?php echo count( $authors ) ?> author(s) in <?php echo count( $categories ) ?> category(ies).</p>
371-
372- <p>We'll import into Quam Plures' database &quot;<?php echo $db_config['name'] ?>&quot;.</p>
373- </div>
374- <div class="panelinfo">
375- <p>Before importing, you should check the URLs of any &lt;img&gt; tags you may have in <?php echo $exportedfile ?>. Will these URLs still be valid after the migration? If not, we advise you do a search and replace on <?php echo $exportedfile ?> before continuing.</p>
376-
377- <p>Preferred location for inline images is the blog media folder.</p>
378-
379- <p>You can also handle the images later, but it might be easier now :)</p>
380- </div>
381-
382- <div class="panelinfo">
383- <p>The importer is smart enough not to import duplicates, so you can run this procedure multiple times without worrying if &#8212; for whatever reason &#8212; it doesn't finish (script timeout for example).</p>
384- </div>
385-
386-
387- <div class="panelblock">
388- <form class="fform" action="<?php echo $dispatcher ?>" method="post">
389- <input type="hidden" name="ctrl" value="mtimport" />
390- <input type="hidden" name="action" value="import" />
391- <?php
392- if( !empty($exportedfile) )
393- {
394- ?><input type="hidden" name="exportedfile" value="<?php echo format_to_output( $exportedfile, 'formvalue' ) ?>" />
395- <?php
396- }
397-
398- ?>
399-
400- <?php
401- switch( $import_mode )
402- {
403- case 'easy':
404- ?>
405- <h2>Easy Import:</h2>
406- <ul>
407- <li>MT users with no matching <?php echo $app_name; ?> user login will be automatically created.</li>
408- <li>MT categories with no matching <?php echo $app_name; ?> category name will be automatically created (in the default blog selected below.)</li>
409- <?php
410- if( isset($categories_countprim['[no category assigned]']) )
411- { ?>
412- <li>Entries without categories (<?php echo $categories_countprim['[no category assigned]'] ?>) will be imported to category '[no category assigned]' in the default blog.</li>
413- <?php
414- }
415- echo '</ul>';
416- break;
417- case 'normal':
418- ?>
419- <h2>Normal Import:</h2>
420- <ul>
421- <li>MT users can be mapped to existing <?php echo $app_name; ?> users, mapped to new users (provide login) or ignored.</li>
422- <li>Categories can be mapped to existing <?php echo $app_name; ?> categories, mapped to new categories (provide location + name) or ignored.</li>
423- </ul>
424- <?php
425- break;
426- case 'expert':
427- ?>
428- <h2>Expert Import:</h2>
429- <p>This gives you as much power as we can provide. It's like normal mode, but lets you map categories to a whole set of <?php echo $app_name; ?> categories (one main category and as many extra categories as you like). You can run the importer multiple times to use different sets of <?php echo $app_name; ?> categories for different sets of MT categories.</p>
430- <?php
431- break;
432-
433- }
434-
435- ?>
436-
437- <?php if( $import_mode != 'expert' ) { ?>
438- <fieldset>
439- <legend>Default blog</legend>
440- <fieldset>
441- <div class="label"><?php echo ( $import_mode == 'easy' ) ? 'Create categories in blog' : 'Use as default blog for categories' ?>:</div>
442- <div class="input">
443- <select name="default_blog">
444- <?php
445- $BlogCache = & get_Cache( 'BlogCache' );
446- echo $BlogCache->get_option_list( 2 ); // use first non-all blog as default
447- ?>
448- </select>
449- </div>
450- </fieldset>
451- </fieldset>
452- <?php } ?>
453-
454- <?php if( $import_mode != 'easy' ) { ?>
455- <fieldset><legend>Author mapping</legend>
456- <?php
457- $evousers = $DB->get_results('SELECT * FROM T_users ORDER BY user_ID');
458- foreach ($authors as $author)
459- {
460- ++$i_user;
461- ?>
462- <fieldset>
463- <div class="label"><label><?php echo $author ?></label></div>
464- <div class="input">
465- <select name="user_select[]">
466- <option value="#CREATENEW#" selected="selected"> Create new: </option>
467- <option value="#IGNORE#"> Ignore! </option>
468- <?php
469- foreach( $evousers as $user )
470- {
471- ?><option value="<?php echo $user->user_ID ?>"<?php if( strtolower($author) == strtolower( $user->user_login ) ) echo ' selected="selected"';
472- echo '>'.format_to_output(strtolower($user->user_login), 'formvalue').'</option>';
473- }
474- ?></select>
475- <input type="text" value="<?php echo format_to_output($author, 'formvalue') ?>" name="user_name[]" maxlength="30" class="input" />
476- <span class="notes">(login for new user)</span>
477- </div>
478- </fieldset>
479- <?php
480- }
481- ?>
482- </fieldset>
483- <?php } ?>
484-
485-
486- <fieldset><legend>New user defaults</legend>
487- <?php
488- form_text( 'default_password', $default_password, 20, 'Password for new users', 'this will be the password for users created during migration (default is "changeme")', 30 , '', 'password' );
489- form_text( 'default_password2', $default_password, 20, 'Confirm password', 'please confirm the password', 30 , '', 'password' );
490- $GroupCache = & get_Cache( 'GroupCache' );
491- form_select_object( 'default_usergroup', $Settings->get('newusers_grp_ID'), $GroupCache, T_('User group') );
492- $field_note = '[0 - 10] '.sprintf( T_('See <a %s>online manual</a> for details.'), 'href="http://manual.b2evolution.net/User_levels"' );
493- form_text( 'default_userlevel', $Settings->get('newusers_level'), 2, T_('Level'), $field_note, 2 );
494- ?>
495- </fieldset>
496-
497-
498- <?php if( $mode != 'easy' ){ ?>
499- <fieldset><legend>Category mapping</legend>
500- <?php
501- $i_cat = 0;
502- foreach( $categories as $cat )
503- {
504- ?>
505- <fieldset>
506- <div class="label">
507- <label><?php echo format_to_output($cat, 'htmlbody') ?></label>
508- <br /><span class="notes" style="font-weight:normal">used <?php echo @(int)$categories_countprim[$cat] ?> times as primary category</span>
509- </div>
510- <div class="input"><select name="catmap_select[]">
511- <?php
512- if( $import_mode == 'expert' )
513- echo '<option value="#DEFAULTSET#">Map to default categories set (see below)</option>';
514- else echo '<option value="#DEFAULTBLOG#">Create in default blog:</option>'; ?>
515- <?php cats_optionslist( $cat ) ?>
516- <option value="#IGNORE#">Ignore entries with this primary cat</option>
517- </select>
518- <input type="text" name="catmap_name[]" value="<?php echo format_to_output( $cat, 'formvalue' ) ?>" size="30" />
519- </div>
520- </fieldset>
521- <?php
522- $i_cat++;
523- } ?>
524- <?php
525- if( $import_mode == 'expert' )
526- {
527- fieldset_cats();
528- }
529- ?>
530- </fieldset>
531- <?php } ?>
532-
533-
534- <fieldset><legend>Post/Entry defaults</legend>
535- <?php
536- form_checkbox( 'default_convert_breaks', $default_convert_breaks, 'Convert-Breaks default', 'will be used for posts with empty CONVERT BREAKS or "__default__"' );
537- form_select( 'post_locale', $Settings->get('default_locale'), 'locale_options', T_('Default locale'), 'Locale for posts.' );
538- form_checkbox( 'convert_html_tags', $convert_html_tags, 'Convert ugly HTML', 'this will lowercase all html tags and add a XHTML compliant closing tag to &lt;br&gt;, &lt;img&gt;, &lt;hr&gt; (you\'ll get notes)' );
539-
540- if( $import_mode != 'easy' )
541- { // we'll use 'default' when importing
542- ?>
543- <div class="label">Renderers:</div>
544- <div class="input"><?php renderer_list() ?></div>
545- <?php } ?>
546- </fieldset>
547-
548- <?php /*<fieldset style="padding-left:1ex"><legend>&lt;img&gt;-URL mapping</legend>
549- <a id="imgurls"><p class="notes">This lets you map found image urls (their basename) to another basename.
550-
551- // TODO: refer to Blog media folder/url and ensure that it's enabled..
552-
553- You probably want to put the images that you had on your MT installation into Quam Plures' media folder.<br />
554- So you would use <strong><?php echo "TODO" ?></strong> for replacement.<br />
555-
556- You can leave this empty, of course and nothing will be replaced, but then you'll have probably broken images.</p></a>
557- <?php
558- preg_match_all( '#<img .*?src="([^"]*)/.*?"#is', $importdata, $matches );
559-
560- foreach( $matches[1] as $imgurl )
561- {
562- if( !isset($imgurlscount[ $imgurl ]) )
563- $imgurlscount[ $imgurl ] = 1;
564- else $imgurlscount[ $imgurl ]++;
565- }
566-
567- asort( $imgurlscount );
568- $imgurlscount = array_reverse( $imgurlscount );
569-
570- param( 'singleimgurls', 'integer', 0 );
571- $i = 0;
572- foreach( $imgurlscount as $imgurl => $counter ) if( $counter > 1 || $singleimgurls )
573- {
574- ?><input type="hidden" name="url_search[<?php echo $i ?>]" value="<?php echo format_to_output( $imgurl, 'formvalue' ) ?>" />
575- <strong><?php echo $imgurl ?></strong>:<br />
576- <div class="input"><input style="clear:left" type="text" name="url_replace[]" size="50" /></div>
577- <span class="notes" style="font-weight:normal"> (used <?php echo $counter ?> times)</span>
578- <br />
579- <?php
580- $i++;
581- }
582-
583- echo '<p class="center"><a id="imgurls" href="<?php echo $dispatcher ?>?ctrl=mtimport&amp;tab=import&amp;singleimgurls='.( $singleimgurls ? '0' : '1' );
584- if( !empty($exportedfile) ) echo '&amp;exportedfile='.$exportedfile;
585- echo '">'.( $singleimgurls ? 'hide img urls only used once' : 'show also img urls only used once').'</a></p>';
586-
587- ?>
588- </fieldset>
589- */ ?>
590-
591- <fieldset><legend>other settings</legend>
592- <?php
593- form_checkbox( 'simulate', $simulate, 'Simulate: do not import really', 'Use this to test importing, without really changing the target database.' );
594- ?>
595- </fieldset>
596- <p>Please note:</p>
597- <ul>
598- <li><?php echo $app_name; ?> does not support excerpts yet.
599- So, we will import them in front of the body with "<?php echo htmlspecialchars('<!--more-->< !--noteaser-->') ?>" tags,
600- but only if there is no extended body for the post. In that case we'll use the extended body appended with the &lt;!--more--&gt; tag to the body - excerpts are lost then (but you'll get a note about it).
601- </li>
602- </ul>
603-
604- <fieldset class="submit">
605- <div class="input">
606- <input type="hidden" name="import_mode" value="<?php echo $import_mode ?>" />
607- <input class="search" type="submit" value=" Import! " />
608- <input class="search" type="reset" value="Reset form" />
609- </div>
610- </fieldset>
611-
612- </div>
613-
614- </form>
615-
616- <?php
617- }
618-
619-
620- /*************
621- IMPORT
622- *************/
623- elseif( $action == 'import' )
624- {
625- $Timer->resume('import_main');
626- ?>
627- <div class="panelinfo">
628- <h4>Importing from [<?php echo $exportedfile ?>]..<?php if( $simulate ) echo ' (simulating)' ?></h4>
629-
630- <?php
631- if( function_exists( 'set_time_limit' ) )
632- {
633- set_time_limit( 900 ); // 15 minutes ought to be enough for everybody *g
634- }
635- @ini_set( 'max_execution_time', '900' );
636-
637- // counters
638- $count_postscreated = 0;
639- $count_userscreated = 0;
640- $count_commentscreated = 0;
641- $count_trackbackscreated = 0;
642-
643- // get POSTed data
644- param( 'import_mode', 'string', true );
645-
646- if( $import_mode != 'expert' )
647- {
648- param( 'default_blog', 'integer', true );
649- }
650-
651- import_data_extract_authors_cats();
652-
653- {{{ // map categories
654- /**
655- * associative array that maps MT cats to b2evo.
656- * key is the MT category name.
657- * values:
658- * holds type and value:
659- * types:
660- * - 'blogid': blog_id, new name
661- * - 'catid': cat_id
662- * - 'defaultset': -
663- * - 'ignore': -
664- */
665- $catsmapped = array();
666-
667- $i_cat = -1;
668- // category mapping
669- if( !isset($_POST['catmap_select']) )
670- { // no category mapping
671- foreach( $categories as $cat )
672- {
673- $catsmapped[ $cat ] = array('blogid', $default_blog, $cat );
674- }
675- }
676- else foreach( $_POST['catmap_select'] as $cat )
677- {
678- $i_cat++;
679- if( $cat == '#IGNORE#' )
680- {
681- $catsmapped[ $categories[$i_cat] ] = array( 'ignore' );
682- }
683- elseif( $cat == '#DEFAULTSET#' )
684- {
685- if( !isset( $default_post_category ) )
686- { // get the default category set
687- if( isset($_POST['post_category']) )
688- {
689- $default_post_category = (int)$_POST['post_category'];
690- }
691- else
692- {
693- dieerror( 'You have chosen to map at least one category to the default category set, but you have not selected a main category for this set!<br />Please go back and correct that..' );
694- }
695- $default_post_extracats = array();
696- if( isset( $_POST['post_extracats'] ) )
697- { // get extra cats
698- foreach( $_POST['post_extracats'] as $tcat )
699- {
700- $default_post_extracats[] = (int)$tcat;
701- }
702- }
703- }
704- $catsmapped[ $categories[$i_cat] ] = array( 'defaultset' );
705- }
706- elseif( preg_match( '/^\d+$/', $cat, $match ) )
707- { // we map to a b2evo cat
708- $catsmapped[ $categories[$i_cat] ] = array('catid', (int)$cat);
709- }
710- elseif( $cat == '#DEFAULTBLOG#'
711- || preg_match( '/^#NEW#(\d+)$/', $cat, $match ) )
712- { // we want a new category
713- $blog_id = ($cat == '#DEFAULTBLOG#') ? $default_blog : $match[1];
714- // remember the name to create it when posts get inserted
715- // fp>dh: please use param() instead of $_POST[] (everywhere)
716- $catsmapped[ $categories[$i_cat] ] = array( 'blogid', $blog_id, remove_magic_quotes( $_POST['catmap_name'][$i_cat]) );
717- }
718- else
719- {
720- dieerror('This should never happen @catmapping. Please report it! (cat='.$cat.' / ');
721- }
722-
723- }
724-
725- foreach( $catsmapped as $mtcat => $values ) if( $values[0] == 'blogid' )
726- {
727- echo 'Category <span style="color:#09c">'.$values[2].'</span> (for blog #'.$values[1].') ';
728- // check if it already exists
729- $cat_ID = $DB->get_var("SELECT cat_ID FROM T_categories
730- WHERE cat_blog_ID = {$values[1]}
731- AND cat_name = ".$DB->quote( $values[2] ));
732- if( !$cat_ID )
733- {
734- echo 'will be created with first post.<br />';
735- }
736- else
737- {
738- echo 'already exists.<br />';
739- $catsmapped[ $mtcat ] = array('catid', (int)$cat_ID); // map to existing category
740- }
741-
742- }
743-
744- debug_dump( $catsmapped, 'catsmapped' );
745- }}}
746-
747-
748-
749- // get renderers
750- if( $import_mode != 'easy' )
751- {
752- $default_renderers = array();
753- if( !isset($_POST['renderers']) )
754- { // all unchecked
755- $default_renderers = array();
756- }
757- else $default_renderers = $_POST['renderers'];
758-
759- // the special Auto-P renderer
760- param( 'autop', 'string', true );
761- if( $autop === '1' )
762- { // use always
763- $default_renderers[] = 'b2WPAutP';
764- }
765- }
766- else
767- {
768- global $Plugins;
769- $default_renderers = $Plugins->validate_renderer_list( array('default') );
770- $autop = 1;
771- }
772-
773-
774- /*
775- // get image s&r
776- $urlsearch = array();
777- $urlreplace = array();
778- $i = 0;
779- foreach( $_POST['url_replace'] as $replace )
780- {
781- if( !empty($replace) )
782- {
783- $urlsearch[] = remove_magic_quotes($_POST['url_search'][$i]);
784- $urlreplace[] = remove_magic_quotes( $replace );
785- }
786- $i++;
787- }
788- */
789-
790- // get users
791- $i_user = 0;
792- if( !isset($_POST['user_select']) )
793- {
794- foreach( $authors as $author )
795- {
796- $usersmapped[ $author ] = array('createnew', $author );
797- }
798-
799- }
800- else foreach( $_POST['user_select'] as $select )
801- {
802- $mtauthor = $authors[ $i_user ];
803-
804- if( $select == '#IGNORE#' )
805- {
806- $usersmapped[ $mtauthor ] = array( 'ignore' );
807- }
808- elseif( $select == '#CREATENEW#' )
809- {
810- $usersmapped[ $mtauthor ] = array( 'createnew', remove_magic_quotes( $_POST['user_name'][$i_user] ) );
811- }
812- elseif( preg_match( '#\d+#', $select, $match ) )
813- {
814- $usersmapped[ $mtauthor ] = array( 'b2evo', $select );
815- }
816- else
817- {
818- ?><p class="error">Unknown user mapping. This should never ever happen. Please report it.</p><?php
819- }
820- $i_user++;
821- }
822- debug_dump( $usersmapped, 'usersmapped' );
823-
824-
825- if( $simulate )
826- {
827- $simulate_cat_id = $DB->get_var( 'SELECT MAX( cat_ID )+1 FROM T_categories' );
828- }
829-
830- $i = -1;
831- echo "\n<ol>";
832- foreach ($posts as $post)
833- {
834- ++$i;
835-
836- // Defaults:
837- $post_catids = array();
838- $post_renderers = $default_renderers;
839- $post_status = 'published';
840-
841- // strip the post's last '--------'
842- // "MT export files use 8 dashes to delimit entires (not 5, which delimit entry's sections)."
843- $post = preg_replace("|--------\n+$|s", '', $post);
844-
845- // first line is author of post
846- $post_author = trim( substr( $post, 0, strpos( $post, "\n", 1 ) ) );
847- $post = preg_replace( '/^.*\n/', '', $post );
848- $message = "\n<li>Post from ".format_to_output( $post_author, 'entityencoded' ).' <ul>';
849-
850- // Take the pings out first
851- preg_match("|(-----\n\nPING:.*)|s", $post, $pings);
852- $post = preg_replace("|(-----\n\nPING:.*)|s", '', $post);
853-
854- // Then take the comments out
855- preg_match("|(-----\nCOMMENT:.*)|s", $post, $comments);
856- $post = preg_replace("|(-----\nCOMMENT:.*)|s", '', $post);
857-
858- // We ignore the keywords
859- $post = preg_replace("|(-----\nKEYWORDS:.*)|s", '', $post);
860-
861- // We want the excerpt - it's put with more and noteaser tag into main body, only if we have no extended body!
862- preg_match("|-----\nEXCERPT:(.*)|s", $post, $excerpt);
863- $excerpt = trim($excerpt[1]);
864- $post = preg_replace("|(-----\nEXCERPT:.*)|s", '', $post);
865-
866- // We're going to put extended body into main body with a more tag
867- preg_match("|-----\nEXTENDED BODY:(.*)|s", $post, $extended);
868- $extended = trim($extended[1]);
869- $post = preg_replace("|(-----\nEXTENDED BODY:.*)|s", '', $post);
870-
871- // Now for the main body
872- preg_match("|-----\nBODY:(.*)|s", $post, $body);
873- $body = trim($body[1]);
874- if( empty($extended) )
875- { // no extended body, so we can use the excerpt
876- if( empty($excerpt) )
877- $post_content = $body;
878- else $post_content = $excerpt."\n<!--more--><!--noteaser-->\n".$body;
879- }
880- else
881- { // we'll use body and extended body
882- if( !empty($excerpt) )
883- {
884- $message .= '<li><span style="color:red">Excerpt discarded because of existing extended body:</span>
885- <blockquote>'.htmlspecialchars($excerpt).'</blockquote></li>';
886- }
887- $post_content = $body."\n<!--more-->\n".$extended;
888- }
889-
890- $post = preg_replace("|(-----\nBODY:.*)|s", '', $post);
891-
892-
893- // Grab the metadata from what's left
894- $metadata = explode("\n", $post);
895-
896- $post_categories = array();
897- foreach ($metadata as $line) if( !empty($line) )
898- {
899- debug_dump($line);
900-
901- if( !preg_match("/^(.*?):(.*)/", $line, $token) )
902- {
903- $message .= "<li class=\"notes\">Unknown meta-data: [$line] (ignoring)</li>";
904- continue;
905- }
906- $key = trim( $token[1] );
907- $value = trim( $token[2] );
908-
909- // Now we decide what it is and what to do with it
910- switch($key)
911- {
912- case 'TITLE':
913- $message .= '<li>title: '.strip_tags($value).'</li>';
914- $post_title = $value;
915- break;
916- case 'STATUS':
917- if( strtolower($value) == 'publish' )
918- $post_status = 'published';
919- elseif( strtolower($value) == 'draft' )
920- $post_status = 'draft';
921- else
922- {
923- $message .= '<li>Unknown post status ['.$value.'], using "draft".</li>';
924- $post_status = 'draft';
925- }
926- break;
927- case 'ALLOW COMMENTS':
928- $post_allow_comments = $value;
929- switch( $post_allow_comments ) {
930- case 0: $comment_status = 'disabled'; break;
931- case 1: $comment_status = 'open'; break;
932- case 2: $comment_status = 'closed'; break;
933- default:
934- $message .= '<li>Unknown comment status ['.$value.'], using "closed".</li>';
935- $comment_status = 'closed';
936- }
937- break;
938- case 'CONVERT BREAKS':
939- if( $value == '__default__' || empty($value) )
940- {
941- $post_convert_breaks = $default_convert_breaks;
942- }
943- elseif( $value == 'textile_2' && array_search( 'b2DATxtl', $post_renderers ) === false )
944- { // add the textile 2 renderer to the post's renderers
945- $post_renderers[] = 'b2DATxtl';
946- $post_convert_breaks = 1; // TODO: check if this makes sense!
947- }
948- elseif( preg_match('/\d+/', $value) )
949- {
950- $post_convert_breaks = (int)( $value > 0 );
951- }
952- else
953- {
954- $message .= '<li>Unknown CONVERT BREAKS value, using default ('.$default_convert_breaks.')..</li>';
955- $post_convert_breaks = $default_convert_breaks;
956- }
957-
958- if( $autop == 'depends' && $post_convert_breaks && array_search( 'b2WPAutP', $post_renderers ) === false )
959- { // add the Auto-P renderer
960- $post_renderers[] = 'b2WPAutP';
961- }
962-
963- break;
964- case 'ALLOW PINGS':
965- if( $value == 1)
966- {
967- $post_allow_pings = 'open';
968- }
969- else
970- {
971- $post_allow_pings = 'closed';
972- }
973- break;
974- case 'PRIMARY CATEGORY':
975- case 'CATEGORY':
976- if( !empty($value) && !isset($post_categories[$value]) )
977- {
978- if( $catsmapped[ $value ][0] == 'defaultset' )
979- { // we add default set
980- $post_categories[$value] = $default_post_extracats;
981- array_unshift( $post_categories[$value], 'catid', $default_post_category );
982- }
983- else $post_categories[$value] = $catsmapped[ $value ];
984- }
985- break;
986- case 'DATE':
987- $post_date = strtotime( $value );
988- $post_date = date('Y-m-d H:i:s', $post_date);
989- break;
990- default:
991- $message .= "\n<li>Unknown key [$key] in metadata:\nvalue: $value\n</li>";
992- break;
993- }
994- } // End foreach (metadata)
995-
996- $dontimport = 0;
997-
998-
999- if( empty($post_categories) )
1000- { // no category metadata found!
1001-
1002- if( $catsmapped[ '[no category assigned]' ][0] == 'defaultset' )
1003- { // we must convert default set
1004- $post_categories['[no category assigned]'] = $default_post_extracats;
1005- array_unshift( $post_categories['[no category assigned]'], 'catid', $default_post_category );
1006- }
1007- else $post_categories[ '[no category assigned]' ] = $catsmapped[ '[no category assigned]' ];
1008-
1009- }
1010-
1011- // Let's check to see if it's in already
1012- if( $post_ID = $DB->get_var( "SELECT post_ID
1013- FROM T_items__item
1014- WHERE post_title = ".$DB->quote($post_title)."
1015- AND post_datestart = '$post_date'"))
1016- {
1017- $message .= '<li style="color:blue">Post already imported.</li>';
1018- }
1019- else
1020- { // insert post
1021-
1022- // check&map author
1023- switch( $usersmapped[ $post_author ][0] )
1024- {
1025- case 'ignore':
1026- $message .= '<li style="color:blue">User ignored!</li>';
1027- echo $message.'</ul>';
1028- continue; // next post
1029-
1030- case 'b2evo':
1031- $item_Author = & $UserCache->get_by_login( $usersmapped[ $post_author ][1] );
1032- break;
1033-
1034- case 'createnew':
1035- // check if the user already exists
1036- $UserCache = & get_Cache( 'UserCache' );
1037- $item_Author = & $UserCache->get_by_login( $usersmapped[ $post_author ][1] );
1038-
1039- if( ! $item_Author )
1040- {
1041- $item_Author = new User();
1042- $item_Author->set('login', strtolower($usersmapped[ $post_author ][1]));
1043- $item_Author->set('nickname', $usersmapped[ $post_author ][1]);
1044- $item_Author->set('pass', md5( $default_password ));
1045- $item_Author->set('level', $default_userlevel);
1046- $item_Author->set('email', '');
1047- $GroupCache = & get_Cache( 'GroupCache' );
1048- $item_Author_Group = & $GroupCache->get_by_ID( $default_usergroup );
1049- $item_Author->set_Group( $item_Author_Group );
1050-
1051- if( !$simulate )
1052- {
1053- $item_Author->dbinsert();
1054- }
1055-
1056- // This is a bad hack, because add() would need an ID (which we don't have when simulating)
1057- $UserCache->cache_login[ $item_Author->login ] = & $item_Author;
1058-
1059- $message .= '<li style="color:orange">user '.$item_Author->login.' created</li>';
1060- $count_userscreated++;
1061- }
1062- break;
1063- default:
1064- $message .= '<li style="color:red">unknown type in checkauthor ('.$usersmapped[ $author ][0].'). This should never ever happen. Post ignored. Please report it.</li>';
1065- echo $message.'</ul>';
1066- continue; // next post
1067- }
1068-
1069-
1070- debug_dump( $post_categories, 'cats to check' );
1071-
1072- // Check categories
1073- $i_cat = -1;
1074- $message_ignored = '';
1075- foreach( $post_categories as $catname => $checkcat )
1076- {
1077- $i_cat++;
1078- switch( $checkcat[0] )
1079- {
1080- case 'catid': // existing b2evo catids
1081- array_shift($checkcat);
1082- while( $cat_id = array_shift($checkcat) )
1083- $post_catids[] = $cat_id; // get all catids
1084- continue;
1085-
1086- case 'ignore': // category is ignored
1087- if( $i_cat == 0 )
1088- { // main category ignored, don't import post
1089- $dontimport = 1;
1090- $message_ignored .= '<li>Main Category &quot;'.$catname.'&quot; ignored! - no import</li>';
1091- break;
1092- }
1093- else
1094- { // ignored category in extracats, remove it there
1095- $message_ignored .= '<li>Extra category '.$catname.' ignored.</li>';
1096- unset( $post_categories[ $catname ] );
1097- }
1098- break;
1099-
1100- case 'blogid': // category has to be created
1101- // create it and remember ID
1102- if( $simulate )
1103- {
1104- $cat_id = ++$simulate_cat_id;
1105- }
1106- else
1107- {
1108- $cat_id = cat_create( $checkcat[2], 'NULL', $checkcat[1] );
1109- }
1110- $catsmapped[ $catname ] = array( 'catid', $cat_id ); // use ID from now on.
1111-
1112- if( !isset($cache_categories[ $cat_id ] ) )
1113- { // stupid workaround because of a bug where cache_categories does not get updated and we want to use get_catname later
1114- $cache_categories[ $cat_id ] = array(
1115- 'cat_name' => $checkcat[2],
1116- 'cat_blog_ID' => $checkcat[1],
1117- 'cat_parent_ID' => NULL,
1118- 'cat_postcount' => 0,
1119- 'cat_children' => 0
1120- );
1121- }
1122- $post_catids[] = $cat_id;
1123- $message .= '<li style="color:orange">category '.$checkcat[2].' [ID '.$cat_id.'] created</li>';
1124- break;
1125-
1126- default:
1127- $message .= '<li style="color:red">This should never ever happen @check_cats. Please report it! (checkcat[0]: '.$checkcat[0].')</li>';
1128-
1129- }
1130- }
1131- if( !empty($message_ignored) )
1132- $message .= '<li style="color:blue">Categories ignored: <ul>'.$message_ignored.'</ul></li>';
1133-
1134- debug_dump( $dontimport, 'dontimport' );
1135- if( $dontimport )
1136- { // see var name :)
1137- echo $message;
1138- continue; // next post
1139- }
1140-
1141- if( $convert_html_tags )
1142- {
1143- $old_content = $post_content;
1144- // convert tags to lowercase
1145- $post_content = stripslashes( preg_replace( "¤(</?)(\w+)([^>]*>)¤e", "'\\1'.strtolower('\\2').'\\3'", $post_content ) );
1146-
1147- // close br, hr and img tags
1148- $post_content = preg_replace( array('¤<(br)>¤', '¤<(hr\s?.*?)>¤', '¤<(img\s.*?)>¤'), '<\\1 />', $post_content );
1149-
1150-
1151- // add quotes for href tags that don't have them
1152- $post_content = preg_replace( '¤href=([^"\'][^\s>"\']+)["\']?¤', 'href="$1"', $post_content );
1153-
1154- if( $post_content != $old_content )
1155- {
1156- $message .= '<li><p style="color:darkblue;border:1px dashed orange;">'.htmlspecialchars($old_content).'</p>
1157- html-converted to: <p style="color:darkblue;border:1px dashed orange;">'.htmlspecialchars($post_content).'</p></li>';
1158- }
1159- }
1160-
1161- /*if( count($urlreplace) )
1162- {
1163- $old_content = $post_content;
1164- foreach( $urlreplace as $search => $replace )
1165- {
1166- $post_content = str_replace( $urlsearch, $urlreplace, $post_content );
1167- }
1168- if( $post_content != $old_content )
1169- {
1170- echo '<p style="color:darkblue;border:1px dashed orange;">'.htmlspecialchars($old_content).'</p>
1171- converted img-links to: <p style="color:darkblue;border:1px dashed orange;">'.htmlspecialchars($post_content).'</p>';
1172- }
1173- }*/
1174-
1175- debug_dump( $post_catids, 'post_extracats' );
1176- $post_category = array_shift($post_catids);
1177- debug_dump( $post_category, 'post_category' );
1178- debug_dump( $post_categories, 'post_categories' );
1179- debug_dump( $post_author, 'post_author' );
1180- debug_dump( isset($item_Author->ID) ? $item_Author->ID : 'NULL (simulating)', 'item_Author->ID' );
1181-
1182- if( !$simulate )
1183- {
1184- $edited_Item = & new Item();
1185- $edited_Item->set_creator_User($item_Author);
1186- $edited_Item->set('title', $post_title);
1187- $edited_Item->set('content', $post_content);
1188- $edited_Item->set('datestart', $post_date);
1189- $edited_Item->set('main_cat_ID', $post_category);
1190- $edited_Item->set('extra_cat_IDs', $post_catids);
1191- $edited_Item->set('status', $post_status);
1192- $edited_Item->set('locale', $post_locale);
1193- $edited_Item->set('notifications_status', 'finished');
1194- $edited_Item->set('comment_status', $comment_status);
1195- $edited_Item->set_renderers($post_renderers);
1196- $edited_Item->dbinsert();
1197- $post_ID = $edited_Item->ID;
1198- }
1199-
1200- $message .= '<li><span style="color:green">Imported successfully</span><ul><li>main category: <span style="color:#09c">'.get_catname( $post_category ).'</span></li>';
1201- if( count($post_catids) )
1202- $message .= '<li>extra categories: <span style="color:#09c">'.preg_replace( '/(\d+)/e', "get_catname('\\1')", implode( ', ', $post_catids ) ).'</span></li>';
1203- $message .= '</ul></li>';
1204- $count_postscreated++;
1205-
1206- }
1207- echo $message.'</ul>';
1208-
1209-
1210- if( count($comments) )
1211- { // comments
1212- $message = '';
1213-
1214- $comments = explode("-----\nCOMMENT:", $comments[0]);
1215- foreach ($comments as $comment)
1216- {
1217- $comment = trim($comment);
1218- if( empty($comment) ) continue;
1219-
1220- $comment_author = ripline( 'AUTHOR:', $comment );
1221- $comment_email = ripline( 'EMAIL:', $comment );
1222- $comment_ip = ripline( 'IP:', $comment );
1223- $comment_url = ripline( 'URL:', $comment );
1224- $comment_date = date('Y-m-d H:i:s', strtotime( ripline( 'DATE:', $comment )));
1225-
1226- $comment_content = preg_replace("/\n*-----$/", '', $comment);
1227-
1228- // Check if it's already in there
1229- if( !$DB->get_row("SELECT * FROM T_comments WHERE comment_date = '$comment_date' AND comment_content = ".$DB->quote( $comment_content )) )
1230- {
1231- if( !$simulate )
1232- {
1233- $DB->query( "INSERT INTO T_comments( comment_post_ID, comment_type, comment_author_ID, comment_author,
1234- comment_author_email, comment_author_url, comment_author_IP,
1235- comment_date, comment_content)
1236- VALUES( $post_ID, 'comment', NULL, ".$DB->quote($comment_author).",
1237- ".$DB->quote($comment_email).", ".$DB->quote($comment_url).",
1238- ".$DB->quote($comment_ip).", '$comment_date', ".$DB->quote($comment_content)." )" );
1239- }
1240-
1241- $message .= '<li>Comment from '.$comment_author.' added.</li>';
1242- $count_commentscreated++;
1243- }
1244- }
1245- if( !empty($message) )
1246- {
1247- echo '<ul>'.$message.'</ul>';
1248- }
1249-
1250- }
1251-
1252- // Finally the pings
1253- // fix the double newline on the first one
1254- if( count($pings) )
1255- {
1256- $message = '';
1257- $pings[0] = str_replace("-----\n\n", "-----\n", $pings[0]);
1258- $pings = explode("-----\nPING:", $pings[0]);
1259- foreach( $pings as $ping )
1260- {
1261- $ping = trim($ping);
1262- if( empty($ping) ) continue;
1263-
1264- $comment_author = ripline( 'BLOG NAME:', $ping );
1265- $comment_email = '';
1266- $comment_ip = ripline( 'IP:', $ping );
1267- $comment_url = ripline( 'URL:', $ping );
1268- $comment_date = date('Y-m-d H:i:s', strtotime( ripline( 'DATE:', $ping )));
1269- $ping_title = ripline( 'TITLE:', $ping );
1270-
1271- $comment_content = preg_replace("/\n*-----$/", '', $ping);
1272-
1273- $comment_content = "<strong>$ping_title</strong><br />$comment_content";
1274-
1275- // Check if it's already there
1276- if (!$DB->get_row("SELECT * FROM T_comments WHERE comment_date = '$comment_date' AND comment_type = 'trackback' AND comment_content = ".$DB->quote($comment_content)))
1277- {
1278- if( !$simulate )
1279- {
1280- $DB->query( "INSERT INTO T_comments
1281- (comment_post_ID, comment_type, comment_author, comment_author_email, comment_author_url,
1282- comment_author_IP, comment_date, comment_content )
1283- VALUES
1284- ($post_ID, 'trackback', ".$DB->quote($comment_author).", ".$DB->quote($comment_email).", ".$DB->quote($comment_url).",
1285- ".$DB->quote($comment_ip).", ".$DB->quote($comment_date).", ".$DB->quote($comment_content)." )" );
1286- }
1287- $message .= '<li>Trackback from '.$comment_url.' added.</li>';
1288- $count_trackbackscreated++;
1289- }
1290- }
1291- echo $message;
1292- }
1293-
1294- echo "</li>\n";
1295- flush();
1296- }
1297- ?>
1298- </ol>
1299- <h4>All done.<?php if( $simulate ) echo ' (simulated - no real import!)' ?></h4>
1300- <ul>
1301- <li><?php echo $count_postscreated ?> post(s) imported.</li>
1302- <li><?php echo $count_userscreated ?> user(s) created.</li>
1303- <li><?php echo $count_commentscreated ?> comment(s) imported.</li>
1304- <li><?php echo $count_trackbackscreated ?> trackback(s) imported.</li>
1305- <li>in <?php echo $Timer->get_duration('import_main') ?> seconds.</li>
1306- </ul>
1307- <?php
1308- if( $simulate )
1309- {
1310- echo '
1311- <form action="'.$dispatcher.'" method="post">
1312- <input type="hidden" name="ctrl" value="mtimport" />
1313- <p>
1314- <strong>This was only simulated..</strong>
1315- ';
1316- foreach( $_POST as $key => $value )
1317- {
1318- if( $key != 'simulate' )
1319- {
1320- if( is_array( $value ) )
1321- {
1322- foreach( $value as $key2 => $value2 )
1323- {
1324- echo '<input type="hidden" name="'.$key.'['.$key2.']" value="'.format_to_output( $value2, 'formvalue' ).'" />';
1325- }
1326- }
1327- else
1328- {
1329- echo '<input type="hidden" name="'.$key.'" value="'.format_to_output( $value, 'formvalue' ).'" />';
1330- }
1331- }
1332- }
1333- echo '<input type="submit" value="Do it for real now!" /></p></form>'."\n";
1334- }
1335- ?>
1336- <p>
1337- <a href="<?php echo $baseurl ?>">Have fun in your blogs</a> or <a href="<?php echo $admin_url ?>">go to admin</a> (it's fun there, too)
1338- </p>
1339- <?php
1340- if( $count_userscreated )
1341- {
1342- echo '<p class="note">Please note that the new users being created are not member of any blog yet. You\'ll have to setup this in the <a href="'.$admin_url.'?ctrl=collections">blogs admin</a>.</p>';
1343- }
1344- ?>
1345- </div>
1346- <?php
1347- }
1348-
1349-?>
1350-<div class="panelinfo">
1351- <p>
1352- Feel free to <a href="http://thequod.de/contact">contact me</a> in case of suggestions, bugs and lack of clarity.
1353- Of course, you're also welcome to <a href="https://sourceforge.net/donate/index.php?user_id=663176">donate to me</a>.. :)
1354- </p>
1355-</div>
1356-<div class="clear">
1357-<?php if( $output_debug_dump ) $DB->dump_queries() ?>
1358-</div>
1359-</div>
1360-</body>
1361-</html>
1362-<?php
1363-
1364-/* ------ FUNCTIONS ------ */
1365-
1366-/**
1367- * @todo fp> this needs to be deprecated
1368- * @todo fp> get rid of the $cache_blogs crap and use $BlogCache only
1369- */
1370-function blog_load_cache()
1371-{
1372- global $DB, $cache_blogs;
1373- if( empty($cache_blogs) )
1374- {
1375- $BlogCache = & get_Cache('BlogCache');
1376- $cache_blogs = array();
1377-
1378- foreach( $DB->get_results( "SELECT * FROM T_blogs ORDER BY blog_ID", OBJECT, 'blog_load_cache()' ) as $this_blog )
1379- {
1380- $cache_blogs[$this_blog->blog_ID] = $this_blog;
1381-
1382- // Add it to BlogCache, so it does not need to load it also again:
1383- // NOTE: dh> it may be bad to instantiate all objects, but there's no shadow_cache for rows..
1384- $BlogCache->instantiate($this_blog);
1385- //echo 'just cached:'.$cache_blogs[$this_blog->blog_ID]->blog_name.'('.$this_blog->blog_ID.')<br />';
1386- }
1387- $BlogCache->all_loaded = true;
1388- }
1389-}
1390-
1391-
1392-/**
1393- * Get name for a given cat ID.
1394- *
1395- * @return string Cat name in case of success, false on failure.
1396- */
1397-function get_catname($cat_ID)
1398-{
1399- $ChapterCache = & get_Cache('ChapterCache');
1400- $Chapter = & $ChapterCache->get_by_ID($cat_ID);
1401- return $Chapter->name;
1402-}
1403-
1404-
1405-function fieldset_cats()
1406-{
1407- global $cache_blogs, $cache_categories;
1408-
1409- ?>
1410- <fieldset title="default categories set" style="background-color:#fafafa; border:1px solid #ccc; padding: 1em; display:inline; float:right; white-space:nowrap;">
1411- <legend>Default categories set (only needed if you want to map categories to this)</legend>
1412- <p class="extracatnote">
1413- <?php
1414- if( count( $cache_categories ) )
1415- {
1416- echo T_('Select main category in target blog and optionally check additional categories').':';
1417- }
1418- else
1419- {
1420- echo 'No categories in your blogs..';
1421- }
1422- ?>
1423- </p>
1424-
1425- <?php
1426- // ---------------------------- CATEGORIES ------------------------------
1427- $default_main_cat = 0;
1428- $blog = 1;
1429-
1430- // ----------------- START RECURSIVE CAT LIST ----------------
1431- cat_load_cache(); // make sure the caches are loaded
1432- function import_cat_select_before_first( $parent_cat_ID, $level )
1433- { // callback to start sublist
1434- echo "\n<ul>\n";
1435- }
1436-
1437- function import_cat_select_before_each( $cat_ID, $level )
1438- { // callback to display sublist element
1439- global $current_blog_ID, $blog, $cat, $postdata, $default_main_cat, $action, $tabindex, $allow_cross_posting;
1440- echo '<li>';
1441-
1442- if( $allow_cross_posting )
1443- { // We allow cross posting, display checkbox:
1444- echo'<input type="checkbox" name="post_extracats[]" class="checkbox" title="', T_('Select as an additionnal category') , '" value="',$cat_ID,'"';
1445- echo ' />';
1446- }
1447-
1448- // Radio for main cat:
1449- if( $current_blog_ID == $blog )
1450- {
1451- if( ($default_main_cat == 0) && ($action == 'post') )
1452- { // Assign default cat for new post
1453- $default_main_cat = $cat_ID;
1454- }
1455- echo ' <input type="radio" name="post_category" class="checkbox" title="', T_('Select as MAIN category'), '" value="',$cat_ID,'"';
1456- if( ($cat_ID == $postdata["Category"]) || ($cat_ID == $default_main_cat))
1457- echo ' checked="checked"';
1458- echo ' />';
1459- }
1460- echo ' '.htmlspecialchars(get_catname($cat_ID));
1461- }
1462-
1463- function import_cat_select_after_each( $cat_ID, $level )
1464- { // callback after each sublist element
1465- echo "</li>\n";
1466- }
1467-
1468- function import_cat_select_after_last( $parent_cat_ID, $level )
1469- { // callback to end sublist
1470- echo "</ul>\n";
1471- }
1472-
1473- // go through all blogs with cats:
1474- foreach( $cache_blogs as $i_blog )
1475- { // run recursively through the cats
1476- $current_blog_ID = $i_blog->blog_ID;
1477- if( ! blog_has_cats( $current_blog_ID ) ) continue;
1478- #if( ! $current_User->check_perm( 'blog_post_statuses', 'any', false, $current_blog_ID ) ) continue;
1479- echo "<h4>".$i_blog->blog_name."</h4>\n";
1480- cat_children( $cache_categories, $current_blog_ID, NULL, 'import_cat_select_before_first',
1481- 'import_cat_select_before_each', 'import_cat_select_after_each', 'import_cat_select_after_last', 1 );
1482- }
1483- // ----------------- END RECURSIVE CAT LIST ----------------
1484- ?>
1485- </fieldset>
1486-<?php
1487-}
1488-
1489-
1490-/*
1491- -- Category options list --
1492-*/
1493-function cats_optionslist( $forcat )
1494-{
1495- global $cache_categories, $cache_blogs, $cache_optionslist;
1496-
1497- if( !isset($cache_optionslist) )
1498- {
1499- $cache_optionslist = '';
1500- foreach( $cache_blogs as $i_blog )
1501- {
1502- $cache_optionslist .= '<option value="#NEW#'.$i_blog->blog_ID.'">[-- create in blog '.$i_blog->blog_shortname.' --]:</option>';
1503- cat_children2( $cache_categories, $i_blog->blog_ID, NULL, 1 );
1504- }
1505- }
1506-
1507- $cat_id = false;
1508- foreach( $cache_categories as $key => $value )
1509- {
1510- if( $value['cat_name'] == $forcat )
1511- {
1512- $cat_id = $key;
1513- break;
1514- }
1515- }
1516-
1517- if( is_int($cat_id) )
1518- {
1519- echo str_replace( '<option value="'.$cat_id.'">', '<option value="'.$cat_id.'" selected="selected">', $cache_optionslist );
1520- }
1521- else
1522- {
1523- echo $cache_optionslist;
1524- }
1525-}
1526-
1527-function cat_children2(
1528- $ccats, // PHP requires this stupid cloning of the cache_categories array in order to be able to perform foreach on it
1529- $blog_ID,
1530- $parent_ID,
1531- $level = 0 ) // Caller nesting level, just to keep track of how far we go :)
1532-{
1533- global $cache_optionslist;
1534-
1535- // echo 'Number of cats=', count($ccats);
1536- if( ! empty( $ccats ) ) // this can happen if there are no cats at all!
1537- {
1538- $child_count = 0;
1539- foreach( $ccats as $icat_ID => $i_cat )
1540- {
1541- // fp> TODO: check what ($blog_ID == 0) is for .. ?
1542- if( $icat_ID
1543- && ( ($blog_ID == 0) || ($i_cat['cat_blog_ID'] == $blog_ID))
1544- && ($i_cat['cat_parent_ID'] == $parent_ID) )
1545- { // this cat is in the blog and is a child of the parent
1546- $child_count++;
1547-
1548- $cache_optionslist .= '<option value="'.$icat_ID.'">';
1549-
1550- for( $i = 0; $i < $level; $i++ )
1551- {
1552- $cache_optionslist .= '-';
1553- }
1554-
1555- $cache_optionslist .= '&gt; '.format_to_output( $ccats[ $icat_ID ]['cat_name'], 'entityencoded' ).'</option>';
1556-
1557- cat_children2( $ccats, $blog_ID, $icat_ID, $level+1 );
1558- }
1559- }
1560- }
1561-}
1562-
1563-
1564-/**
1565- * extracts unique authors and cats from posts array
1566- */
1567-function import_data_extract_authors_cats()
1568-{
1569- global $authors, $categories, $posts;
1570- global $exportedfile;
1571- global $categories_countprim;
1572- global $importdata;
1573- global $import_mode;
1574- global $dispatcher;
1575-
1576- $fp = fopen( $exportedfile, 'rb');
1577-//slamp_080609_begin: to avoid warning when importing file with 0 bytes of data
1578-// $buffer = fread($fp, filesize( $exportedfile ));
1579- $buffer = '';
1580- $length = filesize($exportedfile);
1581- if($length)
1582- {
1583- $buffer = fread($fp, $length);
1584- }
1585-//slamp_080609_end
1586- fclose($fp);
1587- if( !preg_match( '/^[-\s]*AUTHOR: /', $buffer ) )
1588- {
1589- dieerror("The file [$exportedfile] does not seem to be a MT exported file.. ".'[<a href="'.$dispatcher.'?ctrl=mtimport&amp;import_mode='.$import_mode.'">choose another export-file</a>]');
1590- }
1591-
1592- $importdata = preg_replace( "/\r?\n|\r/", "\n", $buffer );
1593- $posts = preg_split( '/(^|--------\n)(AUTHOR: |$)/', $importdata );
1594-
1595- $authors = array(); $tempauthors = array();
1596- $categories = array(); $tempcategories = array();
1597-
1598- foreach ($posts as $nr => $post)
1599- {
1600- if ('' != trim($post))
1601- {
1602- // first line is author of post
1603- $tempauthors[] = trim( substr( $post, 0, strpos( $post, "\n", 1 ) ) );
1604-
1605- $oldcatcount = count( $tempcategories );
1606-
1607- if( preg_match_all( "/^(PRIMARY )?CATEGORY: (.*)/m", $post, $matches ) )
1608- {
1609- for( $i = 1; $i < count( $matches[2] ); $i++ )
1610- {
1611- $cat = trim( $matches[2][$i] );
1612- if( !empty( $cat ) ) $tempcategories[] = $cat;
1613- }
1614-
1615- // main category last (-> counter)
1616- if( !empty($matches[2][0]) ) $tempcategories[] = $matches[2][0];
1617- }
1618-
1619- if( $oldcatcount == count( $tempcategories ) )
1620- {
1621- $tempcategories[] = '[no category assigned]';
1622- }
1623-
1624- // remember how many times used as primary category
1625- @$categories_countprim[ $tempcategories[ count( $tempcategories )-1 ] ]++;
1626- }
1627- else
1628- {
1629- unset( $posts[ $nr ] );
1630- }
1631- }
1632-
1633- // we need to find unique values of author names, while preserving the order, so this function emulates the unique_value(); php function, without the sorting.
1634- $authors[0] = array_shift($tempauthors);
1635- $y = count($tempauthors) + 1;
1636- for ($x = 1; $x < $y; $x++)
1637- {
1638- $next = array_shift($tempauthors);
1639- if( !(in_array($next,$authors)) ) $authors[] = $next;
1640- }
1641- $categories[0] = array_shift( $tempcategories );
1642- $y = count($tempcategories) + 1;
1643- for ($x = 1; $x < $y; $x++)
1644- {
1645- $next = array_shift($tempcategories);
1646- if( !(in_array($next, $categories)) ) $categories[] = $next;
1647- }
1648-}
1649-
1650-
1651-/**
1652- * Outputs a list of available renderers (not necessarily installed).
1653- */
1654-function renderer_list()
1655-{
1656- global $renderers;
1657-
1658- $admin_Plugins = & get_Cache('Plugins_admin'); // use Plugins_admin, because a plugin might be disabled
1659- $admin_Plugins->discover();
1660-
1661- $renderers = array('default');
1662- $admin_Plugins->restart(); // make sure iterator is at start position
1663- while( $loop_RendererPlugin = & $admin_Plugins->get_next() )
1664- { // Go through whole list of renders
1665- // echo ' ',$loop_RendererPlugin->code;
1666- if( empty($loop_RendererPlugin->code) )
1667- { // No unique code!
1668- continue;
1669- }
1670- if( $loop_RendererPlugin->apply_rendering == 'stealth'
1671- || $loop_RendererPlugin->apply_rendering == 'never' )
1672- { // This is not an option.
1673- continue;
1674- }
1675- elseif( $loop_RendererPlugin->code == 'b2WPAutP' )
1676- { // special Auto-P plugin
1677- ?>
1678- <fieldset>
1679- <label for="textile" title="<?php echo format_to_output($loop_RendererPlugin->short_desc, 'formvalue'); ?>"><strong><?php echo format_to_output($loop_RendererPlugin->name) ?>:</strong></label>
1680- <div style="margin-left:2ex" />
1681- <input type="radio" name="autop" value="1" class="checkbox" checked="checked" /> yes (always)<br>
1682- <input type="radio" name="autop" value="0" class="checkbox" /> no (never)<br>
1683- <input type="radio" name="autop" value="depends" class="checkbox" /> depends on CONVERT BREAKS
1684- <span class="notes"> ..that means it will apply if convert breaks results to true (set to either 1, textile_2 or __DEFAULT__ (and &quot;Convert-breaks default&quot; checked above)</span>
1685-
1686- </div>
1687- </fieldset>
1688- <?php
1689- continue;
1690- }
1691- ?>
1692- <div>
1693- <input type="checkbox" class="checkbox" name="renderers[]"
1694- value="<?php echo $loop_RendererPlugin->code ?>" id="<?php echo $loop_RendererPlugin->code ?>"
1695- <?php
1696- switch( $loop_RendererPlugin->apply_rendering )
1697- {
1698- case 'always':
1699- // echo 'FORCED';
1700- echo ' checked="checked"';
1701- echo ' disabled="disabled"';
1702- break;
1703-
1704- case 'opt-out':
1705- if( in_array( $loop_RendererPlugin->code, $renderers ) // Option is activated
1706- || in_array( 'default', $renderers ) ) // OR we're asking for default renderer set
1707- {
1708- // echo 'OPT';
1709- echo ' checked="checked"';
1710- }
1711- // else echo 'NO';
1712- break;
1713-
1714- case 'opt-in':
1715- if( in_array( $loop_RendererPlugin->code, $renderers ) ) // Option is activated
1716- {
1717- // echo 'OPT';
1718- echo ' checked="checked"';
1719- }
1720- // else echo 'NO';
1721- break;
1722-
1723- case 'lazy':
1724- // cannot select
1725- if( in_array( $loop_RendererPlugin->code, $renderers ) ) // Option is activated
1726- {
1727- // echo 'OPT';
1728- echo ' checked="checked"';
1729- }
1730- echo ' disabled="disabled"';
1731- break;
1732- }
1733- ?>
1734- title="<?php echo format_to_output( $loop_RendererPlugin->short_desc, 'formvalue' ) ?>" />
1735- <label for="<?php echo $loop_RendererPlugin->code ?>" title="<?php echo format_to_output($loop_RendererPlugin->short_desc, 'formvalue'); ?>"><strong><?php echo format_to_output($loop_RendererPlugin->name); ?></strong></label>
1736- </div>
1737- <?php
1738- }
1739-}
1740-
1741-
1742-/**
1743- * Die with a message.
1744- *
1745- * @param string the message (wrapped in div and p tag of class error)
1746- * @param string optional head
1747- */
1748-function dieerror( $message, $before = '' )
1749-{
1750- if( !empty($before) )
1751- echo $before;
1752-
1753- die( '<div class="error"><p class="error">'.$message.'</p></div>
1754- </div></body></html>' );
1755-}
1756-
1757-
1758-function debug_dump( $var, $title = '' )
1759-{
1760- global $output_debug_dump;
1761-
1762- if( $output_debug_dump )
1763- {
1764- pre_dump( $var, $title );
1765- }
1766-}
1767-
1768-
1769-function chooseexportfile()
1770-{
1771- global $exportedfile, $import_mode, $dispatcher;
1772-
1773- // Go through directory:
1774- $this_dir = dir( IMPORT_SRC_DIR );
1775- $r = '';
1776- while( $this_file = $this_dir->read() )
1777- {
1778- if( preg_match( '/^.+\.txt$/i', $this_file ) )
1779- {
1780- $r .= '<option value="'.format_to_output( $this_file, 'formvalue' ).'"';
1781- if( $exportedfile == $this_file ) $r .= ' selected="selected"';
1782- $r .= '>'.format_to_output( $this_file, 'entityencoded' ).'</option>';
1783- }
1784- }
1785-
1786- if( $r )
1787- {
1788- ?>
1789- <form action="<?php echo $dispatcher ?>" class="center">
1790- <p>First, choose a file to import (.TXT files from the <?php echo $app_name; ?> base directory):</p>
1791- <select name="exportedfile" onChange="submit()">
1792- <?php echo $r ?>
1793- </select>
1794- <input type="hidden" name="import_mode" value="<?php echo $import_mode ?>" />
1795- <input type="hidden" name="ctrl" value="mtimport" />
1796- <input type="submit" value="Next step..." class="search" />
1797- </form>
1798- <?php
1799- }
1800- else
1801- { // no file found
1802- ?>
1803- <div class="error">
1804- <p class="center">No .TXT file found. Nothing to import...</p>
1805- <p class="center">Please copy your Movable Type .TXT export file into <?php echo rel_path_to_base(IMPORT_SRC_DIR); ?>.</p>
1806- </div>
1807- <?php
1808- }
1809-}
1810-
1811-
1812-function ripline( $prefix, &$haystack )
1813-{
1814- if( preg_match( '|^'.$prefix.'(.*)|m', $haystack, $match ) )
1815- {
1816- $haystack = preg_replace('|^'.$prefix.".*\n?|m", '', $haystack );
1817- return trim( $match[1] );
1818- }
1819- else return false;
1820-}
1821-
1822-
1823-function tidypostdata( $string )
1824-{
1825- return str_replace( array('&quot;', '&#039;', '&lt;', '&gt;'), array('"', "'", '<', '>'), remove_magic_quotes( $string ) );
1826-}
1827-
1828-?>
1829
1830=== modified file 'inc/tools/tools.ctrl.php'
1831--- inc/tools/tools.ctrl.php 2009-12-21 17:27:20 +0000
1832+++ inc/tools/tools.ctrl.php 2010-02-18 17:25:21 +0000
1833@@ -106,24 +106,6 @@
1834 $block_item_Widget->disp_template_raw( 'block_end' );
1835 }
1836
1837-
1838- // fp> TODO: pluginize MT! :P
1839- $block_item_Widget->title = T_('Movable Type Import');
1840- $block_item_Widget->disp_template_replaced( 'block_start' );
1841- ?>
1842- <ol>
1843- <li><?php echo T_('Use MT\'s export functionnality to create a .TXT file containing your posts.') ?></li>
1844- <li><?php printf( T_('Follow the instructions in <a %s>Daniel\'s Movable Type Importer</a>.'), ' href="?ctrl=mtimport"' ) ?></li>
1845- </ol>
1846- <?php
1847- $block_item_Widget->disp_template_raw( 'block_end' );
1848-
1849-
1850- $block_item_Widget->title = T_('WordPress Import');
1851- $block_item_Widget->disp_template_replaced( 'block_start' );
1852- printf( '<p>'.T_('You can import contents from your WordPress 2.3 database into your '.$app_name.' database by using <a %s>Hari\'s WordPress Importer</a>.').'</p>', ' href="?ctrl=wpimport"' );
1853- $block_item_Widget->disp_template_raw( 'block_end' );
1854-
1855 }
1856 elseif( $tab_Plugin )
1857 { // Plugin tab
1858
1859=== removed file 'inc/tools/wpimport.ctrl.php'
1860--- inc/tools/wpimport.ctrl.php 2010-01-15 20:06:40 +0000
1861+++ inc/tools/wpimport.ctrl.php 1970-01-01 00:00:00 +0000
1862@@ -1,586 +0,0 @@
1863-<?php
1864-/**
1865- * WordPress 2.3 to b2evolution 2.0 alpha converter
1866- * Copyright (C) 2007 V.Harishankar.
1867- *
1868- * Please use this with care and at your own discretion. This script will try and import the following from
1869- * WP to b2evolution:
1870- * 1. posts
1871- * 2. comments
1872- * 3. categories
1873- * 4. users
1874- * This is alpha software and subject to change.
1875- *
1876- * @package pond
1877- */
1878-if( !defined('QP_MAIN_INIT') ) die( 'Please, do not access this page directly.' );
1879-
1880- // set error reporting to full in order to get useful info when something fails
1881- $prevlevel = error_reporting (E_ALL);
1882-
1883- ?>
1884-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
1885-<html>
1886-
1887-<head>
1888- <title>WP to <?php echo $app_name; ?> Converter</title>
1889- <meta name="GENERATOR" content="Quanta Plus">
1890- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
1891-</head>
1892-<body bgcolor="#EEEEEE" text="#000000" link="#0000FF" alink="#FF0000" vlink="#7E0089">
1893- <h1>WordPress 2.3 to <?php echo $app_name; ?> importer</h1>
1894- [<a href="<?php echo $dispatcher ?>?ctrl=tools">Back to <?php echo $app_name; ?></a>]
1895- <p><FONT SIZE="-2">Copyright &copy; 2007 <a href="http://hari.literaryforums.org/2007/10/04/wordpress-to-b2evolution-import-script">V.Harishankar</a>. Released under the GNU GPL.</FONT></p>
1896- <?php
1897-
1898- // Check if user is logged in and is in group #1 (admins)
1899- if( !is_logged_in() || $current_User->Group->ID != 1 )
1900- { // login failed
1901- debug_die( 'You must login with an administrator (group #1) account.' );
1902- }
1903-
1904- // The form has not yet been posted
1905- if ( ! isset ( $_POST['wp_db'] ) ) { ?>
1906- <P>Before running this importer, you must ensure that a proper <font color="#00CC00"><strong><em>NEW, EMPTY</em></strong></font> installation of b2evolution 2 exists! <strong><font color="#FF0000">IMPORTANT</font></strong>: This works <strong>only</strong> with WordPress 2.3 and above.</P>
1907-
1908- <p><font color="#FF0000"><strong>Warning!!</strong> Your existing <?php echo $app_name; ?> posts, categories, tags, comments and users (except admin) will be removed if you run this script. Make sure you have a backup before you proceed.</font></p>
1909-
1910- <FORM action="<?php echo $dispatcher ?>?ctrl=wpimport" enctype="multipart/form-data" method="POST" >
1911- <h2>DB Settings</h2>
1912- <table>
1913- <tbody>
1914- <tr>
1915- <td>WordPress database name</td>
1916- <td><INPUT type="text" name="wp_db"><br></td>
1917- </tr>
1918-
1919- <tr>
1920- <td>WordPress table prefix</td>
1921- <td><INPUT type="text" name="wp_prefix" value="wp_"><br></td>
1922- </tr>
1923-
1924- <tr>
1925- <td><?php echo $app_name; ?> database</td>
1926- <td><INPUT type="text" name="b2evo_db" value="<?php echo $db_config['name'] ?>"></td>
1927- </tr>
1928-
1929- <tr>
1930- <td><?php echo $app_name; ?> table prefix</td>
1931- <td><INPUT type="text" name="b2evo_prefix" value="<?php echo $tableprefix ?>"></td>
1932- </tr>
1933-
1934- <tr>
1935- <td>Database host</td>
1936- <td><INPUT type="text" name="db_host" value="<?php echo $db_config['host'] ?>"></td>
1937- </tr>
1938-
1939- <tr>
1940- <td>Username</td>
1941- <td><INPUT type="text" name="db_user" value="<?php echo $db_config['user'] ?>"></td>
1942- </tr>
1943-
1944- <tr>
1945- <td>Password</td>
1946- <td><INPUT type="password" name="db_pass" value="<?php echo $db_config['password'] ?>"></td>
1947- </tr>
1948-
1949- <tr>
1950- <td>Default locale for imported posts</td>
1951- <td><INPUT type="text" name="locale" value="en-US"></td>
1952- </tr>
1953-
1954- <tr>
1955- <td></td>
1956- <td><INPUT type="submit" value="import"></td>
1957- </tr>
1958- </tbody>
1959- </table>
1960-
1961- </FORM>
1962- <?php // The form has been posted; do the conversion
1963- }
1964- else
1965- {
1966- // Try to obtain some serious time to do some serious processing (15 minutes)
1967- @set_time_limit( 900 );
1968-
1969- // required fields initialization
1970- $wp_db = $_POST['wp_db'];
1971- $evo_db = $_POST['b2evo_db'];
1972- $host = $_POST['db_host'];
1973- $user = $_POST['db_user'];
1974- $password = $_POST['db_pass'];
1975- $wp = $_POST['wp_prefix'];
1976- $b2 = $_POST['b2evo_prefix'];
1977- $locale = $_POST['locale'];
1978-
1979- // establish database connection
1980- $con = mysql_connect ($host, $user, $password);
1981- if (! $con )
1982- die ( 'Error connecting to MySQL. Please check whether the server is running and the host, username and password fields are correct!' );
1983-
1984- // First remove existing database items in categories, users, postcats, items__item, comments, blogusers
1985- $db = mysql_select_db ($evo_db, $con);
1986- if (! $db)
1987- die ($app_name.' database name is incorrect. Please check your '.$app_name.' installation.');
1988-
1989- $query = 'DELETE FROM '.$b2.'categories;';
1990- $flag = mysql_query ($query);
1991- if (! $flag )
1992- die ('Existing categories deleting failed. Cannot proceed.');
1993-
1994- $query = 'DELETE FROM '.$b2.'items__item;';
1995- $flag = mysql_query ($query);
1996- if (! $flag )
1997- die ('Existing posts deletion failed. Cannot proceed.');
1998-
1999- $query = 'DELETE FROM '.$b2.'postcats;';
2000- $flag = mysql_query ($query);
2001- if (! $flag )
2002- die ('Existing post categories deletion failed. Cannot proceed.');
2003-
2004- $query = 'DELETE FROM '.$b2.'comments;';
2005- $flag = mysql_query ($query);
2006- if (! $flag )
2007- die ('Existing comments deletion failed. Cannot proceed.');
2008-
2009- $query = 'DELETE FROM '.$b2.'items__itemtag;';
2010- $flag = mysql_query ($query);
2011- if (! $flag )
2012- die ('Existing post tags deletion failed. Cannot proceed.');
2013-
2014- $query = 'DELETE FROM '.$b2.'items__tag;';
2015- $flag = mysql_query ($query);
2016- if (! $flag )
2017- die ('Existing tags deletion failed. Cannot proceed.');
2018-
2019- $query = 'DELETE FROM '.$b2.'users WHERE user_ID <> 1;';
2020- $flag = mysql_query ($query);
2021- if (! $flag )
2022- die ('Existing users deletion failed. Cannot proceed.');
2023-
2024- $query = 'DELETE FROM '.$b2.'blogusers WHERE bloguser_user_ID <> 1;';
2025- $flag = mysql_query ($query);
2026- if (! $flag )
2027- die ('Existing user permissions deletion failed. Cannot proceed.');
2028-
2029- // CATEGORIES + TAGS
2030- echo '<h2>Trying to import categories and tags:</h2>';
2031- $cats = array();
2032- $tags = array();
2033-
2034- // select the wordpress database
2035- $db = mysql_select_db ($wp_db, $con);
2036- if (! $db)
2037- die ('WordPress database name is incorrect. Please check the name and try again.');
2038-
2039- // get the list of taxonomy terms. includes categories, link cats and tags as well
2040- $query = 'SELECT *
2041- FROM '.$wp.'terms;' ;
2042- $res = mysql_query ($query);
2043- if (! $res )
2044- die ('Query failed. Please check your WordPress installation.');
2045-
2046- $i = 0;
2047- while( $row = mysql_fetch_array ($res, MYSQL_ASSOC) )
2048- {
2049- // in order to establish whether a term is a category or not
2050- $query2 = 'SELECT *
2051- FROM '.$wp.'term_taxonomy
2052- WHERE term_id='.$row['term_id'].';';
2053- $res2 = mysql_query ($query2);
2054- if (! $res2)
2055- die ('Query 2 failed. Please check your WordPress installation.');
2056- $row2 = mysql_fetch_array ($res2, MYSQL_ASSOC);
2057-
2058- // if it is a category only then import. ignore tags and link categories
2059- switch( $row2['taxonomy'] )
2060- {
2061- case 'category':
2062- echo 'Reading cat: '.$row['name'].'<br>';
2063- $cats[$i]['name'] = $row['name'];
2064- $cats[$i]['slug'] = $row['slug'];
2065- $cats[$i]['description'] = $row2['description'];
2066- $cats[$i]['cat_id'] = $row2['term_taxonomy_id'];
2067- $i ++;
2068- break;
2069-
2070- case 'post_tag':
2071- echo 'Reading tag: '.$row['name'].'<br>';
2072- $tag_id = $row2['term_taxonomy_id'];
2073- $tags[$tag_id]['name'] = strtolower( $row['name'] );
2074- $tags[$tag_id]['slug'] = $row['slug'];
2075- $tags[$tag_id]['description'] = $row2['description'];
2076- break;
2077- }
2078- mysql_free_result ($res2);
2079- }
2080- mysql_free_result ($res);
2081-
2082- if( empty($cats) )
2083- {
2084- die( 'There must be at least one category!' );
2085- }
2086-
2087- // Use the first category as the default category in case we find uncategorized posts later on.
2088- $default_category_ID = $cats[0]['cat_id'];
2089-
2090- // select the evolution database
2091- $db = mysql_select_db ($evo_db, $con);
2092- if (! $db)
2093- die ($app_name.' database name is incorrect. Please check the name and try again.');
2094- foreach ($cats as $category)
2095- {
2096- // insert each category into the evolution database
2097- $query = 'INSERT INTO '.$b2.'categories (cat_ID, cat_name, cat_urlname, cat_blog_ID, cat_description) VALUES ("'.$category['cat_id'].'", "'.$category['name'].'", "'.$category['slug'].'", "1", "'.$category['description'].'");';
2098-
2099- $flag = mysql_query ($query);
2100-
2101- if (! $flag )
2102- die ('Category importing failed. Please check your '.$app_name.' installation.');
2103- }
2104- echo '<font color="#00CC00">Categories inserted successfully!</font><br>';
2105-
2106- // INSERT TAGS:
2107- foreach( $tags as $tag_id => $tag )
2108- {
2109- // insert each tags into the evolution database
2110- $query = 'INSERT INTO '.$b2.'items__tag(tag_ID, tag_name)
2111- VALUES ( '.$tag_id.', "'.evo_substr($tag['name'],0,50).'" );';
2112- $flag = mysql_query ($query);
2113-
2114- if(! $flag )
2115- {
2116- pre_dump($query);
2117- die ('Tag importing failed. Please check your '.$app_name.' installation.');
2118- }
2119- }
2120- echo '<font color="#00CC00">Tags inserted successfully!</font><br>';
2121-
2122-
2123- // Now import the posts into b2evolution
2124- echo '<h2>Trying to import posts</h2>';
2125-
2126- $posts = array ();
2127- $db = mysql_select_db ($wp_db, $con);
2128- if (! $db)
2129- die ('WordPress database name is incorrect. Please check the name and try again.');
2130-
2131- $query = 'SELECT * FROM '.$wp.'posts WHERE post_type="post" OR post_type="page";' ;
2132- $res = mysql_query ($query);
2133- if (! $res )
2134- die ('Query failed. Please check your WordPress installation.');
2135-
2136- $i = 0;
2137- while ( $row = mysql_fetch_array ($res, MYSQL_ASSOC) )
2138- {
2139- $posts[$i]['post_id'] = $row['ID'];
2140- $posts[$i]['slug'] = $row['post_name'];
2141- $posts[$i]['title'] = $row['post_title'];
2142- $posts[$i]['status'] = $row['post_status'];
2143- $posts[$i]['create_date'] = $row['post_date'];
2144- $posts[$i]['modified_date'] = $row['post_modified'];
2145- $posts[$i]['excerpt'] = $row['post_excerpt'];
2146- $posts[$i]['comment_status'] = $row['comment_status'];
2147- $posts[$i]['content'] = $row['post_content'];
2148- $posts[$i]['author'] = $row['post_author'];
2149- $posts[$i]['type'] = 1;
2150-
2151- if (strcmp ($row['post_type'], 'page') == 0)
2152- $posts[$i]['type'] = 1000;
2153-
2154- echo 'Reading: '.$posts[$i]['title'].'<br>';
2155-
2156- // Now to get the cats for each post. Includes both CATS and TAGS
2157- $j = 0;
2158- $posts[$i]['cats'] = array ();
2159- $posts[$i]['tags'] = array ();
2160-
2161- // Get all reltated terms:
2162- $query2 = 'SELECT *
2163- FROM '.$wp.'term_relationships
2164- WHERE object_id='.$row['ID'].'; ';
2165- $res2 = mysql_query ($query2);
2166- if (! $res2)
2167- die ('Query 2 failed. Please check your WordPress installation.');
2168-
2169- // Lop through terms
2170- while( $row2 = mysql_fetch_array ($res2, MYSQL_ASSOC) )
2171- {
2172- // Get each specific term:
2173- $query3 = 'SELECT *
2174- FROM '.$wp.'term_taxonomy
2175- WHERE term_taxonomy_id='.$row2['term_taxonomy_id'].';';
2176- $res3 = mysql_query ($query3);
2177- if (! $res3 )
2178- die ('Query 3 failed. Please check your WordPress installation.');
2179- $row3 = mysql_fetch_array ($res3, MYSQL_ASSOC);
2180- switch( $row3['taxonomy'] )
2181- {
2182- case 'category':
2183- $posts[$i]['cats'][$j] = $row2['term_taxonomy_id'];
2184- $j ++;
2185- break;
2186-
2187- case 'post_tag':
2188- $posts[$i]['tags'][] = $row2['term_taxonomy_id'];
2189- break;
2190- }
2191-
2192- mysql_free_result ($res3);
2193- }
2194- mysql_free_result ($res2);
2195- $i ++;
2196- }
2197- mysql_free_result ($res);
2198-
2199- // select the evolution database
2200- $db = mysql_select_db ($evo_db, $con);
2201- if (! $db)
2202- die ($app_name.' database name is incorrect. Please check the name and try again.');
2203-
2204-/**
2205- * dummy docblock makes error-free autodocs
2206- */
2207- function fix_date( $date )
2208- {
2209- if( $date == '0000-00-00 00:00:00' )
2210- {
2211- $date = '2000-01-01 00:00:00';
2212- }
2213- return $date;
2214- }
2215-
2216-/**
2217- * dummy docblock makes error-free autodocs
2218- */
2219- function convert_status( $status )
2220- {
2221- switch( $status )
2222- {
2223- case 'publish':
2224- return 'published';
2225-
2226- case 'pivate':
2227- return 'private';
2228-
2229- default:
2230- return 'draft';
2231- }
2232- }
2233-
2234- foreach ($posts as $post)
2235- {
2236- echo '<br/>Inserting: '.$post['title'];
2237-
2238- // Check that we have at least one category:
2239- if( empty($post['cats']) )
2240- { // Use default category:
2241- $post['cats'][0] = $default_category_ID;
2242- }
2243-
2244- // set the post rendering options. TODO: this could probably be an option for the user before importing
2245- $postrenderers = 'b2evSmil.b2evALnk.b2WPAutP';
2246-
2247- // Check that slug is not empty. Mind you, in WP it CAN happen!
2248- if( empty( $post['slug'] ) )
2249- {
2250- $post['slug'] = preg_replace( '/[^a-z0-9]/i', '-', $post['post_id'].'-'.$post['title'] );
2251- echo '<br /> ** WARNING: generated automatic slug: '.$post['slug'];
2252- }
2253-
2254- // query to insert the posts into the b2evolution table
2255- $query = 'INSERT INTO '.$b2.'items__item (post_ptyp_ID, post_ID, post_main_cat_ID, post_creator_user_ID,
2256- post_lastedit_user_ID, post_datestart, post_datecreated, post_datemodified, post_status,
2257- post_locale, post_content, post_excerpt, post_title, post_urltitle, post_comment_status,
2258- post_renderers)
2259- VALUES ("'. $post['type'].'", "'.$post['post_id'].'", "'.$post['cats'][0].'", "'. $post['author'].'", "'
2260- .$post['author'].'", "'.fix_date($post['create_date']).'", "'.fix_date($post['create_date']).'", "'
2261- .fix_date($post['modified_date']).'", "'.convert_status($post['status']).'", "'.$locale.'", "'
2262- .mysql_real_escape_string($post['content']).'", "'.mysql_real_escape_string($post['excerpt'])
2263- .'", "'.mysql_real_escape_string($post['title']).'", "'.substr($post['slug'],0,50).'", "'
2264- .$post['comment_status'].'", "'.$postrenderers.'");';
2265-
2266- $flag = mysql_query($query);
2267- if (! $flag )
2268- {
2269- pre_dump( $query );
2270- die ('Post importing failed.');
2271- }
2272-
2273-
2274- // insert the post categories into the postcats table
2275- foreach($post['cats'] as $cat)
2276- {
2277- // query to insert each category for the particular post
2278- $query = 'INSERT INTO '.$b2.'postcats (postcat_post_ID, postcat_cat_ID) VALUES ("'.$post['post_id']. '", "'.$cat.'");';
2279- $flag = mysql_query ($query);
2280- if (! $flag )
2281- die ('Post categories insertion failed. Please check your '.$app_name.' installation.');
2282- }
2283-
2284- // insert the post tags
2285- foreach($post['tags'] as $tag_id)
2286- {
2287- $query = 'INSERT INTO '.$b2.'items__itemtag (itag_itm_ID, itag_tag_ID)
2288- VALUES ('.$post['post_id'].', '.$tag_id.');';
2289- $flag = mysql_query ($query);
2290- if (! $flag )
2291- die ('Post tags insertion failed. Please check your '.$app_name.' installation.');
2292- }
2293-
2294- }
2295- echo '<font color="#00CC00">Posts and post categories imported successfully!</font>';
2296-
2297- // Now import the comments
2298- echo '<h2>Trying to import comments</h2>';
2299- $comments = array ();
2300-
2301- // select the wordpress database
2302- $db = mysql_select_db ($wp_db);
2303- if (! $db)
2304- die ('WordPress database name is incorrect. Please check the name and try again.');
2305-
2306- // discard the spam comments. select only comments where status is either 'in moderation' or 'approved'
2307- $query = 'SELECT * FROM '.$wp.'comments WHERE comment_approved="0" OR comment_approved="1" ORDER BY comment_date ASC;';
2308-
2309- $res = mysql_query ($query);
2310- if (! $res )
2311- die ('Query failed. Please check your WordPress installation.');
2312-
2313- $i = 0;
2314- while ($row = mysql_fetch_array ($res, MYSQL_ASSOC) )
2315- {
2316- // set the values from comments table
2317- $comments[$i]['comment_id'] = $row['comment_ID'];
2318- $comments[$i]['post_id'] = $row['comment_post_ID'];
2319- $comments[$i]['author'] = $row['comment_author'];
2320- $comments[$i]['email'] = $row['comment_author_email'];
2321- $comments[$i]['url'] = $row['comment_author_url'];
2322- $comments[$i]['ip'] = $row['comment_author_IP'];
2323- $comments[$i]['date'] = $row['comment_date'];
2324- $comments[$i]['content'] = $row['comment_content'];
2325- $comments[$i]['author_id'] = $row['user_id'];
2326-
2327- // set default comment status to published
2328- $comments[$i]['status'] = 'published';
2329- // if the comment isn't approved set it to draft
2330- if ($row['comment_approved'] == 0)
2331- $comments[$i]['status'] = 'draft';
2332-
2333- // default comment type is 'comment
2334- $comments[$i]['type'] = 'comment';
2335- // if it is a pingback or trackback change the type accordingly
2336- if ($row['comment_type'] == 'pingback' || $row['comment_type'] == 'trackback')
2337- $comments[$i]['type'] = 'pingback';
2338-
2339- $i ++;
2340- }
2341- // free the query result set
2342- mysql_free_result ($res);
2343-
2344- // select the evolution db
2345- $db = mysql_select_db ($evo_db, $con);
2346- if (! $db)
2347- die ($app_name.' database name is incorrect. Please check the name and try again.');
2348-
2349- foreach ($comments as $comment)
2350- {
2351- // escape the string and replace UNIX newlines to line breaks in order to
2352- // render properly in b2evolution
2353- $ccontent = mysql_real_escape_string ($comment['content']);
2354- $ccontent = str_replace ('\r\n', '<br />', $ccontent);
2355-
2356- // query to insert the comments into the b2evolution table
2357- $query = 'INSERT INTO '.$b2.'comments (comment_ID, comment_post_ID, comment_type, comment_status, comment_author_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_content, comment_allow_msgform)
2358- VALUES ("'. $comment['comment_id'].'", "'.$comment['post_id'].'", "'.$comment['type'].'", "'
2359- .$comment['status'].'", "'.$comment['author_id'].'", "'.evo_substr($comment['author'],0,100).'", "'.$comment['email']
2360- .'", "'.$comment['url'].'", "'.$comment['ip'].'", "'.$comment['date'].'", "'.$ccontent.'", "1");';
2361-
2362- $flag = mysql_query ($query);
2363- if (! $flag)
2364- {
2365- pre_dump( $query );
2366- die ('Comment importing failed. Please check your '.$app_name.' installation.');
2367- }
2368-
2369- }
2370- echo '<font color="#00CC00">Comments imported successfully!</font>';
2371-
2372- // Now to import users. Note: all users other than admin will be imported and then they will be set to the default level
2373- // of 0
2374- echo '<h2>Trying to import all users (except admin)</h2>';
2375- $users = array ();
2376-
2377- // select the wordpress database
2378- $db = mysql_select_db ($wp_db, $con);
2379- if (! $db)
2380- die ('WordPress database name is incorrect. Please check the name and try again.');
2381-
2382- // select all users except the admin user
2383- $query = 'SELECT * FROM '. $wp.'users WHERE user_login <> "admin";';
2384- $res = mysql_query ($query);
2385- if (! $res )
2386- die ('Query failed. Please check your WordPress installation.');
2387-
2388- $i = 0;
2389- while ( $row = mysql_fetch_array ($res, MYSQL_ASSOC) )
2390- {
2391- // set all the values from the user table
2392- $users[$i]['id'] = $row['ID'];
2393- $users[$i]['login'] = $row['user_login'];
2394- $users[$i]['password'] = $row['user_pass'];
2395- $users[$i]['nickname'] = $row['user_nicename'];
2396- $users[$i]['email'] = $row['user_email'];
2397- $users[$i]['url'] = $row['user_url'];
2398- $users[$i]['date'] = $row['user_registered'];
2399- $users[$i]['firstname'] = $row['display_name'];
2400- echo 'Reading: '.$users[$i]['login'].'<br>';
2401- $i ++;
2402- }
2403- mysql_free_result ($res);
2404-
2405- // select the evolution db
2406- $db = mysql_select_db ($evo_db, $con);
2407- if (! $db )
2408- die ($app_name.' database name is incorrect. Please check the name and try again.');
2409-
2410- foreach ($users as $a_user)
2411- {
2412- // Import the user
2413- $query = 'INSERT INTO '.$b2.'users (user_ID, user_login, user_pass, user_firstname, user_nickname, user_email,
2414- user_url, dateYMDhour, user_validated, user_grp_ID)
2415- VALUES ("'.$a_user['id'].'", "'.$a_user['login'].'", "'.$a_user['password'].'", "'
2416- .$a_user['firstname'].'", "'.$a_user['nickname'].'", "'.$a_user['email']
2417- .'", "'.$a_user['url'].'", "'.fix_date($a_user['date']).'", "1", "4");';
2418-
2419- $flag = mysql_query ($query);
2420- if (! $flag)
2421- {
2422- pre_dump($query);
2423- die ('User importing failed. Please check your '.$app_name.' installation.');
2424- }
2425-
2426- // Import the permissions for blog for the user
2427- $query = 'INSERT INTO '.$b2.'blogusers (bloguser_blog_ID, bloguser_user_ID, bloguser_ismember) VALUES ("1", "'.$a_user['id'].'", "1");';
2428-
2429- $flag = mysql_query ($query);
2430- if (! $flag)
2431- die ('User (permissions) importing failed. Please check you '.$app_name.' installation.');
2432- }
2433- echo '<font color="#00CC00">Users imported successfully! <strong>NOTE:</strong> all users are set to basic users level by default. You should probably reconfigure user permissions in the admin control panel if you want to give them higher privileges.</font>';
2434-
2435- // All done
2436- echo '<br><br>';
2437- echo '<strong><font color="#00CC00">Everything imported correctly. Try out your new '.$app_name.' blog!</font></strong>';
2438-
2439- // close the connection to the MySQL server
2440- mysql_close ($con);
2441- } ?>
2442- <?php // reset the PHP error reporting to the previous level
2443- error_reporting ($prevlevel); ?>
2444-</body>
2445-</html>
2446-
2447-<?php
2448-?>
2449
2450=== modified file 'locales/de_DE/LC_MESSAGES/messages.po'
2451--- locales/de_DE/LC_MESSAGES/messages.po 2010-02-08 21:42:02 +0000
2452+++ locales/de_DE/LC_MESSAGES/messages.po 2010-02-18 17:25:21 +0000
2453@@ -1,15576 +1,15569 @@
2454-# b2evolution - German language file
2455-# Copyright (C) 2009 Francois PLANQUE
2456-# This file is distributed under the same license as the b2evolution package.
2457-#
2458-# This translation is managed through Launchpad:
2459-# https://translations.launchpad.net/b2evolution/trunk/+pots/b2evolution/de
2460-#
2461-# Please use your favourite dictionary or e. g. http://dict.leo.org/ende for
2462-# translation assistance.
2463-# Use correct grammar etc. when translating; always use the formal form of
2464-# German.
2465-msgid ""
2466-msgstr ""
2467-"Project-Id-Version: b2evolution 3.1.0-beta\n"
2468-"Report-Msgid-Bugs-To: http://fplanque.net/\n"
2469-"POT-Creation-Date: 2009-11-22 20:13+0100\n"
2470-"PO-Revision-Date: 2009-11-22 20:14+0100\n"
2471-"Last-Translator: Tilman Blumenbach <tilman@ax86.net>\n"
2472-"Language-Team: Tilman Blumenbach <tilman (at) ax86 (dot) net>\n"
2473-"MIME-Version: 1.0\n"
2474-"Content-Type: text/plain; charset=ISO-8859-1\n"
2475-"Content-Transfer-Encoding: 8bit\n"
2476-"X-Launchpad-Export-Date: 2009-05-21 13:08+0000\n"
2477-"X-Generator: Launchpad (build Unknown)\n"
2478-"X-Poedit-Country: GERMANY\n"
2479-"X-Poedit-Language: German\n"
2480-"X-Poedit-SourceCharset: iso-8859-1\n"
2481-"X-Poedit-Basepath: /home/tilman/public_html/b2evo/cvs/HEAD/blogs/locales/de_DE/LC_MESSAGES\n"
2482-"X-Poedit-Bookmarks: 2506,787,-1,2100,-1,-1,-1,-1,-1,-1\n"
2483-
2484-#: ../../../a_noskin.php:236
2485-#: ../../../inc/_core/__core.init.php:275
2486-#: ../../../inc/_core/__core.init.php:662
2487-#: ../../../inc/items/model/_item.funcs.php:499
2488-#: ../../../inc/items/model/_itemlistlight.class.php:895
2489-#: ../../../inc/items/views/_item_list_full.view.php:194
2490-#: ../../../inc/settings/views/_features.form.php:188
2491-#: ../../../inc/widgets/widgets/_category_list.widget.php:95
2492-#: ../../../inc/widgets/widgets/_common_links.widget.php:164
2493-#: ../../../inc/widgets/widgets/_menu_link.widget.php:143
2494-#: ../../../multiblogs.php:199
2495-#: ../../../skins/asevo/_item_block.inc.php:66
2496-#: ../../../skins/basic/index.main.php:153
2497-#: ../../../skins/custom/_item_block.inc.php:69
2498-#: ../../../skins/miami_blue/_item_block.inc.php:54
2499-#: ../../../skins/natural_pink/_item_block.inc.php:52
2500-#: ../../../skins/nifty_corners/_item_block.inc.php:56
2501-#: ../../../skins/pixelgreen/_item_block.inc.php:55
2502-msgid "Categories"
2503-msgstr "Kategorien"
2504-
2505-#: ../../../a_noskin.php:260
2506-#: ../../../inc/items/model/_item.class.php:2779
2507-#: ../../../inc/items/model/_itemlistlight.class.php:897
2508-#: ../../../inc/items/views/_item_expert.form.php:243
2509-#: ../../../inc/items/views/_item_list_full.view.php:251
2510-#: ../../../inc/items/views/_item_simple.form.php:213
2511-#: ../../../skins/asevo/_item_block.inc.php:76
2512-#: ../../../skins/custom/_item_block.inc.php:92
2513-#: ../../../skins/evocamp/_item_block.inc.php:97
2514-#: ../../../skins/evocamp/single.main.php:140
2515-#: ../../../skins/evopress/_item_block.inc.php:67
2516-#: ../../../skins/evopress/single.main.php:165
2517-#: ../../../skins/glossyblue/_item_block.inc.php:90
2518-#: ../../../skins/glossyblue/single.main.php:134
2519-#: ../../../skins/miami_blue/_item_block.inc.php:77
2520-#: ../../../skins/natural_pink/_item_block.inc.php:62
2521-#: ../../../skins/nifty_corners/_item_block.inc.php:66
2522-#: ../../../skins/photoblog/_item_block.inc.php:134
2523-#: ../../../skins/pixelgreen/_item_block.inc.php:64
2524-#: ../../../skins/terrafirma/_item_block.inc.php:62
2525-#: ../../../skins/vastitude/_item_block.inc.php:83
2526-msgid "Tags"
2527-msgstr "Schlagworte"
2528-
2529-#: ../../../a_noskin.php:359
2530-#: ../../../inc/items/views/_item_list_full.view.php:107
2531-#: ../../../multiblogs.php:272
2532-#: ../../../skins/asevo/index.main.php:173
2533-#: ../../../skins/basic/index.main.php:242
2534-#: ../../../skins/natural_pink/index.main.php:172
2535-#: ../../../skins/nifty_corners/index.main.php:206
2536-#: ../../../skins/photoblog/index.main.php:94
2537-#: ../../../skins/photoblog/index.main.php:112
2538-#: ../../../skins_adm/_adminUI_general.class.php:816
2539-#: ../../../skins_adm/_adminUI_general.class.php:901
2540-#: ../../../skins_adm/chicago/_adminUI.class.php:266
2541-msgid "Previous"
2542-msgstr "Vorherige"
2543-
2544-#: ../../../a_noskin.php:360
2545-#: ../../../inc/items/views/_item_list_full.view.php:108
2546-#: ../../../multiblogs.php:273
2547-#: ../../../skins/asevo/index.main.php:174
2548-#: ../../../skins/basic/index.main.php:243
2549-#: ../../../skins/natural_pink/index.main.php:173
2550-#: ../../../skins/nifty_corners/index.main.php:207
2551-#: ../../../skins/photoblog/index.main.php:95
2552-#: ../../../skins/photoblog/index.main.php:108
2553-#: ../../../skins_adm/_adminUI_general.class.php:817
2554-#: ../../../skins_adm/_adminUI_general.class.php:902
2555-#: ../../../skins_adm/chicago/_adminUI.class.php:267
2556-msgid "Next"
2557-msgstr "Nächste"
2558-
2559-#: ../../../conf/_application.php:41
2560-msgid "visit b2evolution's website"
2561-msgstr "Die Webseite von b2evolution besuchen"
2562-
2563-#: ../../../conf/_application.php:44
2564-msgid "GPL License"
2565-msgstr "GPL-Lizenz"
2566-
2567-#. TRANS: short for "Switch to _A_dmin"
2568-#: ../../../conf/_icons.php:43
2569-msgid "Adm"
2570-msgstr "Adm"
2571-
2572-#. TRANS: short for "Switch to _B_log"
2573-#: ../../../conf/_icons.php:48
2574-msgid "Blg"
2575-msgstr "Blg"
2576-
2577-#: ../../../conf/_icons.php:54
2578-msgid "Folder"
2579-msgstr "Verzeichnis"
2580-
2581-#: ../../../conf/_icons.php:59
2582-msgid "Unknown file"
2583-msgstr "Unbekannte Datei"
2584-
2585-#: ../../../conf/_icons.php:64
2586-msgid "Empty file"
2587-msgstr "Leere Datei"
2588-
2589-#: ../../../conf/_icons.php:69
2590-msgid "Parent folder"
2591-msgstr "Übergeordnetes Verzeichnis"
2592-
2593-#: ../../../conf/_icons.php:74
2594-msgid "Home folder"
2595-msgstr "Heimverzeichnis"
2596-
2597-#: ../../../conf/_icons.php:79
2598-#: ../../../conf/_icons.php:281
2599-#: ../../../inc/files/views/_file_links.view.php:62
2600-#: ../../../inc/locales/_locale_settings.form.php:290
2601-msgid "Edit"
2602-msgstr "Bearbeiten"
2603-
2604-#: ../../../conf/_icons.php:84
2605-#: ../../../conf/_icons.php:276
2606-#: ../../../inc/files/views/_file_copy_move.form.php:64
2607-#: ../../../inc/files/views/_file_copy_move.form.php:86
2608-#: ../../../inc/files/views/_file_list.inc.php:421
2609-msgid "Copy"
2610-msgstr "Kopieren"
2611-
2612-#: ../../../conf/_icons.php:89
2613-#: ../../../inc/chapters/views/_chapter.form.php:60
2614-#: ../../../inc/chapters/views/_chapter_list.view.php:117
2615-#: ../../../inc/files/views/_file_copy_move.form.php:64
2616-#: ../../../inc/files/views/_file_copy_move.form.php:86
2617-#: ../../../inc/files/views/_file_list.inc.php:420
2618-#: ../../../inc/generic/views/_generic_ordered_list.inc.php:97
2619-#: ../../../inc/widgets/views/_widget_list.view.php:56
2620-msgid "Move"
2621-msgstr "Verschieben"
2622-
2623-#: ../../../conf/_icons.php:94
2624-#: ../../../inc/files/views/_file_list.inc.php:419
2625-#: ../../../inc/files/views/_file_rename.form.php:46
2626-#: ../../../inc/files/views/_file_rename.form.php:65
2627-msgid "Rename"
2628-msgstr "Umbenennen"
2629-
2630-#. TRANS: Abbrev. for Delete (stats)
2631-#: ../../../conf/_icons.php:99
2632-#: ../../../conf/_icons.php:306
2633-#: ../../../inc/sessions/views/_stats_direct.view.php:63
2634-msgid "Del"
2635-msgstr "Lösch"
2636-
2637-#: ../../../conf/_icons.php:100
2638-#: ../../../conf/_icons.php:307
2639-#: ../../../inc/files/views/_file_delete.form.php:47
2640-#: ../../../inc/files/views/_file_delete.form.php:71
2641-#: ../../../inc/files/views/_file_list.inc.php:422
2642-msgid "Delete"
2643-msgstr "Löschen"
2644-
2645-#: ../../../conf/_icons.php:105
2646-msgid "Permissions"
2647-msgstr "Rechte"
2648-
2649-#. TRANS: Short (alt tag) for "Ascending"
2650-#: ../../../conf/_icons.php:112
2651-msgid "A"
2652-msgstr "Aufst"
2653-
2654-#. TRANS: Short (alt tag) for "Descending"
2655-#: ../../../conf/_icons.php:117
2656-msgid "D"
2657-msgstr "Abst"
2658-
2659-#: ../../../conf/_icons.php:123
2660-msgid "New window"
2661-msgstr "Neues Fenster"
2662-
2663-#: ../../../conf/_icons.php:217
2664-msgid "Expand"
2665-msgstr "Ausklappen"
2666-
2667-#: ../../../conf/_icons.php:223
2668-msgid "Collapse"
2669-msgstr "Zuklappen"
2670-
2671-#: ../../../conf/_icons.php:229
2672-#: ../../../inc/cron/views/_cronjob_list.view.php:72
2673-#: ../../../inc/items/model/_item.funcs.php:463
2674-msgid "Refresh"
2675-msgstr "Aktualisieren"
2676-
2677-#: ../../../conf/_icons.php:234
2678-msgid "Reload"
2679-msgstr "Neu laden"
2680-
2681-#: ../../../conf/_icons.php:240
2682-#: ../../../inc/files/files.ctrl.php:581
2683-#: ../../../inc/files/views/_file_download.form.php:63
2684-msgid "Download"
2685-msgstr "Herunterladen"
2686-
2687-#: ../../../conf/_icons.php:247
2688-#: ../../../inc/_core/ui/results/_resultsel.class.php:539
2689-msgid "Warning"
2690-msgstr "Warnung"
2691-
2692-#: ../../../conf/_icons.php:253
2693-msgid "Info"
2694-msgstr "Info"
2695-
2696-#: ../../../conf/_icons.php:258
2697-#: ../../../htsrv/register.php:160
2698-#: ../../../inc/comments/model/_comment.class.php:1264
2699-#: ../../../inc/comments/views/_comment.form.php:75
2700-#: ../../../inc/users/views/_user.form.php:129
2701-#: ../../../inc/users/views/_user.form.php:145
2702-#: ../../../inc/users/views/_user_list.view.php:212
2703-#: ../../../inc/users/views/_user_list.view.php:215
2704-#: ../../../skins/_item_comment_form.inc.php:142
2705-#: ../../../skins/_msgform.disp.php:179
2706-#: ../../../skins/_profile.disp.php:61
2707-#: ../../../skins/_subs.disp.php:58
2708-#: ../../../skins/basic/_item_feedback.inc.php:203
2709-#: ../../../skins/glossyblue/_item_feedback.inc.php:328
2710-#: ../../../skins_adm/login/_reg_complete.main.php:47
2711-#: ../../../skins_adm/login/_reg_form.main.php:66
2712-#: ../../../skins_adm/login/_validate_form.main.php:56
2713-msgid "Email"
2714-msgstr "E-Mail"
2715-
2716-#: ../../../conf/_icons.php:263
2717-msgid "WWW"
2718-msgstr "WWW"
2719-
2720-#: ../../../conf/_icons.php:264
2721-#: ../../../inc/comments/model/_comment.class.php:1251
2722-#: ../../../skins/_item_comment_form.inc.php:143
2723-#: ../../../skins/_user.disp.php:64
2724-#: ../../../skins/glossyblue/_item_feedback.inc.php:329
2725-msgid "Website"
2726-msgstr "Webseite"
2727-
2728-#: ../../../conf/_icons.php:271
2729-#: ../../../inc/_core/ui/forms/_form.class.php:1888
2730-#: ../../../inc/collections/collections.ctrl.php:75
2731-#: ../../../inc/files/views/_file_browse.view.php:327
2732-msgid "New"
2733-msgstr "Neu"
2734-
2735-#: ../../../conf/_icons.php:286
2736-#: ../../../inc/chapters/views/_chapter.form.php:53
2737-#: ../../../inc/chapters/views/_chapter_move.form.php:53
2738-#: ../../../inc/files/views/_file_properties.form.php:45
2739-#: ../../../inc/generic/views/_generic_category.form.php:55
2740-#: ../../../inc/items/views/_item_expert.form.php:336
2741-#: ../../../inc/widgets/views/_widget.form.php:39
2742-msgid "Properties"
2743-msgstr "Eigenschaften"
2744-
2745-#: ../../../conf/_icons.php:291
2746-msgid "Publish"
2747-msgstr "Veröffentlichen"
2748-
2749-#: ../../../conf/_icons.php:296
2750-msgid "Deprecate"
2751-msgstr "Missbilligen"
2752-
2753-#: ../../../conf/_icons.php:301
2754-msgid "Locate"
2755-msgstr "Lokalisieren"
2756-
2757-#: ../../../conf/_icons.php:313
2758-msgid "Close"
2759-msgstr "Schließen"
2760-
2761-#: ../../../conf/_icons.php:321
2762-#: ../../../conf/_icons.php:391
2763-msgid "+"
2764-msgstr "+"
2765-
2766-#: ../../../conf/_icons.php:327
2767-msgid "-"
2768-msgstr "-"
2769-
2770-# TRANS: Short for "Activate(d)"
2771-#. TRANS: Short for "Activate(d)"
2772-#: ../../../conf/_icons.php:349
2773-#: ../../../conf/_icons.php:361
2774-#: ../../../inc/items/views/_item_list_table.view.php:223
2775-#: ../../../inc/items/views/_item_list_track.view.php:237
2776-msgid "Act."
2777-msgstr "Akt."
2778-
2779-#: ../../../conf/_icons.php:350
2780-msgid "Activate"
2781-msgstr "Aktivieren"
2782-
2783-# TRANS: Short for "Deactivate(d)"
2784-#. TRANS: Short for "Deactivate(d)"
2785-#: ../../../conf/_icons.php:355
2786-#: ../../../conf/_icons.php:367
2787-msgid "Deact."
2788-msgstr "Deakt."
2789-
2790-#: ../../../conf/_icons.php:356
2791-msgid "Deactivate"
2792-msgstr "Deaktivieren"
2793-
2794-#: ../../../conf/_icons.php:362
2795-msgid "Activated"
2796-msgstr "Aktiviert"
2797-
2798-#: ../../../conf/_icons.php:368
2799-msgid "Deactivated"
2800-msgstr "Deaktiviert"
2801-
2802-#. TRANS: Link + space => verb (not noun)
2803-#: ../../../conf/_icons.php:374
2804-msgid "Link "
2805-msgstr "Verknüpfen "
2806-
2807-#: ../../../conf/_icons.php:379
2808-msgid "Unlink"
2809-msgstr "Verknüpfung aufheben"
2810-
2811-#: ../../../conf/_icons.php:385
2812-msgid "Calendar"
2813-msgstr "Kalender"
2814-
2815-#: ../../../conf/_icons.php:397
2816-#: ../../../conf/_icons.php:403
2817-#: ../../../inc/plugins/plugins.ctrl.php:1000
2818-#: ../../../inc/plugins/views/_plugin_list.view.php:226
2819-#: ../../../inc/plugins/views/_plugin_list_available.view.php:57
2820-#: ../../../inc/plugins/views/_plugin_settings.form.php:78
2821-msgid "Help"
2822-msgstr "Hilfe"
2823-
2824-#: ../../../conf/_icons.php:404
2825-msgid "Online Manual"
2826-msgstr "Onlinehilfe"
2827-
2828-#: ../../../conf/_icons.php:409
2829-#: ../../../inc/comments/model/_comment.class.php:891
2830-#: ../../../inc/comments/model/_comment.class.php:899
2831-#: ../../../inc/items/model/_itemlight.class.php:681
2832-#: ../../../inc/items/model/_itemlight.class.php:689
2833-#: ../../../skins/photoblog/_item_block.inc.php:79
2834-msgid "Permalink"
2835-msgstr "Permalink"
2836-
2837-#: ../../../conf/_icons.php:414
2838-msgid "History"
2839-msgstr "Verlauf"
2840-
2841-#: ../../../conf/_icons.php:420
2842-#: ../../../inc/users/views/_user.form.php:204
2843-msgid "Allowed"
2844-msgstr "Erlaubt"
2845-
2846-#: ../../../conf/_icons.php:425
2847-msgid "Blocked"
2848-msgstr "Geblockt"
2849-
2850-#: ../../../conf/_icons.php:431
2851-#: ../../../conf/_icons.php:436
2852-#: ../../../inc/_core/__core.init.php:259
2853-#: ../../../inc/collections/views/_coll_features.form.php:78
2854-#: ../../../inc/dashboard/dashboard.ctrl.php:323
2855-#: ../../../inc/items/model/_item.funcs.php:737
2856-#: ../../../inc/items/views/_item_expert.form.php:394
2857-#: ../../../inc/items/views/_item_list_full.view.php:322
2858-#: ../../../inc/items/views/_item_simple.form.php:252
2859-#: ../../../inc/widgets/widgets/_xml_feeds.widget.php:155
2860-#: ../../../skins/_subs.disp.php:85
2861-#: ../../../skins/_subs.disp.php:97
2862-#: ../../../skins/basic/_item_feedback.inc.php:68
2863-msgid "Comments"
2864-msgstr "Kommentare"
2865-
2866-#: ../../../conf/_icons.php:443
2867-msgid "Up"
2868-msgstr "Hoch"
2869-
2870-#: ../../../conf/_icons.php:449
2871-msgid "Down"
2872-msgstr "Runter"
2873-
2874-#: ../../../conf/_icons.php:454
2875-#: ../../../conf/_icons.php:459
2876-#: ../../../inc/_core/ui/results/_results.class.php:1464
2877-#: ../../../inc/_core/ui/results/_results.class.php:1474
2878-msgid "Sort by order"
2879-msgstr "Nach Reihenfolge sortieren"
2880-
2881-#: ../../../conf/_icons.php:469
2882-#: ../../../inc/items/model/_itemlistlight.class.php:1027
2883-#: ../../../inc/items/views/_item_expert.form.php:281
2884-#: ../../../inc/items/views/_item_list_full.view.php:182
2885-msgid "Assigned to"
2886-msgstr "Zugeordnet zu"
2887-
2888-#: ../../../conf/_icons.php:474
2889-msgid "Check all"
2890-msgstr "Alle auswählen"
2891-
2892-#: ../../../conf/_icons.php:479
2893-msgid "Uncheck all"
2894-msgstr "Alle abwählen"
2895-
2896-#: ../../../conf/_icons.php:485
2897-msgid "Reset all filters"
2898-msgstr "Alle Filter zurücksetzen"
2899-
2900-#: ../../../conf/_icons.php:491
2901-msgid "Allow back"
2902-msgstr "Erneut erlauben"
2903-
2904-#. TRANS: Abbrev.
2905-#: ../../../conf/_icons.php:496
2906-msgid "Ban"
2907-msgstr "Blocken"
2908-
2909-#: ../../../conf/_icons.php:507
2910-#: ../../../inc/skins/views/_skin.form.php:57
2911-msgid "XML Feed"
2912-msgstr "XML-Feed"
2913-
2914-#: ../../../conf/_locales.php:118
2915-msgid "English (US) latin1"
2916-msgstr "Englisch (US) latin1"
2917-
2918-#: ../../../contact.php:49
2919-#: ../../../contact.php:98
2920-msgid "Contact Form Demo"
2921-msgstr "Kontaktformular-Demo"
2922-
2923-#: ../../../contact.php:103
2924-msgid "This demo displays a form to contact the site admin."
2925-msgstr "Diese Demo zeigt ein Formular an, mit dem der Administrator der Webseite kontaktiert werden kann."
2926-
2927-#: ../../../contact.php:135
2928-msgid "Thank you for your message. I will reply as soon as possible."
2929-msgstr "Vielen Dank für Ihre Nachricht. Ich werde so schnell wie möglich antworten."
2930-
2931-#: ../../../contact.php:138
2932-msgid "Send another message?"
2933-msgstr "Eine weitere Nachricht senden?"
2934-
2935-#: ../../../cron/getmail.php:50
2936-msgid "Blog by email feature is not enabled."
2937-msgstr "Bloggen-per-E-Mail-Feature nicht aktiviert"
2938-
2939-#: ../../../cron/getmail.php:102
2940-msgid "You configured test mode in the settings or set $test to 2. Nothing will be posted to the database/mediastore nor will your inbox be altered."
2941-msgstr "Sie haben den Test-Modus aktiviert oder $test auf 2 gesetzt. Nichts wird an Ihrer Datenbank, Ihrem Medienverzeichnis und Ihrer Mailbox verändert werden."
2942-
2943-#: ../../../cron/getmail.php:111
2944-#: ../../../inc/settings/views/_features.form.php:78
2945-msgid "Blog by email"
2946-msgstr "Bloggen per E-Mail"
2947-
2948-#: ../../../cron/getmail.php:258
2949-msgid "Could not parse date header!"
2950-msgstr "Konnte Date-Header nicht verarbeiten!"
2951-
2952-#: ../../../cron/getmail.php:284
2953-msgid "Invalid month name in message date string."
2954-msgstr "Ungültiger Monatsname im Datumsstring der Nachricht."
2955-
2956-#: ../../../cron/getmail.php:366
2957-#: ../../../inc/users/views/_user.form.php:136
2958-#: ../../../inc/users/views/_user.form.php:146
2959-#: ../../../inc/users/views/_user.form.php:147
2960-#: ../../../inc/users/views/_user.form.php:148
2961-#: ../../../inc/users/views/_user.form.php:203
2962-msgid "no"
2963-msgstr "Nein"
2964-
2965-#: ../../../cron/getmail.php:366
2966-#: ../../../inc/users/views/_user.form.php:136
2967-#: ../../../inc/users/views/_user.form.php:146
2968-#: ../../../inc/users/views/_user.form.php:147
2969-#: ../../../inc/users/views/_user.form.php:148
2970-#: ../../../inc/users/views/_user.form.php:203
2971-msgid "yes"
2972-msgstr "Ja"
2973-
2974-#: ../../../cron/getmail.php:409
2975-msgid "The php_imap extension is not available to PHP on this server. Please load it in php.ini or ask your hosting provider to do so."
2976-msgstr "Die php_imap-Erweiterung ist für PHP auf diesem Server nicht verfügbar. Bitte laden Sie sie in php.ini oder fragen Sie Ihren Hoster um Rat."
2977-
2978-#. TRANS: %s is the error message
2979-#: ../../../cron/getmail.php:453
2980-#, php-format
2981-msgid "Connection failed: %s"
2982-msgstr "Verbindung fehlgeschlagen: %s"
2983-
2984-#: ../../../cron/getmail.php:483
2985-msgid "Could not create temporary file."
2986-msgstr "Konnte temporäre Datei nicht erzeugen"
2987-
2988-#: ../../../cron/getmail.php:502
2989-#, php-format
2990-msgid "MIME message decoding error: %s at position %d."
2991-msgstr "Fehler beim Entschlüsseln der MIME-Nachricht: %s an Position %d."
2992-
2993-#: ../../../cron/getmail.php:512
2994-#, php-format
2995-msgid "MIME message analyse error: %s"
2996-msgstr "Fehler bei der Analyse der MIME-Nachricht: %s"
2997-
2998-#: ../../../cron/getmail.php:591
2999-#, php-format
3000-msgid "Authentication failed for user %s."
3001-msgstr "Authentifizierung für Benutzer %s fehlgeschlagen."
3002-
3003-#: ../../../cron/getmail.php:632
3004-#, php-format
3005-msgid "Blog #%d not found!"
3006-msgstr "Blog #%d nicht gefunden!"
3007-
3008-#: ../../../cron/getmail.php:644
3009-msgid "Permission denied."
3010-msgstr "Zugriff verweigert."
3011-
3012-#: ../../../cron/getmail.php:663
3013-msgid "Unable to access media directory. No attachments processed."
3014-msgstr "Kann nicht auf das Medienverzeichnis zugreifen. Keine Anhänge wurden verarbeitet."
3015-
3016-#: ../../../cron/getmail.php:671
3017-msgid "Cannot post, please correct these errors:"
3018-msgstr "Kann nicht absenden, bitte korrigieren Sie die folgenden Fehler:"
3019-
3020-#: ../../../default.php:80
3021-msgid "Default page"
3022-msgstr "Standardseite"
3023-
3024-#: ../../../default.php:104
3025-msgid "Welcome to b2evolution"
3026-msgstr "Willkommen zu b2evolution"
3027-
3028-#: ../../../default.php:114
3029-msgid "b2evolution is installed and ready but you haven't created any blog on this system yet."
3030-msgstr "b2evolution ist installiert und betriebsbereit, aber Sie haben noch keine Blogs auf diesem System erstellt."
3031-
3032-#: ../../../default.php:116
3033-msgid "Create a first blog"
3034-msgstr "Ein erstes Blog erstellen"
3035-
3036-#: ../../../default.php:120
3037-msgid "You have successfully installed b2evolution."
3038-msgstr "Sie haben b2evolution erfolgreich installiert."
3039-
3040-#: ../../../default.php:122
3041-msgid "You haven't set a default blog yet. Thus, you see this default page."
3042-msgstr "Sie haben noch kein Standardblog festgelegt, deswegen sehen Sie diese Standardseite."
3043-
3044-#: ../../../default.php:124
3045-msgid "Set a default blog"
3046-msgstr "Ein Standardblog festlegen"
3047-
3048-#: ../../../default.php:142
3049-msgid "Blogs on this system"
3050-msgstr "Blogs auf diesem System"
3051-
3052-#: ../../../default.php:152
3053-#, php-format
3054-msgid "Blog #%d"
3055-msgstr "Blog #%d"
3056-
3057-#: ../../../default.php:163
3058-msgid "Add a new blog"
3059-msgstr "Ein neues Blog hinzufügen"
3060-
3061-#: ../../../default.php:173
3062-msgid "Bonus templates &amp; features"
3063-msgstr "Bonustemplates &amp; -features"
3064-
3065-#: ../../../default.php:174
3066-msgid "These templates demonstrate more advanced uses of b2evolution. These do not make use of skins. The only way to change their look and feel is to edit their PHP template."
3067-msgstr "Diese Templates demonstrieren fortgeschrittene Anwendungen von b2evolution. Sie benutzen keine Skins. Der einzige Weg ihr Aussehen zu ändern, ist ihr PHP-Template zu bearbeiten."
3068-
3069-#: ../../../default.php:181
3070-msgid "Blog #1 called through a custom template (not a skin)"
3071-msgstr "Blog #1 mit einem benutzerdefinierten Template aufgerufen (kein Skin)"
3072-
3073-#: ../../../default.php:182
3074-msgid "Multiple blogs displayed on the same page"
3075-msgstr "Mehrere Blogs auf der selben Seite dargestellt"
3076-
3077-#: ../../../default.php:183
3078-msgid "Blog #1 XML sitemap (called through a stub)"
3079-msgstr "XML-Sitemap für Blog #1 (durch ein Stub aufgerufen)"
3080-
3081-#: ../../../default.php:184
3082-msgid "Blog #1 aggregated XML sitemap (called through a stub)"
3083-msgstr "Aggregierte XML-Sitemap für Blog #1 (durch ein Stub aufgerufen)"
3084-
3085-#: ../../../default.php:188
3086-msgid "Summary of latest posts in all blogs"
3087-msgstr "Zusammenfassung der letzten Einträge in allen Blogs"
3088-
3089-#: ../../../default.php:189
3090-msgid "The page you're looking at"
3091-msgstr "Die Seite, die Sie gerade anschauen"
3092-
3093-#: ../../../default.php:190
3094-msgid "A standalone admin-contact page for your site"
3095-msgstr "Eine eigenständige Administrator-Kontaktseite für Ihre Webseite"
3096-
3097-#: ../../../default.php:209
3098-msgid "Contact the admin"
3099-msgstr "Den Administrator kontaktieren"
3100-
3101-#: ../../../htsrv/comment_post.php:48
3102-msgid "You cannot leave comments on this post!"
3103-msgstr "Sie können keine Kommentare zu diesem Eintrag hinterlassen!"
3104-
3105-#: ../../../htsrv/comment_post.php:125
3106-#: ../../../htsrv/message_send.php:124
3107-msgid "Please fill in your name."
3108-msgstr "Bitte geben Sie Ihren Namen an."
3109-
3110-#: ../../../htsrv/comment_post.php:129
3111-#: ../../../htsrv/message_send.php:128
3112-msgid "Please fill in your email."
3113-msgstr "Bitten geben Sie Ihre E-Mail-Adresse an."
3114-
3115-#: ../../../htsrv/comment_post.php:135
3116-msgid "Supplied name is invalid."
3117-msgstr "Der angegebene Name ist ungültig."
3118-
3119-#: ../../../htsrv/comment_post.php:141
3120-#: ../../../htsrv/message_send.php:132
3121-msgid "Supplied email address is invalid."
3122-msgstr "Die angegebene E-Mail-Adresse ist ungültig."
3123-
3124-#: ../../../htsrv/comment_post.php:159
3125-msgid "Supplied website address is invalid: "
3126-msgstr "Die angegebene Webseiten-Adresse ist ungültig: "
3127-
3128-#: ../../../htsrv/comment_post.php:175
3129-msgid "Please do not send empty comments."
3130-msgstr "Bitte senden Sie keine leeren Kommentare."
3131-
3132-#: ../../../htsrv/comment_post.php:240
3133-#, php-format
3134-msgid "You can only post a new comment every %d seconds."
3135-msgstr "Sie können nur alle %d Sekunden einen neuen Kommentar schreiben."
3136-
3137-#: ../../../htsrv/comment_post.php:261
3138-msgid "Errors while processing your comment"
3139-msgstr "Fehler bei der Verarbeitung Ihres Kommentars"
3140-
3141-#: ../../../htsrv/comment_post.php:277
3142-msgid "Cannot post comment, please correct these errors:"
3143-msgstr "Kann Kommentar nicht senden, bitte berichtigen Sie die folgenden Fehler:"
3144-
3145-#: ../../../htsrv/comment_post.php:278
3146-msgid "Back to comment editing"
3147-msgstr "Zurück zum Bearbeiten des Kommentars"
3148-
3149-#: ../../../htsrv/comment_post.php:295
3150-msgid "This is a preview only! Do not forget to send your comment!"
3151-msgstr "Das ist nur eine Vorschau! Vergessen Sie nicht, Ihren Kommentar abzuschicken!"
3152-
3153-#: ../../../htsrv/comment_post.php:375
3154-msgid "Your comment has been submitted."
3155-msgstr "Ihr Kommentar wurde abgeschickt."
3156-
3157-#: ../../../htsrv/comment_post.php:382
3158-msgid "Your comment has been submitted. It will appear once it has been approved."
3159-msgstr "Ihr Kommentar wurde abgeschickt. Er wird erscheinen, sobald er freigegeben wurde."
3160-
3161-#: ../../../htsrv/login.php:78
3162-#: ../../../htsrv/login.php:132
3163-msgid "If you correctly typed in your login, a link to change your password has been sent to your registered email address."
3164-msgstr "Wenn Sie Ihren Benutzernamen korrekt angegeben haben, wurde Ihnen ein Link zum Ändern Ihres Passwortes an Ihre registrierte E-Mail-Adresse geschickt."
3165-
3166-#: ../../../htsrv/login.php:88
3167-msgid "You cannot reset this account in demo mode."
3168-msgstr "Sie können diesen Account im Demo-Modus nicht zurücksetzen."
3169-
3170-#: ../../../htsrv/login.php:100
3171-msgid "You have no email address with your profile, therefore we cannot reset your password."
3172-msgstr "Sie haben keine E-Mail-Adresse in Ihrem Profil, somit können wir Ihr Passwort nicht zurücksetzen."
3173-
3174-#: ../../../htsrv/login.php:101
3175-msgid "Please try contacting the admin."
3176-msgstr "Bitte versuchen Sie, den Administrator zu kontaktieren."
3177-
3178-#: ../../../htsrv/login.php:107
3179-msgid "Somebody (presumably you) has requested a password change for your account."
3180-msgstr "Jemand (wahrscheinlich Sie) hat eine Passwortänderung für Ihren Account angefordert."
3181-
3182-#: ../../../htsrv/login.php:109
3183-#: ../../../htsrv/register.php:159
3184-#: ../../../inc/users/model/_user.class.php:1196
3185-msgid "Login:"
3186-msgstr "Benutzername:"
3187-
3188-#: ../../../htsrv/login.php:110
3189-msgid "Link to change your password:"
3190-msgstr "Link zum Ändern Ihres Passwortes:"
3191-
3192-#: ../../../htsrv/login.php:117
3193-#: ../../../htsrv/message_send.php:81
3194-#: ../../../inc/users/model/_user.class.php:1203
3195-msgid "Please note:"
3196-msgstr "Bitte beachten Sie:"
3197-
3198-#: ../../../htsrv/login.php:118
3199-#: ../../../htsrv/message_send.php:82
3200-#: ../../../inc/users/model/_user.class.php:1204
3201-msgid "For security reasons the link is only valid for your current session (by means of your session cookie)."
3202-msgstr "Aus Sicherheitsgründen ist dieser Link nur für Ihre aktuelle Sitzung gültig (bezogen auf Ihr Session-Cookie)."
3203-
3204-#: ../../../htsrv/login.php:120
3205-msgid "If it was not you that requested this password change, simply ignore this mail."
3206-msgstr "Falls nicht Sie diese Passwortänderung angefordert haben, ignorieren Sie diese E-Mail bitte einfach."
3207-
3208-#: ../../../htsrv/login.php:122
3209-#, php-format
3210-msgid "Password change request for %s"
3211-msgstr "Anforderung einer Passwortänderung für %s"
3212-
3213-#: ../../../htsrv/login.php:124
3214-msgid "Sorry, the email with the link to reset your password could not be sent."
3215-msgstr "Entschuldigung, die E-Mail mit dem Link, um Ihr Passwort zurückzusetzen, konnte nicht gesendet werden."
3216-
3217-#: ../../../htsrv/login.php:125
3218-#: ../../../htsrv/login.php:312
3219-#: ../../../htsrv/message_send.php:95
3220-#: ../../../htsrv/message_send.php:301
3221-#: ../../../htsrv/register.php:180
3222-msgid "Possible reason: the PHP mail() function may have been disabled on the server."
3223-msgstr "Möglicher Grund: Die mail()-Funktion von PHP könnte auf diesem Server deaktiviert worden sein."
3224-
3225-#: ../../../htsrv/login.php:151
3226-#: ../../../htsrv/login.php:168
3227-msgid "Invalid password change request! Please try again..."
3228-msgstr "Ungültige Passwortänderungsanfrage! Bitte versuchen Sie es erneut..."
3229-
3230-#: ../../../htsrv/login.php:159
3231-#: ../../../htsrv/login.php:213
3232-msgid "You have to use the same session (by means of your session cookie) as when you have requested the action. Please try again..."
3233-msgstr "Sie müssen die gleiche Sitzung benutzen, in der Sie diese Aktion angefordert haben (bezogen auf Ihr Session-Cookie). Bitte versuchen Sie es erneut..."
3234-
3235-#: ../../../htsrv/login.php:178
3236-msgid "Please change your password to something you remember now."
3237-msgstr "Bitte ändern Sie Ihr Passwort nun in etwas, an das Sie sich erinnern können."
3238-
3239-#: ../../../htsrv/login.php:197
3240-msgid "Your account has already been validated."
3241-msgstr "Ihr Account wurde bereits bestätigt."
3242-
3243-#: ../../../htsrv/login.php:205
3244-#: ../../../htsrv/login.php:223
3245-msgid "Invalid email address validation request!"
3246-msgstr "Ungültige Adressbestätigungsanfrage!"
3247-
3248-#: ../../../htsrv/login.php:233
3249-msgid "Please login to validate your account."
3250-msgstr "Bitte melden Sie sich an, um Ihren Account zu bestätigen."
3251-
3252-#: ../../../htsrv/login.php:242
3253-msgid "Your email address has been validated."
3254-msgstr "Ihre E-Mail-Adresse wurde bestätigt."
3255-
3256-#: ../../../htsrv/login.php:272
3257-msgid "You have to be logged in to request an account validation link."
3258-msgstr "Sie müssen angemeldet sein, um einen Accountbestätigungslink anfordern zu können."
3259-
3260-#: ../../../htsrv/login.php:302
3261-#: ../../../htsrv/profile_update.php:134
3262-#: ../../../inc/users/users.ctrl.php:434
3263-msgid "Your profile has been updated."
3264-msgstr "Ihr Profil wurde aktualisiert."
3265-
3266-#. TRANS: %s gets replaced by the user's email address
3267-#: ../../../htsrv/login.php:307
3268-#, php-format
3269-msgid "An email has been sent to your email address (%s). Please click on the link therein to validate your account."
3270-msgstr "Eine E-Mail wurde an Ihre E-Mail-Adresse (%s) gesendet. Bitte klicken Sie auf den darin enthaltenen Link, um Ihren Account zu bestätigen."
3271-
3272-#: ../../../htsrv/login.php:311
3273-#: ../../../htsrv/register.php:179
3274-msgid "Sorry, the email with the link to validate and activate your password could not be sent."
3275-msgstr "Entschuldigung, die E-Mail mit dem Link, um Ihren Account zu bestätigen und zu aktivieren, konnte nicht gesendet werden."
3276-
3277-#: ../../../htsrv/login.php:321
3278-#, php-format
3279-msgid "We have already sent you %d email(s) with a validation link."
3280-msgstr "Wir haben Ihnen bereits %d E-Mail(s) mit einem Bestätigungslink gesendet."
3281-
3282-#: ../../../htsrv/login.php:326
3283-msgid "You have no email address with your profile, therefore we cannot validate it. Please give your email address below."
3284-msgstr "Sie haben keine E-Mail-Adresse in Ihrem Profil, also können wir sie nicht bestätigen. Bitte geben Sie unten Ihre E-Mail-Adresse an."
3285-
3286-#: ../../../htsrv/login.php:339
3287-#, php-format
3288-msgid "WARNING: you are trying to log in on <strong>%s</strong> but we expect you to log in on <strong>%s</strong>. If this is due to an automatic redirect, this will prevent you from successfully loging in. You must either fix your webserver configuration, or your %s configuration in order for these two URLs to match."
3289-msgstr "WARNUNG: Sie versuchen, sich auf <strong>%s</strong> anzumelden, aber wir erwarten, dass Sie sich auf <strong>%s</strong> anmelden. Falls dies auf Grund einer automatischen Weiterleitung geschieht, werden Sie sich nicht erfolgreich anmelden können. Sie müssen entweder Ihre Webserver- oder %s-Konfiguration anpassen, so dass die beiden URLs übereinstimmen."
3290-
3291-#: ../../../htsrv/login.php:378
3292-#, php-format
3293-msgid "WARNING: you are trying to log in to <strong>%s</strong> but your cookie domain is <strong>%s</strong>. You will not be able to successfully log in to the requested domain until you fix your cookie domain in your %s configuration."
3294-msgstr "WARNUNG: Sie versuchen, sich an <strong>%s</strong> anzumelden, aber Ihre Cookie-Domain ist <strong>%s</strong>. Sie werden sich nicht erfolgreich an der angeforderten Domain anmelden können, bis Sie Ihre Cookie-Domain in Ihrer %s-Konfiguration angepasst haben."
3295-
3296-#: ../../../htsrv/message_send.php:62
3297-msgid "All your comments have been marked not to allow emailing you through a message form."
3298-msgstr "Für alle Ihre Kommentare wurde die Funktion, Ihnen über ein Kontaktformular E-Mails zu diesen zu schicken, deaktiviert."
3299-
3300-#: ../../../htsrv/message_send.php:68
3301-msgid "The request not to receive emails through a message form for your comments failed."
3302-msgstr "Die Anfrage, zu Ihren Kommentaren keine E-Mails mehr per Kontaktformular zu erhalten, ist fehlgeschlagen."
3303-
3304-#: ../../../htsrv/message_send.php:77
3305-msgid ""
3306-"We have received a request that you do not want to receive emails through\n"
3307-"a message form on your comments anymore.\n"
3308-"\n"
3309-"To confirm that this request is from you, please click on the following link:"
3310-msgstr ""
3311-"Wir haben eine Anfrage erhalten, dass Sie zu Ihren Kommentaren keine E-Mails\n"
3312-"mehr über ein Kontaktformular erhalten möchten.\n"
3313-"\n"
3314-"Um zu bestätigen, dass diese Anfrage von Ihnen stammt, klicken Sie bitte auf\n"
3315-"den folgenden Link:"
3316-
3317-#: ../../../htsrv/message_send.php:84
3318-msgid "If it was not you that requested this, simply ignore this mail."
3319-msgstr "Wenn Sie das nicht angefordert haben, ignorieren Sie diese E-Mail einfach."
3320-
3321-#: ../../../htsrv/message_send.php:86
3322-msgid "Confirm opt-out for emails through message form"
3323-msgstr "Opt-out für E-Mails über Kontaktformular"
3324-
3325-#: ../../../htsrv/message_send.php:88
3326-msgid "An email has been sent to you, with a link to confirm your request not to receive emails through the comments you have made on this blog."
3327-msgstr "Eine E-Mail wurde an Sie verschickt. Sie enthält einen Link, mit dem Sie Ihre Anfrage, keine E-Mails mehr zu Ihren Kommentaren in diesem Blog zu bekommen, bestätigen können."
3328-
3329-#: ../../../htsrv/message_send.php:94
3330-#: ../../../htsrv/message_send.php:300
3331-msgid "Sorry, could not send email."
3332-msgstr "Entschuldigung, die E-Mail konnte nicht versendet werden."
3333-
3334-#: ../../../htsrv/message_send.php:137
3335-msgid "Please fill in the subject of your message."
3336-msgstr "Bitte geben Sie einen Betreff an."
3337-
3338-#: ../../../htsrv/message_send.php:142
3339-msgid "Please do not send empty messages."
3340-msgstr "Bitte senden Sie keine leeren Mitteilungen."
3341-
3342-#: ../../../htsrv/message_send.php:146
3343-msgid "The supplied message is invalid / appears to be spam."
3344-msgstr "Die angegebene Nachricht ist ungültig / scheint Spam zu sein."
3345-
3346-#: ../../../htsrv/message_send.php:157
3347-msgid "Message sent from your comment:"
3348-msgstr "Nachricht bezieht sich auf Ihren Kommentar:"
3349-
3350-#: ../../../htsrv/message_send.php:165
3351-msgid "Message sent from your post:"
3352-msgstr "Nachricht bezieht sich auf Ihren Eintrag:"
3353-
3354-#: ../../../htsrv/message_send.php:233
3355-msgid "You can edit your profile to not reveive mails through a form:"
3356-msgstr "Sie können Ihr Profil bearbeiten, um keine E-Mails mehr über ein Kontaktformular zu erhalten:"
3357-
3358-#: ../../../htsrv/message_send.php:240
3359-msgid ""
3360-"Click on the following link to not receive e-mails on your comments\n"
3361-"for this e-mail address anymore:"
3362-msgstr ""
3363-"Klicken Sie auf den folgenden Link, um für diese E-Mail-Adresse keine\n"
3364-"E-Mails mehr zu Ihren Kommentaren zu erhalten:"
3365-
3366-#: ../../../htsrv/message_send.php:261
3367-msgid "Cannot send email, please correct these errors:"
3368-msgstr "Kann E-Mail nicht senden, bitte berichtigen Sie die folgenden Fehler:"
3369-
3370-#: ../../../htsrv/message_send.php:262
3371-msgid "Back to email editing"
3372-msgstr "Zurück zum Bearbeiten der E-Mail"
3373-
3374-#: ../../../htsrv/message_send.php:270
3375-#: ../../../htsrv/message_send.php:278
3376-#, php-format
3377-msgid "This message was sent via the messaging system on %s."
3378-msgstr "Diese E-Mail wurde über das Nachrichtensystem von %s versendet."
3379-
3380-#: ../../../htsrv/message_send.php:296
3381-msgid "Your message has been sent."
3382-msgstr "Ihre Nachricht wurde versendet."
3383-
3384-#: ../../../htsrv/profile_update.php:69
3385-#: ../../../htsrv/subs_update.php:50
3386-#: ../../../skins/_profile.disp.php:42
3387-#: ../../../skins/_subs.disp.php:36
3388-msgid "You are not logged in."
3389-msgstr "Sie sind nicht angemeldet."
3390-
3391-#: ../../../htsrv/profile_update.php:80
3392-#: ../../../htsrv/profile_update.php:101
3393-#: ../../../htsrv/subs_update.php:61
3394-#: ../../../htsrv/subs_update.php:75
3395-msgid "Back to profile"
3396-msgstr "Zurück zum Profil"
3397-
3398-#: ../../../htsrv/profile_update.php:100
3399-#: ../../../htsrv/subs_update.php:74
3400-msgid "Cannot update profile. Please correct the following errors:"
3401-msgstr "Kann Profil nicht aktualisieren. Bitte berichtigen Sie die folgenden Fehler:"
3402-
3403-#: ../../../htsrv/profile_update.php:138
3404-#: ../../../inc/users/users.ctrl.php:438
3405-msgid "Your profile has not been changed."
3406-msgstr "Ihr Profil wurde nicht geändert."
3407-
3408-#: ../../../htsrv/register.php:94
3409-#, php-format
3410-msgid "The login &laquo;%s&raquo; is already registered, please choose another one."
3411-msgstr "Der Benutzername &laquo;%s&raquo; ist bereits registriert, bitte wählen Sie einen anderen."
3412-
3413-#: ../../../htsrv/register.php:141
3414-msgid "No user account has been created!"
3415-msgstr "Kein Benutzeraccount wurde erstellt!"
3416-
3417-#: ../../../htsrv/register.php:157
3418-#: ../../../htsrv/register.php:164
3419-msgid "New user registration on your blog"
3420-msgstr "Neue Benutzerregistrierung auf Ihrem Blog"
3421-
3422-#: ../../../htsrv/register.php:162
3423-msgid "Edit user"
3424-msgstr "Benutzer bearbeiten"
3425-
3426-#: ../../../htsrv/register.php:175
3427-msgid "An email has been sent to your email address. Please click on the link therein to validate your account."
3428-msgstr "Eine E-Mail wurde an Ihre E-Mail-Adresse gesendet. Bitte klicken Sie auf den darin enthaltenen Link, um Ihren Account zu bestätigen."
3429-
3430-#: ../../../htsrv/subs_update.php:125
3431-msgid "Your profile & subscriptions have been updated."
3432-msgstr "Ihr Profil und Ihre Abonnements wurden aktualisiert."
3433-
3434-#: ../../../htsrv/trackback.php:121
3435-#: ../../../inc/users/model/_user.funcs.php:545
3436-msgid "Supplied URL is invalid: "
3437-msgstr "Angegebener URL ist ungültig: "
3438-
3439-#: ../../../htsrv/trackback.php:152
3440-msgid "Please do not send empty comment"
3441-msgstr "Bitte senden Sie keinen leeren Kommentar"
3442-
3443-#: ../../../htsrv/viewfile.php:73
3444-#: ../../../inc/items/views/_item_expert.form.php:176
3445-#: ../../../inc/items/views/_item_simple.form.php:168
3446-#: ../../../inc/skins/model/_skin.class.php:454
3447-#: ../../../skins/_item_comment_form.inc.php:207
3448-#: ../../../skins/glossyblue/_item_feedback.inc.php:392
3449-msgid "Preview"
3450-msgstr "Vorschau"
3451-
3452-#: ../../../htsrv/viewfile.php:131
3453-#: ../../../inc/files/views/_file_links.view.php:82
3454-#: ../../../inc/files/views/_file_rename.form.php:56
3455-#: ../../../inc/items/views/inc/_item_links.inc.php:60
3456-msgid "File"
3457-msgstr "Datei"
3458-
3459-#: ../../../htsrv/viewfile.php:133
3460-#: ../../../inc/_core/_misc.funcs.php:3462
3461-#: ../../../inc/collections/views/_coll_general.form.php:52
3462-#: ../../../inc/files/views/_file_links.view.php:112
3463-#: ../../../inc/items/model/_item.class.php:3654
3464-#: ../../../inc/items/model/_item.class.php:3664
3465-#: ../../../inc/items/views/_item_expert.form.php:101
3466-#: ../../../inc/items/views/_item_list_table.view.php:141
3467-#: ../../../inc/items/views/_item_simple.form.php:132
3468-#: ../../../inc/widgets/widgets/_xml_feeds.widget.php:87
3469-#: ../../../plugins/_quicktags.plugin.php:407
3470-msgid "Title"
3471-msgstr "Titel"
3472-
3473-#: ../../../htsrv/viewfile.php:137
3474-#: ../../../inc/chapters/views/_chapter.form.php:71
3475-#: ../../../inc/collections/views/_coll_general.form.php:104
3476-#: ../../../inc/plugins/views/_plugin_list.view.php:210
3477-#: ../../../inc/plugins/views/_plugin_list_available.view.php:55
3478-#: ../../../inc/widgets/views/_widget.form.php:41
3479-msgid "Description"
3480-msgstr "Beschreibung"
3481-
3482-#: ../../../htsrv/viewfile.php:143
3483-msgid "Empty file!"
3484-msgstr "Leere Datei!"
3485-
3486-#: ../../../htsrv/viewfile.php:148
3487-#, php-format
3488-msgid "%d lines"
3489-msgstr "%d Zeile(n)"
3490-
3491-#: ../../../htsrv/viewfile.php:157
3492-#: ../../../htsrv/viewfile.php:187
3493-msgid "Hide line numbers"
3494-msgstr "Verstecke Zeilennummern"
3495-
3496-#: ../../../htsrv/viewfile.php:157
3497-#: ../../../htsrv/viewfile.php:172
3498-msgid "Show line numbers"
3499-msgstr "Zeige Zeilennummern"
3500-
3501-#: ../../../htsrv/viewfile.php:224
3502-msgid "End Of File"
3503-msgstr "Ende der Datei (EOF)"
3504-
3505-#: ../../../htsrv/viewfile.php:229
3506-#: ../../../htsrv/viewfile.php:234
3507-#, php-format
3508-msgid "The file &laquo;%s&raquo; could not be accessed!"
3509-msgstr "Auf die Datei &laquo;%s&raquo; konnte nicht zugegriffen werden!"
3510-
3511-#: ../../../inc/_blog_main.inc.php:461
3512-#, php-format
3513-msgid "The skin [%s] is not installed on this system."
3514-msgstr "Der Skin [%s] ist auf diesem System nicht installiert."
3515-
3516-#: ../../../inc/_blog_main.inc.php:479
3517-#, php-format
3518-msgid "The skin [%s] set for blog [%s] does not exist. It must be properly set in the <a %s>blog properties</a> or properly overriden in a stub file."
3519-msgstr "Der gewählte Skin [%s] für das Blog [%s] existiert nicht. Er muss ordnungsgemäß in den <a %s>Blogeigenschaften</a> gesetzt oder in einer Stub-Datei überschrieben werden."
3520-
3521-#: ../../../inc/_core/__core.init.php:150
3522-#: ../../../inc/_core/__core.init.php:545
3523-msgid "Dashboard"
3524-msgstr "Übersicht"
3525-
3526-#: ../../../inc/_core/__core.init.php:152
3527-msgid "Go to admin dashboard"
3528-msgstr "Zur Admin-Übersichtsseite gehen"
3529-
3530-#: ../../../inc/_core/__core.init.php:155
3531-msgid "See"
3532-msgstr "Ansehen"
3533-
3534-#: ../../../inc/_core/__core.init.php:157
3535-msgid "See the home page"
3536-msgstr "Die Hauptseite ansehen"
3537-
3538-#: ../../../inc/_core/__core.init.php:160
3539-#: ../../../inc/collections/views/_coll_group_perm.form.php:386
3540-#: ../../../inc/collections/views/_coll_user_perm.form.php:392
3541-msgid "Write"
3542-msgstr "Schreiben"
3543-
3544-#: ../../../inc/_core/__core.init.php:161
3545-#: ../../../inc/_core/__core.init.php:166
3546-#: ../../../inc/_core/__core.init.php:171
3547-msgid "No blog is currently selected"
3548-msgstr "Zur Zeit ist kein Blog ausgewählt"
3549-
3550-#: ../../../inc/_core/__core.init.php:165
3551-msgid "Manage"
3552-msgstr "Verwalten"
3553-
3554-#: ../../../inc/_core/__core.init.php:170
3555-msgid "Customize"
3556-msgstr "Anpassen"
3557-
3558-#: ../../../inc/_core/__core.init.php:175
3559-#: ../../../inc/_core/__core.init.php:768
3560-#: ../../../inc/_core/__core.init.php:801
3561-msgid "Tools"
3562-msgstr "Werkzeuge"
3563-
3564-#: ../../../inc/_core/__core.init.php:186
3565-msgid "See the public view of this blog"
3566-msgstr "Die öffentliche Ansicht dieses Blogs ansehen"
3567-
3568-#: ../../../inc/_core/__core.init.php:193
3569-msgid "Write a new post into this blog"
3570-msgstr "Einen neuen Eintrag in diesem Blog verfassen"
3571-
3572-#: ../../../inc/_core/__core.init.php:197
3573-msgid "You don't have permission to post into this blog"
3574-msgstr "Sie haben keine Rechte, um Einträge in diesem Blog zu erstellen"
3575-
3576-#: ../../../inc/_core/__core.init.php:204
3577-msgid "Manage the contents of this blog"
3578-msgstr "Die Inhalte dieses Blogs verwalten"
3579-
3580-#: ../../../inc/_core/__core.init.php:207
3581-#: ../../../inc/items/model/_item.funcs.php:696
3582-#: ../../../inc/users/views/_user.form.php:338
3583-#: ../../../inc/widgets/widgets/_xml_feeds.widget.php:152
3584-#: ../../../skins/_profile.disp.php:104
3585-#: ../../../skins/_subs.disp.php:84
3586-#: ../../../skins/_subs.disp.php:96
3587-#: ../../../skins/_user.disp.php:88
3588-msgid "Posts"
3589-msgstr "Einträge"
3590-
3591-#: ../../../inc/_core/__core.init.php:211
3592-#: ../../../inc/_core/ui/results/_results.class.php:1739
3593-#: ../../../inc/items/model/_item.funcs.php:700
3594-#: ../../../inc/items/views/_item_list_full.view.php:101
3595-#: ../../../inc/items/views/_item_list_full.view.php:105
3596-#: ../../../inc/widgets/widgets/_page_list.widget.php:60
3597-#: ../../../skins_adm/_adminUI_general.class.php:754
3598-#: ../../../skins_adm/_adminUI_general.class.php:810
3599-#: ../../../skins_adm/_adminUI_general.class.php:895
3600-#: ../../../skins_adm/chicago/_adminUI.class.php:200
3601-#: ../../../skins_adm/chicago/_adminUI.class.php:260
3602-msgid "Pages"
3603-msgstr "Seiten"
3604-
3605-#: ../../../inc/_core/__core.init.php:215
3606-msgid "Intro posts"
3607-msgstr "Intro-Einträge"
3608-
3609-#: ../../../inc/_core/__core.init.php:219
3610-msgid "Podcast episodes"
3611-msgstr "Podcast-Episoden"
3612-
3613-#: ../../../inc/_core/__core.init.php:223
3614-#: ../../../inc/items/model/_item.funcs.php:712
3615-msgid "Sidebar links"
3616-msgstr "Seitenleistenlinks"
3617-
3618-#: ../../../inc/_core/__core.init.php:230
3619-#: ../../../inc/items/model/_item.funcs.php:724
3620-msgid "Tracker"
3621-msgstr "Tracker"
3622-
3623-#: ../../../inc/_core/__core.init.php:235
3624-msgid "All Items"
3625-msgstr "Alle Elemente"
3626-
3627-#: ../../../inc/_core/__core.init.php:267
3628-#: ../../../inc/_core/__core.init.php:562
3629-#: ../../../inc/_core/__core.init.php:722
3630-#: ../../../inc/files/views/_file_browse_set.form.php:56
3631-#: ../../../inc/items/views/_item_list_table.view.php:207
3632-#: ../../../inc/users/views/_group.form.php:151
3633-msgid "Files"
3634-msgstr "Dateien"
3635-
3636-#: ../../../inc/_core/__core.init.php:286
3637-#: ../../../inc/tools/system.ctrl.php:84
3638-#: ../../../install/_functions_create.php:601
3639-msgid "About this system"
3640-msgstr "Über dieses System"
3641-
3642-#: ../../../inc/_core/__core.init.php:297
3643-#: ../../../inc/dashboard/dashboard.ctrl.php:458
3644-#: ../../../inc/settings/views/_general.form.php:59
3645-msgid "Create new blog"
3646-msgstr "Neues Blog erstellen"
3647-
3648-#: ../../../inc/_core/__core.init.php:306
3649-msgid "More info"
3650-msgstr "Mehr Info"
3651-
3652-#: ../../../inc/_core/__core.init.php:309
3653-msgid "Open b2evolution.net"
3654-msgstr "b2evolution.net öffnen"
3655-
3656-#: ../../../inc/_core/__core.init.php:314
3657-msgid "Open Support forums"
3658-msgstr "Support-Forum öffnen"
3659-
3660-#: ../../../inc/_core/__core.init.php:319
3661-msgid "Open Online manual"
3662-msgstr "Online-Anleitung öffnen"
3663-
3664-#: ../../../inc/_core/__core.init.php:327
3665-msgid "b2evolution on twitter"
3666-msgstr "b2evolution bei twitter"
3667-
3668-#: ../../../inc/_core/__core.init.php:332
3669-msgid "b2evolution on facebook"
3670-msgstr "b2evolution bei facebook"
3671-
3672-#: ../../../inc/_core/__core.init.php:347
3673-msgid "Customize this blog"
3674-msgstr "Dieses Blog anpassen"
3675-
3676-#: ../../../inc/_core/__core.init.php:351
3677-#: ../../../inc/dashboard/dashboard.ctrl.php:350
3678-msgid "Blog properties"
3679-msgstr "Blogeigenschaften"
3680-
3681-#: ../../../inc/_core/__core.init.php:355
3682-#: ../../../inc/dashboard/dashboard.ctrl.php:351
3683-msgid "Blog features"
3684-msgstr "Blog-Features"
3685-
3686-#: ../../../inc/_core/__core.init.php:359
3687-#: ../../../inc/dashboard/dashboard.ctrl.php:352
3688-msgid "Blog skin"
3689-msgstr "Blog-Skin"
3690-
3691-#: ../../../inc/_core/__core.init.php:363
3692-#: ../../../inc/dashboard/dashboard.ctrl.php:353
3693-msgid "Blog widgets"
3694-msgstr "Blog-Widgets"
3695-
3696-#: ../../../inc/_core/__core.init.php:367
3697-#: ../../../inc/dashboard/dashboard.ctrl.php:354
3698-msgid "Blog URLs"
3699-msgstr "Blog-URLs"
3700-
3701-#: ../../../inc/_core/__core.init.php:382
3702-#: ../../../inc/antispam/views/_antispam_list.view.php:27
3703-#: ../../../inc/antispam/views/_antispam_settings.form.php:46
3704-msgid "Antispam blacklist"
3705-msgstr "Antispam-Bannliste"
3706-
3707-#: ../../../inc/_core/__core.init.php:390
3708-#: ../../../inc/_core/__core.init.php:772
3709-msgid "Scheduler"
3710-msgstr "Planer"
3711-
3712-#: ../../../inc/_core/__core.init.php:435
3713-msgid "Edit user profile"
3714-msgstr "Benutzerprofil bearbeiten"
3715-
3716-#: ../../../inc/_core/__core.init.php:451
3717-#: ../../../inc/collections/views/_coll_features.form.php:157
3718-msgid "Email subscriptions"
3719-msgstr "E-Mail-Abonnements"
3720-
3721-#: ../../../inc/_core/__core.init.php:466
3722-#: ../../../inc/users/views/_user.form.php:243
3723-#: ../../../inc/users/views/_user.form.php:268
3724-msgid "Admin skin"
3725-msgstr "Admin-Skin"
3726-
3727-#: ../../../inc/_core/__core.init.php:483
3728-#: ../../../inc/_core/__core.init.php:513
3729-#: ../../../inc/users/model/_user.funcs.php:243
3730-#: ../../../inc/widgets/widgets/_user_tools.widget.php:76
3731-#: ../../../skins_adm/_access_denied.main.php:23
3732-#: ../../../skins_adm/_adminUI_general.class.php:1229
3733-#: ../../../skins_adm/_adminUI_general.class.php:1231
3734-msgid "Logout"
3735-msgstr "Abmelden"
3736-
3737-#: ../../../inc/_core/__core.init.php:492
3738-#: ../../../inc/chapters/views/_chapter.form.php:62
3739-#: ../../../inc/collections/model/_blog.class.php:225
3740-#: ../../../inc/comments/model/_comment.class.php:1241
3741-#: ../../../inc/items/model/_item.class.php:3654
3742-#: ../../../inc/items/model/_item.class.php:3659
3743-#: ../../../inc/items/views/_item_list_table.view.php:80
3744-#: ../../../inc/sessions/views/_stats_hit_list.view.php:155
3745-#: ../../../inc/widgets/widgets/_comment_list.widget.php:92
3746-#: ../../../inc/widgets/widgets/_item_list.widget.php:95
3747-msgid "Blog"
3748-msgstr "Blog"
3749-
3750-#: ../../../inc/_core/__core.init.php:499
3751-#: ../../../inc/widgets/widgets/_menu_link.widget.php:171
3752-#: ../../../skins_adm/login/_reg_disabled.main.php:40
3753-msgid "Home"
3754-msgstr "Start"
3755-
3756-#: ../../../inc/_core/__core.init.php:507
3757-#: ../../../inc/collections/views/_coll_advanced.form.php:104
3758-#: ../../../inc/collections/views/_coll_advanced.form.php:109
3759-#: ../../../inc/collections/views/_coll_advanced.form.php:114
3760-#: ../../../inc/collections/views/_coll_advanced.form.php:128
3761-#: ../../../inc/collections/views/_coll_features.form.php:169
3762-#: ../../../inc/collections/views/_coll_group_perm.form.php:464
3763-#: ../../../inc/collections/views/_coll_urls.form.php:105
3764-#: ../../../inc/collections/views/_coll_user_perm.form.php:471
3765-#: ../../../inc/sessions/views/_stats_browserhits.view.php:166
3766-#: ../../../inc/users/model/_user.funcs.php:332
3767-#: ../../../inc/widgets/widgets/_user_tools.widget.php:97
3768-#: ../../../install/index.php:137
3769-msgid "Admin"
3770-msgstr "Admin"
3771-
3772-#: ../../../inc/_core/__core.init.php:551
3773-msgid "Posts / Comments"
3774-msgstr "Einträge / Kommentare"
3775-
3776-#: ../../../inc/_core/__core.init.php:563
3777-msgid "File management"
3778-msgstr "Dateiverwaltung"
3779-
3780-#: ../../../inc/_core/__core.init.php:598
3781-#: ../../../inc/_core/__core.init.php:629
3782-msgid "Blog settings"
3783-msgstr "Blogeinstellungen"
3784-
3785-#: ../../../inc/_core/__core.init.php:638
3786-#: ../../../inc/_core/__core.init.php:704
3787-#: ../../../inc/users/views/_group.form.php:76
3788-msgid "General"
3789-msgstr "Allgemein"
3790-
3791-#: ../../../inc/_core/__core.init.php:641
3792-#: ../../../inc/_core/__core.init.php:707
3793-msgid "Features"
3794-msgstr "Features"
3795-
3796-#: ../../../inc/_core/__core.init.php:644
3797-#: ../../../inc/collections/views/_coll_features.form.php:173
3798-msgid "Skin"
3799-msgstr "Skin"
3800-
3801-#: ../../../inc/_core/__core.init.php:647
3802-msgid "Skin settings"
3803-msgstr "Skin-Einstellungen"
3804-
3805-#: ../../../inc/_core/__core.init.php:650
3806-#: ../../../inc/plugins/views/_plugin_settings.form.php:105
3807-msgid "Plugin settings"
3808-msgstr "Plugin-Einstellungen"
3809-
3810-#: ../../../inc/_core/__core.init.php:653
3811-msgid "Widgets"
3812-msgstr "Widgets"
3813-
3814-#: ../../../inc/_core/__core.init.php:671
3815-msgid "URLs"
3816-msgstr "URLs"
3817-
3818-#: ../../../inc/_core/__core.init.php:674
3819-msgid "SEO"
3820-msgstr "SEO"
3821-
3822-#: ../../../inc/_core/__core.init.php:677
3823-#: ../../../inc/collections/views/_coll_group_perm.form.php:102
3824-#: ../../../inc/collections/views/_coll_user_perm.form.php:102
3825-#: ../../../inc/files/views/_file_browse_set.form.php:52
3826-#: ../../../inc/plugins/views/_plugin_settings.form.php:113
3827-#: ../../../inc/plugins/views/_plugin_settings.form.php:127
3828-msgid "Advanced"
3829-msgstr "Erweitert"
3830-
3831-#: ../../../inc/_core/__core.init.php:685
3832-msgid "User perms"
3833-msgstr "Benutzerrechte"
3834-
3835-#: ../../../inc/_core/__core.init.php:688
3836-msgid "Group perms"
3837-msgstr "Gruppenrechte"
3838-
3839-#: ../../../inc/_core/__core.init.php:700
3840-#: ../../../inc/files/views/_file_browse_set.form.php:56
3841-#: ../../../skins/_subs.disp.php:54
3842-msgid "Global settings"
3843-msgstr "Globale Einstellungen"
3844-
3845-#: ../../../inc/_core/__core.init.php:710
3846-#: ../../../inc/files/model/_fileroot.class.php:156
3847-#: ../../../inc/users/views/_group.form.php:163
3848-msgid "Skins"
3849-msgstr "Skins"
3850-
3851-#: ../../../inc/_core/__core.init.php:713
3852-#: ../../../inc/widgets/views/_widget_list_available.view.php:102
3853-msgid "Plugins"
3854-msgstr "Plugins"
3855-
3856-#: ../../../inc/_core/__core.init.php:716
3857-#: ../../../inc/_core/__core.init.php:785
3858-#: ../../../inc/_core/__core.init.php:805
3859-#: ../../../inc/users/views/_group.form.php:161
3860-msgid "Antispam"
3861-msgstr "Antispam"
3862-
3863-#: ../../../inc/_core/__core.init.php:719
3864-msgid "Regional"
3865-msgstr "Regional"
3866-
3867-#: ../../../inc/_core/__core.init.php:725
3868-#: ../../../inc/files/views/_file_browse_set.form.php:56
3869-msgid "File types"
3870-msgstr "Dateitypen"
3871-
3872-#: ../../../inc/_core/__core.init.php:728
3873-msgid "Post types"
3874-msgstr "Eintragstypen"
3875-
3876-#: ../../../inc/_core/__core.init.php:729
3877-msgid "Post types management"
3878-msgstr "Verwaltung von Eintragstypen"
3879-
3880-#: ../../../inc/_core/__core.init.php:732
3881-#: ../../../inc/items/item_statuses.ctrl.php:41
3882-msgid "Post statuses"
3883-msgstr "Eintragsstatus"
3884-
3885-#: ../../../inc/_core/__core.init.php:733
3886-msgid "Post statuses management"
3887-msgstr "Verwaltung von Eintragsstatus"
3888-
3889-#: ../../../inc/_core/__core.init.php:745
3890-#: ../../../inc/sessions/_sessions.init.php:221
3891-msgid "Users"
3892-msgstr "Benutzer"
3893-
3894-#: ../../../inc/_core/__core.init.php:746
3895-msgid "User management"
3896-msgstr "Benutzerverwaltung"
3897-
3898-#: ../../../inc/_core/__core.init.php:755
3899-msgid "My profile"
3900-msgstr "Mein Profil"
3901-
3902-#: ../../../inc/_core/__core.init.php:756
3903-#: ../../../inc/_core/_template.funcs.php:287
3904-msgid "User profile"
3905-msgstr "Benutzerprofil"
3906-
3907-#: ../../../inc/_core/__core.init.php:775
3908-msgid "System"
3909-msgstr "System"
3910-
3911-#: ../../../inc/_core/__core.init.php:792
3912-#: ../../../inc/antispam/views/_antispam_settings.form.php:61
3913-#: ../../../multiblogs.php:418
3914-msgid "Misc"
3915-msgstr "Verschiedenes"
3916-
3917-#: ../../../inc/_core/_misc.funcs.php:847
3918-msgid "Hello"
3919-msgstr "Hallo"
3920-
3921-#: ../../../inc/_core/_misc.funcs.php:1268
3922-#: ../../../inc/_core/_misc.funcs.php:1315
3923-msgid "No response!"
3924-msgstr "Keine Antwort!"
3925-
3926-#: ../../../inc/_core/_misc.funcs.php:1274
3927-#: ../../../inc/_core/_misc.funcs.php:1321
3928-msgid "Remote error"
3929-msgstr "Entfernter Fehler"
3930-
3931-#: ../../../inc/_core/_misc.funcs.php:1298
3932-#: ../../../inc/_core/_misc.funcs.php:1344
3933-msgid "Response"
3934-msgstr "Antwort"
3935-
3936-#: ../../../inc/_core/_misc.funcs.php:1684
3937-#: ../../../inc/_core/_misc.funcs.php:1702
3938-msgid "An unexpected error has occurred!"
3939-msgstr "Ein unerwarteter Fehler ist aufgetreten!"
3940-
3941-#: ../../../inc/_core/_misc.funcs.php:1685
3942-#: ../../../inc/_core/_misc.funcs.php:1703
3943-msgid "If this error persists, please report it to the administrator."
3944-msgstr "Falls dieser Fehler bestehen bleibt, melden Sie ihn bitte dem Administrator."
3945-
3946-#: ../../../inc/_core/_misc.funcs.php:1686
3947-#: ../../../inc/_core/_misc.funcs.php:1710
3948-#: ../../../inc/_core/_misc.funcs.php:1817
3949-msgid "Additional information about this error:"
3950-msgstr "Zusätzliche Informationen zu diesem Fehler:"
3951-
3952-#: ../../../inc/_core/_misc.funcs.php:1704
3953-#: ../../../inc/_core/_misc.funcs.php:1811
3954-msgid "Go back to home page"
3955-msgstr "Zurück zur Startseite gehen"
3956-
3957-#: ../../../inc/_core/_misc.funcs.php:1808
3958-msgid "Bad Request!"
3959-msgstr "Ungültige Anforderung!"
3960-
3961-#: ../../../inc/_core/_misc.funcs.php:1809
3962-msgid "The parameters of your request are invalid."
3963-msgstr "Die Parameter Ihrer Anforderung sind ungültig."
3964-
3965-#: ../../../inc/_core/_misc.funcs.php:1810
3966-msgid "If you have obtained this error by clicking on a link INSIDE of this site, please report the bad link to the administrator."
3967-msgstr "Wenn Sie den Fehler erhalten haben, indem Sie auf einen Link INNERHALB dieser Seite geklickt haben, teilen Sie den fehlerhaften Link bitte dem Administrator mit."
3968-
3969-#: ../../../inc/_core/_misc.funcs.php:2150
3970-msgid "DB Username"
3971-msgstr "DB-Benutzername"
3972-
3973-#: ../../../inc/_core/_misc.funcs.php:2151
3974-msgid "DB Database"
3975-msgstr "DB-Datenbank"
3976-
3977-#: ../../../inc/_core/_misc.funcs.php:2152
3978-msgid "DB Host"
3979-msgstr "DB-Host"
3980-
3981-#: ../../../inc/_core/_misc.funcs.php:2153
3982-msgid "DB tables prefix"
3983-msgstr "DB-Tabellenpräfix"
3984-
3985-#: ../../../inc/_core/_misc.funcs.php:2154
3986-msgid "DB connection charset"
3987-msgstr "DB-Verbindungszeichensatz"
3988-
3989-#: ../../../inc/_core/_misc.funcs.php:3030
3990-#: ../../../install/index.php:678
3991-msgid "Manual"
3992-msgstr "Anleitung"
3993-
3994-#: ../../../inc/_core/_misc.funcs.php:3030
3995-msgid "Open relevant page in online manual"
3996-msgstr "Entsprechende Seite in der Onlinehilfe öffnen"
3997-
3998-#: ../../../inc/_core/_misc.funcs.php:3459
3999-msgid "Date issued (Default)"
4000-msgstr "Veröffentlichungsdatum (Standard)"
4001-
4002-#: ../../../inc/_core/_misc.funcs.php:3460
4003-msgid "Order (as explicitely specified)"
4004-msgstr "Reihenfolge (wie angegeben)"
4005-
4006-#: ../../../inc/_core/_misc.funcs.php:3463
4007-msgid "Date created"
4008-msgstr "Erstellungsdatum"
4009-
4010-#: ../../../inc/_core/_misc.funcs.php:3464
4011-msgid "Date last modified"
4012-msgstr "Datum der letzten Veränderung"
4013-
4014-#: ../../../inc/_core/_misc.funcs.php:3465
4015-#: ../../../inc/collections/views/_coll_general.form.php:64
4016-msgid "URL \"filename\""
4017-msgstr "URL-\"Dateiname\""
4018-
4019-#: ../../../inc/_core/_misc.funcs.php:3466
4020-#: ../../../inc/items/views/_item_expert.form.php:277
4021-#: ../../../inc/items/views/_item_list_full.view.php:181
4022-#: ../../../inc/locales/_locale_settings.form.php:95
4023-#: ../../../inc/locales/_locale_settings.form.php:287
4024-#: ../../../inc/locales/_locale_settings.form.php:321
4025-#: ../../../inc/plugins/views/_plugin_list.view.php:166
4026-#: ../../../inc/plugins/views/_plugin_settings.form.php:115
4027-msgid "Priority"
4028-msgstr "Priorität"
4029-
4030-#: ../../../inc/_core/_misc.funcs.php:3467
4031-msgid "Views"
4032-msgstr "Ansichten"
4033-
4034-#: ../../../inc/_core/_misc.funcs.php:3468
4035-msgid "Random order!"
4036-msgstr "Zufällige Reihenfolge!"
4037-
4038-#: ../../../inc/_core/_param.funcs.php:110
4039-#, php-format
4040-msgid "Parameter &laquo;%s&raquo; is required!"
4041-msgstr "Parameter &laquo;%s&raquo; ist erforderlich!"
4042-
4043-#: ../../../inc/_core/_param.funcs.php:191
4044-#: ../../../inc/_core/_param.funcs.php:255
4045-#, php-format
4046-msgid "Illegal value received for parameter &laquo;%s&raquo;!"
4047-msgstr "Illegalen Wert für Parameter &laquo;%s&raquo; empfangen!"
4048-
4049-#: ../../../inc/_core/_param.funcs.php:497
4050-#: ../../../inc/users/model/_user.funcs.php:536
4051-msgid "The email address is invalid."
4052-msgstr "Die E-Mail-Adresse ist ungültig."
4053-
4054-#: ../../../inc/_core/_param.funcs.php:520
4055-#, php-format
4056-msgid "Supplied URL is invalid. (%s)"
4057-msgstr "Angegebener URL ist ungültig. (%s)"
4058-
4059-#: ../../../inc/_core/_param.funcs.php:795
4060-msgid "Please enter a valid time."
4061-msgstr "Bitte geben Sie eine gültige Zeit an."
4062-
4063-#: ../../../inc/_core/_param.funcs.php:981
4064-msgid "The phone number is invalid."
4065-msgstr "Die Telefonnummer ist ungültig."
4066-
4067-#: ../../../inc/_core/_param.funcs.php:1012
4068-#: ../../../inc/_core/_param.funcs.php:1017
4069-#: ../../../inc/users/model/_user.funcs.php:560
4070-msgid "Please enter your password twice."
4071-msgstr "Bitte geben Sie Ihr Passwort zweimal an."
4072-
4073-#: ../../../inc/_core/_param.funcs.php:1024
4074-#: ../../../inc/users/model/_user.funcs.php:566
4075-msgid "You typed two different passwords."
4076-msgstr "Sie haben zwei verschiedene Passwörter angegeben."
4077-
4078-#: ../../../inc/_core/_param.funcs.php:1030
4079-#: ../../../inc/users/model/_user.funcs.php:570
4080-#, php-format
4081-msgid "The minimum password length is %d characters."
4082-msgstr "Das Passwort muss mindestens %d Zeichen lang sein."
4083-
4084-#: ../../../inc/_core/_param.funcs.php:1595
4085-#: ../../../inc/_core/_param.funcs.php:1599
4086-msgid "Invalid XHTML."
4087-msgstr "Ungültiges XHTML."
4088-
4089-#: ../../../inc/_core/_param.funcs.php:1707
4090-#: ../../../inc/_core/_param.funcs.php:1713
4091-msgid "Illegal content found (spam?)"
4092-msgstr "Ungültiger Inhalt gefunden (Spam?)"
4093-
4094-#: ../../../inc/_core/_param.funcs.php:1708
4095-#, php-format
4096-msgid "Illegal content found: blacklisted word \"%s\""
4097-msgstr "Ungültiger Inhalt gefunden: gebanntes Wort \"%s\""
4098-
4099-#: ../../../inc/_core/_param.funcs.php:1714
4100-#, php-format
4101-msgid "Illegal content found: blacklisted word &laquo;%s&raquo;"
4102-msgstr "Ungültiger Inhalt gefunden: gebanntes Wort &laquo;%s&raquo;"
4103-
4104-#: ../../../inc/_core/_param.funcs.php:1768
4105-msgid "Illegal CSS markup found: "
4106-msgstr "Ungültiges CSS gefunden: "
4107-
4108-#: ../../../inc/_core/_param.funcs.php:1779
4109-msgid "Illegal javascript markup found: "
4110-msgstr "Illegales Javascript gefunden: "
4111-
4112-#: ../../../inc/_core/_param.funcs.php:1787
4113-msgid "Illegal frame markup found: "
4114-msgstr "Illegaler Frame gefunden: "
4115-
4116-#: ../../../inc/_core/_param.funcs.php:1795
4117-msgid "Illegal object markup found: "
4118-msgstr "Illegales Object gefunden: "
4119-
4120-#: ../../../inc/_core/_param.funcs.php:1807
4121-#, php-format
4122-msgid "(Note: To get rid of the above validation warnings, you can deactivate unwanted validation rules in your <a %s>Group settings</a>.)"
4123-msgstr "(Hinweis: Um diese Warnungen nicht mehr zu sehen, können Sie ungewünschte Validierungsregeln in Ihren <a %s>Gruppeneinstellungen</a> deaktivieren.)"
4124-
4125-#: ../../../inc/_core/_template.funcs.php:235
4126-#: ../../../inc/collections/views/_coll_seo.form.php:215
4127-#: ../../../inc/widgets/widgets/_menu_link.widget.php:33
4128-msgid "Archive directory"
4129-msgstr "Archivverzeichnis"
4130-
4131-#: ../../../inc/_core/_template.funcs.php:236
4132-#: ../../../inc/collections/views/_coll_seo.form.php:264
4133-#: ../../../inc/widgets/widgets/_menu_link.widget.php:34
4134-msgid "Category directory"
4135-msgstr "Kategorieverzeichnis"
4136-
4137-# TRANS: %s is an item title
4138-#. TRANS: %s is an item title
4139-#: ../../../inc/_core/_template.funcs.php:270
4140-#, php-format
4141-msgid "Latest comments on %s"
4142-msgstr "Neueste Kommentare zu %s"
4143-
4144-#: ../../../inc/_core/_template.funcs.php:274
4145-#: ../../../inc/comments/_comments.ctrl.php:192
4146-#: ../../../inc/widgets/widgets/_common_links.widget.php:171
4147-#: ../../../inc/widgets/widgets/_menu_link.widget.php:35
4148-#: ../../../inc/widgets/widgets/_menu_link.widget.php:148
4149-#: ../../../skins/photoblog/_body_footer.inc.php:31
4150-msgid "Latest comments"
4151-msgstr "Neueste Kommentare"
4152-
4153-# TRANS: %s is an item title
4154-#. TRANS: %s is an item title
4155-#: ../../../inc/_core/_template.funcs.php:282
4156-#, php-format
4157-msgid "Feedback on %s"
4158-msgstr "Feedback zu %s"
4159-
4160-#: ../../../inc/_core/_template.funcs.php:292
4161-#: ../../../inc/collections/views/_coll_features.form.php:156
4162-#: ../../../inc/widgets/widgets/_user_tools.widget.php:90
4163-msgid "Subscriptions"
4164-msgstr "Abonnements"
4165-
4166-#: ../../../inc/_core/_template.funcs.php:297
4167-msgid "Send an email message"
4168-msgstr "Eine E-Mail-Nachricht verschicken"
4169-
4170-#: ../../../inc/_core/_template.funcs.php:305
4171-msgid "PREVIEW"
4172-msgstr "VORSCHAU"
4173-
4174-#: ../../../inc/_core/_template.funcs.php:323
4175-#: ../../../inc/items/views/_item_history.view.php:60
4176-#: ../../../inc/items/views/_item_list_full.view.php:353
4177-#: ../../../inc/sessions/views/_stats_goalhits.view.php:136
4178-#: ../../../inc/sessions/views/_stats_hit_list.view.php:100
4179-#: ../../../skins/_item_comment_form.inc.php:135
4180-#: ../../../skins/basic/_item_feedback.inc.php:186
4181-#: ../../../skins/glossyblue/_item_feedback.inc.php:320
4182-msgid "User"
4183-msgstr "Benutzer"
4184-
4185-#: ../../../inc/_core/_template.funcs.php:585
4186-#: ../../../inc/widgets/widgets.ctrl.php:398
4187-msgid "Update cancelled"
4188-msgstr "Update abgebrochen"
4189-
4190-#: ../../../inc/_core/_template.funcs.php:586
4191-msgid "Update paused"
4192-msgstr "Update pausiert"
4193-
4194-#: ../../../inc/_core/_template.funcs.php:587
4195-#: ../../../inc/widgets/widgets.ctrl.php:395
4196-msgid "Changes pending"
4197-msgstr "Ausstehende Änderungen"
4198-
4199-#: ../../../inc/_core/_template.funcs.php:588
4200-#: ../../../inc/widgets/widgets.ctrl.php:396
4201-msgid "Saving changes"
4202-msgstr "Speichere Änderungen"
4203-
4204-#: ../../../inc/_core/_url.funcs.php:63
4205-msgid "Invalid URL $code$ format"
4206-msgstr "Ungültiges URL-$code$-Format"
4207-
4208-#: ../../../inc/_core/_url.funcs.php:75
4209-#: ../../../inc/_core/_url.funcs.php:100
4210-#: ../../../inc/_core/_url.funcs.php:117
4211-#: ../../../inc/_core/_url.funcs.php:152
4212-#, php-format
4213-msgid "URI scheme \"%s\" not allowed."
4214-msgstr "URI-Schema \"%s\" nicht erlaubt."
4215-
4216-#: ../../../inc/_core/_url.funcs.php:76
4217-#: ../../../inc/_core/_url.funcs.php:101
4218-#: ../../../inc/_core/_url.funcs.php:118
4219-#: ../../../inc/_core/_url.funcs.php:153
4220-msgid "URI scheme not allowed."
4221-msgstr "URI-Schema nicht erlaubt."
4222-
4223-#: ../../../inc/_core/_url.funcs.php:83
4224-#, php-format
4225-msgid "Invalid email link: %s."
4226-msgstr "Ungültiger E-Mail-Link: %s."
4227-
4228-#: ../../../inc/_core/_url.funcs.php:84
4229-msgid "Invalid email link."
4230-msgstr "Ungültiger E-Mail-Link."
4231-
4232-#: ../../../inc/_core/_url.funcs.php:89
4233-#, php-format
4234-msgid "Supplied email address (%s) is invalid."
4235-msgstr "Die angegebene E-Mail-Adresse (%s) ist ungültig."
4236-
4237-#: ../../../inc/_core/_url.funcs.php:90
4238-msgid "Invalid email address."
4239-msgstr "Ungültige E-Mail-Adresse."
4240-
4241-#: ../../../inc/_core/_url.funcs.php:106
4242-msgid "Invalid class ID format"
4243-msgstr "Ungültiges Format der Klassen-ID"
4244-
4245-#: ../../../inc/_core/_url.funcs.php:143
4246-#, php-format
4247-msgid "Invalid URL format (%s)."
4248-msgstr "Ungültiges URL-Format (%s)."
4249-
4250-#: ../../../inc/_core/_url.funcs.php:144
4251-msgid "Invalid URL format."
4252-msgstr "Ungültiges URL-Format."
4253-
4254-#: ../../../inc/_core/_url.funcs.php:161
4255-#, php-format
4256-msgid "URL \"%s\" must be absolute."
4257-msgstr "URL \"%s\" muss absolut sein."
4258-
4259-#: ../../../inc/_core/_url.funcs.php:161
4260-msgid "URL must be absolute."
4261-msgstr "URL muss absolut sein."
4262-
4263-#: ../../../inc/_core/_url.funcs.php:168
4264-#, php-format
4265-msgid "URL \"%s\" must be a full path starting with \"/\" or an anchor starting with \"#\"."
4266-msgstr "URL \"%s\" muss ein voller Pfad sein und mit \"/\" starten oder ein Anker sein und mit \"#\" starten."
4267-
4268-#: ../../../inc/_core/_url.funcs.php:169
4269-msgid "URL must be a full path starting with \"/\" or an anchor starting with \"#\"."
4270-msgstr "URL muss ein voller Pfad sein und mit \"/\" starten oder ein Anker sein und mit \"#\" starten."
4271-
4272-#: ../../../inc/_core/_url.funcs.php:179
4273-#, php-format
4274-msgid "URL \"%s\" not allowed: blacklisted word \"%s\"."
4275-msgstr "URL \"%s\" nicht erlaubt: Gebanntes Wort \"%s\"."
4276-
4277-#: ../../../inc/_core/_url.funcs.php:180
4278-msgid "URL not allowed"
4279-msgstr "URL nicht erlaubt"
4280-
4281-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:395
4282-msgid "The following relations prevent deletion:"
4283-msgstr "Die folgenden Zugehörigkeiten verhindern die Löschung:"
4284-
4285-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:397
4286-msgid "Please delete related objects before you proceed."
4287-msgstr "Bitte löschen Sie die zugehörigen Objekte, bevor Sie fortfahren."
4288-
4289-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:426
4290-msgid "WARNING: Deleting this object will also delete:"
4291-msgstr "WARNUNG: Das Löschen dieses Objektes wird auch folgendes löschen:"
4292-
4293-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:431
4294-#: ../../../inc/_core/ui/results/_resultsel.class.php:541
4295-#: ../../../inc/collections/collections.ctrl.php:397
4296-#: ../../../inc/plugins/plugins.ctrl.php:940
4297-msgid "THIS CANNOT BE UNDONE!"
4298-msgstr "DIES KANN NICHT RÜCKGÄNGIG GEMACHT WERDEN!"
4299-
4300-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:439
4301-#: ../../../inc/_core/ui/results/_resultsel.class.php:555
4302-#: ../../../inc/collections/collections.ctrl.php:421
4303-#: ../../../inc/plugins/plugins.ctrl.php:942
4304-#: ../../../install/index.php:622
4305-msgid "I am sure!"
4306-msgstr "Ich bin mir sicher!"
4307-
4308-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:450
4309-#: ../../../inc/_core/ui/results/_resultsel.class.php:563
4310-#: ../../../inc/collections/collections.ctrl.php:429
4311-#: ../../../install/index.php:627
4312-msgid "CANCEL"
4313-msgstr "ABBRECHEN"
4314-
4315-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:620
4316-#, php-format
4317-msgid "Created on %s by %s"
4318-msgstr "Erstellt am %s von %s"
4319-
4320-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:625
4321-#, php-format
4322-msgid "Created by %s"
4323-msgstr "Erstellt von %s"
4324-
4325-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:630
4326-#, php-format
4327-msgid "Created on %s"
4328-msgstr "Erstellt am %s"
4329-
4330-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:640
4331-#, php-format
4332-msgid "Last mod on %s by %s"
4333-msgstr "Letzte Änderung am %s von %s"
4334-
4335-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:645
4336-#, php-format
4337-msgid "Last mod by %s"
4338-msgstr "Letzte Änderung von %s"
4339-
4340-#: ../../../inc/_core/model/dataobjects/_dataobject.class.php:650
4341-#, php-format
4342-msgid "Last mod on %s"
4343-msgstr "Letzte Änderung am %s"
4344-
4345-#. TRANS: the default value for option lists where "None" is allowed
4346-#: ../../../inc/_core/model/dataobjects/_dataobjectcache.class.php:152
4347-#: ../../../inc/_core/ui/results/_resultsel.class.php:323
4348-#: ../../../inc/collections/views/_coll_advanced.form.php:132
4349-#: ../../../inc/settings/views/_features.form.php:95
4350-#: ../../../inc/widgets/widgets/_item_list.widget.php:103
4351-msgid "None"
4352-msgstr "Kein"
4353-
4354-#: ../../../inc/_core/model/dataobjects/_dataobjectlist2.class.php:247
4355-#: ../../../inc/_core/model/dataobjects/_dataobjectlist2.class.php:300
4356-#: ../../../inc/generic/model/_genericorderedcache.class.php:67
4357-#: ../../../inc/generic/model/_genericorderedcache.class.php:120
4358-msgid "Cannot edit entry!"
4359-msgstr "Kann Eintrag nicht ändern!"
4360-
4361-#: ../../../inc/_core/model/dataobjects/_dataobjectlist2.class.php:248
4362-#: ../../../inc/_core/model/dataobjects/_dataobjectlist2.class.php:301
4363-#: ../../../inc/generic/model/_genericorderedcache.class.php:68
4364-#: ../../../inc/generic/model/_genericorderedcache.class.php:121
4365-msgid "Requested entry does not exist any longer."
4366-msgstr "Angeforderter Eintrag existiert nicht mehr."
4367-
4368-#: ../../../inc/_core/model/dataobjects/_dataobjectlist2.class.php:280
4369-#: ../../../inc/generic/model/_genericorderedcache.class.php:100
4370-msgid "This element is already at the top."
4371-msgstr "Dieses Element ist bereits ganz oben."
4372-
4373-#: ../../../inc/_core/model/dataobjects/_dataobjectlist2.class.php:333
4374-#: ../../../inc/generic/model/_genericorderedcache.class.php:153
4375-msgid "This element is already at the bottom."
4376-msgstr "Dieses Element ist bereits ganz unten."
4377-
4378-#: ../../../inc/_core/ui/_iconlegend.class.php:76
4379-msgid "Legend"
4380-msgstr "Legende"
4381-
4382-#: ../../../inc/_core/ui/_uiwidget.class.php:297
4383-msgid "No results."
4384-msgstr "Keine Ergebnisse."
4385-
4386-#: ../../../inc/_core/ui/_uiwidget.class.php:493
4387-#: ../../../inc/files/views/_file_browse.view.php:127
4388-#: ../../../inc/plugins/views/_plugin_list.view.php:184
4389-msgid "Apply"
4390-msgstr "Anwenden"
4391-
4392-#: ../../../inc/_core/ui/_uiwidget.class.php:493
4393-#: ../../../inc/files/views/_file_browse_set.form.php:67
4394-#: ../../../inc/widgets/widgets/_media_index.widget.php:82
4395-msgid "Columns"
4396-msgstr "Spalten"
4397-
4398-#: ../../../inc/_core/ui/_uiwidget.class.php:509
4399-msgid "Filter list"
4400-msgstr "Liste filtern"
4401-
4402-#: ../../../inc/_core/ui/_uiwidget.class.php:509
4403-#: ../../../inc/items/views/_item_list_sidebar.view.php:62
4404-msgid "Filters"
4405-msgstr "Filter"
4406-
4407-#: ../../../inc/_core/ui/_uiwidget.class.php:803
4408-#: ../../../inc/_core/ui/_uiwidget.class.php:836
4409-#: ../../../inc/files/model/_filelist.class.php:659
4410-msgid "Change Order"
4411-msgstr "Sortierung ändern"
4412-
4413-#: ../../../inc/_core/ui/_uiwidget.class.php:809
4414-#: ../../../skins_adm/_adminUI_general.class.php:768
4415-#: ../../../skins_adm/_adminUI_general.class.php:770
4416-#: ../../../skins_adm/_adminUI_general.class.php:853
4417-#: ../../../skins_adm/_adminUI_general.class.php:855
4418-#: ../../../skins_adm/chicago/_adminUI.class.php:218
4419-#: ../../../skins_adm/chicago/_adminUI.class.php:220
4420-msgid "Ascending order"
4421-msgstr "Aufsteigende Reihenfolge"
4422-
4423-#: ../../../inc/_core/ui/_uiwidget.class.php:814
4424-#: ../../../skins_adm/_adminUI_general.class.php:772
4425-#: ../../../skins_adm/_adminUI_general.class.php:774
4426-#: ../../../skins_adm/_adminUI_general.class.php:857
4427-#: ../../../skins_adm/_adminUI_general.class.php:859
4428-#: ../../../skins_adm/chicago/_adminUI.class.php:222
4429-#: ../../../skins_adm/chicago/_adminUI.class.php:224
4430-msgid "Descending order"
4431-msgstr "Absteigende Reihenfolge"
4432-
4433-#: ../../../inc/_core/ui/forms/_form.class.php:1060
4434-#: ../../../inc/collections/views/_coll_general.form.php:91
4435-#: ../../../inc/cron/views/_cronjob.view.php:44
4436-msgid "days"
4437-msgstr "Tage"
4438-
4439-#: ../../../inc/_core/ui/forms/_form.class.php:1069
4440-#: ../../../inc/cron/views/_cronjob.view.php:48
4441-msgid "hours"
4442-msgstr "Stunden"
4443-
4444-#: ../../../inc/_core/ui/forms/_form.class.php:1079
4445-#: ../../../inc/cron/views/_cronjob.view.php:52
4446-msgid "minutes"
4447-msgstr "Minuten"
4448-
4449-#: ../../../inc/_core/ui/forms/_form.class.php:1356
4450-msgid ""
4451-"You have modified this form but you haven't submitted it yet.\\n"
4452-"You are about to lose your edits.\\n"
4453-"Are you sure?"
4454-msgstr ""
4455-"Sie haben dieses Formular verändert, aber noch nicht abgeschickt.\\n"
4456-"Sie sind dabei, Ihre Änderungen zu verlieren.\\n"
4457-"Sind Sie sicher?"
4458-
4459-#: ../../../inc/_core/ui/forms/_form.class.php:1360
4460-#, php-format
4461-msgid ""
4462-"You have modified the form \\\"%s\\\"\\n"
4463-"but you haven't submitted it yet.\\n"
4464-"You are about to lose your edits.\\n"
4465-"Are you sure?"
4466-msgstr ""
4467-"Sie haben das Formular \\\"%s\\\" verändert,\\n"
4468-"aber noch nicht abgeschickt.\\n"
4469-"Sie sind dabei, Ihre Änderungen zu verlieren.\\n"
4470-"Sind Sie sicher?"
4471-
4472-#: ../../../inc/_core/ui/results/_results.class.php:1422
4473-#: ../../../inc/widgets/views/_widget_list.view.php:147
4474-msgid "Move up!"
4475-msgstr "Aufwärts bewegen!"
4476-
4477-#: ../../../inc/_core/ui/results/_results.class.php:1427
4478-msgid "Move down! (reverse sort)"
4479-msgstr "Abwärts bewegen! (umgekehrte Sortierung)"
4480-
4481-#: ../../../inc/_core/ui/results/_results.class.php:1442
4482-#: ../../../inc/widgets/views/_widget_list.view.php:155
4483-msgid "Move down!"
4484-msgstr "Abwärts bewegen!"
4485-
4486-#: ../../../inc/_core/ui/results/_results.class.php:1447
4487-msgid "Move up! (reverse sort)"
4488-msgstr "Aufwärts bewegen! (umgekehrte Sortierung)"
4489-
4490-# TRANS: Pages x _to_ y
4491-#. TRANS: Pages x _to_ y
4492-#: ../../../inc/_core/ui/results/_results.class.php:1739
4493-#: ../../../inc/sessions/views/_stats_goalhits.view.php:113
4494-#: ../../../inc/sessions/views/_stats_search_keywords.view.php:182
4495-msgid "to"
4496-msgstr "bis"
4497-
4498-#: ../../../inc/_core/ui/results/_results.class.php:1788
4499-msgid "Sorry, there is nothing to display..."
4500-msgstr "Entschuldigung, es gibt nichts anzuzeigen..."
4501-
4502-#. TRANS: abbr. for "Selection"
4503-#: ../../../inc/_core/ui/results/_resultsel.class.php:99
4504-msgid "Sel"
4505-msgstr "Ausw."
4506-
4507-#: ../../../inc/_core/ui/results/_resultsel.class.php:200
4508-msgid "Selection name"
4509-msgstr "Auswahlname"
4510-
4511-#: ../../../inc/_core/ui/results/_resultsel.class.php:206
4512-msgid "Update selection"
4513-msgstr "Auswahl aktualisieren"
4514-
4515-#: ../../../inc/_core/ui/results/_resultsel.class.php:310
4516-msgid "Selection"
4517-msgstr "Auswahl"
4518-
4519-#: ../../../inc/_core/ui/results/_resultsel.class.php:319
4520-msgid "New selection"
4521-msgstr "Neue Auswahl"
4522-
4523-#: ../../../inc/_core/ui/results/_resultsel.class.php:428
4524-msgid "Cannot create a selection with an empty name"
4525-msgstr "Kann keine Auswahl mit leerem Namen erstellen"
4526-
4527-#: ../../../inc/_core/ui/results/_resultsel.class.php:460
4528-msgid "Selection created."
4529-msgstr "Auswahl erstellt."
4530-
4531-#: ../../../inc/_core/ui/results/_resultsel.class.php:472
4532-msgid "Please provide a selection name."
4533-msgstr "Bitte geben Sie einen Auswahlnamen an."
4534-
4535-#: ../../../inc/_core/ui/results/_resultsel.class.php:488
4536-msgid "Obsolete selection entries deleted."
4537-msgstr "Veraltete Auswahleinträge gelöscht."
4538-
4539-#: ../../../inc/_core/ui/results/_resultsel.class.php:503
4540-msgid "New selections entries inserted."
4541-msgstr "Neue Auswahleinträge eingefügt."
4542-
4543-#: ../../../inc/_core/ui/results/_resultsel.class.php:515
4544-msgid "Selection copied."
4545-msgstr "Auswahl kopiert."
4546-
4547-#: ../../../inc/_core/ui/results/_resultsel.class.php:524
4548-msgid "Selection links copied."
4549-msgstr "Auswahllinks kopiert."
4550-
4551-#: ../../../inc/_core/ui/results/_resultsel.class.php:537
4552-#, php-format
4553-msgid "Delete selection &laquo;%s&raquo;?"
4554-msgstr "Auswahl &laquo;%s&raquo; löschen?"
4555-
4556-#: ../../../inc/_core/ui/results/_resultsel.class.php:539
4557-msgid "Cascading deletes!"
4558-msgstr "Kaskadierende Löschungen!"
4559-
4560-#: ../../../inc/_core/ui/results/_resultsel.class.php:576
4561-msgid "Selection attachments deleted."
4562-msgstr "Auswahlanhänge gelöscht."
4563-
4564-#: ../../../inc/_core/ui/results/_resultsel.class.php:580
4565-msgid "Selection deleted."
4566-msgstr "Auswahl gelöscht."
4567-
4568-#: ../../../inc/_main.inc.php:491
4569-#: ../../../inc/_main.inc.php:502
4570-msgid "The login window has expired. Please try again."
4571-msgstr "Das Anmeldefenster ist nicht mehr gültig. Bitte versuchen Sie es erneut."
4572-
4573-#: ../../../inc/_main.inc.php:496
4574-msgid "Either you have not enabled cookies or this login window has expired."
4575-msgstr "Entweder haben Sie Cookies nicht aktiviert oder das Anmeldefenster ist nicht mehr gültig."
4576-
4577-#: ../../../inc/_main.inc.php:532
4578-msgid "Wrong login/password."
4579-msgstr "Falscher Benutzername/falsches Passwort."
4580-
4581-#: ../../../inc/_main.inc.php:565
4582-msgid "You must log in!"
4583-msgstr "Sie müssen sich anmelden!"
4584-
4585-#: ../../../inc/_main.inc.php:583
4586-msgid "You must validate your email address before you can log in."
4587-msgstr "Sie müssen Ihre E-Mail-Adresse bestätigen, bevor Sie sich anmelden können."
4588-
4589-#: ../../../inc/_vars.inc.php:192
4590-msgid "Sunday"
4591-msgstr "Sonntag"
4592-
4593-#: ../../../inc/_vars.inc.php:193
4594-msgid "Monday"
4595-msgstr "Montag"
4596-
4597-#: ../../../inc/_vars.inc.php:194
4598-msgid "Tuesday"
4599-msgstr "Dienstag"
4600-
4601-#: ../../../inc/_vars.inc.php:195
4602-msgid "Wednesday"
4603-msgstr "Mittwoch"
4604-
4605-#: ../../../inc/_vars.inc.php:196
4606-msgid "Thursday"
4607-msgstr "Donnerstag"
4608-
4609-#: ../../../inc/_vars.inc.php:197
4610-msgid "Friday"
4611-msgstr "Freitag"
4612-
4613-#: ../../../inc/_vars.inc.php:198
4614-msgid "Saturday"
4615-msgstr "Samstag"
4616-
4617-# TRANS: abbrev. for Sunday
4618-#. TRANS: abbrev. for Sunday
4619-#: ../../../inc/_vars.inc.php:202
4620-#: ../../../skins_adm/_html_header.inc.php:257
4621-msgid "Sun"
4622-msgstr "So"
4623-
4624-# TRANS: abbrev. for Monday
4625-#. TRANS: abbrev. for Monday
4626-#: ../../../inc/_vars.inc.php:204
4627-#: ../../../skins_adm/_html_header.inc.php:257
4628-msgid "Mon"
4629-msgstr "Mo"
4630-
4631-# TRANS: abbrev. for Tuesday
4632-#. TRANS: abbrev. for Tuesday
4633-#: ../../../inc/_vars.inc.php:206
4634-#: ../../../skins_adm/_html_header.inc.php:257
4635-msgid "Tue"
4636-msgstr "Di"
4637-
4638-# TRANS: abbrev. for Wednesday
4639-#. TRANS: abbrev. for Wednesday
4640-#: ../../../inc/_vars.inc.php:208
4641-#: ../../../skins_adm/_html_header.inc.php:257
4642-msgid "Wed"
4643-msgstr "Mi"
4644-
4645-# TRANS: abbrev. for Thursday
4646-#. TRANS: abbrev. for Thursday
4647-#: ../../../inc/_vars.inc.php:210
4648-#: ../../../skins_adm/_html_header.inc.php:257
4649-msgid "Thu"
4650-msgstr "Do"
4651-
4652-# TRANS: abbrev. for Friday
4653-#. TRANS: abbrev. for Friday
4654-#: ../../../inc/_vars.inc.php:212
4655-#: ../../../skins_adm/_html_header.inc.php:257
4656-msgid "Fri"
4657-msgstr "Fr"
4658-
4659-# TRANS: abbrev. for Saturday
4660-#. TRANS: abbrev. for Saturday
4661-#: ../../../inc/_vars.inc.php:214
4662-#: ../../../skins_adm/_html_header.inc.php:257
4663-msgid "Sat"
4664-msgstr "Sa"
4665-
4666-# TRANS: abbrev. for Sunday
4667-#. TRANS: abbrev. for Sunday
4668-#: ../../../inc/_vars.inc.php:218
4669-msgid " S "
4670-msgstr " S "
4671-
4672-# TRANS: abbrev. for Monday
4673-#. TRANS: abbrev. for Monday
4674-#: ../../../inc/_vars.inc.php:220
4675-msgid " M "
4676-msgstr " M "
4677-
4678-# TRANS: short for (file)Type
4679-# TRANS: abbrev. for Tuesday
4680-#. TRANS: abbrev. for Tuesday
4681-#. TRANS: short for (file)Type
4682-#: ../../../inc/_vars.inc.php:222
4683-#: ../../../inc/files/views/_file_list.inc.php:114
4684-msgid " T "
4685-msgstr " D "
4686-
4687-# TRANS: abbrev. for Wednesday
4688-#. TRANS: abbrev. for Wednesday
4689-#: ../../../inc/_vars.inc.php:224
4690-msgid " W "
4691-msgstr " M "
4692-
4693-# TRANS: abbrev. for Thursday
4694-#. TRANS: abbrev. for Thursday
4695-#: ../../../inc/_vars.inc.php:226
4696-msgid " T "
4697-msgstr " D "
4698-
4699-# TRANS: abbrev. for Friday
4700-#. TRANS: abbrev. for Friday
4701-#: ../../../inc/_vars.inc.php:228
4702-msgid " F "
4703-msgstr " F "
4704-
4705-# TRANS: abbrev. for Saturday
4706-#. TRANS: abbrev. for Saturday
4707-#: ../../../inc/_vars.inc.php:230
4708-msgid " S "
4709-msgstr " S "
4710-
4711-#: ../../../inc/_vars.inc.php:234
4712-#: ../../../skins_adm/_html_header.inc.php:256
4713-msgid "January"
4714-msgstr "Januar"
4715-
4716-#: ../../../inc/_vars.inc.php:235
4717-#: ../../../skins_adm/_html_header.inc.php:256
4718-msgid "February"
4719-msgstr "Februar"
4720-
4721-#: ../../../inc/_vars.inc.php:236
4722-#: ../../../skins_adm/_html_header.inc.php:256
4723-msgid "March"
4724-msgstr "März"
4725-
4726-#: ../../../inc/_vars.inc.php:237
4727-#: ../../../skins_adm/_html_header.inc.php:256
4728-msgid "April"
4729-msgstr "April"
4730-
4731-#. TRANS: space at the end only to differentiate from short form. You don't need to keep it in the translation.
4732-#: ../../../inc/_vars.inc.php:239
4733-msgid "May "
4734-msgstr "Mai "
4735-
4736-#: ../../../inc/_vars.inc.php:240
4737-#: ../../../skins_adm/_html_header.inc.php:256
4738-msgid "June"
4739-msgstr "Juni"
4740-
4741-#: ../../../inc/_vars.inc.php:241
4742-#: ../../../skins_adm/_html_header.inc.php:256
4743-msgid "July"
4744-msgstr "Juli"
4745-
4746-#: ../../../inc/_vars.inc.php:242
4747-#: ../../../skins_adm/_html_header.inc.php:256
4748-msgid "August"
4749-msgstr "August"
4750-
4751-#: ../../../inc/_vars.inc.php:243
4752-#: ../../../skins_adm/_html_header.inc.php:256
4753-msgid "September"
4754-msgstr "September"
4755-
4756-#: ../../../inc/_vars.inc.php:244
4757-#: ../../../skins_adm/_html_header.inc.php:256
4758-msgid "October"
4759-msgstr "Oktober"
4760-
4761-#: ../../../inc/_vars.inc.php:245
4762-#: ../../../skins_adm/_html_header.inc.php:256
4763-msgid "November"
4764-msgstr "November"
4765-
4766-#: ../../../inc/_vars.inc.php:246
4767-#: ../../../skins_adm/_html_header.inc.php:256
4768-msgid "December"
4769-msgstr "Dezember"
4770-
4771-# TRANS: abbrev. for January
4772-#. TRANS: abbrev. for January
4773-#: ../../../inc/_vars.inc.php:250
4774-msgid "Jan"
4775-msgstr "Jan"
4776-
4777-# TRANS: abbrev. for February
4778-#. TRANS: abbrev. for February
4779-#: ../../../inc/_vars.inc.php:252
4780-msgid "Feb"
4781-msgstr "Feb"
4782-
4783-# TRANS: abbrev. for March
4784-#. TRANS: abbrev. for March
4785-#: ../../../inc/_vars.inc.php:254
4786-msgid "Mar"
4787-msgstr "Mär"
4788-
4789-# TRANS: abbrev. for April
4790-#. TRANS: abbrev. for April
4791-#: ../../../inc/_vars.inc.php:256
4792-msgid "Apr"
4793-msgstr "Apr"
4794-
4795-# TRANS: abbrev. for May
4796-#. TRANS: abbrev. for May
4797-#: ../../../inc/_vars.inc.php:258
4798-#: ../../../skins_adm/_html_header.inc.php:256
4799-msgid "May"
4800-msgstr "Mai"
4801-
4802-# TRANS: abbrev. for June
4803-#. TRANS: abbrev. for June
4804-#: ../../../inc/_vars.inc.php:260
4805-msgid "Jun"
4806-msgstr "Jun"
4807-
4808-# TRANS: abbrev. for July
4809-#. TRANS: abbrev. for July
4810-#: ../../../inc/_vars.inc.php:262
4811-msgid "Jul"
4812-msgstr "Jul"
4813-
4814-# TRANS: abbrev. for August
4815-#. TRANS: abbrev. for August
4816-#: ../../../inc/_vars.inc.php:264
4817-msgid "Aug"
4818-msgstr "Aug"
4819-
4820-# TRANS: abbrev. for September
4821-#. TRANS: abbrev. for September
4822-#: ../../../inc/_vars.inc.php:266
4823-msgid "Sep"
4824-msgstr "Sep"
4825-
4826-# TRANS: abbrev. for October
4827-#. TRANS: abbrev. for October
4828-#: ../../../inc/_vars.inc.php:268
4829-msgid "Oct"
4830-msgstr "Okt"
4831-
4832-# TRANS: abbrev. for November
4833-#. TRANS: abbrev. for November
4834-#: ../../../inc/_vars.inc.php:270
4835-msgid "Nov"
4836-msgstr "Nov"
4837-
4838-# TRANS: abbrev. for December
4839-#. TRANS: abbrev. for December
4840-#: ../../../inc/_vars.inc.php:272
4841-msgid "Dec"
4842-msgstr "Dez"
4843-
4844-#: ../../../inc/_vars.inc.php:276
4845-#: ../../../inc/collections/views/_coll_features.form.php:91
4846-#: ../../../inc/items/model/_item.funcs.php:757
4847-#: ../../../inc/items/views/_item_list_sidebar.view.php:95
4848-msgid "Published"
4849-msgstr "Veröffentlicht"
4850-
4851-#: ../../../inc/_vars.inc.php:277
4852-#: ../../../inc/collections/views/_coll_advanced.form.php:114
4853-#: ../../../inc/collections/views/_coll_features.form.php:92
4854-#: ../../../inc/items/model/_item.funcs.php:769
4855-#: ../../../inc/items/views/_item_list_sidebar.view.php:107
4856-msgid "Deprecated"
4857-msgstr "Missbilligt"
4858-
4859-#: ../../../inc/_vars.inc.php:278
4860-#: ../../../inc/items/model/_item.funcs.php:772
4861-#: ../../../inc/items/views/_item_list_sidebar.view.php:110
4862-msgid "Redirected"
4863-msgstr "Umgeleitet"
4864-
4865-#: ../../../inc/_vars.inc.php:279
4866-#: ../../../inc/items/items.ctrl.php:344
4867-#: ../../../inc/items/items.ctrl.php:446
4868-#: ../../../inc/items/model/_item.funcs.php:760
4869-#: ../../../inc/items/views/_item_list_sidebar.view.php:98
4870-msgid "Protected"
4871-msgstr "Geschützt"
4872-
4873-#: ../../../inc/_vars.inc.php:280
4874-#: ../../../inc/items/items.ctrl.php:344
4875-#: ../../../inc/items/items.ctrl.php:446
4876-#: ../../../inc/items/model/_item.funcs.php:763
4877-#: ../../../inc/items/views/_item_list_sidebar.view.php:101
4878-msgid "Private"
4879-msgstr "Privat"
4880-
4881-#: ../../../inc/_vars.inc.php:281
4882-#: ../../../inc/collections/views/_coll_features.form.php:90
4883-#: ../../../inc/items/model/_item.funcs.php:766
4884-#: ../../../inc/items/views/_item_list_sidebar.view.php:104
4885-msgid "Draft"
4886-msgstr "Entwurf"
4887-
4888-#: ../../../inc/antispam/antispam_list.ctrl.php:73
4889-#, php-format
4890-msgid "The keyword &laquo;%s&raquo; is too short, it has to be a minimum of 5 characters!"
4891-msgstr "Das Stichwort &laquo;%s&raquo; ist zu kurz, es muss mindestens 5 Zeichen besitzen!"
4892-
4893-#: ../../../inc/antispam/antispam_list.ctrl.php:83
4894-#, php-format
4895-msgid "Deleted %d logged hits matching &laquo;%s&raquo;."
4896-msgstr "%d auf &laquo;%s&raquo; passende Zugriffsaufzeichnungen gelöscht."
4897-
4898-#: ../../../inc/antispam/antispam_list.ctrl.php:93
4899-#, php-format
4900-msgid "Deleted %d comments matching &laquo;%s&raquo;."
4901-msgstr "%d auf &laquo;%s&raquo; passende Kommentare gelöscht."
4902-
4903-#: ../../../inc/antispam/antispam_list.ctrl.php:100
4904-#, php-format
4905-msgid "The keyword &laquo;%s&raquo; has been blacklisted locally."
4906-msgstr "Das Stichwort &laquo;%s&raquo; wurde lokal geblockt."
4907-
4908-#: ../../../inc/antispam/antispam_list.ctrl.php:123
4909-#, php-format
4910-msgid "Removing entry #%d from the ban list..."
4911-msgstr "Entferne Eintrag #%d aus der Bannliste..."
4912-
4913-#: ../../../inc/antispam/antispam_settings.ctrl.php:61
4914-#: ../../../inc/files/file_settings.ctrl.php:75
4915-#: ../../../inc/plugins/plugins.ctrl.php:736
4916-#: ../../../inc/settings/features.ctrl.php:98
4917-msgid "Restored default values."
4918-msgstr "Standardwerte wiederhergestellt."
4919-
4920-#: ../../../inc/antispam/antispam_settings.ctrl.php:65
4921-#: ../../../inc/antispam/antispam_settings.ctrl.php:118
4922-#: ../../../inc/files/file_settings.ctrl.php:79
4923-#: ../../../inc/files/file_settings.ctrl.php:155
4924-#: ../../../inc/plugins/plugins.ctrl.php:740
4925-#: ../../../inc/settings/features.ctrl.php:102
4926-#: ../../../inc/settings/features.ctrl.php:193
4927-msgid "Settings have not changed."
4928-msgstr "Einstellungen wurden nicht verändert."
4929-
4930-#: ../../../inc/antispam/antispam_settings.ctrl.php:70
4931-#: ../../../inc/antispam/antispam_settings.ctrl.php:73
4932-msgid "The threshold must be between -100 and 100."
4933-msgstr "Der Grenzwert muss zwischen -100 und 100 liegen."
4934-
4935-#: ../../../inc/antispam/antispam_settings.ctrl.php:92
4936-msgid "Spam weight has to be in the range of 0-100."
4937-msgstr "Spamgewichtung muss im Bereich 0-100 liegen."
4938-
4939-#: ../../../inc/antispam/antispam_settings.ctrl.php:114
4940-#: ../../../inc/settings/features.ctrl.php:189
4941-msgid "Settings updated."
4942-msgstr "Einstellungen aktualisiert."
4943-
4944-#: ../../../inc/antispam/model/_antispam.funcs.php:166
4945-msgid "Reporting abuse to b2evolution aborted (Running on localhost)."
4946-msgstr "Missbrauchsmeldung an b2evolution abgebrochen (laufe auf localhost)."
4947-
4948-#: ../../../inc/antispam/model/_antispam.funcs.php:191
4949-#, php-format
4950-msgid "Reported abuse to %s."
4951-msgstr "Missbrauch an %s gemeldet."
4952-
4953-#: ../../../inc/antispam/model/_antispam.funcs.php:195
4954-msgid "Failed to report abuse to b2evolution.net."
4955-msgstr "Konnte Missbrauch nicht an b2evolution.net melden."
4956-
4957-#: ../../../inc/antispam/model/_antispam.funcs.php:219
4958-msgid "Latest update timestamp"
4959-msgstr "Zeitstempel der letzten Aktualisierung"
4960-
4961-#: ../../../inc/antispam/model/_antispam.funcs.php:235
4962-#, php-format
4963-msgid "Requesting abuse list from %s..."
4964-msgstr "Fordere Missbrauchsliste von %s an..."
4965-
4966-#: ../../../inc/antispam/model/_antispam.funcs.php:247
4967-msgid "Incomplete reponse."
4968-msgstr "Unvollständige Antwort."
4969-
4970-#: ../../../inc/antispam/model/_antispam.funcs.php:255
4971-msgid "No new blacklisted strings are available."
4972-msgstr "Es sind keine neuen geblockten Zeichenketten verfügbar."
4973-
4974-#: ../../../inc/antispam/model/_antispam.funcs.php:259
4975-msgid "Adding strings to local blacklist:"
4976-msgstr "Füge Zeichenketten zur lokalen Bannliste hinzu:"
4977-
4978-#: ../../../inc/antispam/model/_antispam.funcs.php:264
4979-#: ../../../inc/antispam/model/_antispam.funcs.php:269
4980-msgid "Adding:"
4981-msgstr "Füge hinzu:"
4982-
4983-#: ../../../inc/antispam/model/_antispam.funcs.php:265
4984-msgid "OK."
4985-msgstr "OK."
4986-
4987-#: ../../../inc/antispam/model/_antispam.funcs.php:270
4988-msgid "Not necessary! (Already handled)"
4989-msgstr "Nicht nötig (bereits vorhanden)!"
4990-
4991-#: ../../../inc/antispam/model/_antispam.funcs.php:276
4992-msgid "New latest update timestamp"
4993-msgstr "Neuer Zeitstempel der letzten Aktualisierung"
4994-
4995-#: ../../../inc/antispam/model/_antispam.funcs.php:281
4996-#: ../../../inc/cron/jobs/_post_notifications.job.php:64
4997-#: ../../../inc/items/model/_item.class.php:3695
4998-msgid "Done."
4999-msgstr "Erledigt."
5000-
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches