public
Description: Git mirror of the CMS Made Simple 2.0 rewrite
Homepage: http://cmsmadesimple.org
Clone URL: git://github.com/tedkulp/cmsmadesimple-2-0.git
Search Repo:
commit  5ff950061372f6d3c32f24674eed223a0bdff9f0
tree    c306865e8d5d7b7a05696d2d643155592c1e4db5
parent  1d4e393fe0cae8142711a915f87157611a76f101
cmsmadesimple-2-0 / test / populatecontent.php
100644 98 lines (78 sloc) 3.224 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
 
include_once ('../lib/cmsms.api.php');
 
$db = cms_db();
 
define('NUM_PER', 32);
define('MAX_DEPTH', 3);
 
//var_dump('Creating ' . (pow(NUM_PER, MAX_DEPTH) + NUM_PER + 1) . ' nodes...');
 
$db->Execute('DELETE FROM ' . cms_db_prefix() . 'content_props');
//$db->Execute('ALTER TABLE ' . cms_db_prefix() . 'content_props AUTO_INCREMENT = 1');
$db->Execute('DELETE FROM ' . cms_db_prefix() . 'content');
//$db->Execute('ALTER TABLE ' . cms_db_prefix() . 'content AUTO_INCREMENT = 1');
 
$id = 1;
$lft = 1;
$rgt = 2;
$hierarchy = '';
 
function create_content(&$id, &$lft, &$rgt, $hierarchy, $depth, $parent_id)
{
  $db = cms_db();
 
  /*
   `id` int(11) NOT NULL auto_increment,
   `content_name` varchar(255) default NULL,
   `type` varchar(25) default NULL,
   `owner_id` int(11) default NULL,
   `parent_id` int(11) default NULL,
   `template_id` int(11) default NULL,
   `item_order` int(11) default NULL,
   `lft` int(11) default NULL,
   `rgt` int(11) default NULL,
   `hierarchy` varchar(255) default NULL,
   `default_content` tinyint(4) default NULL,
   `menu_text` varchar(255) default NULL,
   `content_alias` varchar(255) default NULL,
   `show_in_menu` tinyint(4) default NULL,
   `collapsed` tinyint(4) default NULL,
   `markup` varchar(25) default NULL,
   `active` tinyint(4) default NULL,
   `cachable` tinyint(4) default NULL,
   `id_hierarchy` varchar(255) default NULL,
   `hierarchy_path` text,
   `prop_names` text,
   `metadata` text,
   `titleattribute` varchar(255) default NULL,
   `tabindex` varchar(10) default NULL,
   `accesskey` varchar(5) default NULL,
   `last_modified_by` int(11) default NULL,
   `create_date` datetime default NULL,
   `modified_date` datetime default NULL,
  */
  for ($i = 1; $i <= NUM_PER; $i++)
  {
    //$new_id = $id + $i;
    $id++;
    $orig_id = $id;
    //$lft = $lft + (MAX_DEPTH - $depth + 1);
    $lft++;
 
    //$rgt = $lft + ((MAX_DEPTH - $depth + 1) * NUM_PER + 1);
 
    $new_hierarchy = $hierarchy . $i;
    $query = 'INSERT INTO ' . cms_db_prefix() . 'content (id, lft, rgt, hierarchy, content_name, menu_text, content_alias, item_order, template_id, parent_id, default_content, active, show_in_menu) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 1, ?, 0, 1, 1)';
    $db->Execute($query, array($id, $lft, $lft + 1, $new_hierarchy, $new_hierarchy, $new_hierarchy, $new_hierarchy, $i, $parent_id));
    
    if ($depth < MAX_DEPTH)
    {
      create_content($id, $lft, $rgt, $new_hierarchy . '.', $depth + 1, $orig_id);
    }
    
    $lft++;
    
    $query = 'UPDATE ' . cms_db_prefix() . 'content SET rgt = ? WHERE id = ?';
    $db->Execute($query, array($lft, $orig_id));
  }
}
 
$db->Execute('SET insert_id = 1');
 
$query = 'INSERT INTO ' . cms_db_prefix() . 'content (id, lft, rgt, hierarchy, content_name, menu_text, item_order) VALUES (?, ?, ?, ?, ?, ?, ?)';
$db->Execute($query, array($id, $lft, $lft+1, '', '__root__', '__root__', 1));
 
create_content($id, $lft, $rgt, '', 1, 1);
 
$query = 'UPDATE ' . cms_db_prefix() . 'content SET rgt = ? WHERE id = ?';
$db->Execute($query, array($lft+1, 1));
 
$query = 'UPDATE ' . cms_db_prefix() . 'content SET default_content = 1 WHERE id = 2';
$db->Execute($query);
 
include ('../lib/page.functions.php'); //bug -- needs fixing in CmsSmarty
CmsCache::clear();
 
?>