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.

This commit is contained in:
friendica 2013-09-02 13:31:59 -07:00
parent 8b7757e033
commit f44274bfca
3 changed files with 16 additions and 6 deletions

View File

@ -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');

View File

@ -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';
}
}

View File

@ -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);