aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-09-02 13:31:59 -0700
committerfriendica <info@friendica.com>2013-09-02 13:31:59 -0700
commitf44274bfca6137795ee878a076d5aeed0b330f64 (patch)
tree309b0b7067e9733331562fb46baf16d8bb43bf8d
parent8b7757e033c4483da24700722c186057bb431164 (diff)
downloadvolse-hubzilla-f44274bfca6137795ee878a076d5aeed0b330f64.tar.gz
volse-hubzilla-f44274bfca6137795ee878a076d5aeed0b330f64.tar.bz2
volse-hubzilla-f44274bfca6137795ee878a076d5aeed0b330f64.zip
allow a channel owner to define a default mimetype on webpages (otherwise default to "choose") - also fix the selector w/r/t php code. There is no ui for setting either at the moment, but for instance with wiki pages we probably don't want to have multiple choice of the mimetype. Keep it simple.
-rw-r--r--include/conversation.php10
-rwxr-xr-xinclude/text.php5
-rw-r--r--mod/webpages.php7
3 files changed, 16 insertions, 6 deletions
diff --git a/include/conversation.php b/include/conversation.php
index a357e1480..31bfdbef9 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -1016,8 +1016,14 @@ function status_editor($a,$x,$popup=false) {
if(intval($x['plaintext']))
$plaintext = true;
- if(intval($x['mimeselect']))
- $mimeselect = mimetype_select($x['profile_uid']);
+ $mimeselct = '';
+ if(array_key_exists('mimetype',$x) && $x['mimetype']) {
+ if($x['mimetype'] === 'choose')
+ $mimeselect = mimetype_select($x['profile_uid']);
+ else
+ $mimeselect = '<input name="mimetype" value="' . $x['mimetype'] . '" />';
+ }
+
$tpl = get_markup_template('jot-header.tpl');
diff --git a/include/text.php b/include/text.php
index 606ef421c..71374f1f9 100755
--- a/include/text.php
+++ b/include/text.php
@@ -1329,14 +1329,15 @@ function mimetype_select($channel_id, $current = 'text/bbcode') {
'text/plain'
);
- $r = q("select account_flags from account left join channel on account_id = channel_account_id where
+ $r = q("select account_id, account_roles from account left join channel on account_id = channel_account_id where
channel_id = %d limit 1",
intval($channel_id)
);
if($r) {
if($r[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) {
- $x[] = 'application/x-php';
+ if(local_user() && get_account_id() == $r[0]['account_id'])
+ $x[] = 'application/x-php';
}
}
diff --git a/mod/webpages.php b/mod/webpages.php
index 081297eb9..559b176fc 100644
--- a/mod/webpages.php
+++ b/mod/webpages.php
@@ -41,6 +41,10 @@ function webpages_content(&$a) {
return;
}
+ $mimetype = get_config('system','page_mimetype');
+ if(! $mimetype)
+ $mimetype = 'choose';
+
// Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages
// Nickname is set to the observers xchan, and profile_uid to the owners. This lets you post pages at other people's channels.
require_once ('include/conversation.php');
@@ -52,8 +56,7 @@ require_once ('include/conversation.php');
'bang' => (($group || $cid) ? '!' : ''),
'visitor' => 'block',
'profile_uid' => intval($owner),
- 'plaintext' => 1,
- 'mimeselect' => 1,
+ 'mimetype' => $mimetype,
);
$o .= status_editor($a,$x);