browse.max.html.hook.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace zin;
  3. global $lang, $config, $app;
  4. $product = data('product');
  5. $projectID = data('projectID');
  6. $branch = data('branch');
  7. $orderBy = data('orderBy');
  8. $browseType = data('browseType');
  9. $storyType = data('storyType');
  10. $stories = data('stories');
  11. if(empty($product)) return false;
  12. $canBeChanged = common::canModify('product', $product);
  13. if(!empty($project)) $canBeChanged = $canBeChanged && common::canModify('project', $project);
  14. $isProjectStory = $app->tab == 'project';
  15. $moduleName = $isProjectStory ? 'projectstory' : $storyType;
  16. $canExport = hasPriv($moduleName, 'export');
  17. $canExportTemplate = hasPriv($moduleName, 'exportTemplate');
  18. $canImportFromLib = hasPriv('projectstory', 'importFromLib') && $config->vision != 'lite';
  19. $exportLink = createLink($moduleName, 'export', "productID={$product->id}&orderBy={$orderBy}&executionID={$projectID}&browseType={$browseType}&storyType={$storyType}");
  20. $exportTemplateLink = createLink($moduleName, 'exportTemplate', "productID={$product->id}&branch={$branch}&type={$storyType}");
  21. $importLink = createLink($moduleName, 'import', "productID={$product->id}&branch={$branch}&type={$storyType}&projectID={$projectID}");
  22. $importFromLibLink = createLink('projectstory', 'importFromLib', "projectID={$projectID}&productID={$product->id}&libID=0&storyType={$storyType}");
  23. $exportItem = array('text' => $lang->story->export, 'data-toggle' => 'modal', 'data-size' => 'sm', 'url' => $exportLink);
  24. $exportTemplateItem = array('text' => $lang->story->exportTemplate, 'data-toggle' => 'modal', 'data-size' => 'sm', 'url' => $exportTemplateLink);
  25. $importItems = array();
  26. if($canBeChanged && hasPriv($moduleName, 'import')) $importItems[] = array('text' => $lang->story->import, 'data-toggle' => 'modal', 'data-size' => 'sm', 'url' => $importLink);
  27. if($canBeChanged && $canImportFromLib && $app->tab == 'project') $importItems[] = array('text' => $lang->projectstory->importFromLib, 'url' => $importFromLibLink);
  28. query('#exportBtn')->replaceWith(
  29. $canExport && $canExportTemplate ? dropdown
  30. (
  31. btn
  32. (
  33. setID('exportBtn'),
  34. setClass('btn ghost square dropdown-toggle'),
  35. set::icon('export')
  36. ),
  37. set::items(array($exportItem, $exportTemplateItem)),
  38. set::placement('bottom-end')
  39. ) : null,
  40. $canExport && !$canExportTemplate ? btn(setID('exportBtn'), setClass('toolbar-item ghost btn btn-default'), set::url($exportLink), set::icon('export'), setData('toggle', 'modal'), setData('size', 'sm'), $lang->story->export) : null,
  41. $canExportTemplate && !$canExport ? btn(setID('exportBtn'), setClass('toolbar-item ghost btn btn-default'), set::url($exportTemplateLink), set::icon('export'), setData('toggle', 'modal'), setData('size', 'sm'), $lang->story->exportTemplate) : null,
  42. !empty($importItems) ? dropdown
  43. (
  44. btn
  45. (
  46. setID('importBtn'),
  47. setClass('btn ghost square dropdown-toggle'),
  48. set::icon('import')
  49. ),
  50. set::items($importItems),
  51. set::placement('bottom-end')
  52. ): null
  53. );