Okay, ik probeer even alles op een rijtje te zetten en toe te passen op mijn situatie. Volgens mij zal het in een ongelooflijk klein detail zitten, want met je aangeleverde informatie lukt het me nog steeds niet.
M'n lokale website werkt via XAMPP en staat op de D-drive (D:\Websites\Kattenbelletjes)
In m'n hosts bestand (C:\Windows\System32\drivers\etc\hosts) staat:
127.0.0.1 development.kattenbelletjes.be
en in httpd-vhosts.conf (C:\xampp\apache\conf\extra\httpd-vhosts.conf) staat:
<VirtualHost development.kattenbelletjes.be>
DocumentRoot "D:\Websites\Kattenbelletjes\03 - Online\app\webroot"
ServerName development.kattenbelletjes.be
SetEnv CAKEPHP_DEBUG 2
<Directory "D:\Websites\Kattenbelletjes\03 - Online\app\webroot">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Ik heb een CMS systeem dat op CakePHP is gebaseerd. Het CMS systeem in in feite een plugin waarvan alle noodzakelijke files via /App/Plugin/CoasterCms/ terug te vinden zijn. Daarin staat er ergens een view file (add.ctp) die een formulier met een tekstvak bevat. Het tekstvak wordt dankzij jQuery door CKEditor (gehost op CDN) vervangen:
<?php
$this->Html->script('//code.jquery.com/jquery-2.2.1.min.js', array('block' => 'coreJS'));
$this->Html->script('//cdn.ckeditor.com/4.5.7/full/ckeditor.js', array('inline' => false));
$this->Html->script('//cdnjs.cloudflare.com/ajax/libs/ckeditor/4.5.4/adapters/jquery.js', array('inline' => false));
$this->Html->script('CoasterCms.ckeditor-config', array('inline' => false));
?>
De laatste regel zorgt dat het .js configuratiebestand (en dus geen .php file zoals m'n vorige reactie misschien wel liet vermoeden) wordt aangeroepen en dat er wat maatwerk op de CKEditor kan worden toegepast. De mijne ziet er momenteel zo uit:
$('textarea.ckeditor').ckeditor({
language: 'nl',
height: '400px',
// speciale karakters niet escapen
resize_enabled: false,
entities_latin: false,
entities_greek: false,
entities: false,
basicEntities: false,
// extra plugins
filebrowserBrowseUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/browse.php?opener=ckeditor&type=files',
filebrowserImageBrowseUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/browse.php?opener=ckeditor&type=images',
filebrowserFlashBrowseUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/browse.php?opener=ckeditor&type=flash',
filebrowserUploadUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/upload.php?opener=ckeditor&type=files',
filebrowserImageUploadUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/upload.php?opener=ckeditor&type=images',
filebrowserFlashUploadUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/upload.php?opener=ckeditor&type=flash',
// beheren van de groepen en knoppen
toolbarGroups: [
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] },
{ name: 'links', groups: [ 'links' ] },
{ name: 'insert', groups: [ 'insert' ] },
'/',
{ name: 'styles', groups: [ 'styles' ] },
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] },
{ name: 'forms', groups: [ 'forms' ] },
{ name: 'tools', groups: [ 'tools' ] },
{ name: 'document', groups: [ 'document', 'doctools', 'mode' ] },
{ name: 'colors', groups: [ 'colors' ] },
{ name: 'about', groups: [ 'about' ] },
{ name: 'others', groups: [ 'others' ] }
],
// knoppen tonen en verbergen
removeButtons: 'Print,Save,Templates,NewPage,Preview,Paste,PasteFromWord,Undo,Redo,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,Outdent,Indent,Blockquote,CreateDiv,BidiLtr,BidiRtl,Language,Flash,PageBreak,Iframe,Font,FontSize,TextColor,BGColor',
// stijlen dropdown
stylesSet: [
// Block-level styles
/*{ name: 'Blue Title', element: 'h2', styles: { 'color': 'Blue' } },
{ name: 'Red Title' , element: 'h3', styles: { 'color': 'Red' } },*/
// Inline styles
/*{ name: 'CSS Style', element: 'span', attributes: { 'class': 'my_style' } },
{ name: 'Marker: Yellow', element: 'span', styles: { 'background-color': 'Yellow' } }*/
],
// elementen dropdown
format_tags: 'h1;h2' // enkel deze elementen mogen in de dropdownlijst worden getoond
});
Als ik het goed voor heb, dan linkt de filebrowserBrowseUrl naar het pad (of naar de url?) waar het bestand staat die de boomstructuur in de upload map bijhoudt. Van mij zou die upload map gewoon onder de root van de website mogen staan, dus gewoon "/uploads".
Dat upload bestand (/coaster_cms/js/kcfinder/browse.php) voldoet aan de volgende voorwaarden:
- het heeft de .php extensie
- Het bevat < ?php tags (en dus niet de shorthand < ? tags)
- de filebrowserBrowseUrl wordt niet als lokaal bestand gelinkt
Ariën, zoals je reeds aan gaf is de laatste mogelijkheid misschien wel één of andere .htaccess file. Naar welke regel hoor ik specifiek te zoeken? Ik verwijderde al even de .htaccess file onder "/coaster_cms/js/kcfinder/upload/.htaccess" met de volgende inhoud:
<?php
<IfModule mod_php4.c>
php_flag engine Off
</IfModule>
<IfModule mod_php5.c>
php_flag engine Off
</IfModule>
<IfModule mod_php6.c>
php_flag engine Off
</IfModule>
<IfModule mod_cgi.c>
Options -ExecCGI
</IfModule>
RemoveHandler .cgi .pl .py .pyc .pyo .phtml .php .php3 .php4 .php5 .php6 .pcgi .pcgi3 .pcgi4 .pcgi5 .pchi6 .inc
RemoveType .cgi .pl .py .pyc .pyo .phtml .php .php3 .php4 .php5 .php6 .pcgi .pcgi3 .pcgi4 .pcgi5 .pchi6 .inc
SetHandler None
SetHandler default-handler
# Remove both lines below if you want to render HTML files from the upload folder
AddType text/plain .html
AddType text/plain .htm
?>
Ik kreeg echter nog steeds de geprinte php output:
* @copyright 2010-2014 KCFinder Project * @license http://opensource.org/licenses/GPL-3.0 GPLv3 * @license http://opensource.org/licenses/LGPL-3.0 LGPLv3 * @link http://kcfinder.sunhater.com */ require "core/bootstrap.php"; $browser = "kcfinder\\browser"; // To execute core/bootstrap.php on older $browser = new $browser(); // PHP versions (even PHP 4) $browser->action(); ?>
Andere .htaccess files heb ik ook al eventjes geleegd qua inhoud:
- D:\Websites\Kattenbelletjes\03 - Online\app\Plugin\CoasterCms\webroot\js\kcfinder\conf\.htaccess
- D:\Websites\Kattenbelletjes\03 - Online\app\Plugin\CoasterCms\webroot\js\kcfinder\conf\upload.htaccess
De meeste .htaccess files in die kcfinder map bevatten:
<Files *>
Order allow,deny
Deny from all
</Files>
Hopelijk blijkt er dankzij de bovenstaande uitgebreide uitleg dat er toch iets kleins over het hoofd wordt gezien. 'k Ben na enkele dagen zoeken toch wat moedeloos aan 't worden :)
[size=xsmall]
Toevoeging op 04/04/2016 21:41:39:[/size]
[quote="Sam Clauw op 04/04/2016 21:21:43"]
Okay, ik probeer even alles op een rijtje te zetten en toe te passen op mijn situatie. Volgens mij zal het in een ongelooflijk klein detail zitten, want met je aangeleverde informatie lukt het me nog steeds niet.
M'n lokale website werkt via XAMPP en staat op de D-drive (D:\Websites\Kattenbelletjes)
In m'n hosts bestand (C:\Windows\System32\drivers\etc\hosts) staat:
127.0.0.1 development.kattenbelletjes.be
en in httpd-vhosts.conf (C:\xampp\apache\conf\extra\httpd-vhosts.conf) staat:
<VirtualHost development.kattenbelletjes.be>
DocumentRoot "D:\Websites\Kattenbelletjes\03 - Online\app\webroot"
ServerName development.kattenbelletjes.be
SetEnv CAKEPHP_DEBUG 2
<Directory "D:\Websites\Kattenbelletjes\03 - Online\app\webroot">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Ik heb een CMS systeem dat op CakePHP is gebaseerd. Het CMS systeem in in feite een plugin waarvan alle noodzakelijke files via /App/Plugin/CoasterCms/ terug te vinden zijn. Daarin staat er ergens een view file (add.ctp) die een formulier met een tekstvak bevat. Het tekstvak wordt dankzij jQuery door CKEditor (gehost op CDN) vervangen:
<?php
$this->Html->script('//code.jquery.com/jquery-2.2.1.min.js', array('block' => 'coreJS'));
$this->Html->script('//cdn.ckeditor.com/4.5.7/full/ckeditor.js', array('inline' => false));
$this->Html->script('//cdnjs.cloudflare.com/ajax/libs/ckeditor/4.5.4/adapters/jquery.js', array('inline' => false));
$this->Html->script('CoasterCms.ckeditor-config', array('inline' => false));
?>
De laatste regel zorgt dat het .js configuratiebestand (en dus geen .php file zoals m'n vorige reactie misschien wel liet vermoeden) wordt aangeroepen en dat er wat maatwerk op de CKEditor kan worden toegepast. De mijne ziet er momenteel zo uit:
$('textarea.ckeditor').ckeditor({
language: 'nl',
height: '400px',
// speciale karakters niet escapen
resize_enabled: false,
entities_latin: false,
entities_greek: false,
entities: false,
basicEntities: false,
// extra plugins
filebrowserBrowseUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/browse.php?opener=ckeditor&type=files',
filebrowserImageBrowseUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/browse.php?opener=ckeditor&type=images',
filebrowserFlashBrowseUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/browse.php?opener=ckeditor&type=flash',
filebrowserUploadUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/upload.php?opener=ckeditor&type=files',
filebrowserImageUploadUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/upload.php?opener=ckeditor&type=images',
filebrowserFlashUploadUrl: 'http://development.kattenbelletjes.be/coaster_cms/js/kcfinder/upload.php?opener=ckeditor&type=flash',
// beheren van de groepen en knoppen
toolbarGroups: [
{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] },
{ name: 'links', groups: [ 'links' ] },
{ name: 'insert', groups: [ 'insert' ] },
'/',
{ name: 'styles', groups: [ 'styles' ] },
{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] },
{ name: 'forms', groups: [ 'forms' ] },
{ name: 'tools', groups: [ 'tools' ] },
{ name: 'document', groups: [ 'document', 'doctools', 'mode' ] },
{ name: 'colors', groups: [ 'colors' ] },
{ name: 'about', groups: [ 'about' ] },
{ name: 'others', groups: [ 'others' ] }
],
// knoppen tonen en verbergen
removeButtons: 'Print,Save,Templates,NewPage,Preview,Paste,PasteFromWord,Undo,Redo,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,Outdent,Indent,Blockquote,CreateDiv,BidiLtr,BidiRtl,Language,Flash,PageBreak,Iframe,Font,FontSize,TextColor,BGColor',
// stijlen dropdown
stylesSet: [
// Block-level styles
/*{ name: 'Blue Title', element: 'h2', styles: { 'color': 'Blue' } },
{ name: 'Red Title' , element: 'h3', styles: { 'color': 'Red' } },*/
// Inline styles
/*{ name: 'CSS Style', element: 'span', attributes: { 'class': 'my_style' } },
{ name: 'Marker: Yellow', element: 'span', styles: { 'background-color': 'Yellow' } }*/
],
// elementen dropdown
format_tags: 'h1;h2' // enkel deze elementen mogen in de dropdownlijst worden getoond
});
Als ik het goed voor heb, dan linkt de filebrowserBrowseUrl naar het pad (of naar de url?) waar het bestand staat die de boomstructuur in de upload map bijhoudt. Van mij zou die upload map gewoon onder de root van de website mogen staan, dus gewoon "/uploads".
Dat upload bestand (/coaster_cms/js/kcfinder/browse.php) voldoet aan de volgende voorwaarden:
- het heeft de .php extensie
- Het bevat < ?php tags (en dus niet de shorthand < ? tags)
- de filebrowserBrowseUrl wordt niet als lokaal bestand gelinkt
Ariën, zoals je reeds aan gaf is de laatste mogelijkheid misschien wel één of andere .htaccess file. Naar welke regel hoor ik specifiek te zoeken? Ik verwijderde al even de .htaccess file onder "/coaster_cms/js/kcfinder/upload/.htaccess" met de volgende inhoud:
<IfModule mod_php4.c>
php_flag engine Off
</IfModule>
<IfModule mod_php5.c>
php_flag engine Off
</IfModule>
<IfModule mod_php6.c>
php_flag engine Off
</IfModule>
<IfModule mod_cgi.c>
Options -ExecCGI
</IfModule>
RemoveHandler .cgi .pl .py .pyc .pyo .phtml .php .php3 .php4 .php5 .php6 .pcgi .pcgi3 .pcgi4 .pcgi5 .pchi6 .inc
RemoveType .cgi .pl .py .pyc .pyo .phtml .php .php3 .php4 .php5 .php6 .pcgi .pcgi3 .pcgi4 .pcgi5 .pchi6 .inc
SetHandler None
SetHandler default-handler
# Remove both lines below if you want to render HTML files from the upload folder
AddType text/plain .html
AddType text/plain .htm
Ik kreeg echter nog steeds de geprinte php output:
* @copyright 2010-2014 KCFinder Project * @license http://opensource.org/licenses/GPL-3.0 GPLv3 * @license http://opensource.org/licenses/LGPL-3.0 LGPLv3 * @link http://kcfinder.sunhater.com */ require "core/bootstrap.php"; $browser = "kcfinder\\browser"; // To execute core/bootstrap.php on older $browser = new $browser(); // PHP versions (even PHP 4) $browser->action(); ?>
Andere .htaccess files heb ik ook al eventjes geleegd qua inhoud:
- D:\Websites\Kattenbelletjes\03 - Online\app\Plugin\CoasterCms\webroot\js\kcfinder\conf\.htaccess
- D:\Websites\Kattenbelletjes\03 - Online\app\Plugin\CoasterCms\webroot\js\kcfinder\conf\upload.htaccess
De meeste .htaccess files in die kcfinder map bevatten:
<Files *>
Order allow,deny
Deny from all
</Files>
Hopelijk blijkt er dankzij de bovenstaande uitgebreide uitleg dat er toch iets kleins over het hoofd wordt gezien. 'k Ben na enkele dagen zoeken toch wat moedeloos aan 't worden :)