Merge pull request #850 from annando/master

New style for shared links. Preparation for changes in some addons
This commit is contained in:
tobiasd 2013-12-08 23:15:07 -08:00
commit c56e0ab0cc
6 changed files with 55 additions and 11 deletions

View file

@ -23,7 +23,7 @@ function cleancss($input) {
if (($char >= "a") and ($char <= "z")) if (($char >= "a") and ($char <= "z"))
$cleaned .= $char; $cleaned .= $char;
if (!(strpos(" #;:0123456789", $char) === false)) if (!(strpos(" #;:0123456789-_", $char) === false))
$cleaned .= $char; $cleaned .= $char;
} }

View file

@ -21,7 +21,7 @@ if(! function_exists('replace_macros')) {
* @return string substituted string * @return string substituted string
*/ */
function replace_macros($s,$r) { function replace_macros($s,$r) {
$stamp1 = microtime(true); $stamp1 = microtime(true);
$a = get_app(); $a = get_app();
@ -55,7 +55,7 @@ function random_string($size = 64,$type = RANDOM_STRING_HEX) {
if(! function_exists('notags')) { if(! function_exists('notags')) {
/** /**
* This is our primary input filter. * This is our primary input filter.
* *
* The high bit hack only involved some old IE browser, forget which (IE5/Mac?) * The high bit hack only involved some old IE browser, forget which (IE5/Mac?)
* that had an XSS attack vector due to stripping the high-bit on an 8-bit character * that had an XSS attack vector due to stripping the high-bit on an 8-bit character
@ -278,12 +278,18 @@ function paginate_data(&$a, $count=null) {
$stripped = str_replace('q=','',$stripped); $stripped = str_replace('q=','',$stripped);
$stripped = trim($stripped,'/'); $stripped = trim($stripped,'/');
$pagenum = $a->pager['page']; $pagenum = $a->pager['page'];
if (!strstr($stripped, "?")) {
$pos = strpos($stripped, "&");
$stripped = substr($stripped, 0, $pos)."?".substr($stripped, $pos + 1);
}
$url = $a->get_baseurl() . '/' . $stripped; $url = $a->get_baseurl() . '/' . $stripped;
$data = array(); $data = array();
function _l(&$d, $name, $url, $text, $class="") { function _l(&$d, $name, $url, $text, $class="") {
$d[$name] = array('url'=>$url, 'text'=>$text, 'class'=>$class); $d[$name] = array('url'=>$url, 'text'=>$text, 'class'=>$class);
} }
@ -359,7 +365,7 @@ if(! function_exists('paginate')) {
* @return string html for pagination #FIXME remove html * @return string html for pagination #FIXME remove html
*/ */
function paginate(&$a) { function paginate(&$a) {
$data = paginate_data($a); $data = paginate_data($a);
$tpl = get_markup_template("paginate.tpl"); $tpl = get_markup_template("paginate.tpl");
return replace_macros($tpl, array("pager" => $data)); return replace_macros($tpl, array("pager" => $data));

View file

@ -471,7 +471,7 @@ if ($_GET["mode"] == "raw") {
foreach ($_GET AS $param => $value) foreach ($_GET AS $param => $value)
if (($param != "page") AND ($param != "q")) if (($param != "page") AND ($param != "q"))
$reload_uri .= "&".$param."=".$value; $reload_uri .= "&".$param."=".urlencode($value);
$a->page['htmlhead'] .= <<< EOT $a->page['htmlhead'] .= <<< EOT
<script type="text/javascript"> <script type="text/javascript">

View file

@ -115,21 +115,21 @@ function network_init(&$a) {
'/network?f=&bmark=1', //bookmarked '/network?f=&bmark=1', //bookmarked
'/network?f=&spam=1', //spam '/network?f=&spam=1', //spam
); );
// redirect if current selected tab is 'no_active' and // redirect if current selected tab is 'no_active' and
// last selected tab is _not_ 'all_active'. // last selected tab is _not_ 'all_active'.
// and this isn't a date query // and this isn't a date query
if ($sel_tabs[0] == 'active' && $last_sel_tabs[0]!='active' && (! $is_a_date_query)) { if ($sel_tabs[0] == 'active' && $last_sel_tabs[0]!='active' && (! $is_a_date_query)) {
$k = array_search('active', $last_sel_tabs); $k = array_search('active', $last_sel_tabs);
// merge tab querystring with request querystring // merge tab querystring with request querystring
$dest_qa = array(); $dest_qa = array();
list($dest_url,$dest_qs) = explode("?", $tab_urls[$k]); list($dest_url,$dest_qs) = explode("?", $tab_urls[$k]);
parse_str( $dest_qs, $dest_qa); parse_str( $dest_qs, $dest_qa);
$dest_qa = array_merge($query_array, $dest_qa); $dest_qa = array_merge($query_array, $dest_qa);
$dest_qs = build_querystring($dest_qa); $dest_qs = build_querystring($dest_qa);
// groups filter is in form of "network/nnn". Add it to $dest_url, if it's possible // groups filter is in form of "network/nnn". Add it to $dest_url, if it's possible
if ($a->argc==2 && is_numeric($a->argv[1]) && strpos($dest_url, "/",1)===false){ if ($a->argc==2 && is_numeric($a->argv[1]) && strpos($dest_url, "/",1)===false){
$dest_url .= "/".$a->argv[1]; $dest_url .= "/".$a->argv[1];

View file

@ -75,6 +75,19 @@ function parseurl_getsiteinfo($url, $no_guessing = false) {
return($siteinfo); return($siteinfo);
} }
require_once("include/oembed.php");
$oembed_data = oembed_fetch_url($url);
if ($oembed_data->type == "link") {
if (isset($oembed_data->title))
$siteinfo["title"] = $oembed_data->title;
if (isset($oembed_data->description))
$siteinfo["text"] = $oembed_data->description;
if (isset($oembed_data->thumbnail_url))
$siteinfo["image"] = $oembed_data->thumbnail_url;
}
// Fetch the first mentioned charset. Can be in body or header // Fetch the first mentioned charset. Can be in body or header
if (preg_match('/charset=(.*?)['."'".'"\s\n]/', $header, $matches)) if (preg_match('/charset=(.*?)['."'".'"\s\n]/', $header, $matches))
$charset = trim(array_pop($matches)); $charset = trim(array_pop($matches));

View file

@ -479,6 +479,11 @@ div.jGrowl div.info {
color: #ffffff; color: #ffffff;
padding-left: 58px; padding-left: 58px;
} }
div.jGrowl div.jGrowl-notification {
margin-top: 40px;
}
/* header */ /* header */
header { header {
position: fixed; position: fixed;
@ -1161,6 +1166,21 @@ border-bottom: 1px solid #D2D2D2;
font-size: 12px; font-size: 12px;
} }
.wall-item-container .wall-item-content .type-link img,
.type-link img {
max-width: 160px;
max-height: 160px;
float: left;
margin-right: 10px;
}
.type-link blockquote {
margin-left: 160px;
max-height: 160px;
overflow: hidden;
}
.type-link .oembed {
}
.wall-item-container .wall-item-content { .wall-item-container .wall-item-content {
font-size: 14px; font-size: 14px;
max-width: 660px; max-width: 660px;
@ -1659,22 +1679,27 @@ border-bottom: 1px solid #D2D2D2;
#profile-link-wrapper { #profile-link-wrapper {
float: left; float: left;
margin-left: 15px; margin-left: 15px;
cursor: pointer;
} }
#profile-video-wrapper { #profile-video-wrapper {
float: left; float: left;
margin-left: 15px; margin-left: 15px;
cursor: pointer;
} }
#profile-audio-wrapper { #profile-audio-wrapper {
float: left; float: left;
margin-left: 15px; margin-left: 15px;
cursor: pointer;
} }
#profile-location-wrapper { #profile-location-wrapper {
float: left; float: left;
margin-left: 15px; margin-left: 15px;
cursor: pointer;
} }
#profile-nolocation-wrapper { #profile-nolocation-wrapper {
float: left; float: left;
margin-left: 15px; margin-left: 15px;
cursor: pointer;
} }
#jot-perms-icon { #jot-perms-icon {
float: right; float: right;