Media youtube, title description, CMS Info Content / Header Frontend

This commit is contained in:
Kevin Adametz 2019-12-12 20:01:01 +01:00
parent c9f3d85d4e
commit 7294ccc1d0
49 changed files with 1283 additions and 148 deletions

10
.idea/composerJson.xml generated Normal file
View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ComposerJsonPluginSettings">
<unboundedVersionInspectionSettings>
<excludedPackages />
</unboundedVersionInspectionSettings>
<customRepositories />
<composerUpdateOptions />
</component>
</project>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<dataSource name="sterntours@localhost">
<database-model serializer="dbm" dbms="MYSQL" family-id="MYSQL" format-version="4.16">
<database-model serializer="dbm" dbms="MYSQL" family-id="MYSQL" format-version="4.17">
<root id="1">
<ServerVersion>5.7.25</ServerVersion>
<DefaultEngine>InnoDB</DefaultEngine>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<dataSource name="cmssso_db1@192.168.1.7">
<database-model serializer="dbm" dbms="MYSQL" family-id="MYSQL" format-version="4.16">
<database-model serializer="dbm" dbms="MYSQL" family-id="MYSQL" format-version="4.17">
<root id="1">
<ServerVersion>5.6.39</ServerVersion>
<DefaultEngine>InnoDB</DefaultEngine>

View file

@ -3,6 +3,7 @@
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/app" isTestSource="false" packagePrefix="App\" />
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" packagePrefix="Tests\" />
<excludeFolder url="file://$MODULE_DIR$/vendor/barryvdh/laravel-dompdf" />
<excludeFolder url="file://$MODULE_DIR$/vendor/cocur/slugify" />

156
.idea/workspace.xml generated
View file

@ -2,6 +2,14 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="e1ac1cea-a1a5-4c16-b5f0-5908c7d368de" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/.idea/composerJson.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/Http/Controllers/CMS/CMSContentInfoController.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/Models/CMSInfo.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/Models/CMSInfoAvailable.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/app/Models/CMSInfoHoliday.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/database/migrations/2019_12_11_171153_create_c_m_s_infos_table.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/database/migrations/2019_12_11_171859_create_c_m_s_info_availables_table.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/database/migrations/2019_12_11_171918_create_c_m_s_info_holidays_table.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/database/migrations/2019_08_05_171716_create_i_q_content_folders_table.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/database/migrations/2019_08_05_171717_create_i_q_content_files_table.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/database/migrations/2019_08_05_171718_create_i_q_content_categories_table.php" afterDir="false" />
@ -16,42 +24,40 @@
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Models/IQContentFileTag.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Models/IQContentFolder.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Models/IQContentTag.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/robots.txt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/_crop.blade.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/colors.blade.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/file.blade.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/move-item.blade.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/4.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/8.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/Baustein-Q-Board-Zeus.xls" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/VHJACKODURUmkehrdachbegruentDE.pdf" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/Wir-STERN-TOURS.youtube" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/4_cropped_1574181421.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/5_cropped_1574182410.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/8.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/thumbs/4_cropped_1574181421.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/thumbs/5_cropped_1574182410.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/thumbs/8.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/youtube/Wir-STERN-TOURS.youtube" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/youtube/thumbs/Wir-STERN-TOURS.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/youtube/youtube-in/Wir-STERN-TOURS.youtube" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/youtube/youtube-in/thumbs/Wir-STERN-TOURS.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/thumbs/4.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/thumbs/8.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/thumbs/Wir-STERN-TOURS.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/vendor.zip" afterDir="false" />
<change afterPath="$PROJECT_DIR$/resources/views/cms/content/info/index.blade.php" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/Stern-Tours-Mietbedingungen.pdf" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/Bilder-in/thumbs/4_cropped_1574181421.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/thumbs/logo.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root2/1Baustein-Q-Board-Zeus.xls" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root2/4_cropped_1574181421.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root2/thumbs/Wir-STERN-TOURS.jpg" afterDir="false" />
<change afterPath="$PROJECT_DIR$/storage/app/public/files/shares/thumbs/128.jpg" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/09ce12d1-7f68-4ce4-9ab1-0229d6366fdb.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/09ce12d1-7f68-4ce4-9ab1-0229d6366fdb.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/f7aaeef3-b8e1-45ca-9f6a-b9476048d5dd.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/f7aaeef3-b8e1-45ca-9f6a-b9476048d5dd.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/mein.sterntours.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/mein.sterntours.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/AdminUserController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/AdminUserController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/config/lfm.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/lfm.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/config/permissions.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/permissions.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.phpstorm.meta.php" beforeDir="false" afterPath="$PROJECT_DIR$/.phpstorm.meta.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/_ide_helper.php" beforeDir="false" afterPath="$PROJECT_DIR$/_ide_helper.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/_ide_helper_models.php" beforeDir="false" afterPath="$PROJECT_DIR$/_ide_helper_models.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/CMS/CMSContentController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/CMS/CMSContentController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Http/Controllers/CMS/CMSTravelGuideController.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Http/Controllers/CMS/CMSTravelGuideController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Models/Sym/CmsContent.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Models/Sym/CmsContent.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/Services/HTMLHelper.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Services/HTMLHelper.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/database/seeds/DatabaseSeeder.php" beforeDir="false" afterPath="$PROJECT_DIR$/database/seeds/DatabaseSeeder.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/composer.json" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/composer.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/public/css/cropper.min.css" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/public/css/cropper.min.css" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/public/js/cropper.min.js" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/public/js/cropper.min.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/ColorController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/ColorController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/Controller.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/Controller.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/CropController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/CropController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/DeleteController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/DeleteController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/DemoController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/DemoController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/DownloadController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/DownloadController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/FileController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/FileController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/FolderController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/FolderController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/ItemsController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/ItemsController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/LfmController.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers/LfmController.php" afterDir="false" />
@ -90,19 +96,26 @@
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/demo.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/demo.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/index.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/move.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views/move.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/public/js/custom.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/js/custom.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/public/js/filemanager.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/js/filemanager.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/iq/content/assets/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/iq/content/assets/index.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/3.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/4.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/5.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/Bilder-in/2.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/Bilder-in/thumbs/2.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/thumbs/4.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/thumbs/5.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root2/8.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root2/thumbs/8.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/layouts/application.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/layouts/application.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/views/layouts/includes/layout-sidenav.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/resources/views/layouts/includes/layout-sidenav.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/routes/web.php" beforeDir="false" afterPath="$PROJECT_DIR$/routes/web.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/4.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/8.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/Baustein-Q-Board-Zeus.xls" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/Wir-STERN-TOURS.youtube" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/4_cropped_1574181421.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/Bilder/thumbs/4_cropped_1574181421.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/thumbs/logo.png" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/youtube/Wir-STERN-TOURS.youtube" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/youtube/thumbs/Wir-STERN-TOURS.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/root/youtube/youtube-in/Wir-STERN-TOURS.youtube" beforeDir="false" afterPath="$PROJECT_DIR$/storage/app/public/files/shares/root/youtube/youtube-in/Wir-STERN-TOURS.youtube" afterDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/thumbs/4.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/files/shares/thumbs/8.jpg" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/storage/app/public/pdf/Stern-Tours-Mietbedingungen.pdf" beforeDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@ -284,6 +297,11 @@
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<ConfirmationsSetting value="2" id="Add" />
</component>
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showExcludedFiles" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="ASKED_ADD_EXTERNAL_FILES" value="true" />
<property name="DatabaseDriversLRU" value="mysql" />
@ -291,18 +309,11 @@
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="database.console.LAST_STATE" value="false" />
<property name="js.buildTools.grunt.grunt-cli.package" value="" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/resources/views/cms/content/info" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="settings.editor.selected.configurable" value="project.propVCSSupport.Mappings" />
</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views" />
<recent name="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers" />
<recent name="$PROJECT_DIR$/app/Models/Sym" />
<recent name="$PROJECT_DIR$/resources/views/drafts" />
<recent name="$PROJECT_DIR$/resources/views/cms/content/country" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/resources/views/booking" />
<recent name="$PROJECT_DIR$/resources/views/cms/content/all" />
@ -310,28 +321,24 @@
<recent name="$PROJECT_DIR$/resources/views/travel/user" />
<recent name="$PROJECT_DIR$/database/migrations" />
</key>
<key name="CopyFile.RECENT_KEYS">
<recent name="$PROJECT_DIR$/resources/views/cms/content/info" />
<recent name="$PROJECT_DIR$/app/Http/Controllers/CMS" />
<recent name="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/views" />
<recent name="$PROJECT_DIR$/packages/iqcontent/laravel-filemanager/src/Controllers" />
<recent name="$PROJECT_DIR$/app/Models/Sym" />
</key>
</component>
<component name="RunAnythingCache">
<option name="myCommands">
<command value="composer run-script" />
</option>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager">
<configuration default="true" type="ShConfigurationType">
<option name="SCRIPT_PATH" value="$USER_HOME$/Documents/scripts/composer-post-update.sh" />
<option name="SCRIPT_OPTIONS" value="" />
<option name="SCRIPT_WORKING_DIRECTORY" value="" />
<option name="INTERPRETER_PATH" value="/bin/bash" />
<option name="INTERPRETER_OPTIONS" value="" />
<method v="2" />
@ -339,6 +346,7 @@
<configuration name="composer-post-update.sh" type="ShConfigurationType">
<option name="SCRIPT_PATH" value="$USER_HOME$/Documents/scripts/composer-post-update.sh" />
<option name="SCRIPT_OPTIONS" value="" />
<option name="SCRIPT_WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="INTERPRETER_PATH" value="/bin/bash" />
<option name="INTERPRETER_OPTIONS" value="" />
<method v="2" />
@ -349,6 +357,18 @@
<method v="2" />
</configuration>
</component>
<component name="ServiceViewManager">
<option name="viewStates">
<list>
<serviceView>
<treeState>
<expand />
<select />
</treeState>
</serviceView>
</list>
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
@ -553,7 +573,13 @@
<workItem from="1574322911704" duration="312000" />
<workItem from="1574351601027" duration="3380000" />
<workItem from="1574361652763" duration="13000" />
<workItem from="1574361673117" duration="4531000" />
<workItem from="1574361673117" duration="6720000" />
<workItem from="1574437693622" duration="2395000" />
<workItem from="1574495053473" duration="47000" />
<workItem from="1574871939027" duration="19000" />
<workItem from="1576055546754" duration="12309000" />
<workItem from="1576073978933" duration="9208000" />
<workItem from="1576142228411" duration="9187000" />
</task>
<servers />
</component>
@ -579,4 +605,26 @@
<path value="$PROJECT_DIR$/packages/unisharp/laravel-filemanager" />
</ignored-roots>
</component>
<component name="WindowStateProjectService">
<state x="743" y="388" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1576147025497">
<screen x="0" y="23" width="2560" height="1417" />
</state>
<state x="743" y="388" key="#com.intellij.execution.impl.EditConfigurationsDialog/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1576147025497" />
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog" timestamp="1576083305151">
<screen x="0" y="23" width="2560" height="1417" />
</state>
<state x="1018" y="488" key="#com.jetbrains.php.actions.copyPaste.importReferences.PhpImportReferencesDialog/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1576083305151" />
<state x="975" y="454" key="#composer-post-update.sh" timestamp="1576084046909">
<screen x="0" y="23" width="2560" height="1417" />
</state>
<state x="975" y="454" key="#composer-post-update.sh/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1576084046909" />
<state x="1063" y="650" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1576069987144">
<screen x="0" y="23" width="2560" height="1417" />
</state>
<state x="1063" y="650" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1576069987144" />
<state x="938" y="488" width="1035" height="714" key="find.popup" timestamp="1576083842861">
<screen x="0" y="23" width="2560" height="1417" />
</state>
<state x="938" y="488" width="1035" height="714" key="find.popup/-2560.23.2560.1417/2560.-571.1440.2537/0.23.2560.1417@0.23.2560.1417" timestamp="1576083842861" />
</component>
</project>

