Kategori Sprachen

Importscript von Drupal nach WordPress

Samstag, März 6th, 2010

Endlich hat der AStA eine neue Webseite. Was auffällt ist vermutlich das Kopfzeilen Hintergründigbild das meinem vielleicht ein bisschen ähnelt. Die Jungs vom AStA haben beim anschauen meines Blogs ein bisschen inspirieren lassen. Toll an dem Bild, das ich von meinem Turm geschossen habe, ist nämlich das es die sich um die Sicht der ganzen FH-Aachen auf Aachen handelt, da alle Standorte sich hinter dem HBF befinden. Ich habe dafür einen Importscript von Drupal nach WordPress geschrieben. Wie immer habe ich es als PHP_CLI Anwendung auf der Konsole gemacht.

#!/usr/bin/php5
 0)
	{
		#UPDATE
		$sql = "UPDATE `wp_posts` SET `post_content`= 
CONCAT(`post_content` , '" . mysql_real_escape_string(con( $ds['post_content'] )) ."') 
WHERE `post_title`='". mysql_real_escape_string(con( $ds['post_title'] )) ."'";
	}
	else
	{
		$sql = "
		INSERT INTO `wp_posts` 
		SET 
		`post_author`='1', 
		`post_date`='". $ds['post_date'] ."', 
		`post_date_gmt`='". $ds['post_date'] ."', 
		`post_content`='" . mysql_real_escape_string(con( $ds['post_content'] )) ."', 
		`post_title`='". mysql_real_escape_string(con( $ds['post_title'] )) ."', 
		`post_excerpt`='', 
		`post_status`='publish', 
		`comment_status`='closed', 
		`ping_status`='closed', 
		`post_password`='', 
		`post_name`='". $ds['post_name'] ."', 
		`to_ping`='', 
		`pinged`='', 
		`post_modified`='". $ds['post_modified'] ."', 
		`post_modified_gmt`='". $ds['post_modified'] ."',
		`post_type`='page';
		";
	}

	mysql_query($sql,$link) or die (mysql_error($link));
}

### Import Post
mysql_select_db("drupal",$link);

$sql = 'SELECT `news_id` , `news_category_id` , `news_title` , `news_data` , 
`news_date` , `summary` , `start_time` , `end_time` , `status` , 
`icon` , `create_date` , `modified_date` , `author_id` , `news_extra` 
FROM `cms_module_news`';


$q = mysql_query($sql,$link);
mysql_select_db("wordpress",$link);
for(;$ds = mysql_fetch_array($q);)
{

$sql = "
		INSERT INTO `wp_posts` 
		SET 
		`post_author`='1', 
		`post_date`='". $ds['create_date'] ."', 
		`post_date_gmt`='". $ds['create_date'] ."', 
		`post_content`='" . mysql_real_escape_string(con( $ds['news_data'] )) ."', 
		`post_title`='". mysql_real_escape_string(con( $ds['news_title'] )) ."', 
		`post_excerpt`='" . mysql_real_escape_string(con( $ds['summary'] )) ."', 
		`post_status`='publish', 
		`comment_status`='closed', 
		`ping_status`='closed', 
		`post_password`='', 
		`post_name`='". $ds['post_name'] ."', 
		`to_ping`='', 
		`pinged`='', 
		`post_modified`='". $ds['modified_date'] ."', 
		`post_modified_gmt`='". $ds['modified_date'] ."'
		";

	mysql_query($sql,$link) or die (mysql_error($link));
}
?>

PHP: ldap_sort() case sensitivity

Freitag, November 6th, 2009

Irgend wie ist die PHP Funktion ldap_sort() gaggi, den sie sortiert case sensitivity erst alles was groß ist und dann alles was klein ist. Da das keinen Sinn mach habe ich das mal per Hand geschrieben:

foreach($result as $key => $value)
	if(is_int($key))
		$a[$key] = strtolower($value[GIVENNAME][0]);  //Order By
asort($a);		
$b['count'] = $result['count'];
$i=0;
foreach($a as $key => $value)
	$b[$i++] = $result[$key]; 
//print_r($b)

PHP CLI Bug

Mittwoch, Juni 3rd, 2009

Oh man wie dämlich war den das. Im Errorlog tauchte folgende Fehlermeldung auf:
[03-Jun-2009 10:11:50] PHP Warning: include_once(1): failed to open stream: No such file or directory in /var/www/... on line 8
Line 8 Besagt: include_once("/var/www/include/inc.php");

Das in meinem Log include_once(1) stand hat mich dann doch etwas stutzig gemacht. Als ich das dann nach (string) getypecastet habe wir mir klar das ist ein Bug.
include_once((string)"/var/www/include/inc.php");
include_once('/var/www/include/inc.php');

Aufgetreten unter Fedora Core 9 PHP Version 5.2.6

sudo tee time.now

Donnerstag, März 26th, 2009

Da man mit sudo gut auf die Nasse fallen kann wie man im folgenden Beispiel sieht…
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied

… gibt tee dabei Abhilfe
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

tee liest dabei von „Standard input“ und schreib es nach „Standard output“ oder in diesem Fall in eine Datei.

Internet Explorer und die interpretation von Buttons

Dienstag, Dezember 16th, 2008

Komischer weise ist das mir noch nie aufgefallen aber als ich heute einen Bug fixen sollte, war ich mal wieder richtig geschockt wie sich der IE mal wieder mit Händen und Füßen gegen Standards wärt.

<button type="submit" name="mode" value="preview">Vorschau</button>
<button type="submit" name="mode" value="insert">speichern</button>

Beim klicken auf den Button „Vorschau“ passiert folgendes:

  • Der IE 6 (und älter) überträgt mode=Vorschau&mode=speichern
    – das Script wertet den letzten Wert aus, also mode=speichern
  • Der IE 7 überträgt mode=Vorschau
  • Opera und Firefox übertragen mode=preview

So bekam ich im IE eine PHP Error, den ich mir nicht erklären konnte da im FE lief alles lief. Und normalerweise PHP ja auf dem Server kompiliert. Da aber im value eine ID stand und im dem IE ein Sting übergeben wurde, war der fehler gefunden.

Lösung:
Entweder hidden Felder nutzen oder links verwenden.

Quelle: notizen.joergkrusesweb.de