This commit is contained in:
redmatrix 2015-05-31 19:26:00 -07:00
commit f3b95f591a
14 changed files with 973 additions and 791 deletions

View file

@ -193,6 +193,9 @@ function translate_design_element($type) {
case 'block':
$ret = t('block');
break;
case 'menu':
$ret = t('menu');
break;
}
return $ret;
@ -994,3 +997,16 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
return $Text;
}
/**
* This function exists as a short-term solution to folks linking to private images from their /cloud in
* their profiles, which brings up a login dialogue in the directory when that entry is viewed.
* The long term solution is to separate the web file browser from DAV so that you'll never see a
* login prompt (though the resource may return a permission denied).
*/
function strip_bbimage($s) {
$Text = preg_replace("/\[[zi]mg(.*?)\](.*?)\[\/[zi]mg\]/ism", '', $Text);
}

View file

@ -545,6 +545,7 @@ function get_feed_for($channel, $observer_hash, $params) {
'order' => 'post',
'top' => $params['top']
), $channel, $observer_hash, CLIENT_MODE_NORMAL, get_app()->module);
$feed_template = get_markup_template('atom_feed.tpl');
@ -4349,6 +4350,8 @@ function zot_feed($uid,$observer_hash,$arr) {
$mindate = null;
$message_id = null;
require_once('include/security.php');
if(array_key_exists('mindate',$arr)) {
$mindate = datetime_convert('UTC','UTC',$arr['mindate']);
}
@ -4371,10 +4374,8 @@ function zot_feed($uid,$observer_hash,$arr) {
return $result;
}
if(! is_sys_channel($uid)) {
require_once('include/security.php');
if(! is_sys_channel($uid))
$sql_extra = item_permissions_sql($uid,$observer_hash);
}
$limit = " LIMIT 100 ";
@ -4839,3 +4840,39 @@ function comment_local_origin($item) {
return false;
}
function i2asld($i) {
if(! $i)
return array();
$ret = array();
if($i['verb']) {
$ret['@context'] = dirname($i['verb']);
$ret['@type'] = ucfirst(basename($i['verb']));
}
$ret['@id'] = $i['plink'];
$ret['published'] = datetime_convert('UTC','UTC',$i['created'],ATOM_TIME);
if($i['title'])
$ret['title'] = $i['title'];
$ret['content'] = bbcode($i['body']);
$ret['actor'] = asencode_person($i['author']);
$ret['owner'] = asencode_person($i['owner']);
return $ret;
}
function asencode_person($p) {
$ret = array();
$ret['@type'] = 'Person';
$ret['@id'] = 'acct:' . $p['xchan_addr'];
$ret['displayName'] = $p['xchan_name'];
return $ret;
}

View file

@ -28,10 +28,10 @@ function menu_element($menu) {
$arr = array();
$arr['type'] = 'menu';
$arr['name'] = $menu['menu_name'];
$arr['desc'] = $menu['menu_desc'];
$arr['created'] = $menu['menu_created'];
$arr['edited'] = $menu['menu_edited'];
$arr['pagetitle'] = $menu['menu']['menu_name'];
$arr['desc'] = $menu['menu']['menu_desc'];
$arr['created'] = $menu['menu']['menu_created'];
$arr['edited'] = $menu['menu']['menu_edited'];
$arr['baseurl'] = z_root();
if($menu['menu_flags']) {
@ -66,13 +66,17 @@ function menu_element($menu) {
function menu_render($menu, $class='', $edit = false, $var = '') {
function menu_render($menu, $class='', $edit = false, $var = array()) {
if(! $menu)
return '';
$channel_id = ((is_array(get_app()->profile)) ? get_app()->profile['profile_uid'] : 0);
if ((! $channel_id) && (local_channel()))
$channel_id = local_channel();
$menu_list = menu_list($channel_id);
$menu_names = array();
foreach($menu_list as $menus) {
if($menus['menu_name'] != $menu['menu']['menu_name'])
@ -82,7 +86,7 @@ function menu_render($menu, $class='', $edit = false, $var = '') {
for($x = 0; $x < count($menu['items']); $x ++) {
if(in_array($menu['items'][$x]['mitem_link'], $menu_names)) {
$m = menu_fetch($menu['items'][$x]['mitem_link'], $channel_id, get_observer_hash());
$submenu = menu_render($m, 'dropdown-menu', $edit = false, $var = array('wrap' => 'none'));
$submenu = menu_render($m, 'dropdown-menu', $edit = false, array('wrap' => 'none'));
$menu['items'][$x]['submenu'] = $submenu;
}
@ -124,7 +128,6 @@ function menu_fetch_id($menu_id,$channel_id) {
function menu_create($arr) {
$menu_name = trim(escape_tags($arr['menu_name']));
$menu_desc = trim(escape_tags($arr['menu_desc']));
$menu_flags = intval($arr['menu_flags']);
@ -150,14 +153,16 @@ function menu_create($arr) {
if($r)
return false;
$t = datetime_convert();
$r = q("insert into menu ( menu_name, menu_desc, menu_flags, menu_channel_id, menu_created, menu_edited )
values( '%s', '%s', %d, %d, '%s', '%s' )",
dbesc($menu_name),
dbesc($menu_desc),
intval($menu_flags),
intval($menu_channel_id),
dbesc(datetime_convert()),
dbesc(datetime_convert())
dbesc(datetime_convert('UTC','UTC',(($arr['menu_created']) ? $arr['menu_created'] : $t))),
dbesc(datetime_convert('UTC','UTC',(($arr['menu_edited']) ? $arr['menu_edited'] : $t)))
);
if(! $r)
return false;
@ -285,7 +290,6 @@ function menu_delete_id($menu_id, $uid) {
function menu_add_item($menu_id, $uid, $arr) {
$mitem_link = escape_tags($arr['mitem_link']);
$mitem_desc = escape_tags($arr['mitem_desc']);
$mitem_order = intval($arr['mitem_order']);

View file

@ -242,7 +242,7 @@ function directory_content(&$a) {
$hometown = ((x($profile,'hometown') == 1) ? t('Hometown: ') . $profile['hometown'] : False);
$about = ((x($profile,'about') == 1) ? t('About: ') . bbcode($profile['about']) : False);
$about = ((x($profile,'about') == 1) ? t('About: ') . bbcode(strip_bbimage($profile['about'])) : False);
$keywords = ((x($profile,'keywords')) ? $profile['keywords'] : '');

View file

@ -2,6 +2,7 @@
// import page design element
require_once('include/menu.php');
function impel_init(&$a) {
@ -21,7 +22,6 @@ function impel_init(&$a) {
if(! $j)
json_return_and_die($ret);
$channel = $a->get_channel();
$arr = array();
@ -57,15 +57,58 @@ function impel_init(&$a) {
logger('mod_impel: unrecognised element type' . print_r($j,true));
break;
}
if($is_menu) {
$m = array();
$m['menu_channel_id'] = local_channel();
$m['menu_name'] = $j['pagetitle'];
$m['menu_desc'] = $j['desc'];
if($j['created'])
$m['menu_created'] = datetime_convert($j['created']);
if($j['edited'])
$m['menu_edited'] = datetime_convert($j['edited']);
$m['menu_flags'] = 0;
if($j['flags']) {
if(in_array('bookmark',$j['flags']))
$m['menu_flags'] |= MENU_BOOKMARK;
if(in_array('system',$j['flags']))
$m['menu_flags'] |= MENU_SYSTEM;
}
$menu_id = menu_create($m);
if($menu_id) {
if(is_array($j['items'])) {
foreach($j['items'] as $it) {
$mitem = array();
$mitem['mitem_link'] = str_replace('[baseurl]',z_root(),$it['link']);
$mitem['mitem_desc'] = escape_tags($it['desc']);
$mitem['mitem_order'] = intval($it['order']);
if(is_array($it['flags'])) {
$mitem['mitem_flags'] = 0;
if(in_array('zid',$it['flags']))
$mitem['mitem_flags'] |= MENU_ITEM_ZID;
if(in_array('new-window',$it['flags']))
$mitem['mitem_flags'] |= MENU_ITEM_NEWWIN;
if(in_array('chatroom',$it['flags']))
$mitem['mitem_flags'] |= MENU_ITEM_CHATROOM;
}
menu_add_item($menu_id,local_channel(),$mitem);
}
if($j['edited']) {
$x = q("update menu set menu_edited = '%s' where menu_id = %d and menu_channel_id = %d",
dbesc(datetime_convert('UTC','UTC',$j['edited'])),
intval($menu_id),
intval(local_channel())
);
}
}
$ret['success'] = true;
}
$x = $ret;
}
else {
$arr['uid'] = local_channel();

View file

@ -102,6 +102,8 @@ function menu_content(&$a) {
'$desctitle' => t('Menu Title'),
'$edit' => t('Edit'),
'$drop' => t('Drop'),
'$created' => t('Created'),
'$edited' => t('Edited'),
'$new' => t('New'),
'$bmark' => t('Bookmarks allowed'),
'$hintnew' => t('Create'),
@ -140,9 +142,9 @@ function menu_content(&$a) {
'$editcontents' => t('Edit menu contents'),
'$menu_name' => array('menu_name', t('Menu name'), $m['menu_name'], t('Must be unique, only seen by you'), '*'),
'$menu_desc' => array('menu_desc', t('Menu title'), $m['menu_desc'], t('Menu title as seen by others'), ''),
'$menu_bookmark' => array('menu_bookmark', t('Allow bookmarks'), (($m['menu_flags'] & MENU_BOOKMARK) ? 1 : 0), t('Menu may be used to store saved bookmarks'), ''),
'$menu_bookmark' => array('menu_bookmark', t('Allow bookmarks'), (($m['menu_flags'] & MENU_BOOKMARK) ? 1 : 0), t('Menu may be used to store saved bookmarks'), array(t('No'), t('Yes'))),
'$menu_system' => (($m['menu_flags'] & MENU_SYSTEM) ? 1 : 0),
'$submit' => t('Modify')
'$submit' => t('Submit and proceed')
));
return $o;

View file

@ -160,8 +160,8 @@ function mitem_content(&$a) {
'$aclselect' => populate_acl($perm_defaults,false),
'$mitem_desc' => array('mitem_desc', t('Link Name'), '', 'Visible name of the link','*'),
'$mitem_link' => array('mitem_link', t('Link or Submenu Target'), '', t('Enter URL of the link or select a menu name to create a submenu'), '*', 'list="menu-names"'),
'$usezid' => array('usezid', t('Use magic-auth if available'), true, ''),
'$newwin' => array('newwin', t('Open link in new window'), false,''),
'$usezid' => array('usezid', t('Use magic-auth if available'), true, '', array(t('No'), t('Yes'))),
'$newwin' => array('newwin', t('Open link in new window'), false,'', array(t('No'), t('Yes'))),
'$mitem_order' => array('mitem_order', t('Order in list'),'0',t('Higher numbers will sink to bottom of listing')),
'$submit' => t('Submit and finish'),
'$submit_more' => t('Submit and continue'),
@ -231,8 +231,8 @@ function mitem_content(&$a) {
'$mitem_id' => intval(argv(2)),
'$mitem_desc' => array('mitem_desc', t('Link text'), $mitem['mitem_desc'], '','*'),
'$mitem_link' => array('mitem_link', t('Link or Submenu Target'), $mitem['mitem_link'], 'Enter URL of the link or select a menu name to create a submenu', '*', 'list="menu-names"'),
'$usezid' => array('usezid', t('Use magic-auth if available'), (($mitem['mitem_flags'] & MENU_ITEM_ZID) ? 1 : 0), ''),
'$newwin' => array('newwin', t('Open link in new window'), (($mitem['mitem_flags'] & MENU_ITEM_NEWWIN) ? 1 : 0),''),
'$usezid' => array('usezid', t('Use magic-auth if available'), (($mitem['mitem_flags'] & MENU_ITEM_ZID) ? 1 : 0), '', array(t('No'), t('Yes'))),
'$newwin' => array('newwin', t('Open link in new window'), (($mitem['mitem_flags'] & MENU_ITEM_NEWWIN) ? 1 : 0),'', array(t('No'), t('Yes'))),
'$mitem_order' => array('mitem_order', t('Order in list'),$mitem['mitem_order'],t('Higher numbers will sink to bottom of listing')),
'$submit' => t('Submit'),
'$lockstate' => $lockstate,

View file

@ -329,7 +329,7 @@ function profile_photo_content(&$a) {
return;
}
$ph = photo_factory($r[0]['data'], $r[0]['type']);
$ph = photo_factory(dbunescbin($r[0]['data']), $r[0]['type']);
// go ahead as if we have just uploaded a new photo to crop
profile_photo_crop_ui_head($a, $ph);
}

File diff suppressed because it is too large Load diff

View file

@ -1 +1 @@
2015-05-28.1046
2015-05-31.1049

View file

@ -2,7 +2,20 @@
width: 100%;
}
#menu-list-table th:nth-child(2){
#menu-list-table th:nth-child(2),
#menu-list-table th:nth-child(3) {
white-space: nowrap;
}
#menu-list-table th:nth-child(7),
#menu-list-table td:nth-child(7) {
padding: 7px 3px;
white-space: nowrap;
}
#menu-list-table th:nth-child(8),
#menu-list-table td:nth-child(8) {
padding: 7px 10px 7px 7px;
white-space: nowrap;
}

View file

@ -22,7 +22,7 @@
{{include file="field_checkbox.tpl" field=$menu_bookmark}}
<div class="menuedit-submit-wrapper form-group pull-right" >
<button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>
<button type="submit" name="submit" class="btn btn-primary">{{$submit}}&nbsp;<i class="icon-caret-right"></i></button>
</div>
<div class="clear"></div>
</form>

View file

@ -14,17 +14,23 @@
<tr>
<th width="1%"></th>
<th width="1%">{{$nametitle}}</th>
<th width="96%">{{$desctitle}}</th>
<th width="93%">{{$desctitle}}</th>
<th width="1%"></th>
<th width="1%"></th>
<th width="1%"></th>
<th width="1%" class="hidden-xs">{{$created}}</th>
<th width="1%" class="hidden-xs">{{$edited}}</th>
</tr>
{{foreach $menus as $m }}
<tr id="menu-list-item-{{$m.menu_id}}">
<td width="1%">{{if $m.bookmark}}<i class="icon-bookmark menu-list-tool" title="{{$bmark}}" ></i>{{/if}}</td>
<td width="1%"><a href="mitem/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintcontent}}">{{$m.menu_name}}</a></td>
<td width="96%">{{$m.menu_desc}}</td>
<td width="1%" class="menu-list-tool"><a href="menu/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintedit}}"><i class="icon-pencil"></i></a></td>
<td width="1%" class="menu-list-tool"><a href="#" title="{{$hintdrop}}" onclick="dropItem('menu/{{$m.menu_id}}/drop{{if $sys}}?f=&sys=1{{/if}}', '#menu-list-item-{{$m.menu_id}}'); return false;"><i class="icon-trash drop-icons"></i></a></td>
<td>{{if $m.bookmark}}<i class="icon-bookmark menu-list-tool" title="{{$bmark}}" ></i>{{/if}}</td>
<td><a href="mitem/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintcontent}}">{{$m.menu_name}}</a></td>
<td>{{$m.menu_desc}}</td>
<td class="menu-list-tool"><a href="menu/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintedit}}"><i class="icon-pencil"></i></a></td>
<td class="menu-list-tool"><a href="rpost?attachment={{$m.element}}" title="{{$share}}"><i class="icon-share"></i></a></td>
<td class="menu-list-tool"><a href="#" title="{{$hintdrop}}" onclick="dropItem('menu/{{$m.menu_id}}/drop{{if $sys}}?f=&sys=1{{/if}}', '#menu-list-item-{{$m.menu_id}}'); return false;"><i class="icon-trash drop-icons"></i></a></td>
<td class="hidden-xs">{{$m.menu_created}}</td>
<td class="hidden-xs">{{$m.menu_edited}}</td>
</tr>
{{/foreach}}
</table>

View file

@ -21,13 +21,13 @@
{{include file="field_input.tpl" field=$mitem_order}}
{{include file="field_checkbox.tpl" field=$usezid}}
{{include file="field_checkbox.tpl" field=$newwin}}
<div class="pull-right btn-group form-group">
<div class="pull-right form-group">
<div class="btn-group">
<button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" onclick="return false;">
<i id="jot-perms-icon" class="icon-{{$lockstate}}"></i>
</button>
{{if $submit_more}}
<button class="btn btn-primary btn-sm" type="submit" name="submit-more" value="{{$submit_more}}">{{$submit_more}}&nbsp;<i id="jot-perms-icon" class="icon-caret-right"></i></button>
<button class="btn btn-primary btn-sm" type="submit" name="submit-more" value="{{$submit_more}}">{{$submit_more}}&nbsp;<i class="icon-caret-right"></i></button>
{{/if}}
<button class="btn btn-primary btn-sm" type="submit" name="submit" value="{{$submit}}">{{$submit}}</button>
</div>