X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FFileTag.php;h=a2c8bb43972a426e9647d7a5866915a2acd5d247;hb=3a4be3d5f468d5bedb56199becdaba87fd543f94;hp=4ba4e3ca7c18299ac9effa73a20882a9a26eb7a5;hpb=57695d48b41b5dba9a4ec1e97b531ff6590d8845;p=friendica.git diff --git a/src/Model/FileTag.php b/src/Model/FileTag.php index 4ba4e3ca7c..a2c8bb4397 100644 --- a/src/Model/FileTag.php +++ b/src/Model/FileTag.php @@ -1,312 +1,321 @@ . + * */ namespace Friendica\Model; -use Friendica\Core\L10n; -use Friendica\Core\PConfig; use Friendica\Database\DBA; -use Friendica\Model\Item; +use Friendica\DI; +use Friendica\Model\Post\Category; /** - * @brief This class handles FileTag related functions + * This class handles FileTag related functions + * + * post categories and "save to file" use the same item.file table for storage. + * We will differentiate the different uses by wrapping categories in angle brackets + * and save to file categories in square brackets. + * To do this we need to escape these characters if they appear in our tag. */ class FileTag { - // post categories and "save to file" use the same item.file table for storage. - // We will differentiate the different uses by wrapping categories in angle brackets - // and save to file categories in square brackets. - // To do this we need to escape these characters if they appear in our tag. - - /** - * @brief URL encode <, >, left and right brackets - * - * @param string $s String to be URL encoded. - * - * @return string The URL encoded string. - */ - public static function encode($s) - { - return str_replace(['<', '>', '[', ']'], ['%3c', '%3e', '%5b', '%5d'], $s); - } - - /** - * @brief URL decode <, >, left and right brackets - * - * @param string $s The URL encoded string to be decoded - * - * @return string The decoded string. - */ - public static function decode($s) - { - return str_replace(['%3c', '%3e', '%5b', '%5d'], ['<', '>', '[', ']'], $s); - } - - /** - * @brief Query files for tag - * - * @param string $table The table to be queired. - * @param string $s The search term - * @param string $type Optional file type. - * - * @return string Query string. - */ - public static function fileQuery($table, $s, $type = 'file') - { - if ($type == 'file') { - $str = preg_quote('[' . str_replace('%', '%%', self::encode($s)) . ']'); - } else { - $str = preg_quote('<' . str_replace('%', '%%', self::encode($s)) . '>'); - } - - return " AND " . (($table) ? DBA::escape($table) . '.' : '') . "file regexp '" . DBA::escape($str) . "' "; - } - - /** - * @brief Get file tags from list - * - * ex. given music,video return