utils.inc.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php defined('BX_DOL') or die('hack attempt');
  2. /**
  3. * Copyright (c) UNA, Inc - https://una.io
  4. * MIT License - https://opensource.org/licenses/MIT
  5. *
  6. * @defgroup UnaStudio UNA Studio
  7. * @{
  8. */
  9. function bx_get_js_result($aParams)
  10. {
  11. $aResult = [];
  12. if(isset($aParams['code']))
  13. $aResult['code'] = $aParams['code'];
  14. if(!empty($aParams['message'])) {
  15. $aResult['message'] = $aParams['message'];
  16. if(!isset($aParams['translate']) || !empty($aParams['translate'])) {
  17. $aTrtParams = array($aResult['message']);
  18. if(!empty($aParams['translate']) && is_array($aParams['translate']))
  19. $aTrtParams = array_merge($aTrtParams, $aParams['translate']);
  20. $aResult['message'] = call_user_func_array ('_t', $aTrtParams);
  21. }
  22. }
  23. if(isset($aParams['redirect']) && $aParams['redirect'] !== false)
  24. $aResult['redirect'] = is_string($aParams['redirect']) ? $aParams['redirect'] : BX_DOL_URL_STUDIO;
  25. if(!empty($aParams['eval']))
  26. $aResult['eval'] = $aParams['eval'];
  27. $sResult = "window.parent.processJsonData(" . json_encode($aResult) . ");";
  28. if(isset($aParams['on_page_load']) && $aParams['on_page_load'] === true)
  29. $sResult = "$(document).ready(function() {" . $sResult . "});";
  30. return BxDolStudioTemplate::getInstance()->_wrapInTagJsCode($sResult);
  31. }
  32. function bx_array_insert_before($aInsert, $aSource, $sKey)
  33. {
  34. return bx_array_insert($aInsert, $aSource, $sKey, 0);
  35. }
  36. function bx_array_insert_after($aInsert, $aSource, $sKey)
  37. {
  38. return bx_array_insert($aInsert, $aSource, $sKey, 1);
  39. }
  40. function bx_array_insert($aInsert, $aSource, $sKey, $iDirection = 1)
  41. {
  42. $iPosition = array_search($sKey, array_keys($aSource)) + $iDirection;
  43. if($iPosition == 0)
  44. return $aInsert + $aSource;
  45. if($iPosition == count($aSource))
  46. return $aSource + $aInsert;
  47. return array_slice($aSource, 0, $iPosition, true) + $aInsert + array_slice($aSource, $iPosition, NULL, true);
  48. }
  49. /** @} */