PageRenderTime 47ms CodeModel.GetById 22ms RepoModel.GetById 1ms app.codeStats 0ms

/src/php/subsets/create.php

https://bitbucket.org/silverasm/wordseer
PHP | 84 lines | 72 code | 3 blank | 9 comment | 1 complexity | 9e3579fa98be6eae7d2686a986455d1d MD5 | raw file
Possible License(s): Apache-2.0, LGPL-3.0, BSD-3-Clause
  1. <?php
  2. /* Copyright 2012 Aditi Muralidharan. See the file "LICENSE" for the full license governing this code. */
  3. /*************************************************************************
  4. create.php
  5. Create a new subset
  6. *************************************************************************/
  7. function create($username, $name, $parent, $type){
  8. $sql = "INSERT INTO working_set
  9. (username, name, parent, date, type)
  10. VALUES ('".$username."',
  11. '".$name."',
  12. ".$parent.",
  13. NOW(),
  14. '".$type."');";
  15. $result = mysql_query($sql) or die("<b>A fatal MySQL error occured</b>.
  16. <br/> Query: " . $sql . "
  17. <br/> Error: (" . mysql_errno() . ") " . mysql_error());
  18. $id = mysql_insert_id();
  19. $sql = "SELECT * from working_set WHERE id = $id;";
  20. $result = mysql_query($sql);
  21. $row = mysql_fetch_assoc($result);
  22. $date = $row['date'];
  23. $property_name = $type+"_set";
  24. // update the main metadata count for this set
  25. updateMainMetadataCounts($id, $type."_set");
  26. return array("status"=>"ok", "id"=>$id, "date"=>$date);
  27. }
  28. function delete($id){
  29. $parents = getAllParentIDs($id);
  30. $children = getAllChildIDs($id);
  31. $type = getCollectionType($id);
  32. $sql = "DELETE FROM working_set WHERE id = ".$id.";";
  33. $result = mysql_query($sql) or die("<b>A fatal MySQL error occured</b>.
  34. create.php l. 30 <br/> Query: " . $sql . "
  35. <br/> Error: (" . mysql_errno() . ") " . mysql_error());
  36. $sql = "DELETE FROM working_set_contents WHERE working_set_id = ".$id.";";
  37. $result = mysql_query($sql) or die("<b>A fatal MySQL error occured</b>.
  38. create.php l. 34 <br/> Query: " . $sql . "
  39. <br/> Error: (" . mysql_errno() . ") " . mysql_error());
  40. //recursively delete children
  41. foreach($children as $child){
  42. delete($child);
  43. }
  44. include_once "../document/get-metadata.php";
  45. resetSentenceFilters();
  46. $sql = "INSERT IGNORE into filtered_sent_ids (id) select unit_id
  47. FROM metadata
  48. WHERE value = '$id'
  49. AND (property_name = 'sentence_set'
  50. OR property_name = 'word_set'
  51. OR property_name = 'document_set');";
  52. $result = mysql_query($sql) or die("<b>A fatal MySQL error occured
  53. create.php l. 50</b>.
  54. <br/> Query: " . $sql . "
  55. <br/> Error: (" . mysql_errno() . ") " . mysql_error());
  56. $to_remove = $parents;
  57. array_push($to_remove, $id);
  58. foreach ($to_remove as $set_id) {
  59. $sql = "SELECT * from filtered_sent_ids";
  60. $result = mysql_query($sql);
  61. while ($row = mysql_fetch_assoc($result)) {
  62. $unit_id = $row['id'];
  63. $sql = "DELETE FROM metadata
  64. WHERE value = '$set_id'
  65. AND unit_id = $unit_id
  66. AND (property_name = 'sentence_set'
  67. OR property_name = 'word_set'
  68. OR property_name = 'document_set');";
  69. mysql_query($sql) or die("<b>A fatal MySQL error occured
  70. create.php l. 50</b>.
  71. <br/> Query: " . $sql . "
  72. <br/> Error: (" . mysql_errno() . ") " . mysql_error());
  73. }
  74. }
  75. $property_name = $type."_set";
  76. // update the main metadata count for this set
  77. updateMainMetadataCounts($id, $property_name);
  78. return array("status"=>"ok");
  79. }
  80. ?>