View file

@ -5,7 +5,7 @@ namespace PHPSTORM_META {
/**
* PhpStorm Meta file, to provide autocomplete information for PhpStorm
* Generated on 2019-11-12 11:07:51.
* Generated on 2019-12-12 12:29:01.
*
* @author Barry vd. Heuvel <barryvdh@gmail.com>
* @see https://github.com/barryvdh/laravel-ide-helper

View file

@ -3,7 +3,7 @@
/**
* A helper file for Laravel 5, to provide autocomplete information to your IDE
* Generated for Laravel 5.8.32 on 2019-11-12 11:07:51.
* Generated for Laravel 5.8.32 on 2019-12-12 12:29:00.
*
* This file should not be included in your code, only analyzed by your IDE!
*

View file

@ -550,6 +550,32 @@ namespace App\Models{
class IQContentTreeNode extends \Eloquent {}
}
namespace App\Models{
/**
* App\Models\CMSInfoHoliday
*
* @property int $id
* @property bool $local
* @property bool $phone
* @property string $from
* @property string $to
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereFrom($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereLocal($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday wherePhone($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereTo($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereUpdatedAt($value)
* @mixin \Eloquent
*/
class CMSInfoHoliday extends \Eloquent {}
}
namespace App\Models{
/**
* App\Models\TravelNationalityRequirement
@ -1058,6 +1084,36 @@ namespace App\Models{
class FewoPrice extends \Eloquent {}
}
namespace App\Models{
/**
* App\Models\CMSInfoAvailable
*
* @property int $id
* @property string $type
* @property int $wday
* @property bool $active
* @property string|null $from
* @property string|null $to
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereActive($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereWday($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereFrom($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereTo($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereType($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereUpdatedAt($value)
* @mixin \Eloquent
* @property int $wday
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereWday($value)
*/
class CMSInfoAvailable extends \Eloquent {}
}
namespace App\Models{
/**
* App\Models\SidebarWidget
@ -1763,6 +1819,45 @@ namespace App\Models{
class TravelUser extends \Eloquent {}
}
namespace App\Models{
/**
* App\Models\CMSInfo
*
* @property int $id
* @property string $name
* @property string $slug
* @property string $field
* @property string|null $text
* @property string|null $full_text
* @property int|null $integer
* @property float|null $decimal
* @property int $active
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo findSimilarSlugs($attribute, $config, $slug)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereActive($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereDecimal($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereField($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereFullText($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereInteger($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereText($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereUpdatedAt($value)
* @mixin \Eloquent
* @property string $type
* @property int $bool
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereBool($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereType($value)
*/
class CMSInfo extends \Eloquent {}
}
namespace App\Models{
/**
* App\Models\IQContentTree
@ -1924,6 +2019,7 @@ namespace IqContent\LaravelFilemanager\Models{
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereSize($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFile whereUpdatedAt($value)
* @mixin \Eloquent
*/
class IQContentFile extends \Eloquent {}
}
@ -1954,6 +2050,7 @@ namespace IqContent\LaravelFilemanager\Models{
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag wherePos($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentTag whereUpdatedAt($value)
* @mixin \Eloquent
*/
class IQContentTag extends \Eloquent {}
}
@ -1981,6 +2078,7 @@ namespace IqContent\LaravelFilemanager\Models{
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory wherePos($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentCategory whereUpdatedAt($value)
* @mixin \Eloquent
*/
class IQContentCategory extends \Eloquent {}
}
@ -2018,6 +2116,7 @@ namespace IqContent\LaravelFilemanager\Models{
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder wherePos($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFolder whereUpdatedAt($value)
* @mixin \Eloquent
*/
class IQContentFolder extends \Eloquent {}
}
@ -2041,6 +2140,7 @@ namespace IqContent\LaravelFilemanager\Models{
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag whereTagId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\IqContent\LaravelFilemanager\Models\IQContentFileTag whereUpdatedAt($value)
* @mixin \Eloquent
*/
class IQContentFileTag extends \Eloquent {}
}

View file

@ -22,11 +22,7 @@ class CMSContentController extends Controller
{
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$data = [
@ -70,7 +66,7 @@ class CMSContentController extends Controller
}
public function loadModal()
public function loadModal()
{
if(Request::ajax()){
$data = Input::all();
@ -102,4 +98,5 @@ class CMSContentController extends Controller
}

View file

@ -0,0 +1,112 @@
<?php
namespace App\Http\Controllers\CMS;
use App\Http\Controllers\Controller;
use App\Models\CMSContent;
use App\Models\CMSInfo;
use App\Models\CMSInfoAvailable;
use App\Models\CMSInfoHoliday;
use App\Services\HTMLHelper;
use Input;
use Request;
use Validator;
class CMSContentInfoController extends Controller
{
/*
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
}
public function index()
{
$data = [
'days' => $this->createWeekWithDate(),
'cms_holidays' => CMSInfoHoliday::all(),
];
return view('cms.content.info.index', $data);
}
public function store()
{
$data = Input::all();
if($data['action'] === "saveAll"){
//save in CMSInfoAvailable
if(isset($data['info_availables']) && is_array($data['info_availables'])){
foreach ($data['info_availables'] as $type=>$values){
foreach ($values as $wday=>$val){
CMSInfoAvailable::setContentBySlug($type, $wday, $val);
}
}
}
//save in CMSinfoHolidays
if(isset($data['info_holidays']) && is_array($data['info_holidays'])){
foreach ($data['info_holidays'] as $id=>$val){
$content = CMSInfoHoliday::findOrFail($id);
$content->fill($val);
$content->save();
}
}
//save in CMSinfo
if(isset($data['infos']) && is_array($data['infos'])){
foreach ($data['infos'] as $slug=>$info){
$type = isset($info['type']) ? $info['type'] : "text";
$val = isset($info['val']) ? $info['val'] : "";
CMSInfo::setContentBySlug($slug, $val, $type);
}
}
}
if($data['action'] === "add_holiday"){
CMSInfoHoliday::create();
}
\Session()->flash('alert-save', '1');
return redirect(route('cms_content_infos'));
}
private function createWeekWithDate(){
$days = HTMLHelper::getDeDays();
$now = \Carbon::now();
$day_of = $now->dayOfWeekIso;
//days after now
for ($i = $day_of; $i<=7; $i++){
$days[$i] = $days[$i].' <span class="text-muted">('.$now->format("d.m.Y").')</span>';
$now->modify('+1 day');
}
//days before now
for ($i = 1; $i<$day_of; $i++){
$days[$i] = $days[$i].' <span class="text-muted">('.$now->format("d.m.Y").')</span>';
$now->modify('+1 day');
}
return $days;
}
public function delete($model, $id){
if($model === 'holiday'){
$content = CMSInfoHoliday::findOrFail($id);
$content->delete();
\Session()->flash('alert-success', __('Content gelöscht'));
}
return redirect(route('cms_content_infos'));
}
}

View file

@ -26,11 +26,6 @@ class CMSTravelGuideController extends Controller
{
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
/*

184
app/Models/CMSInfo.php Normal file
View file

@ -0,0 +1,184 @@
<?php
namespace App\Models;
use Cviebrock\EloquentSluggable\Sluggable;
use Illuminate\Database\Eloquent\Model;
/**
* App\Models\CMSInfo
*
* @property int $id
* @property string $name
* @property string $slug
* @property string $field
* @property string|null $text
* @property string|null $full_text
* @property int|null $integer
* @property float|null $decimal
* @property int $active
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo findSimilarSlugs($attribute, $config, $slug)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereActive($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereDecimal($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereField($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereFullText($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereInteger($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereSlug($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereText($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereUpdatedAt($value)
* @mixin \Eloquent
* @property string $type
* @property int $bool
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereBool($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfo whereType($value)
*/
class CMSInfo extends Model
{
use Sluggable;
protected static $types = [
'text' => 'Text (190 Zeichen)',
'full_text' => 'Full Text (50K Zeichen)',
'integer' => 'Zahl (10 Stellen)',
'decimal' => 'Kommazahl (10,2 Stellen)',
'bool' => 'an (1) / aus (0)',
];
protected $connection = 'mysql_stern';
protected $table = 'c_m_s_infos';
protected $fillable = [
'name', 'slug', 'type', 'text', 'full_text', 'integer', 'decimal', 'bool'
];
public function sluggable()
{
return [
'slug' => [
'source' => 'name'
]
];
}
public static function getTypeOptions($setKey = false){
$options = self::$types;
$ret = "";
foreach ($options as $key => $option){
$attr = ($key == $setKey) ? 'selected="selected"' : '';
$ret .= '<option value="'.$key.'" '.$attr.'>'.$option.'</option>\n';
}
return $ret;
}
public function getTypeName(){
return isset(self::$types[$this->type]) ? self::$types[$this->type] : '';
}
public function getPreviewContent(){
$content = $this->{$this->type};
if(strlen($content) > 40){
return substr($content, 0, 40)." ...";
}
return $content;
}
public function _format_number($value){
return preg_replace("/[^0-9,]/", "", $value);
}
public function setDecimalAttribute($value)
{
$value = $this->_format_number($value);
$value = substr($value, -13);
$this->attributes['decimal'] = (float) str_replace(',', '.', $value);
}
public function getDecimalAttribute()
{
if(isset($this->attributes['decimal'])){
// 2 = decimal places | '.' = decimal seperator | ',' = thousand seperator
return number_format(($this->attributes['decimal']), 2, ',', '.');
}
return "";
}
public function setIntegerAttribute($value)
{
$value = $this->_format_number($value);
$value = substr($value, -10);
$this->attributes['integer'] = (int) $value;
}
public function setBoolAttribute($value)
{
$this->attributes['bool'] = (bool) $value;
}
public static function getContentBySlug($slug){
$content = CMSInfo::whereSlug(trim($slug))->first();
if($content){
switch ($content->type){
case 'text':
return $content->text;
break;
case 'full_text':
return $content->full_text;
break;
case 'integer':
return $content->integer;
break;
case 'decimal':
return $content->decimal;
break;
case 'bool':
return $content->bool;
break;
}
}
return false;
}
public static function setContentBySlug($slug, $value, $type = "text"){
$content = CMSInfo::whereSlug(trim($slug))->first();
if(!$content) {
$content = CMSInfo::create([
'name' => $slug,
'type' => $type,
]);
}
switch ($content->type){
case 'text':
$content->text = $value;
break;
case 'full_text':
$content->full_text = $value;
break;
case 'integer':
$content->integer = $value;
break;
case 'decimal':
$content->decimal = $value;
break;
case 'bool':
$content->bool = $value;
break;
}
$content->save();
return $content;
}
}

View file

@ -0,0 +1,62 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
/**
* App\Models\CMSInfoAvailable
*
* @property int $id
* @property string $type
* @property bool $active
* @property string|null $from
* @property string|null $to
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereActive($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereFrom($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereTo($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereType($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereUpdatedAt($value)
* @mixin \Eloquent
* @property int $wday
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoAvailable whereWday($value)
*/
class CMSInfoAvailable extends Model
{
protected $connection = 'mysql_stern';
protected $table = 'c_m_s_info_availables';
protected $fillable = [
'type', 'wday', 'active', 'from', 'to'
];
protected $casts = [
'active' => 'bool',
];
public static function getContentBySlug($type, $wday){
return CMSInfoAvailable::whereType($type)->whereWday($wday)->first();
}
public static function setContentBySlug($type, $wday, $values){
$content = CMSInfoAvailable::whereType($type)->whereWday($wday)->first();
if(!$content) {
$content = CMSInfoAvailable::create([
'type' => $type,
'wday' => $wday,
]);
}
$content->fill($values);
$content->save();
return $content;
}
}

View file

@ -0,0 +1,84 @@
<?php
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* App\Models\CMSInfoHoliday
*
* @property int $id
* @property bool $local
* @property bool $phone
* @property string $from
* @property string $to
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereFrom($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereLocal($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday wherePhone($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereTo($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\CMSInfoHoliday whereUpdatedAt($value)
* @mixin \Eloquent
*/
class CMSInfoHoliday extends Model
{
protected $connection = 'mysql_stern';
protected $table = 'c_m_s_info_holidays';
protected $fillable = [
'local', 'phone', 'from', 'to'
];
protected $casts = [
'local' => 'bool',
'phone' => 'bool',
];
public function getFromAttribute()
{
return isset($this->attributes['from']) ? Carbon::parse($this->attributes['from'])->format('d.m.Y') : '';
}
public function setFromAttribute($value)
{
if (!$value) {
$this->attributes['from'] = null;
} else {
$this->attributes['from'] = Carbon::parse($value)->format('Y-m-d'); //(new Carbon($value))->format('Y-m-d');
}
}
public function getToAttribute()
{
return isset($this->attributes['to']) ? Carbon::parse($this->attributes['to'])->format('d.m.Y') : '';
}
public function setToAttribute($value)
{
if (!$value) {
$this->attributes['to'] = null;
} else {
$this->attributes['to'] = Carbon::parse($value)->format('Y-m-d'); //(new Carbon($value))->format('Y-m-d');
}
}
/* //local / phone
//local / phone
$table->boolean('local')->default(true);
$table->boolean('phone')->default(true);
$table->date('from');
$table->date('to');
*/
}

View file

@ -67,7 +67,7 @@ class CmsContent extends Model
{
$value = $this->_format_number($value);
$value = substr($value, -13);
$this->attributes['decimal'] = floatval(str_replace(',', '.', $value));
$this->attributes['decimal'] = (float) str_replace(',', '.', $value);
}
public function getDecimalAttribute()

View file

@ -37,7 +37,7 @@ class HTMLHelper
private static $days = [
0 => 'Sonntag',
1=> 'Montag',
1 => 'Montag',
2 => 'Dienstag',
3 => 'Mittwoch',
4 => 'Donnerstag',
@ -45,6 +45,17 @@ class HTMLHelper
6 => 'Samstag',
];
public static $de_days = [
1 => 'Montag',
2 => 'Dienstag',
3 => 'Mittwoch',
4 => 'Donnerstag',
5 => 'Freitag',
6 => 'Samstag',
7 => 'Sonntag',
];
private static $roles = [
0 => 'Kunde',
@ -61,13 +72,19 @@ class HTMLHelper
public static function getMonth($i){
return self::$months[intval($i)];
return self::$months[$i];
}
public static function getDay($i){
return self::$days[intval($i)];
return self::$days[$i];
}
public static function getDeDays(){
return self::$de_days;
}
public static function getRoleLabel($role_id = 0, $pre = "", $post = ""){
return '<span class="badge badge-pill '.self::getLable($role_id).'">'.$pre.self::$roles[$role_id].$post.'</span>';
}
@ -130,6 +147,38 @@ class HTMLHelper
return $ret;
}
public static function createTimeRange($start = '0:00', $end = "23:30", $interval = '30 mins'){
$start_time = strtotime($start);
$end_time = strtotime($end);
$format = 'G:i';
$current = time();
$add_time = strtotime('+'.$interval, $current);
$diff = $add_time - $current;
$times = [];
while ($start_time < $end_time){
$times[] = date($format, $start_time);
$start_time += $diff;
}
$times[] = date($format, $start_time);
return $times;
}
public static function getTimeInSteps($id = false){
$times = self::createTimeRange();
$ret = '';
foreach ($times as $item){
$attr = ($item === $id) ? 'selected="selected"' : '';
$ret .= '<option value="'.$item.'" '.$attr.'>'.$item.'</option>\n';
}
return $ret;
}
public static function getRangeOptions($id = false, $range = 30, $name = "", $start=1){
$range = range($start, $range);

View file

@ -0,0 +1,46 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateCMSInfosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('mysql_stern')->create('c_m_s_infos', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('slug')->index()->unique();
$table->string('type', 10)->index();
$table->string('text')->nullable();
$table->text('full_text')->nullable();
$table->integer('integer')->nullable();
$table->decimal('decimal')->nullable();
$table->boolean('bool')->default(true);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('mysql_stern')->dropIfExists('c_m_s_infos');
}
}

View file

@ -0,0 +1,41 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateCMSInfoAvailablesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('mysql_stern')->create('c_m_s_info_availables', function (Blueprint $table) {
$table->increments('id');
//local / phone
$table->char('type', 5)->index();
$table->unsignedTinyInteger('wday')->index();
$table->boolean('active')->default(true);
$table->string('from', 5)->nullable();
$table->string('to', 5)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('mysql_stern')->dropIfExists('c_m_s_info_availables');
}
}

View file

@ -0,0 +1,41 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateCMSInfoHolidaysTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::connection('mysql_stern')->create('c_m_s_info_holidays', function (Blueprint $table) {
$table->increments('id');
//local / phone
$table->boolean('local')->default(false);
$table->boolean('phone')->default(false);
$table->date('from')->nullable();
$table->date('to')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::connection('mysql_stern')->dropIfExists('c_m_s_info_holidays');
}
}

View file

@ -14,7 +14,64 @@ class DatabaseSeeder extends Seeder
// $this->call(UsersTableSeeder::class);
}
/*
*
INSERT INTO `migrations` (`id`, `migration`, `batch`)
VALUES
(1, '2019_08_05_171720_create_i_q_content_file_tags_table', 1),
(2, '2014_10_12_000000_create_users_table', 1),
(3, '2014_10_12_100000_create_password_resets_table', 1),
(4, '2018_09_29_145839_create_user_update_emails_table', 1),
(5, '2018_09_29_145909_create_countries_table', 1),
(6, '2018_10_19_114515_create_drafts_table', 1),
(7, '2018_10_19_114519_create_draft_types_table', 1),
(8, '2018_10_19_114521_create_draft_items_table', 1),
(9, '2018_10_28_134530_create_travel_program_table', 1),
(10, '2018_10_28_134531_create_travel_class_table', 2),
(11, '2018_10_28_134532_create_travel_program_drafts_table', 2),
(12, '2018_10_29_193339_create_booking_draft_items_table', 2),
(13, '2018_10_29_193339_create_travel_country_table', 2),
(14, '2018_10_29_193349_create_travel_program_country_table', 2),
(15, '2018_10_29_202123_create_booking_table', 2),
(16, '2018_10_29_202124_create_arrangement_table', 3),
(17, '2018_10_29_202125_create_lead_table', 3),
(18, '2018_10_29_202126_create_status_table', 3),
(19, '2018_12_22_171112_create_page_table', 3),
(20, '2019_02_13_154404_create_sidebar_widgets_table', 3),
(21, '2019_02_27_113516_create_c_m_s_contents_table', 3),
(22, '2019_03_05_114656_create_travel_nationality_table', 3),
(23, '2019_03_05_114700_create_travel_nationality_requirement_table', 3),
(24, '2019_03_05_114701_create_travel_agenda_table', 3),
(25, '2019_03_11_094922_create_travel_guides_table', 3),
(26, '2019_03_20_113747_create_travel_users_table', 3),
(27, '2019_03_20_132556_create_fewo_lodging_table', 3),
(28, '2019_03_20_132557_create_fewo_lodging_group_image_table', 3),
(29, '2019_03_20_132557_create_fewo_lodging_group_table', 4),
(30, '2019_03_20_132558_create_fewo_lodging_image_table', 4),
(31, '2019_03_20_132558_create_fewo_lodging_type_table', 4),
(32, '2019_03_20_132559_create_fewo_price_table', 4),
(33, '2019_03_20_132600_create_fewo_reservation_table', 4),
(34, '2019_03_20_132600_create_fewo_season_table', 4),
(35, '2019_03_21_114814_create_travel_booking_fewo_channels_table', 5),
(36, '2019_03_21_123748_create_travel_user_booking_fewos_table', 5),
(37, '2019_07_19_155842_create_i_q_content_trees_table', 6),
(38, '2019_07_19_155853_create_i_q_content_tree_nodes_table', 6),
(39, '2019_07_22_102424_create_i_q_content_sites_table', 6),
(40, '2019_08_05_171716_create_i_q_content_folders_table', 6),
(41, '2019_08_05_171717_create_i_q_content_files_table', 6),
(42, '2019_08_05_171718_create_i_q_content_categories_table', 6),
(43, '2019_08_05_171719_create_i_q_content_tags_table', 6),
(44, '2016_06_01_000001_create_oauth_auth_codes_table', 7),
(45, '2016_06_01_000002_create_oauth_access_tokens_table', 7),
(46, '2016_06_01_000003_create_oauth_refresh_tokens_table', 7),
(47, '2016_06_01_000004_create_oauth_clients_table', 7),
(48, '2016_06_01_000005_create_oauth_personal_access_clients_table', 7);
INSERT INTO `users` (`name`, `token`, `password` , `email` )
VALUES
('leoni','bd1e76040fdc152c40a05dd694e9e48e','79270ee1ef65217aca3ed6ca8b691020819bffe5', 'leoni.stern@stern-tours.de'),

View file

@ -23,7 +23,7 @@ class DeleteController extends LfmController
$file_path = $file_to_delete->path();
event(new ImageIsDeleting($file_path));
//event(new ImageIsDeleting($file_path));
if (is_null($name_to_delete)) {
return $this->response('error', parent::getError('folder-name'));
@ -39,9 +39,13 @@ class DeleteController extends LfmController
return $this->response('error', parent::getError('delete-folder'));
}
} else {
if ($file_to_delete->isImage()) {
if ($file_to_delete->hasThumb()) {
$this->lfm->setName($name_to_delete)->thumb()->delete();
}
if ($file_to_delete->hasThumbEX()) {
$thumb_to_delete = str_replace('.youtube', '.jpg', $name_to_delete);
$this->lfm->setName($thumb_to_delete)->thumb()->delete();
}
}
$model = $file_to_delete->model();
if($model && $model->id){
@ -50,7 +54,7 @@ class DeleteController extends LfmController
$this->lfm->setName($name_to_delete)->delete();
event(new ImageWasDeleted($file_path));
//event(new ImageWasDeleted($file_path));
}
if (count($errors) > 0) {

View file

@ -24,7 +24,7 @@ class FileController extends LfmController
'working_dir' => request('working_dir'),
]);
}
//Rpo5py2fjrg
/**
* Crop the image (called via ajax).
*/
@ -49,6 +49,35 @@ class FileController extends LfmController
}
public function fileContent(){
$file_name = $this->helper->input('file');
$content_id = $this->helper->input('content_id');
$content_title = $this->helper->input('content_title');
$content_description = $this->helper->input('content_description');
$file = $this->lfm->pretty($file_name);
$content = [
'id' => $content_id,
'title' => $content_title,
'description' => $content_description,
];
if($content_id && $content_id != ""){
$file->put(json_encode($content));
}
$model = $file->model();
if($model && $model->id){
$model->content = $content;
$model->save();
}
return parent::$success_response;
}
private function createYoutubeFile($file_type){
$youtube_video_id = request('file_content');
@ -58,9 +87,12 @@ class FileController extends LfmController
return $this->response('error', "youtube ID nicht gefunden: ".$youtube_video_id);
}
$file_title = $value['items'][0]['snippet']['title'];
$file_title_row = isset($value['items'][0]['snippet']['title']) ? $value['items'][0]['snippet']['title'] : "";
$file_description = isset($value['items'][0]['snippet']['description']) ? $value['items'][0]['snippet']['description'] : "";
if (config('lfm.alphanumeric_filename')) {
$file_title = $this->helper->sanitize($file_title);
$file_title = $this->helper->sanitize($file_title_row);
}else{
$file_title = $file_title_row;
}
$file_name = $file_title.".".$file_type;
@ -71,8 +103,16 @@ class FileController extends LfmController
$new_file = $this->lfm->pretty($file_name);
$working_folder_id = $new_file->getModelParentFolderId();
$file_path = $new_file->path();
$content = [
'id' => $youtube_video_id,
'title' => $file_title_row,
'description' => $file_description,
];
//Storage::disk('local')->put('file.txt', 'Contents');
$new_file->put($youtube_video_id);
$new_file->put(json_encode($content));
$mimeType = $file_type;
$extension = $file_type;
@ -88,16 +128,15 @@ class FileController extends LfmController
// $image->fit(config('lfm.thumb_img_width', 200), config('lfm.thumb_img_height', 200));
// $this->lfm->storage->put($image->stream()->detach());
}
IQContentFile::create([
'folder_id' => $working_folder_id,
'name' => $new_file->name(),
'identifier' => $new_file->name(),
'identifier' => $youtube_video_id,
'ext' => $extension,
'mine' => $mimeType,
'size' => $size / 1000,
'dimensions' => '',
'content' => $youtube_video_id,
'content' => $content,
]);
return parent::$success_response;

View file

@ -85,13 +85,19 @@ class ItemsController extends LfmController
if ($old_file->hasThumb()) {
$new_file_thmub = $this->lfm->setName($item)->thumb()->dir($target);
$new_file_thumb = $this->lfm->setName($item)->thumb()->dir($target);
/* if ($is_directory) {
event(new FolderIsMoving($old_file->path(), $new_file_thmub->path()));
} else {
event(new FileIsMoving($old_file->path(), $new_file_thmub->path()));
}*/
$this->lfm->setName($item)->thumb()->move($new_file_thmub);
$this->lfm->setName($item)->thumb()->move($new_file_thumb);
}
if ($old_file->hasThumbEX()) {
$thumb_item = str_replace('.youtube', '.jpg', $item);
$new_file_thumb = $this->lfm->setName($thumb_item)->thumb()->dir($target);
$this->lfm->setName($thumb_item)->thumb()->move($new_file_thumb);
}
$new_file = $this->lfm->setName($item)->dir($target);

View file

@ -67,6 +67,13 @@ class RenameController extends LfmController
->move($this->lfm->setName($new_name)->thumb());
}
if ($old_file->hasThumbEX()) {
$thumb_old_name = str_replace('.youtube', '.jpg', $old_name);
$thumb_new_name = str_replace('.youtube', '.jpg', $new_name);
$this->lfm->setName($thumb_old_name)->thumb()
->move($this->lfm->setName($thumb_new_name)->thumb());
}
$this->lfm->setName($old_name)
->move($this->lfm->setName($new_name));

View file

@ -352,12 +352,18 @@ class Lfm
'as' => 'getFile',
]);
// add-file
// add-file-perform
Route::get('/add-dofile', [
'uses' => 'FileController@performFile',
'as' => 'performFile',
]);
// file-content
Route::get('/file-content', [
'uses' => 'FileController@fileContent',
'as' => 'getFile',
]);
// rename
Route::get('/rename', [
'uses' => 'RenameController@getRename',

View file

@ -173,8 +173,12 @@ class LfmItem
}
if ($this->extension() === "youtube") {
$name = str_replace(".youtube", ".jpg", $this->name());
return $this->lfm->setName($name)->thumb(true)->url();
$thumb_name = "thumbs/".str_replace(".youtube", ".jpg", $this->name());
return str_replace($this->name(), $thumb_name, $this->lfm->thumb($this->hasThumb())->url());
/*if(!empty($this->lfm->setName($name)->thumb(true)->url())){
return null;
}*/
}
return null;
@ -202,7 +206,7 @@ class LfmItem
if($model && $model->color){
return $this->model()->color;
}
return '#';
return '#f2bf24';
}
@ -219,6 +223,15 @@ class LfmItem
return $this->helper->getFileType($this->extension());
}
public function hasThumbEx()
{
if($this->extension() === "youtube"){
return true;
}
return false;
}
public function hasThumb()
{
if (!$this->isImage()) {

View file

@ -156,7 +156,7 @@ class LfmPath
public function url()
{
return $this->storage->url($this->path('url'));
return $this->storage->url($this->path('url'));
}
public function folders()
@ -430,11 +430,13 @@ class LfmPath
public function makeThumbnailURL($file_name, $url)
{
ini_set("allow_url_fopen", 1);
// create folder for thumbnails
$this->setName(null)->thumb(true)->createFolder();
// generate cropped image content
$this->setName($file_name)->thumb(true);
$image = Image::make($url);
$image = Image::make(file_get_contents($url));
// $this->image_dimensions = $image->width()."x".$image->height();
$image->fit(config('lfm.thumb_img_width', 200), config('lfm.thumb_img_height', 200));
$this->storage->put($image->stream()->detach());

View file

@ -61,6 +61,10 @@ class IQContentFile extends Model
'folder_id', 'name', 'identifier', 'ext', 'mine', 'size', 'dimensions', 'content', 'color', 'pos', 'active'
];
protected $casts = [
'content' => 'array',
];
public function folder() {
return $this->belongsTo('IqContent\LaravelFilemanager\Models\IQContentFolder', 'folder_id');
}

View file

@ -0,0 +1,2 @@
User-agent: *
Disallow:

View file

@ -312,6 +312,18 @@ jQuery(document).ready(function() {
$(function() {
$('.datepicker-range').datepicker({
calendarWeeks: true,
orientation: 'auto left',
format: 'dd.mm.yyyy',
language: 'de',
daysOfWeekHighlighted: '0,6',
clearBtn: true,
});
$('.datepicker-base').datepicker({
calendarWeeks: true,
todayBtn: 'linked',

View file

@ -160,7 +160,7 @@ function getSelectedItems() {
function hasSelectedItems() {
$('input.lfm-control-input').each(function () {
console.log($(this).prop('checked'));
//console.log($(this).prop('checked'));
if($(this).prop('checked')){
return true;
}
@ -351,8 +351,8 @@ var refreshFoldersAndItems = function (data) {
loadItems();
if(isJSON(data)){
var response = JSON.parse(data);
console.log("done");
console.log(response);
//console.log("done");
//console.log(response);
if(response.type === "error"){
$.growl({
title: "Error",
@ -380,7 +380,7 @@ function loadItems() {
loading(true);
performLfmRequest('jsonitems', {show_list: lfm_show_list, sort_type: lfm_sort_type}, 'html')
.done(function (data) {
console.log(data);
//console.log(data);
lfm_selected = [];
var response = JSON.parse(data);
var working_dir = response.working_dir;
@ -401,7 +401,7 @@ function loadItems() {
.attr('data-id', index)
//.click(toggleSelected)
.click(function (e) {
console.log($(e.target));
//console.log($(e.target));
if(!$(e.target).hasClass('lfm-click-disable') && !$(e.target).hasClass('dropdown-item')){
if (item.is_file) {
if($(e.target).hasClass('file-item-img') || $(e.target).hasClass('file-item-icon')){
@ -469,7 +469,7 @@ function loadItems() {
//$('#nav-buttons > ul').removeClass('d-none');
$('#working_dir').val(working_dir);
console.log('Current working_dir : ' + working_dir);
// console.log('Current working_dir : ' + working_dir);
var breadcrumbs = [];
var validSegments = working_dir.split('/').filter(function (e) { return e; });
validSegments.forEach(function (segment, index) {
@ -602,24 +602,41 @@ function preview_item(item) {
function preview(item) {
var media = $('#previewTemplate').clone().attr('id', 'previewMedia').removeClass('d-none');
var item_content_id = "";
if(item.icon == "fa-image" || item.icon == "fa-file-pdf"){
media.find('.media-preview').attr('src', item.url + '?timestamp=' + item.time).removeClass('d-none');
}else if(item.icon == "fab fa-youtube-square"){
media.find('.embed-responsive-item').attr('src', 'https://www.youtube.com/embed/' +item.content + '?rel=0');
media.find('.embed-responsive-item').attr('src', 'https://www.youtube.com/embed/' +item.content.id + '?rel=0');
media.find('.embed-responsive').removeClass('d-none');
media.find('.media-content').val(item.content);
media.find('.media-content').parent().removeClass('d-none');
item_content_id = item.content.id;
}else{
var icon = $('<div>').addClass('file-item-icon fa ' + item.icon).css('color', item.color);
media.find('.file-manager-col-view').html(icon).removeClass('d-none');
}
if(item.content){
media.find('.media-content-title').val(item.content.title);
media.find('.media-content-description').val(item.content.description);
}
media.find('.media-content-title').parent().removeClass('d-none');
media.find('.media-content-description').parent().removeClass('d-none');
media.find('.media-name').html(item.name);
media.find('.media-url').val(item.url);
media.find('.media-download').attr('target', '_blank').attr('href', item.url);
callback = function () {
performLfmRequest('file-content', {
file: item.name,
content_id: item_content_id,
content_title: media.find('.media-content-title').val(),
content_description: media.find('.media-content-description').val(),
}).done(refreshFoldersAndItems);
};
/* if (item.thumb_url) {
media.find('.carousel-image').css('background-image', 'url(\'' + item.url + '?timestamp=' + item.time + '\')');
} else {
@ -631,7 +648,7 @@ function preview(item) {
.append($('<i class="fas fa-external-link-alt ml-2"></i>'));
*/
notify(media);
notify(media, callback);
}
/*function preview(items) {
@ -833,7 +850,11 @@ function notImp() {
function notify(body, callback) {
$('#notify').find('.btn-primary').toggle(callback !== undefined);
$('#notify').find('.btn-primary').unbind().click(callback);
if(callback !== 'success'){
$('#notify').find('.btn-primary').unbind().click(callback);
}else{
$('#notify').find('.btn-primary').unbind();
}
$('#notify').modal('show').find('.modal-body').html(body);
}

View file

@ -0,0 +1,208 @@
@extends('layouts.layout-2')
@section('content')
<style>
.switcher-input:checked ~ .switcher-label .switcher-label-yes {
display: inline-block;
}
.switcher-input:checked ~ .switcher-label .switcher-label-no {
display: none;
}
.switcher-input:not(:checked) ~ .switcher-label .switcher-label-yes {
display: none;
}
.switcher-input:not(:checked) ~ .switcher-label .switcher-label-no {
display: inline-block;
}
</style>
{!! Form::open(['url' => route('cms_content_infos'), 'class' => 'form-horizontal']) !!}
<h4 class="font-weight-bold py-3 mb-1">
Inhalte Infos verwalten
<div class="float-right">
<button type="submit" name="action" value="saveAll" class="btn btn-submit btn-sm">{{ __('save changes') }}</button>&nbsp;
</div>
</h4>
<div class="clearfix"></div>
<!-- -->
<div class="card mb-4">
<div class="card-body">
<h4>Lokale Öffnungszeiten</h4>
<p>Die Öffnungszeiten können eine Woche im Voraus geplant werden und wird live im Frontend angezeigt.</p>
@foreach($days as $wday => $day_name)
@php($available = \App\Models\CMSInfoAvailable::getContentBySlug('local', $wday))
<div class="form-row">
{{ Form::hidden('info_availables[local]['.$wday.'][wday]', $wday) }}
<div class="col-sm-2 col-6 py-2"><strong>{!! $day_name !!}</strong></div>
<div class="col-sm-3 col-6 py-2">
<label class="switcher">
{{ Form::hidden('info_availables[local]['.$wday.'][active]', 0) }}
{{ Form::checkbox('info_availables[local]['.$wday.'][active]', 1, $available->active, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label"><span class="switcher-label-yes">geöffnet</span> <span class="switcher-label-no">geschlossen</span></span>
</label>
</div>
<div class="form-group col-sm-2 col-6">
<select class="selectpicker" data-style="btn-default" name="info_availables[local][{{$wday}}][from]" data-live-search="true">
{!! \App\Services\HTMLHelper::getTimeInSteps($available->from) !!}
</select>
</div>
<div class="form-group col-sm-2 col-6">
<select class="selectpicker" data-style="btn-default" name="info_availables[local][{{$wday}}][to]" data-live-search="true">
{!! \App\Services\HTMLHelper::getTimeInSteps($available->to) !!}
</select>
</div>
</div>
@endforeach
</div>
</div>
<div class="card mb-4">
<div class="card-body">
<h4>Telefon Erreichbarkeit</h4>
<p>Die Erreichbarkeit per Telefon kann eine Woche im Voraus geplant werden und wird live im Frontend angezeigt.</p>
@foreach($days as $wday => $day_name)
@php($available = \App\Models\CMSInfoAvailable::getContentBySlug('phone', $wday))
<div class="form-row">
{{ Form::hidden('info_availables[phone]['.$wday.'][active]', 0) }}
{{ Form::hidden('info_availables[phone]['.$wday.'][wday]', $wday) }}
<div class="col-sm-2 col-6 py-2"><strong>{!! $day_name !!}</strong></div>
<div class="col-sm-3 col-6 py-2">
<label class="switcher">
{{ Form::hidden('info_availables[phone]['.$wday.'][active]', 0) }}
{{ Form::checkbox('info_availables[phone]['.$wday.'][active]', 1, $available->active, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label"><span class="switcher-label-yes">erreichbar</span> <span class="switcher-label-no">nicht erreichbar</span></span>
</label>
</div>
<div class="form-group col-sm-2 col-6">
<select class="selectpicker" data-style="btn-default" name="info_availables[phone][{{$wday}}][from]" data-live-search="true">
{!! \App\Services\HTMLHelper::getTimeInSteps($available->from) !!}
</select>
</div>
<div class="form-group col-sm-2 col-6">
<select class="selectpicker" data-style="btn-default" name="info_availables[phone][{{$wday}}][to]" data-live-search="true">
{!! \App\Services\HTMLHelper::getTimeInSteps($available->to) !!}
</select>
</div>
</div>
@endforeach
</div>
</div>
<div class="card mb-4">
<div class="card-body">
<button type="submit" name="action" value="add_holiday" class="btn btn-primary btn-sm float-right mb-2"><i class="ion ion-ios-add-circle"></i> Eintrag</button>
<h4>Geschlossen Tage (nicht erreichbar)</h4>
<p>Überschreibt bei dem Datum von - bis die Erreichbarkeit, wenn lokal und/oder telefon aktiviert (rot) ist. </p>
@foreach($cms_holidays as $cms_holiday)
<div class="form-row">
<div class="col-sm-2 col-6 py-2">
<label class="switcher switcher-danger">
{{ Form::hidden('info_holidays['.$cms_holiday->id.'][local]', 0) }}
{{ Form::checkbox('info_holidays['.$cms_holiday->id.'][local]', 1, $cms_holiday->local, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">Lokal</span>
</label>
</div>
<div class="col-sm-3 col-6 py-2">
<label class="switcher switcher-danger">
{{ Form::hidden('info_holidays['.$cms_holiday->id.'][phone]', 0) }}
{{ Form::checkbox('info_holidays['.$cms_holiday->id.'][phone]', 1, $cms_holiday->phone, array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label">Telefon</span>
</label>
</div>
<div class="col-sm-6 col-10">
<div class="input-daterange input-group datepicker-range">
{{ Form::text('info_holidays['.$cms_holiday->id.'][from]', $cms_holiday->from, array('placeholder'=>__('Datum von'), 'class'=>'form-control')) }}
<div class="input-group-prepend">
<span class="input-group-text">bis</span>
</div>
{{ Form::text('info_holidays['.$cms_holiday->id.'][to]', $cms_holiday->to, array('placeholder'=>__('Datum von'), 'class'=>'form-control')) }}
</div>
</div>
<div class="col-sm-1 col-2 p-1">
<a href="{{route('cms_content_infos_delete', ['holiday', $cms_holiday->id])}}" class="btn btn-danger btn-sm" onclick="return confirm('Wirklich löschen?');"><i class="far fa-trash-alt"></i></a>
</div>
</div>
<hr>
@endforeach
</div>
</div>
<div class="card mb-2">
<div class="card-body">
<h4>Kontaktinfos</h4>
<div class="form-row">
<div class="form-group col-12">
<label class="switcher">
{{ Form::hidden('infos[office-important-note-active][val]', 0) }}
{{ Form::checkbox('infos[office-important-note-active][val]', 1, \App\Models\CMSInfo::getContentBySlug('office-important-note-active'), array('class'=>'switcher-input')) }}
<span class="switcher-indicator">
<span class="switcher-yes"></span>
<span class="switcher-no"></span>
</span>
<span class="switcher-label"></span>
</label>
{{ Form::hidden('infos[office-important-note-active][type]', 'bool') }}
<label class="form-label" for="office_important_note">{{ __('Wichtiger Hinweis') }} <span class="text-muted">(wird zusätzlich angezeigt, wenn aktiv)</span></label>
{{ Form::text('infos[office-important-note][val]', \App\Models\CMSInfo::getContentBySlug('office-important-note'), array('placeholder'=>__('Weihnachtsferien! Vom 23.12.2019 bis zum 28.12.2019 sind wir nur zu den genannten Zeiten telefonisch zu erreichen.'), 'class'=>'form-control', 'id'=>'office_important_note')) }}
{{ Form::hidden('infos[office-important-note][type]', 'text') }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="office_appointment">{{ __('Termin') }}*</label>
{{ Form::text('infos[office-appointment][val]', \App\Models\CMSInfo::getContentBySlug('office-appointment'), array('placeholder'=>__('Text zur Terminvereinbarung'), 'class'=>'form-control', 'id'=>'office_appointment')) }}
{{ Form::hidden('infos[office-appointment][type]', 'text') }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="office_phone">{{ __('Telefonnummer') }}*</label>
{{ Form::text('infos[office-phone][val]', \App\Models\CMSInfo::getContentBySlug('office-phone'), array('placeholder'=>__('Telefonnummer'), 'class'=>'form-control', 'id'=>'office_phone', 'required'=>true)) }}
{{ Form::hidden('infos[office-phone][type]', 'text') }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label" for="office_email">{{ __('E-Mail') }}*</label>
{{ Form::email('infos[office-email][val]', \App\Models\CMSInfo::getContentBySlug('office-email'), array('placeholder'=>__('E-Mail'), 'class'=>'form-control', 'id'=>'office_email', 'required'=>true)) }}
{{ Form::hidden('infos[office-email][type]', 'text') }}
</div>
</div>
</div>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
</div>
{!! Form::close() !!}
@endsection

View file

@ -154,52 +154,14 @@
<a class="dropdown-item link-item-download" href="javascript:void(0)" data-action="item_download"><i class="fa fa-download"></i> download</a>
<a class="dropdown-item link-item-crop" href="javascript:void(0)" data-action="item_crop"><i class="fa fa-crop"></i> zuschneiden</a>
<!-- <a class="dropdown-item link-item-resize" href="javascript:void(0)" data-action="item_resize"><i class="fa fa-crop"></i> Größe ändern</a> -->
<a class="dropdown-item link-item-color" href="javascript:void(0)" data-action="item_color"><i class="fa fa-paint-brush"></i> Farbe</a>
<a class="dropdown-item" href="javascript:void(0)" data-action="item_trash"><i class="fa fa-trash"></i> löschen</a>
</div>
</div>
</div>
<div class="file-manager-container file-manager-col-view" id="file-manager-content">
</div>
</div>
<!-- / content list -->
{{--
<!-- sidebox -->
<div class="messages-sidebox messages-scroll col">
<div class="card-header text-uppercase text-expanded text-muted">Areas</div>
<div class="card-body py-3">
<div class="media align-items-center">
<div class="media-body">
<button type="button" class="btn btn-primary btn-block" data-toggle="modal" data-target="#modals-load-content"
data-id="add"
data-model="area"
data-action="area-content"
data-request=""
data-route="{{ route('iq_content_modal_load') }}"><i class="ion ion-ios-add-circle"></i> Add area</button>
</div>
<a href="javascript:void(0)" class="messages-sidebox-toggler d-lg-none d-block text-muted text-large font-weight-light pl-4">&times;</a>
</div>
</div>
<div class="card-header text-uppercase text-expanded text-muted">Filter</div>
<div class="card-body py-3">
<a href="javascript:void(0)" class="d-flex justify-content-between align-items-center text-body font-weight-bold py-2">
<div>
All
</div>
<div class="badge badge-primary">{{ count($models) }}</div>
</a>
<hr class="border-light my-4">
</div>
</div>
<!-- / sidebox -->
--}}
</div><!-- / .row -->
</div><!-- / .card -->
@ -277,7 +239,10 @@
<div class="p-3">
<h5 class="media-name"> </h5>
<div class="form-group d-none">
<input type="text" class="form-control media-content" readonly>
<input type="text" class="form-control media-content-title" placeholder="Title">
</div>
<div class="form-group d-none">
<textarea type="text" class="form-control media-content-description" placeholder="Description"></textarea>
</div>
<div class="input-group">
<div class="input-group-prepend">
@ -295,7 +260,6 @@
<script>
var lang = {!! json_encode(trans('laravel-filemanager::lfm')) !!};
</script>
@endsection

View file

@ -42,7 +42,11 @@
<link rel="stylesheet" href="{{ mix('/vendor/libs/select2/select2.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/libs/datatables/datatables.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.css') }}">
<!--
<link rel="stylesheet" href="{{ mix('/vendor/libs/bootstrap-daterangepicker/bootstrap-daterangepicker.css') }}">
-->
<link rel="stylesheet" href="{{ mix('/vendor/libs/dragula/dragula.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/libs/minicolors/minicolors.css') }}">
<link rel="stylesheet" href="{{ asset('/vendor/libs/summernote/dist/summernote-bs4.css') }}">
@ -125,6 +129,10 @@
<script src="{{ mix('/vendor/libs/datatables/datatables.js') }}"></script>
<script src="{{ mix('/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.js') }}"></script>
<!--
<script src="{{ mix('/vendor/libs/bootstrap-daterangepicker/bootstrap-daterangepicker.js') }}"></script>
-->
<script src="{{asset('/js/bootstrap-datepicker.de.min.js')}}"></script>
<script src="{{ mix('/vendor/libs/dragula/dragula.js') }}"></script>
<script src="{{asset('/vendor/libs/nestable/my-nestable.js')}}"></script>
@ -133,7 +141,7 @@
<script src="{{ asset('/vendor/laravel-filemanager/js/cropper.min.js') }}"></script>
<script src="{{ asset('/js/pages_file-manager.js') }}"></script>
<script src="{{ asset('/js/filemanager.js') }}"></script>
<script src="{{ asset('/js/filemanager.js?v1') }}"></script>
<!-- Libs -->
<!-- `perfect-scrollbar` library required by SideNav plugin -->
@ -182,6 +190,7 @@
});
$(document).ready(function() {
$('.summernote').summernote({
height: 300,
tabsize: 2,

View file

@ -164,6 +164,10 @@
<div>Inhalte</div>
</a>
<ul class="sidenav-menu">
<li class="sidenav-item{{ Request::is('cms/content/infos') ? ' active' : '' }}">
<a href="{{ route('cms_content_infos') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-business"></i><div>Infos</div></a>
</li>
<li class="sidenav-item{{ Request::is('cms/content/country') ? ' active' : '' }} {{ Request::is('cms/content/country/*') ? ' active' : '' }}">
<a href="{{ route('cms_content_country') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-globe"></i><div>Reiseländer</div></a>
</li>

View file

@ -216,16 +216,25 @@ Route::group(['middleware' => ['admin']], function()
Route::get('/travel_user_booking_fewo/delete/{id}', 'TravelUserBookingFewoController@delete')->name('travel_user_booking_fewo_delete');
});
Route::group(['middleware' => ['auth.permission:cms-cn']], function() {
//CMS Infos
Route::get('/cms/content/infos', 'CMS\CMSContentInfoController@index')->name('cms_content_infos');
Route::post('/cms/content/infos', 'CMS\CMSContentInfoController@store')->name('cms_content_infos');
Route::get('/cms/content/infos/delete/{model}/{id}', 'CMS\CMSContentInfoController@delete')->name('cms_content_infos_delete');
// CMS Inhalte
Route::get('/cms/content/all', 'CMS\CMSContentController@index')->name('cms_content_all');
Route::post('/cms/content/all/store', 'CMS\CMSContentController@store')->name('cms_content_all_store');
Route::post('/cms/content/all/load/modal', 'CMS\CMSContentController@loadModal')->name('cms_content_all_load_modal');
Route::get('/cms/content/all/delete/{id}', 'CMS\CMSContentController@delete')->name('cms_content_all_delete');
//CMS Länder
Route::get('/cms/content/country', 'CMS\CMSContentCountryController@index')->name('cms_content_country');
Route::get('/cms/content/country/detail/{id}/{step?}', 'CMS\CMSContentCountryController@detail')->name('cms_content_country_detail');
Route::post('/cms/content/country/store/{id}', 'CMS\CMSContentCountryController@store')->name('cms_content_country_store');
});
Route::group(['middleware' => ['auth.permission:cms-tg']], function() {
// CMS Reiseführer

Binary file not shown.

Before

Width:  |  Height:  |  Size: 436 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 536 KiB

View file

@ -1 +0,0 @@
Rpo5py2fjrg

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

View file

@ -1 +1 @@
Rpo5py2fjrg
{"id":"Rpo5py2fjrg","title":"Wir: STERN TOURS","description":"Reiseveranstalter und Kulturreise-Spezialist aus Berlin"}

View file

Before

Width:  |  Height:  |  Size: 203 KiB

After

Width:  |  Height:  |  Size: 203 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB