b2evolution

Multilingual multiuser multiblog engine

b2evolution Technical Documentation (0.9.x) [ class tree: install ] [ index: install ] [ all elements ]

Source for file _functions_cafelogupgrade.php

Documentation is available at _functions_cafelogupgrade.php

  1. <?php
  2. /**
  3.  * This file implements upgrading from cafelog/b2
  4.  *
  5.  * b2evolution - {@link http://b2evolution.net/}
  6.  * Released under GNU GPL License - {@link http://b2evolution.net/about/license.html}
  7.  * @copyright (c)2003-2005 by Francois PLANQUE - {@link http://fplanque.net/}
  8.  *
  9.  * @package install
  10.  */
  11. if!defined('DB_USER') ) die'Please, do not access this page directly.' );
  12.  
  13. /**
  14.  * {@internal upgrade_cafelog_tables(-)}}
  15.  */
  16. {
  17.     global $tableposts$tableusers$tablesettings$tablecategories$tablecomments,
  18.                     $tableblogs$tablepostcats$tablehitlog$tableantispam$tablegroups$tableblogusers;
  19.     global $baseurl$old_db_version$new_db_version;
  20.     global $default_locale;
  21.     global $oldtableposts$oldtableusers$oldtablesettings$oldtablecategories$oldtablecomments;
  22.     global $timestamp$admin_email;
  23.     global $Group_Admins$Group_Priviledged$Group_Bloggers$Group_Users;
  24.     global $blog_all_ID$blog_a_ID$blog_b_ID$blog_linkblog_ID;
  25.     global $cat_ann_a$cat_news$cat_bg$cat_ann_b$cat_fun$cat_life$cat_web$cat_sports$cat_movies$cat_music$cat_b2evo$cat_linkblog_b2evo$cat_linkblog_contrib;
  26.     global $DB;
  27.  
  28.     // Create blogs:
  29.     create_default_blogs'Blog A (Upg)''Blog A (Cafelog Upgrade)'T_("This blog holds all your posts upgraded from Cafelog. This blog is named '%s'. %s")false );    
  30.  
  31.  
  32.     echo 'Copying Cafelog settings... ';
  33.     // forcing paged mode because this works so much better !!!
  34.     // You can always change it back in the options if you don't like it.
  35.     $query "SELECT archive_mode, time_difference, AutoBR FROM $oldtablesettings";
  36.     $q $DB->get_row$queryARRAY_A );
  37.         
  38.     $query "INSERT INTO $tablesettings (set_name, set_value) 
  39.                         VALUES
  40.                                     ('db_version', '$new_db_version'),
  41.                                     ('default_locale', '$default_locale'),
  42.                                     ('posts_per_page', '5'),
  43.                                     ('what_to_show', 'paged'),
  44.                                     ('archive_mode', '".$q['archive_mode']."'),
  45.                                     ('time_difference', '".$q['time_difference']."'),
  46.                                     ('AutoBR', '".$q['AutoBR']."'),
  47.                                     ('antispam_last_update', '2000-01-01 00:00:00'),
  48.                                     ('newusers_grp_ID', '".$Group_Users->get('ID')."' ),
  49.                                     ('newusers_level', '1'),
  50.                                     ('newusers_canregister', '0'),
  51.                                     ('links_extrapath', '0'),
  52.                                     ('permalink_type', 'urltitle'),
  53.                                     ( 'user_minpwdlen', '5' )
  54.                                     ";
  55.  
  56.     $DB->query$query );
  57.     echo "OK.<br />\n";
  58.     
  59.     echo 'Copying Cafelog users... ';
  60.     $query "INSERT INTO $tableusers( ID, user_login, user_pass, user_firstname, user_lastname,
  61.                             user_nickname, user_icq, user_email, user_url, user_ip, user_domain, user_browser,
  62.                             dateYMDhour, user_level,    user_aim, user_msn, user_yim, user_idmode ) 
  63.                         SELECT ID, user_login, MD5(user_pass), user_firstname, user_lastname, user_nickname,
  64.                             user_icq, user_email, user_url, user_ip, user_domain, user_browser, dateYMDhour,
  65.                             user_level,    user_aim, user_msn, user_yim, user_idmode 
  66.                         FROM $oldtableusers";
  67.     $DB->query$query );
  68.     echo "OK.<br />\n";
  69.  
  70.     echo 'Make sure user #1 is at level 10... ';
  71.     $query "UPDATE $tableusers
  72.                              SET user_level = 10
  73.                          WHERE ID = 1";
  74.     $DB->query$query );
  75.     echo "OK.<br />\n";
  76.  
  77.     echo 'Setting groups... ';
  78.     $query "UPDATE $tableusers
  79.                              SET user_grp_ID = ".$Group_Users->get('ID')."
  80.                          WHERE user_level = 0";
  81.     $DB->query$query );
  82.  
  83.     $query "UPDATE $tableusers
  84.                              SET user_grp_ID = ".$Group_Bloggers->get('ID')."
  85.                          WHERE user_level > 0 and user_level < 10 ";
  86.     $DB->query$query );
  87.  
  88.   // Level 10 users get default group (1)
  89.  
  90.     echo "OK.<br />\n";
  91.  
  92.     echo 'Creating user blog permissions... ';
  93.     // Admin for all blogs:
  94.     $query "INSERT INTO $tableblogusers( bloguser_blog_ID, bloguser_user_ID, bloguser_ismember,
  95.                             bloguser_perm_poststatuses, bloguser_perm_delpost, bloguser_perm_comments, 
  96.                             bloguser_perm_cats, bloguser_perm_properties)
  97.                         SELECT blog_ID, ID, 1, 'published,deprecated,protected,private,draft', 1, 1, 1, 1
  98.                         FROM $oldtableusers$tableblogs
  99.                         WHERE user_level = 10";
  100.     $DB->query$query );
  101.  
  102.     // Normal users for upgraded blog:
  103.     $query "INSERT INTO $tableblogusers( bloguser_blog_ID, bloguser_user_ID, bloguser_ismember, 
  104.                             bloguser_perm_poststatuses, bloguser_perm_delpost, bloguser_perm_comments, 
  105.                             bloguser_perm_cats, bloguser_perm_properties)
  106.                         SELECT $blog_a_ID, ID, 1, 'published,protected,private,draft', 0, 1, 0, 0
  107.                         FROM $oldtableusers
  108.                         WHERE user_level > 0 AND user_level < 10";
  109.     $DB->query$query );
  110.     echo "OK.<br />\n";
  111.     
  112.     echo 'Copying Cafelog categories... ';
  113.     $query "INSERT INTO $tablecategories( cat_ID, cat_parent_ID, cat_name, cat_blog_ID ) SELECT DISTINCT cat_ID, NULL, cat_name, 2 FROM $oldtablecategories";
  114.     $DB->query$query );
  115.     echo "OK.<br />\n";
  116.  
  117.     
  118.     echo 'Copying Cafelog posts... ';
  119.     $query "INSERT INTO $tableposts( ID, post_author, post_issue_date, post_mod_date, post_status, post_locale, post_content,post_title, post_category, post_autobr, post_flags, post_karma)  
  120.     SELECT ID, post_author, post_date, post_date, 'published', '$default_locale', post_content, post_title, post_category, 1, 'pingsdone,imported', post_karma FROM $oldtableposts";
  121.     $DB->query$query );
  122.     echo "OK.<br />\n";
  123.  
  124.     echo 'Generating wordcounts... ';
  125.     $query "SELECT ID, post_content FROM $tableposts";
  126.     $q $DB->get_results$queryARRAY_A );
  127.     ifcount$q ) ) foreach$q as $row )
  128.     {
  129.         $query_update_wordcount "UPDATE $tableposts 
  130.                                                             SET post_wordcount = bpost_count_words($row['post_content']"
  131.                                                             WHERE ID = " $row['ID'];
  132.         $DB->query($query_update_wordcount);
  133.     }
  134.     echo "OK. (".count($q)." rows updated)<br />\n";
  135.  
  136.     echo 'Generating postcats... ';
  137.     $query "INSERT INTO $tablepostcats( postcat_post_ID, postcat_cat_ID ) SELECT ID, post_category FROM $tableposts";        
  138.     $DB->query$query );
  139.     echo "OK.<br />\n";
  140.     
  141.     echo 'Copying Cafelog comments... ';
  142.     $query "INSERT INTO $tablecomments( comment_ID, comment_post_ID, comment_type, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_content, comment_karma ) SELECT comment_ID, comment_post_ID, 'comment', comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_content, comment_karma FROM $oldtablecomments";
  143.     $DB->query$query );
  144.     echo "OK.<br />\n";
  145.  
  146.     echo 'Qualifying comments... Trackback... ';
  147.     $query "UPDATE $tablecomments SET comment_type = 'trackback' WHERE comment_content LIKE '<trackback />%'";        
  148.     $DB->query$query );
  149.     echo "OK.<br />\n";    
  150.  
  151.     echo 'Qualifying comments... Pingback... ';
  152.     $query "UPDATE $tablecomments SET comment_type = 'pingback' WHERE comment_content LIKE '<pingback />%'";        
  153.     $DB->query$query );
  154.     echo "OK.<br />\n";    
  155.  
  156.  
  157.     create_default_categoriesfalse /* not for A */ );
  158.  
  159.     // POPULATE THE LINKBLOG:
  160.     populate_linkblog$now$cat_linkblog_b2evo$cat_linkblog_contrib );
  161.  
  162.     // Create other default contents:
  163.     create_default_contentsfalse /* not for A */ );
  164.  
  165.  
  166.   // Cleanup extra quotes in comments:
  167.  
  168. }
  169.  
  170. ?>

Documentation generated on Tue, 20 May 2008 01:54:43 +0200 by phpDocumentor 1.4.2