Author: cyb
Date: Thu Jun 7 11:31:54 2007
New Revision: 524
URL: http://svn.gna.org/viewcvs/phplinker?rev=524&view=rev
Log:
#153:
- Migration des tags done
- Migration des associations tag/categorie done
- Migration du champs hidden done
- Migration des logins et email done
Modified:
trunk/doc/catalog2phplinker.php
Modified: trunk/doc/catalog2phplinker.php
URL:
http://svn.gna.org/viewcvs/phplinker/trunk/doc/catalog2phplinker.php?rev=524&r1=523&r2=524&view=diff
==============================================================================
--- trunk/doc/catalog2phplinker.php (original)
+++ trunk/doc/catalog2phplinker.php Thu Jun 7 11:31:54 2007
@@ -1,4 +1,5 @@
<?php
+
/*
This file is part of PHPLinker.
@@ -19,14 +20,79 @@
$urls=array();
$categories=array();
+$webmasters=array();
+$tags=array();
+
+function url2login($url) {
+
+ if(strpos($url, 'http://www.chez.com/') !== false) {
+ $login=str_replace('http://www.chez.com/', '', $url);
+ }
+ elseif(strpos($url, 'http://chez.com/') !== false) {
+ $login=str_replace('http://chez.com/', '', $url);
+ }
+ elseif(strpos($url, 'http://chez.tiscali.fr/') !== false) {
+ $login=str_replace('http://chez.tiscali.fr/', '', $url);
+ }
+ elseif(preg_match('/http:\/\/.*\.chez\.tiscali\.fr/', $url)) {
+ $login=preg_replace('/http:\/\/(.*)\.chez\.tiscali\.fr/', '$1', $url);
+ }
+ elseif(strpos($url, 'http://perso.respublica.fr/') !== false) {
+ $login=str_replace('http://perso.respublica.fr/', '', $url);
+ }
+ elseif(strpos($url, 'http://perso.libertysurf.fr/') !== false) {
+ $login=str_replace('http://perso.libertysurf.fr/', '', $url);
+ }
+ else {
+ echo "UNKNOWN URL $url !\n";
+ }
+
+ $login=str_replace('/', '', $login);
+
+ if(empty($login)) {
+ echo "Empty login !\n";
+ exit(1);
+ }
+
+ return $login;
+}
+
+function create_tag($tag) {
+ global $tags;
+
+ $insert=sprintf("INSERT INTO ad_tag (description) VALUES ('%s')", $tag);
+
+ mysql_query($insert)
+ or die("Database connection failed : " . mysql_error() . "\n");
+
+ $tags[$tag]=mysql_insert_id();
+
+}
+
+function create_webmaster($login, $email) {
+ global $webmasters;
+
+ $insert=sprintf("INSERT INTO webmaster (login, email) VALUES ('%s', '%s')",
+ $login, $email);
+
+ mysql_query($insert)
+ or die("Database connection failed : " . mysql_error() . "\n");
+
+ $webmasters[$login]=mysql_insert_id();
+
+}
function create_category($pathname) {
global $categories;
$parentid=0;
$full_path='/';
+ $visible=1;
foreach(explode('/', $pathname) as $category) {
+
+ if($category == 'Charme')
+ $visible=0;
if(empty($category))
continue;
@@ -38,9 +104,10 @@
continue;
}
- $insert=sprintf("INSERT INTO category (id_parent, name) VALUES (%d, '%s')",
+ $insert=sprintf("INSERT INTO category (id_parent, name, visible) VALUES
(%d, '%s', '%s')",
$parentid,
- utf8_decode(str_replace('_', ' ', $category)));
+ utf8_decode(str_replace('_', ' ', $category)),
+ $visible);
mysql_query($insert)
or die("Database connection failed : " . mysql_error() . "\n");
@@ -48,6 +115,7 @@
$categories[$full_path]=mysql_insert_id();
$parentid=$categories[$full_path];
+
}
}
@@ -62,20 +130,26 @@
mysql_query("UPDATE catalog_path_chezcatalog SET
pathname='/Musique/Artistes,_genres_musicaux/Pop_Rock/Depeche_Mode/' WHERE
pathname='/Depeche_Mode/'")
or die("Database connection failed : " . mysql_error());
-$req=mysql_query('SELECT nomsite, pathname, descriptif FROM
catalog_entry2category_chezcatalog, chezcat, catalog_category_chezcatalog,
catalog_path_chezcatalog WHERE
chezcat.rowid=catalog_entry2category_chezcatalog.row AND
category=catalog_category_chezcatalog.rowid AND
catalog_category_chezcatalog.rowid=catalog_path_chezcatalog.id')
+$req=mysql_query('SELECT nomsite, pathname, descriptif, email FROM
catalog_entry2category_chezcatalog, chezcat, catalog_category_chezcatalog,
catalog_path_chezcatalog WHERE
chezcat.rowid=catalog_entry2category_chezcatalog.row AND
category=catalog_category_chezcatalog.rowid AND
catalog_category_chezcatalog.rowid=catalog_path_chezcatalog.id')
or die("Database connection failed : " . mysql_error());
while($row=mysql_fetch_array($req)) {
if(!isset($urls[$row['nomsite']])) {
- $insert=sprintf("INSERT INTO url (url, description, state) VALUES ('%s',
'%s', '%s')",
+ mysql_select_db($config_sql_base)
+ or die("Database connection failed : " . mysql_error());
+
+ $login=url2login($row['nomsite']);
+
+ if(!isset($webmasters[$login]))
+ create_webmaster($login, $row['email']);
+
+ $insert=sprintf("INSERT INTO url (url, description, state, id_webmaster)
VALUES ('%s', '%s', '%s', %d)",
$row['nomsite'],
addslashes(utf8_decode($row['descriptif'])),
- 'moderated');
-
- mysql_select_db($config_sql_base)
- or die("Database connection failed : " . mysql_error());
+ 'moderated',
+ $webmasters[$login]);
mysql_query($insert)
or die("Database connection failed : " . mysql_error() . "\n");
@@ -96,4 +170,28 @@
}
+mysql_select_db('catalog')
+ or die("Database connection failed : " . mysql_error());
+
+$req=mysql_query('SELECT nom, pathname FROM catalog_path_chezcatalog,
correspondance, urlpub WHERE catalog_path_chezcatalog.id=correspondance.id_cat
AND urlpub.id=correspondance.id_url')
+ or die("Database connection failed : " . mysql_error());
+
+mysql_select_db($config_sql_base)
+ or die("Database connection failed : " . mysql_error());
+
+while($row=mysql_fetch_array($req)) {
+
+ if(!isset($tags[$row['nom']]))
+ create_tag($row['nom']);
+
+ $update=sprintf('UPDATE category SET id_ad_tag=%d WHERE id=%d',
+ $tags[$row['nom']],
+ $categories[$row['pathname']]
+ );
+
+ mysql_query($update)
+ or die("Database connection failed : " . mysql_error() . "\n");
+
+}
+
?>
_______________________________________________
PHPLinker-commits mailing list
[email protected]
https://mail.gna.org/listinfo/phplinker-commits