PageRenderTime 39ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/concreteOLD/single_pages/dashboard/pages/types/composer.php

https://bitbucket.org/selfeky/xclusivescardwebsite
PHP | 255 lines | 207 code | 48 blank | 0 comment | 22 complexity | 15d8babce1b79fc650f5deb511e1dca9 MD5 | raw file
  1. <?php
  2. defined('C5_EXECUTE') or die("Access Denied.");
  3. ?>
  4. <?php
  5. $form = Loader::helper('form');
  6. $html = Loader::helper('html');
  7. $ih = Loader::helper('concrete/interface');
  8. $cap = Loader::helper('concrete/dashboard');
  9. $ctArray = CollectionType::getList();
  10. ?>
  11. <!-- START Composer Settings pane -->
  12. <?php echo Loader::helper('concrete/dashboard')->getDashboardPaneHeaderWrapper(t('Composer Settings'), false, false, false);?>
  13. <?php
  14. if ($cap->canAccessComposer()) { ?>
  15. <form method="post" action="<?php echo $this->action('save')?>">
  16. <div class="ccm-pane-body">
  17. <?php echo $form->hidden('ctID', $ct->getCollectionTypeID()); ?>
  18. <table cellspacing="0" cellpadding="0" border="0">
  19. <thead>
  20. <tr>
  21. <th class="header"><?php echo t('Included in Composer?')?></th>
  22. </tr>
  23. </thead>
  24. <tbody>
  25. <tr class="inputs-list">
  26. <td>
  27. <label>
  28. <?php echo $form->checkbox('ctIncludeInComposer', 1, $ct->isCollectionTypeIncludedInComposer() == 1)?>
  29. <span><?php echo t('Yes, include this page type in Composer.')?></span>
  30. </label>
  31. </td>
  32. </tr>
  33. </tbody>
  34. </table>
  35. <table cellspacing="0" cellpadding="0" border="0">
  36. <thead>
  37. <tr>
  38. <th class="subheader"><?php echo t('Composer Publishing Settings')?></th>
  39. </tr>
  40. </thead>
  41. <tbody>
  42. <tr class="row-composer inputs-list">
  43. <td>
  44. <label>
  45. <?php echo $form->radio('ctComposerPublishPageMethod', 'CHOOSE', $ct->getCollectionTypeComposerPublishMethod() == 'CHOOSE' || $ct->getCollectionTypeComposerPublishMethod == null)?>
  46. <span><?php echo t('Choose from all pages when publishing.')?></span>
  47. </label>
  48. <label>
  49. <?php echo $form->radio('ctComposerPublishPageMethod', 'PAGE_TYPE', $ct->getCollectionTypeComposerPublishMethod() == 'PAGE_TYPE')?>
  50. <span><?php echo t('Choose from pages of a certain type when publishing.')?></span>
  51. </label>
  52. <div style="display: none; padding: 10px" id="ccm-composer-choose-parent-page-type">
  53. <?php
  54. $types = array();
  55. foreach($ctArray as $cta) {
  56. $types[$cta->getCollectionTypeID()] = $cta->getCollectionTypeName();
  57. }
  58. ?>
  59. <?php echo $form->select('ctComposerPublishPageTypeID', $types, $ct->getCollectionTypeComposerPublishPageTypeID())?>
  60. </div>
  61. <label>
  62. <?php echo $form->radio('ctComposerPublishPageMethod', 'PARENT', $ct->getCollectionTypeComposerPublishMethod() == 'PARENT')?>
  63. <span><?php echo t('Always publish below a certain page.')?></span>
  64. </label>
  65. <div style="display: none; padding: 10px" id="ccm-composer-choose-parent">
  66. <?php
  67. $pf = Loader::helper('form/page_selector');
  68. print $pf->selectPage('ctComposerPublishPageParentID', $ct->getCollectionTypeComposerPublishPageParentID());
  69. ?>
  70. </div>
  71. </td>
  72. </tr>
  73. </tbody>
  74. </table>
  75. <table cellspacing="0" cellpadding="0" border="0">
  76. <thead>
  77. <tr class="row-composer">
  78. <th colspan="3" class="subheader"><?php echo t('Attributes to Display in Composer')?></th>
  79. </tr>
  80. </thead>
  81. <tbody>
  82. <?php
  83. $selectedAttributes = array();
  84. $cpattribs = $ct->getComposerAttributeKeys();
  85. foreach($cpattribs as $cpa) {
  86. $selectedAttributes[] = $cpa->getAttributeKeyID();
  87. }
  88. $attribs = CollectionAttributeKey::getList();
  89. $i = 0;
  90. foreach($attribs as $ak) {
  91. if ($i == 0) { ?>
  92. <tr class="row-composer inputs-list">
  93. <?php } ?>
  94. <td width="33%">
  95. <label>
  96. <?php echo $form->checkbox('composerAKID[]', $ak->getAttributeKeyID(), in_array($ak->getAttributeKeyID(), $selectedAttributes))?>
  97. <span><?php echo $ak->getAttributeKeyName()?></span>
  98. </label>
  99. </td>
  100. <?php $i++;
  101. if ($i == 3) { ?>
  102. </tr>
  103. <?php
  104. $i = 0;
  105. }
  106. }
  107. if ($i < 3 && $i > 0) {
  108. for ($j = $i; $j < 3; $j++) { ?>
  109. <td>&nbsp;</td>
  110. <?php }
  111. ?></tr>
  112. <?php } ?>
  113. </tbody>
  114. </table>
  115. <table cellspacing="0" cellpadding="0" border="0">
  116. <thead>
  117. <tr>
  118. <th class="header"><?php echo t('Composer Content Order')?></th>
  119. </tr>
  120. </thead>
  121. <tbody>
  122. <tr>
  123. <td>
  124. <div class="ccm-composer-content-item-list">
  125. <?php
  126. $cur = Loader::helper('concrete/urls');
  127. foreach($contentitems as $ci) {
  128. if ($ci instanceof AttributeKey) {
  129. $ak = $ci;
  130. ?>
  131. <div class="ccm-composer-content-item" id="item_akID<?php echo $ak->getAttributeKeyID()?>">
  132. <img class="ccm-composer-content-item-icon" src="<?php echo $ak->getAttributeKeyIconSRC()?>" width="16" height="16" /><?php echo $ak->getAttributeKeyName()?>
  133. </div>
  134. <?php } else if ($ci instanceof Block) {
  135. $b = $ci; ?>
  136. <div class="ccm-composer-content-item" id="item_bID<?php echo $b->getBlockID()?>">
  137. <img class="ccm-composer-content-item-icon" src="<?php echo $cur->getBlockTypeIconURL($b)?>" width="16" height="16" /><?php
  138. if ($b->getBlockName()) {
  139. print $b->getBlockName();
  140. } else {
  141. print $b->getBlockTypeName();
  142. }
  143. ?>
  144. </div>
  145. <?php } ?>
  146. <?php } ?>
  147. </div>
  148. </td>
  149. </tr>
  150. </tbody>
  151. </table>
  152. </div>
  153. <div class="ccm-pane-footer">
  154. <?php print $ih->submit(t('Save'), 'update', 'right', 'primary'); ?>
  155. <?php print $ih->button(t('Back to Page Types'), $this->url('/dashboard/pages/types'), 'left'); ?>
  156. </div>
  157. </form>
  158. <script type="text/javascript">
  159. ccm_setupComposerFields = function() {
  160. if ($("input[name=ctIncludeInComposer]").prop('checked')) {
  161. $(".row-composer input, .row-composer select").attr('disabled', false);
  162. } else {
  163. $(".row-composer input, .row-composer select").attr('disabled', 'true');
  164. }
  165. var val = $('input[name=ctComposerPublishPageMethod]:checked').val();
  166. switch(val) {
  167. case 'PAGE_TYPE':
  168. $("#ccm-composer-choose-parent-page-type").show();
  169. $("#ccm-composer-choose-parent").hide();
  170. break;
  171. case 'PARENT':
  172. $("#ccm-composer-choose-parent-page-type").hide();
  173. $("#ccm-composer-choose-parent").show();
  174. break;
  175. default:
  176. $("#ccm-composer-choose-parent-page-type").hide();
  177. $("#ccm-composer-choose-parent").hide();
  178. break;
  179. }
  180. $("div.ccm-composer-content-item-list").sortable({
  181. handle: 'img.ccm-composer-content-item-icon',
  182. cursor: 'move',
  183. opacity: 0.5,
  184. stop: function() {
  185. var ualist = $(this).sortable('serialize');
  186. $.post('<?php echo $this->action("save_content_items", $ct->getCollectionTypeID())?>', ualist, function(r) {
  187. });
  188. }
  189. });
  190. }
  191. $(function() {
  192. $("input[name=ctIncludeInComposer], input[name=ctComposerPublishPageMethod]").click(function() {
  193. ccm_setupComposerFields();
  194. });
  195. ccm_setupComposerFields();
  196. });
  197. </script>
  198. <?php } else { ?>
  199. <div class="ccm-pane-body">
  200. <p><?php echo t('Unable to access composer settings.'); ?></p>
  201. </div>
  202. <div class="ccm-pane-footer">
  203. <?php print $ih->button(t('Back to Page Types'), $this->url('/dashboard/pages/types'), 'left'); ?>
  204. </div>
  205. <?php } ?>
  206. <?php echo Loader::helper('concrete/dashboard')->getDashboardPaneFooterWrapper(false)?>
  207. <!-- END Composer Settings pane -->