Move include/files to src
This commit is contained in:
Hypolite Petovan 2018-01-10 12:56:02 -05:00 committed by GitHub
commit a2d3cee006
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 80 additions and 73 deletions

View file

@ -1,55 +0,0 @@
<?php
function create_files_from_item($itemid)
{
$messages = q("SELECT `guid`, `uid`, `id`, `edited`, `deleted`, `file`, `parent` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
if (!$messages) {
return;
}
$message = $messages[0];
// Clean up all tags
q("DELETE FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d)",
intval(TERM_OBJ_POST),
intval($itemid),
intval(TERM_FILE),
intval(TERM_CATEGORY));
if ($message["deleted"])
return;
if (preg_match_all("/\[(.*?)\]/ism", $message["file"], $files)) {
foreach ($files[1] as $file) {
q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_FILE), dbesc($file));
}
}
if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files)) {
foreach ($files[1] as $file) {
q("INSERT INTO `term` (`uid`, `oid`, `otype`, `type`, `term`) VALUES (%d, %d, %d, %d, '%s')",
intval($message["uid"]), intval($itemid), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), dbesc($file));
}
}
}
function create_files_from_itemuri($itemuri, $uid)
{
$messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
if (count($messages)) {
foreach ($messages as $message)
create_files_from_item($message["id"]);
}
}
function update_files_for_items()
{
$messages = q("SELECT `id` FROM `item` where file !=''");
foreach ($messages as $message) {
echo $message["id"] . "\n";
create_files_from_item($message["id"]);
}
}

View file

