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

/scanner/Lib/PHPExtBridge.php

https://bitbucket.org/theguly/thaps
PHP | 71 lines | 52 code | 16 blank | 3 comment | 2 complexity | 24c69b76b062210e2b7ef28b2c3eb3f5 MD5 | raw file
Possible License(s): GPL-3.0, BSD-3-Clause
  1. <?php
  2. class PHPExt {
  3. /** @var Mongo */
  4. private static $db;
  5. /** @var MongoCollection */
  6. private static $coll;
  7. /** @var MongoCursor */
  8. private static $data;
  9. private static function connect() {
  10. if (self::$db === null) {
  11. $conf = parse_ini_file(THAPS_DIR ."configuration.ini");
  12. self::$db = @new Mongo('mongodb://'. $conf['db.user'] .":". $conf['db.pass'] .'@'. $conf['db.host'] .':'. $conf['db.port'] .'/local');
  13. self::$coll = self::$db->local->thaps;
  14. }
  15. }
  16. public static function disconnect() {
  17. if (self::$db !== null) {
  18. self::$db->close();
  19. self::$db = null;
  20. }
  21. }
  22. public static function setRequestId($id) {
  23. self::setCustomField("_id", new MongoId($id));
  24. }
  25. public static function setCustomField($field, $value) {
  26. self::connect();
  27. self::$data = @self::$coll->findOne(array($field => $value));
  28. }
  29. public static function exists() {
  30. $id = self::getId();
  31. return !empty($id);
  32. }
  33. public static function getId() {
  34. return "".self::$data["_id"];
  35. }
  36. public static function getRequest() {
  37. return "".self::$data["request"];
  38. }
  39. public static function getFilename() {
  40. return "".self::$data["filename"];
  41. }
  42. public static function getIncludes() {
  43. return self::$data["includes"];
  44. }
  45. public static function getFunctions() {
  46. return self::$data["functions"];
  47. }
  48. public static function getVariables() {
  49. return self::$data["variables"];
  50. }
  51. public static function setVulnerabilities($vulnerabilities) {
  52. self::$data["vulnerabilities"] = $vulnerabilities;
  53. self::$coll->save(self::$data, array("safe" => true));
  54. }
  55. }