PageRenderTime 22ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/web/concrete/single_pages/dashboard/scrapbook/view.php

https://github.com/ayamyau/concrete5
PHP | 390 lines | 323 code | 41 blank | 26 comment | 21 complexity | 5cc875a513df3a301a99b149618c080f MD5 | raw file
  1. <?
  2. $ih = Loader::helper('concrete/interface');
  3. $ci = Loader::helper('concrete/urls');
  4. $valt = Loader::helper('validation/token');
  5. $u = new User();
  6. ?>
  7. <style type="text/css">
  8. #ccm-scrapbook-list { margin-top:32px; margin-bottom:32px; }
  9. #ccm-scrapbook-list .ccm-block-type{border:none 0px}
  10. #ccm-scrapbook-list .ccm-block-type .options { float:right; padding:8px }
  11. #ccm-scrapbook-list .ccm-block-type-inner{ border:1px solid #e1e1e1; background-color:#f6f6f6; padding-left:8px; }
  12. #ccm-scrapbook-list .ccm-block-type-inner .ccm-block-type-inner-icon {width:16px; height:16px; margin-right:8px; float:left; cursor:move}
  13. #ccm-scrapbook-list .ccm-scrapbook-list-item-detail{margin:8px 0px}
  14. #ccm-scrapbook-list .ccm-scrapbook-list-item{margin-bottom:16px; border:none;}
  15. #ccm-scrapbook-list .ccm-block-type-inner .edit{ display:none }
  16. #ccm-scrapbook-list .ccm-block-type-inner.editMode .view{ display:none }
  17. #ccm-scrapbook-list .ccm-block-type-inner.editMode .edit{ display:block }
  18. #ccm-scrapbook-list .ccm-block-type-inner a{ cursor:pointer }
  19. #ccm-scrapbook-list .ccm-block-type-inner.editMode .view a{cursor:text}
  20. #ccm-scrapbook-list .ccm-scrapbook-list-item .ccm-scrapbook-list-item-detail{ overflow:hidden }
  21. #availableScrapbooks { width:100%; margin-bottom:16px; }
  22. #availableScrapbooks .options { text-align:left; white-space:nowrap; width:18% }
  23. #addScrapbookForm #fieldsWrap{ display:none }
  24. #addScrapbookForm #enableButton{ display:block }
  25. #addScrapbookForm.editMode #fieldsWrap{ display:block }
  26. #addScrapbookForm.editMode #enableButton{ display:none }
  27. #addScrapbookForm.editMode #fieldsWrap input.faint{ color:#999 }
  28. #ccm-scrapbook-list.user-scrapbook .ccm-scrapbook-list-item a.ccm-block-type-inner,
  29. #ccm-scrapbook-list.user-scrapbook .ccm-scrapbook-list-item a.ccm-block-type-inner:hover{ border:1px solid #e1e1e1; background-color:#f6f6f6; margin-bottom:8px }
  30. .ccm-scrapbookNameWrap .view { display:block }
  31. .ccm-scrapbookNameWrap .edit { display:none }
  32. .ccm-scrapbookNameWrap.editMode .view { display:none }
  33. .ccm-scrapbookNameWrap.editMode .edit { display:block }
  34. div.ccm-scrapbook-item-handle:hover {cursor: move}
  35. </style>
  36. <script type="text/javascript">
  37. var GlobalScrapbook = {
  38. init:function(){
  39. this.enableSorting();
  40. },
  41. enableSorting:function(){
  42. $("div#ccm-scrapbook-list").sortable({
  43. handle: 'div.ccm-scrapbook-item-handle',
  44. cursor: 'move',
  45. opacity: 0.5,
  46. stop: function() {
  47. var idslist = $('#ccm-scrapbook-list').sortable('serialize');
  48. idslist=idslist+'&arHandle=<?=($globalScrapbookArea) ? urlencode($globalScrapbookArea->getAreaHandle()) : '' ?>';
  49. $.post('<?=REL_DIR_FILES_TOOLS_REQUIRED?>/dashboard/scrapbook_services.php?mode=reorder', idslist, function(r) {
  50. });
  51. }
  52. });
  53. },
  54. addBlock:function(e){
  55. <? if(!$globalScrapbookArea){ ?>
  56. return false;
  57. <? }else{ ?>
  58. ccm_openAreaAddBlock("<?=urlencode($globalScrapbookArea->getAreaHandle()) ?>", true);
  59. <? } ?>
  60. },
  61. editBlock:function(bID,w,h){
  62. if(!w) w=550;
  63. if(!h) h=380;
  64. var editBlockURL = '<?=REL_DIR_FILES_TOOLS_REQUIRED ?>/edit_block_popup';
  65. $.fn.dialog.open({
  66. title: ccmi18n.editBlock,
  67. href: editBlockURL+'?cID='+CCM_CID+'&bID='+bID+'&arHandle=<?=urlencode($scrapbookName)?>&btask=edit&isGlobal=1',
  68. width: w,
  69. modal: false,
  70. height: h
  71. });
  72. },
  73. editBlockTemplate:function(bID){
  74. var editBlockURL = '<?=REL_DIR_FILES_TOOLS_REQUIRED ?>/edit_block_popup';
  75. $.fn.dialog.open({
  76. title: ccmi18n.changeBlockTemplate,
  77. href: editBlockURL+'?cID='+CCM_CID+'&bID='+bID+'&arHandle=<?=urlencode($scrapbookName)?>&btask=template',
  78. width: 300,
  79. modal: false,
  80. height: 100
  81. });
  82. },
  83. editBlockDesign:function(bID){
  84. var editBlockURL = '<?=REL_DIR_FILES_TOOLS_REQUIRED ?>/edit_block_popup';
  85. $.fn.dialog.open({
  86. title: '<?=t("Design")?>',
  87. href: editBlockURL+'?cID='+CCM_CID+'&bID='+bID+'&arHandle=<?=urlencode($scrapbookName)?>&btask=block_css',
  88. width: 450,
  89. modal: false,
  90. height: 420
  91. });
  92. },
  93. editBlockPermissions:function(bID){
  94. var editBlockURL = '<?=REL_DIR_FILES_TOOLS_REQUIRED ?>/edit_block_popup';
  95. $.fn.dialog.open({
  96. title: ccmi18n.changeBlockTemplate,
  97. href: editBlockURL+'?cID='+CCM_CID+'&bID='+bID+'&arHandle=<?=urlencode($scrapbookName)?>&btask=groups',
  98. width: 400,
  99. modal: false,
  100. height: 380
  101. });
  102. },
  103. confirmDelete:function(){
  104. if(!confirm("<?=t('Are you sure you want to delete this block?').'\n'.t('(All page instances will also be removed)') ?>")) return false;
  105. return true;
  106. },
  107. toggleRename:function(bID){
  108. $('#ccm-block-type-inner'+bID).toggleClass('editMode');
  109. },
  110. toggleScrapbookRename:function(arID){
  111. $('#ccm-scrapbookNameWrap'+arID).toggleClass('editMode');
  112. },
  113. clrInitTxt:function(field,initText,removeClass,blurred){
  114. if(blurred && field.value==''){
  115. field.value=initText;
  116. $(field).addClass(removeClass);
  117. return;
  118. }
  119. if(field.value==initText) field.value='';
  120. if($(field).hasClass(removeClass)) $(field).removeClass(removeClass);
  121. },
  122. toggleAddScrapbook:function(){
  123. $('#addScrapbookForm').toggleClass('editMode');
  124. }/*,
  125. submitAddScrapbookForm:function(){
  126. $('#addScrapbookForm').submit();
  127. }*/
  128. }
  129. $(function(){ GlobalScrapbook.init(); });
  130. </script>
  131. <? if(!$scrapbookName){ ?>
  132. <h1><span><?=t('Choose a Scrapbook')?></span></h1>
  133. <div class="ccm-dashboard-inner">
  134. <table id="availableScrapbooks" border="0" cellspacing="1" class="grid-list" >
  135. <tr>
  136. <td class="header">
  137. <?=t('Scrapbook Name')?>
  138. </td>
  139. <td class="header">
  140. <?=t('Options')?>
  141. </td>
  142. </tr>
  143. <tr>
  144. <td>
  145. <a href="<?=View::url($cPath,'view','?scrapbookName=userScrapbook' ) ?>">
  146. <?=t("%s's Personal Scrapbook", $u->getUserName()) ?>
  147. </a>
  148. </td>
  149. <td class="options">
  150. <a href="<?=View::url($cPath,'view','?scrapbookName=userScrapbook' ) ?>"><?=t('View')?></a> &nbsp;
  151. </td>
  152. </tr>
  153. <? if(is_array($availableScrapbooks))
  154. foreach($availableScrapbooks as $availableScrapbook){ ?>
  155. <tr>
  156. <td>
  157. <div id="ccm-scrapbookNameWrap<?=$availableScrapbook['arID'] ?>" class="ccm-scrapbookNameWrap">
  158. <div class="view">
  159. <a href="<?=View::url($cPath,'view','?scrapbookName='.urlencode($availableScrapbook['arHandle']) ) ?>" >
  160. <?=$availableScrapbook['arHandle'] ?>
  161. </a>&nbsp;
  162. </div>
  163. <div class="edit">
  164. <form method="post" action="<?php echo $this->action('rename_scrapbook')?>">
  165. <?php $valt->output('rename_scrapbook')?>
  166. <input name="arID" type="hidden" value="<?=intval($availableScrapbook['arID']) ?>" />
  167. <input name="scrapbookName" type="text" value="<?=$availableScrapbook['arHandle'] ?>" />
  168. <input name="Submit" type="submit" value="<?=t('Save')?>" />
  169. <input onclick="GlobalScrapbook.toggleScrapbookRename(<?=intval($availableScrapbook['arID']) ?>)" name="cancel" type="button" value="<?=t('Cancel')?>" />
  170. &nbsp;
  171. </form>
  172. </div>
  173. </div>
  174. </td>
  175. <td class="options">
  176. <a href="<?=View::url($cPath,'view','?scrapbookName='.urlencode($availableScrapbook['arHandle']) ) ?>"><?=t('View')?></a> &nbsp;|&nbsp;
  177. <a onclick="GlobalScrapbook.toggleScrapbookRename(<?=intval($availableScrapbook['arID']) ?>); return false;" href="#"><?=t('Rename')?></a> &nbsp;|&nbsp;
  178. <a onclick="if(!confirm('<?=t('Are you sure you want to permantly delete this scrapbook?')?>')) return false;"
  179. href="<?php echo $this->action('delete_scrapbook', urlencode($availableScrapbook['arHandle']), $valt->generate('delete_scrapbook') ) ?>"><?=t('Delete')?></a>
  180. </td>
  181. </tr>
  182. <? }
  183. $form = Loader::helper('form'); ?>
  184. <tr>
  185. <td colspan="2" class="subheader"><?=t('Add a Global Scrapbook')?></td>
  186. </tr>
  187. <tr>
  188. <td colspan="2">
  189. <form id="addScrapbookForm" method="post" action="<?php echo $this->action('addScrapbook') ?>">
  190. <?php $valt->output('add_scrapbook');?>
  191. <table border="0" cellspacing="0" cellpadding="0">
  192. <tr>
  193. <td><?=$form->label('scrapbookName', t('Scrapbook Name'))?><br/>
  194. <input name="scrapbookName" id="scrapbookName" class="ccm-input-text" type="text" value="" size="30" />
  195. </td>
  196. <td valign="bottom">
  197. <?php echo $ih->submit(t('Add'), 'addScrapbookForm', 'left')?>
  198. </td>
  199. </tr>
  200. </table>
  201. </form>
  202. </td>
  203. </tr>
  204. </table>
  205. <div class="ccm-spacer"></div>
  206. </div>
  207. <? }else if($scrapbookName=='userScrapbook'){ ?>
  208. <h1><span><?=t("%s's Personal Scrapbook", $u->getUserName()) ?></span></h1>
  209. <div class="ccm-dashboard-inner">
  210. <a style="float: right" href="<?=View::url($cPath) ?>"><?= t("&laquo; Return to Scrapbook List") ?></a>
  211. <div id="ccm-scrapbook-list" class="user-scrapbook ui-sortable">
  212. <?
  213. $sp = Pile::getDefault();
  214. $contents = $sp->getPileContentObjects('display_order_date');
  215. $realPilesCounter=0;
  216. foreach($contents as $obj) {
  217. $item = $obj->getObject();
  218. if (is_object($item)) {
  219. $bt = $item->getBlockTypeObject();
  220. $btIcon = $ci->getBlockTypeIconURL($bt);
  221. $pcID=$obj->getPileContentID();
  222. ?>
  223. <div class="ccm-scrapbook-list-item" id="ccm-pc-<?=$pcID ?>">
  224. <div class="ccm-block-type">
  225. <div class="options">
  226. <a title="<?php echo t('Remove from Scrapbook')?>"
  227. href="<?php echo $this->action('deleteBlock', urlencode($scrapbookName), $pcID, 0, $valt->generate('delete_scrapbook_block')) ?>"
  228. id="sb<?=$pcID ?>">
  229. <?=t('Delete') ?>
  230. </a>
  231. </div>
  232. <div class="ccm-block-type-inner">
  233. <div class="ccm-block-type-inner-icon ccm-scrapbook-item-handle" style="background: url(<?=$btIcon?>) no-repeat center left;">
  234. <img src="<?=ASSETS_URL_IMAGES?>/spacer.gif" width="16" height="16" />
  235. </div>
  236. <div class="view">
  237. <a><?=$bt->getBlockTypeName()?></a>
  238. </div>
  239. </div>
  240. <div class="ccm-scrapbook-list-item-detail">
  241. <?
  242. try {
  243. $bv = new BlockView();
  244. $bv->render($item, 'scrapbook');
  245. } catch(Exception $e) {
  246. print BLOCK_NOT_AVAILABLE_TEXT;
  247. }
  248. ?>
  249. </div>
  250. </div>
  251. </div>
  252. <?
  253. $realPilesCounter++;
  254. }
  255. }
  256. if(!$realPilesCounter){
  257. print t('You have no items in your scrapbook.');
  258. }
  259. ?>
  260. </div>
  261. </div>
  262. <? }else{ ?>
  263. <h1><span><?=htmlentities($scrapbookName, ENT_QUOTES, APP_CHARSET) ?></span></h1>
  264. <div class="ccm-dashboard-inner">
  265. <a style="float: right" href="<?=View::url($cPath) ?>"><?= t("&laquo; Return to Scrapbook List") ?></a>
  266. <div class="sillyIE7"><?= $ih->button_js( t('Add Block to Scrapbook'), 'GlobalScrapbook.addBlock(event)','left'); ?></div>
  267. <div class="ccm-spacer"></div>
  268. <div id="ccm-scrapbook-list" class="ui-sortable">
  269. <?
  270. if( !count($globalScrapbookBlocks) ){
  271. echo t('You have no items in this scrapbook.');
  272. }else foreach($globalScrapbookBlocks as $b) {
  273. $b->setBlockAreaObject($globalScrapbookArea);
  274. $bv = new BlockView();
  275. $bt = BlockType::getByID( $b->getBlockTypeID() );
  276. $bp = new Permissions($b);
  277. $btIcon = $ci->getBlockTypeIconURL($bt);
  278. //give this block a name if it doesn't have one
  279. if( !strlen($b->getBlockName()) ){
  280. $b->updateBlockName( $scrapbookName.' '.intval($b->bID) );
  281. }
  282. ?>
  283. <div class="ccm-scrapbook-list-item" id="ccm-scrapbook-list-item-<?=intval($b->bID)?>">
  284. <div class="ccm-block-type">
  285. <div class="options">
  286. <? if ($bp->canWrite()) { ?>
  287. <a href="javascript:void(0)" onclick="GlobalScrapbook.toggleRename(<?=intval($b->bID) ?>)"><?=t('Rename')?></a>
  288. &nbsp;|&nbsp;
  289. <a href="javascript:void(0)" onclick="GlobalScrapbook.editBlockTemplate(<?=intval($b->bID) ?>)" ><?=t('Custom Template')?></a>
  290. &nbsp;|&nbsp;
  291. <? if (ENABLE_CUSTOM_DESIGN == true) { ?>
  292. <a href="javascript:void(0)" onclick="GlobalScrapbook.editBlockDesign(<?=intval($b->bID) ?>)" ><?=t('Design')?></a>
  293. &nbsp;|&nbsp;
  294. <? } ?>
  295. <a href="javascript:void(0)" onclick="GlobalScrapbook.editBlock(<?=intval($b->bID) ?>,<?=$bt->getBlockTypeInterfaceWidth()?> , <?=$bt->getBlockTypeInterfaceHeight()?> )" ><?=t('Edit')?></a>
  296. &nbsp;|&nbsp;
  297. <? } ?>
  298. <? if (PERMISSIONS_MODEL != 'simple' && $bp->canAdmin()) { ?>
  299. <a href="javascript:void(0)" onclick="GlobalScrapbook.editBlockPermissions(<?=$b->getBlockID()?>)" ><?=t('Permissions')?></a>
  300. <? if ($bp->canDeleteBlock()) { ?>
  301. &nbsp;|&nbsp;
  302. <? } ?>
  303. <? } ?>
  304. <? if ($bp->canDeleteBlock()) { ?>
  305. <a href="<?php echo $this->action('deleteBlock', Loader::helper('text')->entities($scrapbookName), 0, intval($b->bID), $valt->generate('delete_scrapbook_block'))?>" onclick="return GlobalScrapbook.confirmDelete()">
  306. <?=t('Delete')?>
  307. </a>
  308. <? } ?>
  309. </div>
  310. <div id="ccm-block-type-inner<?=intval($b->bID)?>" class="ccm-block-type-inner">
  311. <div class="ccm-block-type-inner-icon ccm-scrapbook-item-handle" style="background: url(<?=$btIcon?>) no-repeat center left;">
  312. <img src="<?=ASSETS_URL_IMAGES?>/spacer.gif" width="16" height="16" />
  313. </div>
  314. <div class="view">
  315. <a onclick="GlobalScrapbook.toggleRename(<?=intval($b->bID) ?>)" >
  316. <?=$bt->getBlockTypeName()?>: "<?=$b->getBlockName() ?>"
  317. </a>&nbsp;
  318. </div>
  319. <div class="edit">
  320. <form method="post" action="<?php echo $this->action('rename_block')?>">
  321. <?php $valt->output('rename_scrapbook_block')?>
  322. <input name="bID" type="hidden" value="<?=intval($b->bID) ?>" />
  323. <input name="scrapbookName" type="hidden" value="<?=$scrapbookName ?>" />
  324. <input name="bName" type="text" value="<?=$b->getBlockName() ?>" />
  325. <input name="Submit" type="submit" value="<?=t('Save')?>" />
  326. <input onclick="GlobalScrapbook.toggleRename(<?=intval($b->bID) ?>)" name="cancel" type="button" value="<?=t('Cancel')?>" />
  327. &nbsp;
  328. </form>
  329. </div>
  330. </div>
  331. <div class="ccm-scrapbook-list-item-detail">
  332. <?= $bv->render($b, 'scrapbook'); ?>
  333. </div>
  334. </div>
  335. </div>
  336. <? } ?>
  337. </div>
  338. </div>
  339. <? } ?>