@ -12,6 +12,7 @@ use Friendica\Database\DBM;
use Friendica\Model\Contact;
use Friendica\Model\GContact;
use Friendica\Model\Group;
use Friendica\Model\Term;
use Friendica\Model\User;
use Friendica\Object\Image;
use Friendica\Protocol\DFRN;
@ -21,7 +22,6 @@ use Friendica\Util\ParseUrl;
require_once 'include/bbcode.php';
require_once 'include/tags.php';
require_once 'include/files.php';
require_once 'include/text.php';
require_once 'include/threads.php';
require_once 'include/plaintext.php';
@ -1109,7 +1109,7 @@ function item_store($arr, $force_parent = false, $notify = false, $dontcache = f
* This is not perfect - but a workable solution until we found the reason for the problem.
*/
create_tags_from_item($current_post);
create_files_from_item($current_post);
Term::createFromItem($current_post);
/*
* If this is now the last-child, force all _other_ children of this parent to *not* be last-child
@ -2157,7 +2157,7 @@ function drop_item($id, $interactive = true) {
array('id' => $item['id']));
create_tags_from_item($item['id']);
create_files_from_item($item['id']);
Term::createFromItem($item['id']);
delete_thread($item['id'], $item['parent-uri']);
// clean up categories and tags so they don't end up as orphans
@ -2230,7 +2230,7 @@ function drop_item($id, $interactive = true) {
array('parent-uri' => $item['parent-uri'], 'uid' => $item['uid']));
create_tags_from_itemuri($item['parent-uri'], $item['uid']);
create_files_from_itemuri($item['parent-uri'], $item['uid']);
Term::createFromItemURI($item['parent-uri'], $item['uid']);
delete_thread_uri($item['parent-uri'], $item['uid']);
// ignore the result
} else {

View file

@ -10,6 +10,7 @@ use Friendica\Core\Config;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBM;
use Friendica\Model\Term;
use Friendica\Util\Map;
require_once "include/friendica_smarty.php";
@ -1895,9 +1896,8 @@ function file_tag_update_pconfig($uid, $file_old, $file_new, $type = 'file') {
return true;
}
function file_tag_save_file($uid, $item, $file) {
require_once "include/files.php";
function file_tag_save_file($uid, $item, $file)
{
if (! intval($uid)) {
return false;
}
@ -1915,7 +1915,7 @@ function file_tag_save_file($uid, $item, $file) {
);
}
create_files_from_item($item);
Term::createFromItem($item);
$saved = PConfig::get($uid, 'system', 'filetags');
if (!strlen($saved) || !stristr($saved, '[' . file_tag_encode($file) . ']')) {
@ -1926,9 +1926,8 @@ function file_tag_save_file($uid, $item, $file) {
return true;
}
function file_tag_unsave_file($uid, $item, $file, $cat = false) {
require_once "include/files.php";
function file_tag_unsave_file($uid, $item, $file, $cat = false)
{
if (! intval($uid)) {
return false;
}
@ -1955,7 +1954,7 @@ function file_tag_unsave_file($uid, $item, $file, $cat = false) {
intval($uid)
);
create_files_from_item($item);
Term::createFromItem($item);
$r = q("SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d",
dbesc($file),

View file

@ -29,7 +29,6 @@ use Friendica\Util\Emailer;
require_once 'include/enotify.php';
require_once 'include/tags.php';
require_once 'include/files.php';
require_once 'include/threads.php';
require_once 'include/text.php';
require_once 'include/items.php';

View file

@ -7,10 +7,10 @@
namespace Friendica\Model;
use Friendica\Core\Worker;
use Friendica\Model\Term;
use dba;
require_once 'include/tags.php';
require_once 'include/files.php';
require_once 'include/threads.php';
class Item
@ -52,7 +52,7 @@ class Item
}
create_tags_from_item($item['id']);
create_files_from_item($item['id']);
Term::createFromItem($item['id']);
update_thread($item['id']);
Worker::add(PRIORITY_HIGH, "Notifier", 'edit_post', $item['id']);

64
src/Model/Term.php Normal file
View file

@ -0,0 +1,64 @@
<?php
/**
* @file src/Model/Term
*/
namespace Friendica\Model;
use dba;
require_once "include/dba.php";
class Term
{
/**
* @param integer $itemid item id
* @return void
*/
public static function createFromItem($itemid)
{
$messages = dba::select('item', ['uid', 'deleted', 'file'], ['id' => $itemid], ['limit' => 1]);
if (!$messages) {
return;
}
$message = $messages[0];
// Clean up all tags
q("DELETE FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` IN (%d, %d)",
intval(TERM_OBJ_POST),
intval($itemid),
intval(TERM_FILE),
intval(TERM_CATEGORY));
if ($message["deleted"])
return;
if (preg_match_all("/\[(.*?)\]/ism", $message["file"], $files)) {
foreach ($files[1] as $file) {
dba::insert('term', ['uid' => $message["uid"], 'oid' => $itemid, 'otype' => TERM_OBJ_POST, 'type' => TERM_FILE, 'term' => $file]);
}
}
if (preg_match_all("/\<(.*?)\>/ism", $message["file"], $files)) {
foreach ($files[1] as $file) {
dba::insert('term', ['uid' => $message["uid"], 'oid' => $itemid, 'otype' => TERM_OBJ_POST, 'type' => TERM_CATEGORY, 'term' => $file]);
}
}
}
/**
* @param string $itemuri item uri
* @param integer $uid uid
* @return void
*/
public static function createFromItemURI($itemuri, $uid)
{
$messages = q("SELECT `id` FROM `item` WHERE uri ='%s' AND uid=%d", dbesc($itemuri), intval($uid));
if (count($messages)) {
foreach ($messages as $message) {
self::createFromItem($message["id"]);
}
}
}
}

View file

@ -17,6 +17,7 @@ use Friendica\Model\Contact;
use Friendica\Model\GContact;
use Friendica\Model\Group;
use Friendica\Model\Profile;
use Friendica\Model\Term;
use Friendica\Model\User;
use Friendica\Object\Image;
use Friendica\Protocol\OStatus;
@ -32,7 +33,6 @@ require_once "include/enotify.php";
require_once "include/threads.php";
require_once "include/items.php";
require_once "include/tags.php";
require_once "include/files.php";
require_once "include/event.php";
require_once "include/text.php";
require_once "include/html2bbcode.php";
@ -2912,7 +2912,7 @@ class DFRN
intval($importer["uid"])
);
create_tags_from_itemuri($uri, $importer["uid"]);
create_files_from_itemuri($uri, $importer["uid"]);
Term::createFromItemURI($uri, $importer["uid"]);
update_thread_uri($uri, $importer["uid"]);
} else {
$r = q(
@ -2925,7 +2925,7 @@ class DFRN
intval($importer["uid"])
);
create_tags_from_itemuri($uri, $importer["uid"]);
create_files_from_itemuri($uri, $importer["uid"]);
Term::createFromItemURI($uri, $importer["uid"]);
update_thread_uri($uri, $importer["importer_uid"]);
if ($item["last-child"]) {
// ensure that last-child is set in case the comment that had it just got wiped.