// Now check that valid personal details have been provided
if (!can_write_wall($profile_uid) && !$allow_comment) {
notice(L10n::t('Permission denied.') . EOL) ;
+
if (x($_REQUEST, 'return')) {
goaway($return_path);
}
+
killme();
}
-
- // is this an edited post?
-
+ // Init post instance
$orig_post = null;
- if ($post_id) {
+ // is this an edited post?
+ if ($post_id > 0) {
$orig_post = Item::selectFirst(Item::ITEM_FIELDLIST, ['id' => $post_id]);
}
$user = dba::selectFirst('user', [], ['uid' => $profile_uid]);
+
if (!DBM::is_result($user) && !$parent) {
return;
}
$categories = '';
+ $postopts = '';
- if ($orig_post) {
+ if (!empty($orig_post)) {
$str_group_allow = $orig_post['allow_gid'];
$str_contact_allow = $orig_post['allow_cid'];
$str_group_deny = $orig_post['deny_gid'];
use DOMText;
use DOMXPath;
use Exception;
+use stdClass;
require_once 'include/dba.php';
require_once 'mod/proxy.php';
return $j;
}
- private static function formatObject($j)
+ private static function formatObject(stdClass $j)
{
$embedurl = $j->embedurl;
$jhtml = $j->html;
$ret = '<div class="oembed ' . $j->type . '">';
+
switch ($j->type) {
case "video":
if (isset($j->thumbnail_url)) {
$o = self::fetchURL($url, !self::isAllowedURL($url));
- if (!is_object($o) || $o->type == 'error') {
+ if (!is_object($o) || property_exists($o, 'type') && $o->type == 'error') {
throw new Exception('OEmbed failed for URL: ' . $url);
}
if (isset($data["title"])) {
$data["title"] = strip_tags($data["title"]);
$data["title"] = str_replace(["http://", "https://"], "", $data["title"]);
+ } else {
+ $data["title"] = null;
}
if (((strpos($data["text"], "[img=") !== false) || (strpos($data["text"], "[img]") !== false) || Config::get('system', 'always_show_preview')) && !empty($data["image"])) {
'title', 'content-warning', 'body', 'location', 'coord', 'app',
'rendered-hash', 'rendered-html', 'object-type', 'object', 'target-type', 'target',
'author-id', 'author-link', 'author-name', 'author-avatar',
- 'owner-id', 'owner-link', 'owner-name', 'owner-avatar'];
+ 'owner-id', 'owner-link', 'owner-name', 'owner-avatar', 'emailcc'];
// Never reorder or remove entries from this list. Just add new ones at the end, if needed.
// The item-activity table only stores the index and needs this array to know the matching activity.