config.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <?php
  2. global $lang, $app;
  3. $config->doc = new stdclass();
  4. $config->doc->createlib = new stdclass();
  5. $config->doc->editlib = new stdclass();
  6. $config->doc->create = new stdclass();
  7. $config->doc->createTemplate = new stdclass();
  8. $config->doc->edit = new stdclass();
  9. $config->doc->showfiles = new stdclass();
  10. $config->doc->createlib->requiredFields = 'name';
  11. $config->doc->editlib->requiredFields = 'name';
  12. $config->doc->create->requiredFields = 'lib,title';
  13. $config->doc->createTemplate->requiredFields = 'lib,title';
  14. $config->doc->edit->requiredFields = 'lib,title';
  15. $config->doc->customObjectLibs = 'files,customFiles';
  16. $config->doc->notArticleType = 'chapter';
  17. $config->doc->officeTypes = 'word,ppt,excel,attachment';
  18. $config->doc->textTypes = 'html,markdown,text';
  19. $config->doc->docTypes = 'text,word,ppt,excel,url,article,attachment';
  20. $config->doc->saveDraftInterval = '60';
  21. $config->doc->custom = new stdclass();
  22. $config->doc->custom->objectLibs = $config->doc->customObjectLibs;
  23. $config->doc->custom->showLibs = 'zero,children';
  24. $config->doc->editor = new stdclass();
  25. $config->doc->editor->create = array('id' => 'content', 'tools' => 'docTools');
  26. $config->doc->editor->edit = array('id' => 'content', 'tools' => 'docTools');
  27. $config->doc->editor->view = array('id' => 'comment,lastComment', 'tools' => 'simple');
  28. $config->doc->editor->objectlibs = array('id' => 'comment,lastComment', 'tools' => 'simple');
  29. $config->doc->markdown = new stdclass();
  30. $config->doc->markdown->create = array('id' => 'contentMarkdown', 'tools' => 'withchange');
  31. $config->doc->iconList['html'] = 'rich-text';
  32. $config->doc->iconList['markdown'] = 'markdown';
  33. $config->doc->iconList['url'] = 'text-link';
  34. $config->doc->iconList['text'] = 'wiki-file';
  35. $config->doc->iconList['template'] = 'wiki-file';
  36. $config->doc->iconList['word'] = 'word';
  37. $config->doc->iconList['ppt'] = 'ppt';
  38. $config->doc->iconList['excel'] = 'excel';
  39. $config->doc->iconList['attachment'] = 'attachment';
  40. $config->doc->objectIconList['product'] = 'icon-product';
  41. $config->doc->objectIconList['project'] = 'icon-project';
  42. $config->doc->objectIconList['execution'] = 'icon-run';
  43. $config->doc->objectIconList['mine'] = 'icon-contacts';
  44. $config->doc->objectIconList['custom'] = 'icon-groups';
  45. $config->doc->spaceMethod['mine'] = 'myspace';
  46. $config->doc->spaceMethod['view'] = 'myspace';
  47. $config->doc->spaceMethod['collect'] = 'myspace';
  48. $config->doc->spaceMethod['createdby'] = 'myspace';
  49. $config->doc->spaceMethod['editedby'] = 'myspace';
  50. $config->doc->spaceMethod['product'] = 'productspace';
  51. $config->doc->spaceMethod['project'] = 'projectspace';
  52. $config->doc->spaceMethod['execution'] = 'projectspace';
  53. $config->doc->spaceMethod['custom'] = 'teamspace';
  54. $config->doc->spaceMethod['custom'] = 'teamspace';
  55. $config->doc->search['module'] = 'doc';
  56. $config->doc->search['fields']['title'] = $lang->doc->title;
  57. $config->doc->search['fields']['id'] = $lang->doc->id;
  58. $config->doc->search['fields']['product'] = $lang->doc->product;
  59. if($app->rawMethod == 'contribute') $config->doc->search['fields']['project'] = $lang->doc->project;
  60. $config->doc->search['fields']['execution'] = $lang->doc->execution;
  61. $config->doc->search['fields']['lib'] = $lang->doc->lib;
  62. $config->doc->search['fields']['status'] = $lang->doc->status;
  63. $config->doc->search['fields']['module'] = $lang->doc->module;
  64. $config->doc->search['fields']['addedBy'] = $lang->doc->addedBy;
  65. $config->doc->search['fields']['addedDate'] = $lang->doc->addedDate;
  66. $config->doc->search['fields']['editedBy'] = $lang->doc->editedBy;
  67. $config->doc->search['fields']['editedDate'] = $lang->doc->editedDate;
  68. $config->doc->search['fields']['keywords'] = $lang->doc->keywords;
  69. $config->doc->search['fields']['version'] = $lang->doc->version;
  70. $config->doc->search['params']['title'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
  71. $config->doc->search['params']['product'] = array('operator' => '=', 'control' => 'select', 'values' => '');
  72. $config->doc->search['params']['lib'] = array('operator' => '=', 'control' => 'select', 'values' => '');
  73. $config->doc->search['params']['status'] = array('operator' => '=', 'control' => 'select', 'values' => $lang->doc->statusList);
  74. $config->doc->search['params']['module'] = array('operator' => 'belong', 'control' => 'select', 'values' => '');
  75. if($app->rawMethod == 'contribute') $config->doc->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => '');
  76. $config->doc->search['params']['execution'] = array('operator' => '=', 'control' => 'select', 'values' => '');
  77. $config->doc->search['params']['addedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
  78. $config->doc->search['params']['addedDate'] = array('operator' => '=', 'control' => 'date', 'values' => '');
  79. $config->doc->search['params']['editedBy'] = array('operator' => '=', 'control' => 'select', 'values' => 'users');
  80. $config->doc->search['params']['editedDate'] = array('operator' => '=', 'control' => 'date', 'values' => '');
  81. $config->doc->search['params']['keywords'] = array('operator' => 'include', 'control' => 'input', 'values' => '');
  82. $config->doc->search['params']['version'] = array('operator' => '=', 'control' => 'input', 'values' => '');
  83. $config->doc->actionList['movedoc']['icon'] = 'folder-move';
  84. $config->doc->actionList['movedoc']['hint'] = $lang->doc->moveDocAction;
  85. $config->doc->actionList['movedoc']['text'] = $lang->doc->moveDocAction;
  86. $config->doc->actionList['movedoc']['url'] = helper::createLink('doc', 'moveDoc', 'docID={id}');
  87. $config->doc->actionList['movedoc']['data-toggle'] = 'modal';
  88. $config->doc->actionList['movedoc']['data-size'] = 'sm';
  89. $config->doc->actionList['edit']['icon'] = 'edit';
  90. $config->doc->actionList['edit']['hint'] = $lang->edit;
  91. $config->doc->actionList['edit']['text'] = $lang->edit;
  92. $config->doc->actionList['edit']['url'] = helper::createLink('doc', 'edit', 'docID={id}');
  93. $config->doc->actionList['edit']['data-app'] = $app->tab;
  94. $config->doc->actionList['delete']['icon'] = 'trash';
  95. $config->doc->actionList['delete']['hint'] = $lang->delete;
  96. $config->doc->actionList['delete']['text'] = $lang->delete;
  97. $config->doc->actionList['delete']['url'] = helper::createLink('doc', 'delete', 'docID={id}');
  98. $config->doc->actionList['delete']['className'] = 'ajax-submit';
  99. $config->doc->actionList['delete']['data-confirm'] = array('message' => $lang->doc->confirmDelete, 'icon' => 'icon-exclamation-sign', 'iconClass' => 'warning-pale rounded-full icon-2x');
  100. $config->doc->showfiles->actionList['download']['icon'] = 'import';
  101. $config->doc->showfiles->actionList['download']['hint'] = $lang->doc->download;
  102. $config->doc->showfiles->actionList['download']['text'] = $lang->doc->download;
  103. $config->doc->showfiles->actionList['download']['url'] = array('module' => 'file', 'method' => 'download', 'params' => 'fileID={id}');
  104. $config->doc->showfiles->actionList['download']['target'] = '_blank';
  105. $config->doc->quickMenu = array();
  106. $config->doc->quickMenu['view'] = array('id' => 1, 'name' => $lang->doc->myView);
  107. $config->doc->quickMenu['createdby'] = array('id' => 2, 'name' => $lang->doc->myCreation);
  108. $config->doc->quickMenu['collect'] = array('id' => 3, 'name' => $lang->doc->myCollection);
  109. $config->doc->quickMenu['editedby'] = array('id' => 4, 'name' => $lang->doc->myEdited);
  110. $config->doc->zentaoListMenuPosition = 22;
  111. $config->doc->templateTypeParents = array();
  112. $config->doc->templateTypeParents['PP'] = 'plan';
  113. $config->doc->templateTypeParents['QAP'] = 'plan';
  114. $config->doc->templateTypeParents['CMP'] = 'plan';
  115. $config->doc->templateTypeParents['ITP'] = 'plan';
  116. $config->doc->templateTypeParents['STP'] = 'plan';
  117. $config->doc->templateTypeParents['ERS'] = 'story';
  118. $config->doc->templateTypeParents['URS'] = 'story';
  119. $config->doc->templateTypeParents['SRS'] = 'story';
  120. $config->doc->templateTypeParents['HLDS'] = 'design';
  121. $config->doc->templateTypeParents['DDS'] = 'design';
  122. $config->doc->templateTypeParents['DBDS'] = 'design';
  123. $config->doc->templateTypeParents['ADS'] = 'design';
  124. $config->doc->templateTypeParents['Code'] = 'dev';
  125. $config->doc->templateTypeParents['ITTC'] = 'test';
  126. $config->doc->templateTypeParents['STTC'] = 'test';
  127. $config->doc->templateTypeParents['UM'] = 'desc';
  128. $config->doc->zentaoList = array();
  129. $config->doc->zentaoList['story'] = array('key' => 'story', 'name' => $lang->doc->zentaoList['story'] . $lang->doc->list, 'icon' => 'lightbulb', 'subMenu' => array(), 'priv' => 'storyBrowse');
  130. $config->doc->zentaoList['task'] = array('key' => 'task', 'name' => $lang->doc->zentaoList['task'] . $lang->doc->list, 'icon' => 'check-sign', 'module' => 'execution', 'method' => 'task', 'params' => 'execution=0&status=unclosed&param=0&orderBy=&recTotal=0&recPerPage=100&pageID=1&from=doc', 'priv' => 'taskBrowse');
  131. $config->doc->zentaoList['case'] = array('key' => 'case', 'name' => $lang->doc->zentaoList['case'] . $lang->doc->list, 'icon' => 'testcase', 'subMenu' => array(), 'priv' => 'caseBrowse', 'vision' => array('rnd'));
  132. $config->doc->zentaoList['bug'] = array('key' => 'bug', 'name' => $lang->doc->zentaoList['bug'] . $lang->doc->list, 'icon' => 'bug', 'subMenu' => array(), 'priv' => 'bugBrowse');
  133. $config->doc->zentaoList['more'] = array('key' => 'more', 'name' => $lang->doc->zentaoList['more'] . $lang->doc->list, 'icon' => 'ellipsis-v', 'subMenu' => array());
  134. $config->doc->zentaoList['story']['subMenu'][] = array('key' => 'productStory', 'name' => $lang->doc->zentaoList['productStory'] . $lang->doc->list, 'icon' => 'lightbulb-alt', 'module' => 'product', 'method' => 'browse', 'params' => 'productID=0&branch=all&browseType=&param=0&storyType=story&orderBy=&recTotal=0&recPerPage=20&pageID=1&projectID=0&from=doc', 'priv' => 'productStory');
  135. $config->doc->zentaoList['story']['subMenu'][] = array('key' => 'projectStory', 'name' => $lang->doc->zentaoList['projectStory'] . $lang->doc->list, 'icon' => 'project', 'module' => 'projectStory', 'method' => 'story', 'params' => 'projectID=0&productID=0&branch=&browseTyp=&param=0&storyType=story&orderBy=id_desc&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'projectStory');
  136. $config->doc->zentaoList['story']['subMenu'][] = array('key' => 'executionStory', 'name' => $lang->doc->zentaoList['executionStory'] . $lang->doc->list, 'icon' => 'run', 'module' => 'execution', 'method' => 'story', 'params' => 'executionID=0&storyType=story&orderBy=&type=all&param=0&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'executionStory');
  137. $config->doc->zentaoList['story']['subMenu'][] = array('key' => 'planStory', 'name' => $lang->doc->zentaoList['planStory'] . $lang->doc->list, 'icon' => 'productplan', 'module' => 'productplan', 'method' => 'story', 'params' => 'productID=0&planID=0&blockID=0', 'priv' => 'productplanView');
  138. $config->doc->zentaoList['case']['subMenu'][] = array('key' => 'productCase', 'name' => $lang->doc->zentaoList['productCase'] . $lang->doc->list, 'icon' => 'lightbulb-alt', 'module' => 'testcase', 'method' => 'browse', 'params' => 'productID=0&branch=&browseType=all&param=0&caseType=&orderBy=sort_asc,id_desc&recTotal=0&recPerPage=20&pageID=1&projectID=0&from=doc', 'priv' => 'productCase');
  139. if(helper::hasFeature('caselib')) $config->doc->zentaoList['case']['subMenu'][] = array('key' => 'caselib', 'name' => $lang->doc->zentaoList['caselib'] . $lang->doc->list, 'icon' => 'usecase', 'module' => 'caselib', 'method' => 'browse', 'params' => 'libID=0&browseType=all&param=0&orderBy=id_desc&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'caselibBrowse');
  140. $config->doc->zentaoList['bug']['subMenu'][] = array('key' => 'productBug', 'name' => $lang->doc->zentaoList['productBug'] . $lang->doc->list, 'icon' => 'lightbulb-alt', 'module' => 'bug', 'method' => 'browse', 'params' => 'productID=0&branch=&browseType=&param=0&orderBy=&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'productBug');
  141. $config->doc->zentaoList['bug']['subMenu'][] = array('key' => 'planBug', 'name' => $lang->doc->zentaoList['planBug'] . $lang->doc->list, 'icon' => 'productplan', 'module' => 'productplan', 'method' => 'bug', 'params' => 'productID=0&planID=0&blockID=0', 'priv' => 'productplanView');
  142. $config->doc->zentaoList['more']['subMenu'][] = array('key' => 'productPlan', 'name' => $lang->doc->zentaoList['productPlan'] . $lang->doc->list, 'icon' => 'productplan', 'module' => 'productplan', 'method' => 'browse', 'params' => 'productID=0&branch=&browseType=undone&queryID=0&orderBy=begin_desc&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'productplanBrowse');
  143. $config->doc->zentaoList['more']['subMenu'][] = array('key' => 'productRelease', 'name' => $lang->doc->zentaoList['productRelease'] . $lang->doc->list, 'icon' => 'send', 'module' => 'release', 'method' => 'browse', 'params' => 'productID=0&branch=all&type=all&orderBy=&param=0&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'releaseBrowse');
  144. $config->doc->zentaoList['more']['subMenu'][] = array('key' => 'projectRelease', 'name' => $lang->doc->zentaoList['projectRelease'] . $lang->doc->list, 'icon' => 'send', 'module' => 'projectRelease', 'method' => 'browse', 'params' => 'projectID=0&executionID=0&type=all&orderBy=&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'projectReleaseBrowse');
  145. $config->doc->zentaoList['more']['subMenu'][] = array('key' => 'ER', 'name' => $lang->doc->zentaoList['ER'] . $lang->doc->list, 'icon' => 'lightbulb-alt', 'module' => 'product', 'method' => 'browse', 'params' => 'productID=0&branch=all&browseType=&param=0&storyType=epic&orderBy=&recTotal=0&recPerPage=20&pageID=1&projectID=0&from=doc', 'priv' => 'epicBrowse');
  146. $config->doc->zentaoList['more']['subMenu'][] = array('key' => 'UR', 'name' => $lang->doc->zentaoList['UR'] . $lang->doc->list, 'icon' => 'customer', 'module' => 'product', 'method' => 'browse', 'params' => 'productID=0&branch=all&browseType=&param=0&storyType=requirement&orderBy=&recTotal=0&recPerPage=20&pageID=1&projectID=0&from=doc', 'priv' => 'requirementBrowse');
  147. if(in_array($config->edition, array('biz', 'max', 'ipd')))
  148. {
  149. $config->doc->zentaoList['more']['subMenu'][] = array('key' => 'feedback', 'name' => $lang->doc->zentaoList['feedback'] . $lang->doc->list, 'icon' => 'feedback', 'module' => 'feedback', 'method' => 'admin', 'params' => 'browseType=wait&param=0&orderBy=editedDate_desc,id_desc&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'feedbackBrowse');
  150. $config->doc->zentaoList['more']['subMenu'][] = array('key' => 'ticket', 'name' => $lang->doc->zentaoList['ticket'] . $lang->doc->list, 'icon' => 'support-ticket', 'module' => 'ticket', 'method' => 'browse', 'params' => 'browseType=wait&param=0&orderBy=id_desc&recTotal=0&recPerPage=20&pageID=1&from=doc', 'priv' => 'ticketBrowse');
  151. }
  152. if(in_array($config->edition, array('max', 'ipd'))) $config->doc->zentaoList['gantt'] = array('key' => 'gantt', 'name' => $lang->doc->zentaoList['gantt'], 'icon' => 'gantt', 'isModal' => true, 'module' => 'programPlan', 'method' => 'browse', "params" => 'projectID=0&productID=0&type=gantt&orderBy=id_asc&baselineID=0&browseType=&queryID=0&from=doc', 'priv' => 'programplanBrowse');
  153. //$config->doc->zentaoList['storyView'] = array('key' => 'storyView', 'name' => $lang->doc->zentaoList['story'] . $lang->doc->detail, 'icon' => 'lightbulb', 'priv' => 'storyView');
  154. //$config->doc->zentaoList['taskView'] = array('key' => 'taskView', 'name' => $lang->doc->zentaoList['task'] . $lang->doc->detail, 'icon' => 'check-sign', 'priv' => 'taskView');
  155. //$config->doc->zentaoList['caseView'] = array('key' => 'caseView', 'name' => $lang->doc->zentaoList['case'] . $lang->doc->detail, 'icon' => 'testcase', 'priv' => 'caseView');
  156. //$config->doc->zentaoList['bugView'] = array('key' => 'bugView', 'name' => $lang->doc->zentaoList['bug'] . $lang->doc->detail, 'icon' => 'bug', 'priv' => 'bugView');
  157. //$config->doc->zentaoList['moreView'] = array('key' => 'moreView', 'name' => $lang->doc->zentaoList['more'] . $lang->doc->detail, 'icon' => 'ellipsis-v', 'subMenu' => array());
  158. //
  159. //$config->doc->zentaoList['moreView']['subMenu'][] = array('key' => 'productPlanView', 'name' => $lang->doc->zentaoList['productPlan'] . $lang->doc->detail, 'icon' => 'productplan', 'priv' => 'productplanView');
  160. //$config->doc->zentaoList['moreView']['subMenu'][] = array('key' => 'productReleaseView', 'name' => $lang->doc->zentaoList['productRelease'] . $lang->doc->detail, 'icon' => 'send', 'priv' => 'releaseView');
  161. //if(in_array($config->edition, array('biz', 'max', 'ipd')))
  162. //{
  163. // $config->doc->zentaoList['moreView']['subMenu'][] = array('key' => 'feedbackView', 'name' => $lang->doc->zentaoList['feedback'] . $lang->doc->detail, 'icon' => 'feedback', 'priv' => 'feedbackView');
  164. // $config->doc->zentaoList['moreView']['subMenu'][] = array('key' => 'ticketView', 'name' => $lang->doc->zentaoList['ticket'] . $lang->doc->detail, 'icon' => 'support-ticket', 'priv' => 'ticketView');
  165. //}