Browse Source

Merge pull request #422 from annando/master

Speed improvements, better diaspora export
pull/428/head
friendica 10 years ago
parent
commit
ad25336d10
  1. 3
      database.sql
  2. 6
      include/bb2diaspora.php
  3. 6
      include/bbcode.php
  4. 7
      include/markdownify/markdownify.php
  5. 8
      include/network.php
  6. 8
      mod/parse_url.php
  7. 5
      mods/readme.txt
  8. 1
      update.php
  9. 7
      view/theme/diabook/style-profile.css
  10. 2
      view/theme/diabook/style.css

3
database.sql

@ -570,6 +570,9 @@ CREATE TABLE IF NOT EXISTS `item` (
KEY `moderated` (`moderated`),
KEY `spam` (`spam`),
KEY `author-name` (`author-name`),
KEY `uid_commented` (`uid`, `commented`),
KEY `uid_created` (`uid`, `created`),
KEY `uid_unseen` (`uid`, `unseen`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `body` (`body`),
FULLTEXT KEY `allow_cid` (`allow_cid`),

6
include/bb2diaspora.php

@ -202,9 +202,9 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
// the following was added on 10-January-2012 due to an inability of Diaspora's
// new javascript markdown processor to handle links with images as the link "text"
// It is not optimal and may be removed if this ability is restored in the future
if ($fordiaspora)
$Text = preg_replace("/\[url\=([^\[\]]*)\]\s*\[img\](.*?)\[\/img\]\s*\[\/url\]/ism",
"[url]$1[/url]\n[img]$2[/img]", $Text);
//if ($fordiaspora)
// $Text = preg_replace("/\[url\=([^\[\]]*)\]\s*\[img\](.*?)\[\/img\]\s*\[\/url\]/ism",
// "[url]$1[/url]\n[img]$2[/img]", $Text);
// Convert it to HTML - don't try oembed
$Text = bbcode($Text, $preserve_nl, false);

6
include/bbcode.php

@ -224,6 +224,12 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
// Check for list text
$Text = str_replace("[*]", "<li>", $Text);
// Check for style sheet commands
$Text = preg_replace("(\[style=(.*?)\](.*?)\[\/style\])ism","<span style=\"$1;\">$2</span>",$Text);
// Check for CSS classes
$Text = preg_replace("(\[class=(.*?)\](.*?)\[\/class\])ism","<span class=\"$1\">$2</span>",$Text);
// handle nested lists
$endlessloop = 0;

7
include/markdownify/markdownify.php

@ -686,6 +686,10 @@ class Markdownify {
# [1]: mailto:mail@example.com Title
$tag['href'] = 'mailto:'.$bufferDecoded;
}
$this->out('['.$buffer.']('.$tag['href'].' "'.$tag['title'].'")', true);
/*
# [This link][id]
foreach ($this->stack['a'] as $tag2) {
if ($tag2['href'] == $tag['href'] && $tag2['title'] === $tag['title']) {
@ -699,6 +703,7 @@ class Markdownify {
}
$this->out('['.$buffer.']['.$tag['linkID'].']', true);
*/
}
}
/**
@ -737,7 +742,7 @@ class Markdownify {
// ![Alt text](/path/to/img.jpg "Optional title")
if ($this->parser->tagAttributes['title'] != "")
$this->out('!['.$this->parser->tagAttributes['alt'].']('.$this->parser->tagAttributes['src'].'"'.$this->parser->tagAttributes['title'].'")', true);
$this->out('!['.$this->parser->tagAttributes['alt'].']('.$this->parser->tagAttributes['src'].' "'.$this->parser->tagAttributes['title'].'")', true);
else
$this->out('!['.$this->parser->tagAttributes['alt'].']('.$this->parser->tagAttributes['src'].')', true);

8
include/network.php

@ -802,7 +802,7 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
$s = htmlspecialchars_decode($s);
$matches = null;
$c = preg_match_all('/\[img\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
$c = preg_match_all('/\[img.*?\](.*?)\[\/img\]/ism',$s,$matches,PREG_SET_ORDER);
if($c) {
require_once('include/Photo.php');
foreach($matches as $mtch) {
@ -823,6 +823,12 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
$scaled = $mtch[1];
$i = fetch_url($scaled);
$cache = get_config('system','itemcache');
if (($cache != '') and is_dir($cache)) {
$cachefile = $cache."/".hash("md5", $scaled);
file_put_contents($cachefile, $i);
}
// guess mimetype from headers or filename
$type = guess_image_type($mtch[1],true);

8
mod/parse_url.php

@ -176,6 +176,9 @@ function parseurl_getsiteinfo($url) {
}
} else {
$src = completeurl($siteinfo["image"], $url);
unset($siteinfo["image"]);
$photodata = getimagesize($src);
if (($photodata[0] > 10) and ($photodata[1] > 10))
@ -292,8 +295,7 @@ function parse_url_content(&$a) {
$siteinfo = parseurl_getsiteinfo($url);
if($siteinfo["title"] == "") {
echo print_r($siteinfo, true);
//echo sprintf($template,$url,$url,'') . $str_tags;
echo sprintf($template,$url,$url,'') . $str_tags;
killme();
} else {
$text = $siteinfo["text"];
@ -302,7 +304,7 @@ function parse_url_content(&$a) {
$image = "";
if($siteinfo["image"] != ""){
if(sizeof($siteinfo["images"]) > 0){
/*
Execute below code only if image is present in siteinfo
*/

5
mods/readme.txt

@ -0,0 +1,5 @@
Site speed can be improved when the following indexes are set. They cannot be set through the update script because on large sites they will block the site for several minutes.
CREATE INDEX `uid_commented` ON `item` (`uid`, `commented`);
CREATE INDEX `uid_created` ON `item` (`uid`, `created`);
CREATE INDEX `uid_unseen` ON `item` (`uid`, `unseen`);

1
update.php

@ -1343,4 +1343,3 @@ function update_1153() {
if(!$r) return UPDATE_FAILED;
return UPDATE_SUCCESS;
}

7
view/theme/diabook/style-profile.css

@ -2549,4 +2549,9 @@ list-style-type: disc;
#photos-upload-newalbum-div {
float: left;
width: 175px;
}
}
.item-image-preview {
float: left;
margin-right: 10px;
}

2
view/theme/diabook/style.css

@ -2906,4 +2906,4 @@ list-style-type: disc;
#photos-upload-newalbum-div {
float: left;
width: 175px;
}
}

Loading…
Cancel
Save