Advertisement
Guest User

Untitled

a guest
Apr 27th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.99 KB | None | 0 0
  1. <?php
  2. $COLLECTION_ID = 110;
  3. $TEMP_TBL_NAME = '110Kenneth';
  4. $TotalCount = 0;
  5.  
  6. if(empty($COLLECTION_ID)||empty($TEMP_TBL_NAME)){
  7. print 'id and tblname query Parameters Required';
  8. exit;
  9. }
  10. $SERIES_CONTAINER_LEVEL_ID = 1; $SUBSERIES_CONTAINER_LEVEL_ID = 4; $BOX_CONTAINER_LEVEL_ID = 2; $FOLDER_CONTAINER_LEVEL_ID = 3; $ITEM_CONTAINER_LEVEL_ID = 5;
  11.  
  12. $LevelContainers = array(
  13. "Series" => 1,
  14. "Sub-Series" => 2,
  15. "Box" => 3,
  16. "Folder" => 4,
  17. "Item" => 5,
  18. );
  19. $Enabled = 1;
  20. $containerHierarchy = array();
  21. $ParentID = '';
  22.  
  23. $i = 1;
  24. //Get all series
  25. $query = 'SELECT Series FROM '.$TEMP_TBL_NAME.' GROUP BY Series ORDER BY RowID';
  26. //echo $query.'<br/>';
  27. $resultSeries = executeTempDBQuery($query);
  28. while($row = mysql_fetch_assoc($resultSeries)){
  29. //Get Series name
  30. $Series = mysql_real_escape_string(trim($row{'Series'}));
  31.  
  32. //Insert Series
  33. $query = 'INSERT INTO tblCollections_Content(
  34. CollectionID, LevelContainerID, LevelContainerIdentifier, Title, PrivateTitle, RootContentID, ParentID, ContainsContent, SortOrder, Enabled)
  35. VALUES ('.$COLLECTION_ID.', '.$SERIES_CONTAINER_LEVEL_ID.', "'.$i.'", "'.$Series.'", "'.$Series.'", 0, 0, 1, '.$i.', '.$Enabled.')';
  36. //echo $query.'<br/>';
  37. $status = executeArchonDBQuery($query);
  38. $SeriesID = mysql_insert_id();
  39.  
  40. if($containerHierarchy[sizeof($containerHierarchy)-1]!=$LevelContainers["Series"]){
  41. array_push($containerHierarchy, $LevelContainers["Series"]);
  42. // echo print_r($containerHierarchy).'<br/>';
  43. }
  44. $ParentID = $SeriesID;
  45.  
  46. //Update Series.RootContentID with Series.ID
  47. $query = 'UPDATE tblCollections_Content SET RootContentID='.$SeriesID.' WHERE ID='.$SeriesID;
  48. $status = executeArchonDBQuery($query);
  49. if ($status==0){echo '<b>Update Series -'.$SeriesID.'-'.$Series.' SET RootContentID Failed</b> <br/>';}
  50.  
  51. if ($status==0){
  52. echo '<b>Insert Series -'.$Series.' Failed</b> <br/>';
  53. }else{
  54. echo 'Insert Series [ID-'.$SeriesID.'] -'.$Series.' Success. <br/>';
  55. $TotalCount++;
  56. }
  57.  
  58. $j = 1;
  59. //Get all Sub-Series per Folder
  60. $query = 'SELECT Subseries FROM '.$TEMP_TBL_NAME.' WHERE Series="'.$Series.'" GROUP BY Subseries ORDER BY RowID';
  61. //echo $query.'<br/>';
  62. $resultSubseries = executeTempDBQuery($query);
  63.  
  64. while($row = mysql_fetch_assoc($resultSubseries)){
  65. //Get Sub-Series
  66. $Subseries = mysql_real_escape_string(trim($row{'Subseries'}));
  67.  
  68. //Check if sub-series is not empty
  69. if(!empty($Subseries)){
  70. resetParentID($LevelContainers["Sub-Series"]);
  71. //Insert Sub-Series
  72. $query = 'INSERT INTO tblCollections_Content(
  73. CollectionID, LevelContainerID, LevelContainerIdentifier, Title, PrivateTitle, RootContentID, ParentID, ContainsContent, SortOrder, Enabled)
  74. VALUES ('.$COLLECTION_ID.', '.$SUBSERIES_CONTAINER_LEVEL_ID.', "'.$j.'", "'.$Subseries.'", "'.$Subseries.'", '.$SeriesID.', '.$SeriesID.', 1, '.$j.', '.$Enabled.')';
  75. //echo $query.'<br/>';
  76. $status = executeArchonDBQuery($query);
  77. $SubseriesID = mysql_insert_id();
  78.  
  79. if($containerHierarchy[sizeof($containerHierarchy)-1]!=$LevelContainers["Sub-Series"]){
  80. array_push($containerHierarchy, $LevelContainers["Sub-Series"]);
  81. // echo print_r($containerHierarchy).'<br/>';
  82. }
  83.  
  84. if ($status==0){
  85. echo '---<b>Insert Sub-Series -'.$Subseries.' Failed</b> <br/>';
  86. }else{
  87. echo '---Insert Sub-Series [ID-'.$SubseriesID.' Root ID-'.$SeriesID.' Parent ID-'.$SeriesID.'] -'.$Subseries.' Success. <br/>';
  88. $TotalCount++;
  89. }
  90. }
  91.  
  92. $k = 1;
  93. //Get all boxes per sub-series
  94. $query = 'SELECT Box, BoxNumber FROM '.$TEMP_TBL_NAME.' WHERE Series="'.$Series.'" AND Subseries="'.$Subseries.'" GROUP BY BoxNumber ORDER BY RowID';
  95. //echo $query.'<br/>';
  96. $resultBoxes = executeTempDBQuery($query);
  97. while($row = mysql_fetch_assoc($resultBoxes)){
  98. //Get Box Number
  99. $BoxNumber = trim($row{'BoxNumber'});
  100. $Box = mysql_real_escape_string(trim($row{'Box'}));
  101.  
  102. //Check if BoxNumber is not empty
  103. if(!empty($BoxNumber)){
  104. resetParentID($LevelContainers["Box"]);
  105. //Insert Box
  106. $query = 'INSERT INTO tblCollections_Content(
  107. CollectionID, LevelContainerID, LevelContainerIdentifier, Title, PrivateTitle, RootContentID, ParentID, ContainsContent, SortOrder, Enabled)
  108. VALUES ('.$COLLECTION_ID.', '.$BOX_CONTAINER_LEVEL_ID.', "'.$BoxNumber.'", "'.$Box.'", "'.$Box.'-'.$BoxNumber.'", '.$SeriesID.', '.$ParentID.', 1, '.$k.', '.$Enabled.')';
  109. //echo $query.'<br/>';
  110. $status = executeArchonDBQuery($query);
  111. $BoxID = mysql_insert_id();
  112.  
  113. if($containerHierarchy[sizeof($containerHierarchy)-1]!=$LevelContainers["Box"]){
  114. array_push($containerHierarchy, $LevelContainers["Box"]);
  115. // echo print_r($containerHierarchy).'<br/>';
  116. }
  117.  
  118. if ($status==0){
  119. echo '--- ---<b>Insert Box -'.$BoxNumber.'-'.$Box.' Failed</b> <br/>';
  120. }else{
  121. echo '--- ---Insert Box [ID-'.$BoxID.' Root ID-'.$SeriesID.' Parent ID-'.$ParentID.'] -'.$BoxNumber.'-'.$Box.' Success. <br/>';
  122. $TotalCount++;
  123. }
  124. }
  125.  
  126. $m = 1;
  127. //Get all Folders per Box
  128. $query = 'SELECT Folder, FolderNumber FROM '.$TEMP_TBL_NAME.' WHERE Series="'.$Series.'" AND Subseries="'.$Subseries.'" AND BoxNumber="'.$BoxNumber.'" GROUP BY FolderNumber ORDER BY RowID';
  129. //echo $query.'<br/>';
  130. $resultFolders = executeTempDBQuery($query);
  131. while($row = mysql_fetch_assoc($resultFolders)){
  132. //Get Folder Number
  133. $FolderNumber = trim($row{'FolderNumber'});
  134. $Folder = mysql_real_escape_string(trim($row{'Folder'}));
  135.  
  136. //Check if FolderNumber is not empty
  137. if(!empty($FolderNumber)){
  138. resetParentID($LevelContainers["Folder"]);
  139. //Insert Folder
  140. $query = 'INSERT INTO tblCollections_Content(
  141. CollectionID, LevelContainerID, LevelContainerIdentifier, Title, PrivateTitle, RootContentID, ParentID, ContainsContent, SortOrder, Enabled)
  142. VALUES ('.$COLLECTION_ID.', '.$FOLDER_CONTAINER_LEVEL_ID.', "'.$FolderNumber.'", "'.$Folder.'", "'.$Folder.'", '.$SeriesID.', '.$ParentID.', 1, '.$m.', '.$Enabled.')';
  143. $status = executeArchonDBQuery($query);
  144. $FolderID = mysql_insert_id();
  145.  
  146. if($containerHierarchy[sizeof($containerHierarchy)-1]!=$LevelContainers["Folder"]){
  147. array_push($containerHierarchy, $LevelContainers["Folder"]);
  148. // echo print_r($containerHierarchy).'<br/>';
  149. }
  150.  
  151. if ($status==0){
  152. echo '<b>--- --- ---Insert Folder -'.$FolderNumber.'-'.$Folder.' Failed</b> <br/>';
  153. }else{
  154. echo '--- --- ---Insert Folder [ID-'.$FolderID.' Root ID-'.$SeriesID.' Parent ID-'.$ParentID.'] -'.$FolderNumber.'-'.$Folder.' Success. <br/>';
  155. $TotalCount++;
  156. }
  157. }
  158.  
  159. $n = 1;
  160. //Get all Items per Box
  161. $query = 'SELECT Item, ItemNumber, Title, Date, Description FROM '.$TEMP_TBL_NAME.' WHERE Series="'.$Series.'" AND BoxNumber="'.$BoxNumber.'" AND FolderNumber="'.$FolderNumber.'" AND Subseries="'.$Subseries.'"';
  162. //echo $query.'<br/>';
  163. $resultItems = executeTempDBQuery($query);
  164. //if(mysql_num_rows($resultItems)>0){}
  165. while($row = mysql_fetch_assoc($resultItems)){
  166. //Get Item Number
  167. $Item = mysql_real_escape_string(trim($row{'Item'}));
  168. $ItemNumber = trim($row{'ItemNumber'});
  169. $Title = mysql_real_escape_string(trim($row{'Title'}));
  170. $Date = trim($row{'Date'});
  171. $Description = mysql_real_escape_string(trim($row{'Description'}));
  172.  
  173. //Check if ItemNumber is not empty
  174. if(!empty($ItemNumber)){
  175. resetParentID($LevelContainers["Item"]);
  176. //Insert Item
  177. $query = 'INSERT INTO tblCollections_Content(
  178. CollectionID, LevelContainerID, LevelContainerIdentifier, Title, PrivateTitle, Date, Description, RootContentID, ParentID, ContainsContent, SortOrder, Enabled)
  179. VALUES ('.$COLLECTION_ID.', '.$ITEM_CONTAINER_LEVEL_ID.', "'.$ItemNumber.'", "'.$Item.'", "'.$Title.'", "'.$Date.'", "'.$Description.'", '.$SeriesID.', '.$ParentID.', 0, '.$n.', '.$Enabled.')';
  180. //echo $query.'<br/>';
  181. $status = executeArchonDBQuery($query);
  182. $ItemID = mysql_insert_id();
  183.  
  184. if($containerHierarchy[sizeof($containerHierarchy)-1]!=$LevelContainers["Item"]){
  185. array_push($containerHierarchy, $LevelContainers["Item"]);
  186. // echo print_r($containerHierarchy).'<br/>';
  187. }
  188.  
  189. if ($status==0){
  190. echo '<b>--- --- --- ---Insert Item -'.$ItemNumber.'-'.$Title.'-'.$Item.' Failed</b> <br/>';
  191. }else{
  192. echo '--- --- --- ---Insert Item [ID-'.$SubseriesID.' Root ID-'.$SeriesID.' Parent ID-'.$ParentID.'] -'.$ItemNumber.'-'.$Title.'-'.$Item.' Success. <br/>';
  193. $TotalCount++;
  194. }
  195. }
  196. //$rowsProcessed++;
  197. unset($ItemNumber);
  198. $n++;
  199. }
  200. unset($FolderNumber);
  201. $m++;
  202. }
  203. unset($BoxNumber);
  204. $k++;
  205. }
  206. unset($Subseries);
  207. $j++;
  208. }
  209. unset($Series);
  210. $i++;
  211. }
  212.  
  213. echo $TotalCount.' records inserted.';
  214.  
  215. function resetParentID($currentLevelContainer){
  216. global $LevelContainers;
  217. global $containerHierarchy;
  218.  
  219. if (($currentLevelContainer != $containerHierarchy[sizeof($containerHierarchy)-1])){
  220.  
  221. if(($currentLevelContainer > $containerHierarchy[sizeof($containerHierarchy)-1])){
  222. //Current container is the child of the last container (traveling down)
  223. $lastParent = $containerHierarchy[sizeof($containerHierarchy)-1];
  224. switch ($lastParent) {
  225. case $LevelContainers["Series"]:
  226. $GLOBALS[ParentID] = $GLOBALS[SeriesID];
  227. //echo 'Reset Parent to Series<br/>';
  228. break;
  229. case $LevelContainers["Sub-Series"]:
  230. $GLOBALS[ParentID] = $GLOBALS[SubseriesID];
  231. //echo 'Reset Parent to Sub Series<br/>';
  232. break;
  233. case $LevelContainers["Box"]:
  234. $GLOBALS[ParentID] = $GLOBALS[BoxID];
  235. //echo 'Reset Parent to Box<br/>';
  236. break;
  237. case $LevelContainers["Folder"]:
  238. $GLOBALS[ParentID] = $GLOBALS[FolderID];
  239. //echo 'Reset Parent to Folder<br/>';
  240. break;
  241. }
  242. }
  243. else{
  244. //Traveling back up
  245. $lastContainerType = array_pop($containerHierarchy);
  246.  
  247. while($lastContainerType >= $currentLevelContainer){
  248. $lastContainerType = array_pop($containerHierarchy);
  249. }
  250.  
  251. switch ($lastContainerType) {
  252. case $LevelContainers["Series"]:
  253. $GLOBALS[ParentID] = $GLOBALS[SeriesID];
  254. //echo 'Reset Parent to Series<br/>';
  255. break;
  256. case $LevelContainers["Sub-Series"]:
  257. $GLOBALS[ParentID] = $GLOBALS[SubseriesID];
  258. //echo 'Reset Parent to Sub Series<br/>';
  259. break;
  260. case $LevelContainers["Box"]:
  261. $GLOBALS[ParentID] = $GLOBALS[BoxID];
  262. //echo 'Reset Parent to Box<br/>';
  263. break;
  264. case $LevelContainers["Folder"]:
  265. $GLOBALS[ParentID] = $GLOBALS[FolderID];
  266. //echo 'Reset Parent to Folder<br/>';
  267. break;
  268. }
  269. }
  270.  
  271. }
  272. }
  273.  
  274. //Archon DB
  275. function executeArchonDBQuery($query){
  276. $dbuser = '';
  277. $dbpass = '';
  278. $dbname = 'Archon';
  279. $dbhost = 'localhost';
  280.  
  281. $dbh = mysql_connect($dbhost,$dbuser,$dbpass) or die (mysql_error());
  282. $selected = mysql_select_db($dbname,$dbh) or die (mysql_error());
  283. return mysql_query($query);
  284. }
  285.  
  286. //Temp DB
  287. function executeTempDBQuery($query){
  288. $dbuser = '';
  289. $dbpass = '';
  290. $dbname = 'ArchonTemp';
  291. $dbhost = 'localhost';
  292.  
  293. $dbh = mysql_connect($dbhost,$dbuser,$dbpass) or die (mysql_error());
  294. $selected = mysql_select_db($dbname,$dbh) or die (mysql_error());
  295. return mysql_query($query);
  296. }
  297. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement