projects
/
platal.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add sort_name to pluser.
[platal.git]
/
classes
/
plupload.php
diff --git
a/classes/plupload.php
b/classes/plupload.php
index
133b55d
..
e903e92
100644
(file)
--- a/
classes/plupload.php
+++ b/
classes/plupload.php
@@
-1,6
+1,6
@@
<?php
/***************************************************************************
<?php
/***************************************************************************
- * Copyright (C) 2003-20
08
Polytechnique.org *
+ * Copyright (C) 2003-20
11
Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-23,7
+23,7
@@
*/
class PlUpload
{
*/
class PlUpload
{
- private $
forlife
;
+ private $
hruid
;
private $category;
private $file_id;
private $category;
private $file_id;
@@
-37,11
+37,11
@@
class PlUpload
private $x;
private $y;
private $x;
private $y;
- public function __construct($
forlife
, $category, $filename = null)
+ public function __construct($
hruid
, $category, $filename = null)
{
$this->file_id = $filename;
$this->category = $category;
{
$this->file_id = $filename;
$this->category = $category;
- $this->
forlife = $forlife
;
+ $this->
hruid = $hruid
;
$this->filename = $this->makeFilename($this->file_id);
$this->checkContentType();
}
$this->filename = $this->makeFilename($this->file_id);
$this->checkContentType();
}
@@
-49,13
+49,13
@@
class PlUpload
private function makeFilename($file_id)
{
global $globals;
private function makeFilename($file_id)
{
global $globals;
- $filename = $globals->spoolroot . '/spool/
uploads/te
mp/';
+ $filename = $globals->spoolroot . '/spool/
t
mp/';
if (!file_exists($filename)) {
if (!mkdir($filename)) {
trigger_error('can\'t create upload directory: ' . $filename, E_USER_ERROR);
}
}
if (!file_exists($filename)) {
if (!mkdir($filename)) {
trigger_error('can\'t create upload directory: ' . $filename, E_USER_ERROR);
}
}
- $filename .= $this->
forlife
. '--' . $this->category;
+ $filename .= $this->
hruid
. '--' . $this->category;
if ($file_id) {
$filename .= '--' . $file_id;
}
if ($file_id) {
$filename .= '--' . $file_id;
}
@@
-66,6
+66,9
@@
class PlUpload
{
if ($this->exists()) {
$this->type = trim(mime_content_type($this->filename));
{
if ($this->exists()) {
$this->type = trim(mime_content_type($this->filename));
+ if ($this->type == 'text/plain') { // Workaround a bug of php 5.2.0+etch10 (mime_content_type fallback is 'text/plain')
+ $this->type = preg_replace('/;.*/', '', trim(shell_exec('file -bi ' . escapeshellarg($this->filename))));
+ }
}
}
}
}
@@
-110,7
+113,11
@@
class PlUpload
trigger_error('malformed URL given', E_USER_NOTICE);
return false;
}
trigger_error('malformed URL given', E_USER_NOTICE);
return false;
}
- $data = file_get_contents($url);
+ if (file_exists($url)) {
+ $data = file_get_contents($url);
+ } else {
+ return false;
+ }
if (!$data) {
return false;
}
if (!$data) {
return false;
}
@@
-121,9
+128,9
@@
class PlUpload
return true;
}
return true;
}
- static public function &get(array &$file, $
forlife
, $category, $uniq = false)
+ static public function &get(array &$file, $
hruid
, $category, $uniq = false)
{
{
- $upload = new PlUpload($
forlife
, $category, $uniq ? null : $file['name']);
+ $upload = new PlUpload($
hruid
, $category, $uniq ? null : $file['name']);
if (!$upload->upload($file)) {
$upload = null;
}
if (!$upload->upload($file)) {
$upload = null;
}
@@
-156,11
+163,11
@@
class PlUpload
return file_exists($this->filename);
}
return file_exists($this->filename);
}
- static public function listRawFiles($
forlife
= '*', $category = '*', $uniq = false, $basename = false)
+ static public function listRawFiles($
hruid
= '*', $category = '*', $uniq = false, $basename = false)
{
global $globals;
{
global $globals;
- $filename = $globals->spoolroot . '/spool/
uploads/te
mp/';
- $filename .= $
forlife
. '--' . $category;
+ $filename = $globals->spoolroot . '/spool/
t
mp/';
+ $filename .= $
hruid
. '--' . $category;
if (!$uniq) {
$filename .= '--*';
}
if (!$uniq) {
$filename .= '--*';
}
@@
-171,23
+178,23
@@
class PlUpload
return $files;
}
return $files;
}
- static public function listFilenames($
forlife
= '*', $category = '*')
+ static public function listFilenames($
hruid
= '*', $category = '*')
{
{
- $files = PlUpload::listRawFiles($
forlife
, $category, false, true);
+ $files = PlUpload::listRawFiles($
hruid
, $category, false, true);
foreach ($files as &$name) {
foreach ($files as &$name) {
- list($
forlife
, $cat, $fn) = explode('--', $name, 3);
+ list($
hruid
, $cat, $fn) = explode('--', $name, 3);
$name = $fn;
}
return $files;
}
$name = $fn;
}
return $files;
}
- static public function &listFiles($
forlife
= '*', $category = '*', $uniq = false)
+ static public function &listFiles($
hruid
= '*', $category = '*', $uniq = false)
{
$res = array();
{
$res = array();
- $files = PlUpload::listRawFiles($
forlife
, $category, $uniq, true);
+ $files = PlUpload::listRawFiles($
hruid
, $category, $uniq, true);
foreach ($files as $name) {
foreach ($files as $name) {
- list($
forlife
, $cat, $fn) = explode('--', $name, 3);
- $res[$fn] = new PlUpload($
forlife
, $cat, $fn);
+ list($
hruid
, $cat, $fn) = explode('--', $name, 3);
+ $res[$fn] = new PlUpload($
hruid
, $cat, $fn);
}
return $res;
}
}
return $res;
}
@@
-228,6
+235,10
@@
class PlUpload
$array = getimagesize($this->filename);
$array[2] = @$map[$array[2]];
if (!$array[2]) {
$array = getimagesize($this->filename);
$array[2] = @$map[$array[2]];
if (!$array[2]) {
+ list($image, $type) = explode('/', $array['mime']);
+ $array[2] = $type;
+ }
+ if (!$array[2]) {
trigger_error('unknown image type', E_USER_NOTICE);
return null;
}
trigger_error('unknown image type', E_USER_NOTICE);
return null;
}
@@
-305,5
+316,5
@@
class PlUpload
return null;
}
}
return null;
}
}
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker
f
enc=utf-8:
?>
?>