/Programadores/DBCola/DB_functions - Versao Single Columns/get_topLanguages_v4.php

https://github.com/iptomar/codematch_11-12 · PHP · 104 lines · 59 code · 24 blank · 21 comment · 1 complexity · d5509ca7f51eaa86e0e023a1257db8e4 MD5 · raw file

  1. <?php
  2. require_once('phpcassa/connection.php');
  3. require_once('phpcassa/columnfamily.php');
  4. function get_top($rep){
  5. $conn = new Connection('tolmai');
  6. $column_family= new ColumnFamily($conn,'tm');
  7. //Languages array
  8. $arr= array( 1 => "ActionScript", 2 => "ADA" ,3 => "asp" , 4 =>"AspectJ" ,5 => "Assembly", 6 => "autoIt",7 => "awk", 8 => "bash", +
  9. 9 => "Batch" , 10 => "C",11 => "C++",12 => "C#",13 => "Caml", 14 => "CMakeFile" , 15 => "CUDA",16 => "CSS", 17 => "COBOL", +
  10. 18=>"D",19=>"DIFF",20=>"Dos Style",21=> "Dos Style",22=> "Fortran",23=> "Fortran",24=> "Haskell",25=> "HTML",26=>"Ini file",27=>"InnoSetup", +
  11. 28=> "Java",29=> "JavaScript",30=> "JSP",31=> "KiXtart",32=> "LISP",33=> "Lua",34=>"Makefile",35=>"Matlab",36=>"NSIS", +
  12. 37=>"Objective-C",38=> "Pascal",39=> "Perl",40=>"Php",41=> "Portugol",42=> "Postscript",43=> "PowerShell",44=> "Python", +
  13. 45=>"R",46=> "RC",47=> "Ruby" ,48=> "Scheme",49=> "Smaltalk" ,50=>"SQL" ,50=> "TCL" ,51=>"TeX",52=> "VB/VBS",53=> "Verilog",54=> "VHDL",55=> "XML",+
  14. 56=>"n/a", 57=>"Delphi/Kylix",58=>"Vala",59=>"Object Pascal",60=>"Common Lisp");
  15. $converted_array = array_map("strtoupper", $arr);
  16. $temp = new ColumnFamily($conn, 'temp'); // ColumnFamily
  17. //
  18. //for ($i = 1; $i <= $counter; $i++ ){
  19. $index_Git = CassandraUtil::create_index_expression('tm_repository',$rep);
  20. $index_clause_Git = CassandraUtil::create_index_clause(array($index_Git),'', $column_count=1);
  21. $rows = $column_family->get_indexed_slices($index_clause_Git);
  22. foreach($rows as $key => $columns) {
  23. $temp-> insert($key,array("tm_fullname" => $columns['tm_fullname']));
  24. $temp-> insert($key,array("tm_source" => $columns['tm_source']));
  25. $temp-> insert($key,array("tm_repository" => $columns['tm_repository']));
  26. $temp-> insert($key,array("tm_language_P" => $columns['tm_language_P']));
  27. $temp-> insert($key,array("tm_language_S" => $columns['tm_language_S']));
  28. $temp-> insert($key,array("tm_language_T" => $columns['tm_language_T']));
  29. $temp-> insert($key,array("tm_author" => $columns['tm_author']));
  30. $temp-> insert($key,array("tm_date_c" => $columns['tm_date_c']));
  31. $temp-> insert($key,array("tm_date_l" => $columns['tm_date_l']));
  32. $temp-> insert($key,array("tm_logo" => $columns['tm_logo']));
  33. }
  34. //}
  35. //lang counter array
  36. $arr_lang = array();
  37. //limit
  38. $counter = count($arr);
  39. //------------------- Search language ----------------
  40. for ($i = 1; $i <= $counter; $i++ ){
  41. //--Lang_P search --
  42. $index_exp = CassandraUtil::create_index_expression('tm_language_P',$converted_array[$i]);
  43. $index_clause = CassandraUtil::create_index_clause(array($index_exp),'', $column_count=10000);
  44. $rows = $temp->get_indexed_slices($index_clause);
  45. // returns an Iterator over;
  46. //language Counter
  47. $count =0;
  48. foreach($rows as $key => $columns) {
  49. //count matches
  50. $count++;
  51. }
  52. //--Lang_S search --
  53. $index_exp = CassandraUtil::create_index_expression('tm_language_S',$converted_array[$i]);
  54. $index_clause = CassandraUtil::create_index_clause(array($index_exp));
  55. $rows = $column_family->get_indexed_slices($index_clause);
  56. // returns an Iterator over;
  57. foreach($rows as $key => $columns) {
  58. //count matches
  59. $count++;
  60. }
  61. //--Lang_T search --
  62. $index_exp = CassandraUtil::create_index_expression('tm_language_T',$converted_array[$i]);
  63. $index_clause = CassandraUtil::create_index_clause(array($index_exp));
  64. $rows = $column_family->get_indexed_slices($index_clause);
  65. // returns an Iterator over;
  66. foreach($rows as $key => $columns) {
  67. //count matches
  68. $count++;
  69. }
  70. //--------------- End Search language ----------------
  71. //assume key - language
  72. $lang = $converted_array[$i];
  73. //add to lang counter array
  74. $arr_lang[$lang] = $count;
  75. }
  76. //sort array
  77. arsort($arr_lang);
  78. return ($arr_lang);
  79. }
  80. ?>