utils.inc.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. // the reply's interface sound, played by processJsonData: 'error' or ['cue' => 'success', 'emphasis' => 'subtle']
  28. if(!empty($aParams['cue']))
  29. $aResult['cue'] = $aParams['cue'];
  30. $sResult = "window.parent.processJsonData(" . json_encode($aResult) . ");";
  31. if(isset($aParams['on_page_load']) && $aParams['on_page_load'] === true)
  32. $sResult = "$(document).ready(function() {" . $sResult . "});";
  33. return BxDolStudioTemplate::getInstance()->_wrapInTagJsCode($sResult);
  34. }
  35. function bx_array_insert_before($aInsert, $aSource, $sKey)
  36. {
  37. return bx_array_insert($aInsert, $aSource, $sKey, 0);
  38. }
  39. function bx_array_insert_after($aInsert, $aSource, $sKey)
  40. {
  41. return bx_array_insert($aInsert, $aSource, $sKey, 1);
  42. }
  43. function bx_array_insert($aInsert, $aSource, $sKey, $iDirection = 1)
  44. {
  45. $iPosition = array_search($sKey, array_keys($aSource)) + $iDirection;
  46. if($iPosition == 0)
  47. return $aInsert + $aSource;
  48. if($iPosition == count($aSource))
  49. return $aSource + $aInsert;
  50. return array_slice($aSource, 0, $iPosition, true) + $aInsert + array_slice($aSource, $iPosition, NULL, true);
  51. }
  52. /** @} */