pagesconf.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?
  2. use yii\helpers\Html;
  3. use yii\widgets\ActiveForm;
  4. use yii\web\View;
  5. use app\helpers\Transliterator;
  6. $this->title = 'Tilda';
  7. $this->params['breadcrumbs'][] = ['label' => 'Tilda', 'url' => ['index'] ];
  8. $this->params['breadcrumbs'][] = 'Конфигурация';
  9. $main = $api->getpageexport($pages[0]);
  10. $cat = Transliterator::toUrl($main['title'].'-'.$main['id']);
  11. // $cat = '';
  12. ?>
  13. <div class="row">
  14. <div class="col-md-12">
  15. <div class="callout callout-danger">
  16. <h5>Настройка экспорта</h5>
  17. <p>Необходимо выбрать папку хранения проекта, и указать главную страницу входа в проект</p>
  18. </div>
  19. </div>
  20. </div>
  21. <?php $form = ActiveForm::begin([
  22. 'method' => 'post',
  23. 'action' => ['tilda/exportstart'],
  24. 'id' => 'eform'
  25. ]); ?>
  26. <div class="row">
  27. <input type="hidden" value="<?=$proj?>" name="proj">
  28. <div class="col">
  29. <div class="card card-success">
  30. <div class="card-header">
  31. <h3 class="card-title">Папка проекта</h3>
  32. </div>
  33. <div class="card-body">
  34. <div class="form-group">
  35. <label class="form-text-label" for="urltext">Каталог хранения проекта</label><input class="form-control form-control-lg" type="text" value="<?=$cat?>" id="urltext" name="url">
  36. </div>
  37. <div class="form-group">
  38. <label class="form-text-label" for="cats">Обновить существующий</label>
  39. <select class="form-control" id="cats">
  40. <option value="<?=$cat?>">Новая</option>
  41. <?
  42. $curcat = $api->local->getProjectFullDir();
  43. $cat = yii\helpers\FileHelper::findDirectories($curcat, ['recursive'=>false]);
  44. foreach( $cat as $url){
  45. $inx = $url.'/'.'index.html';
  46. if( file_exists( $inx ) ){
  47. if( $f = basename( @readlink( $url.'/'.'index.html') ) ){
  48. $fm = str_replace( '.html', '.php', $f );
  49. //echo $fm."<br>";
  50. if( file_exists( $url.'/meta/'.$fm ) ){
  51. $r = include($url.'/meta/'.$fm);
  52. $dname = basename($url);
  53. ?>
  54. <option value="<?=$dname?>"><?=$r['title']?></option>
  55. <?
  56. }
  57. }
  58. }
  59. }
  60. // print_a($cat);
  61. ?>
  62. </select>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. </div>
  68. <div class="row">
  69. <?
  70. foreach($pages as $k=>$i){
  71. $item = $api->getpageexport($i);
  72. // print_a($item);
  73. ?>
  74. <div class="col-md-6">
  75. <div class="card card-widget widget-user-2">
  76. <div class="card-header">
  77. <h3 class="card-title">
  78. <input type="hidden" value="<?=$item['id']?>" name="Check[]">
  79. <div class="form-check">
  80. <input class="form-check-input" type="radio" name="main" <?=($k==0)?'checked=""':''?> value="<?=$item['id']?>" data-url="<?=Transliterator::toUrl($item['title'].'-'.$item['id']);?>">
  81. <label class="form-check-label">Главная страница</label>
  82. </div>
  83. </h3>
  84. </div>
  85. <div class="attachment-block clearfix">
  86. <?
  87. if( isset( $item['img'] ) && $item['img'] != '' ){
  88. $img = $item['img'];
  89. $img = str_replace( basename($img), '-/resize/160x/'.basename($img), $img );
  90. //
  91. //-/resize/160x/
  92. ?>
  93. <img src="<?=$img?>" class="attachment-img m-2">
  94. <?
  95. }
  96. ?>
  97. <h3 class="widget-user-username"><?=$item['title']?></h3>
  98. <p class="mx-2"><?=$item['date']?></p>
  99. <div class="card-footer p-0">
  100. <div class="card-body">
  101. <p><?=$item['filename']?></p>
  102. <?=$item['descr']?>
  103. </div>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. <?
  109. //print_a($item);
  110. }
  111. ?>
  112. </div>
  113. <div class="form-group m-4">
  114. <?= Html::submitButton('Экспорт', ['class' => 'btn btn-success', 'id' => 'submitbtn']) ?>
  115. </div>
  116. <?php ActiveForm::end();
  117. $this->registerJs(
  118. <<<JS
  119. function sel(e){
  120. // console.log( );
  121. $( '#urltext' ).val($(this).attr("data-url"));
  122. }
  123. $("[name='main']").change( sel );
  124. $('#cats').on('change', function() {
  125. $( '#urltext' ).val(this.value);
  126. });
  127. $('#eform').on('submit', function() {
  128. console.log('end');
  129. $('#endModal').css('display', 'block');
  130. $('#endModal').modal('show');
  131. return true;
  132. });
  133. JS
  134. ,
  135. View::POS_READY,
  136. 'translit'
  137. );
  138. ?>
  139. <div class="modal fade" tabindex="-1" style="display: none;" aria-hidden="true" id="endModal">
  140. <div class="modal-dialog">
  141. <div class="modal-content">
  142. <div class="modal-header">
  143. <h5 class="modal-title">Начинается Экспорт</h5>
  144. </div>
  145. <div class="modal-body p-5">
  146. <div class="overlay">
  147. <div class="spinner-border text-secondary m-3" role="status">
  148. <span class="sr-only"></span>
  149. </div>
  150. <h2>Экспорт проекта ...</h2><br><br>
  151. </div>
  152. </div>
  153. </div>
  154. </div>
  155. </div>