cc-3936: added owner to every file insert
This commit is contained in:
parent
60803e5146
commit
c83fad2546
|
@ -47,7 +47,8 @@ class Application_Model_StoredFile
|
||||||
"ftype" => "DbFtype",
|
"ftype" => "DbFtype",
|
||||||
"language" => "DbLanguage",
|
"language" => "DbLanguage",
|
||||||
"replay_gain" => "DbReplayGain",
|
"replay_gain" => "DbReplayGain",
|
||||||
"directory" => "DbDirectory"
|
"directory" => "DbDirectory",
|
||||||
|
"owner_id" => "DbOwnerId"
|
||||||
);
|
);
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
|
@ -145,15 +146,38 @@ class Application_Model_StoredFile
|
||||||
$this->_file->$method(null);
|
$this->_file->$method(null);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// if owner_id is already set we don't want to set it again.
|
||||||
|
$owner = $this->_file->getOwner();
|
||||||
|
if($owner) {
|
||||||
|
$owner = null;
|
||||||
|
// if MDATA_OWNER_ID is not set then we default to the
|
||||||
|
// first admin user we find
|
||||||
|
if (!array_key_exists($md, 'MDATA_OWNER_ID')) {
|
||||||
|
$admins = Application_Model_User::getUsers(array('A'));
|
||||||
|
if (count($admins) > 0) { // found admin => pick first one
|
||||||
|
$owner = $admins[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// get the user by id and set it like that
|
||||||
|
else {
|
||||||
|
// this is wrong
|
||||||
|
$user = CcSubjsQuery::create()->findPk($p_md['MDATA_OWNER_ID']);
|
||||||
|
if ($user) {
|
||||||
|
$owner = $user;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($owner) {
|
||||||
|
$this->_file->setDbOwner($owner);
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach ($p_md as $dbColumn => $mdValue) {
|
foreach ($p_md as $dbColumn => $mdValue) {
|
||||||
//don't blank out name, defaults to original filename on first insertion to database.
|
//don't blank out name, defaults to original filename on first insertion to database.
|
||||||
if ($dbColumn == "track_title" && (is_null($mdValue) || $mdValue == "")) {
|
if ($dbColumn == "track_title" && (is_null($mdValue) || $mdValue == "")) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// if owner is not present then we will
|
|
||||||
if (isset($this->_dbMD[$dbColumn])) {
|
if (isset($this->_dbMD[$dbColumn])) {
|
||||||
$propelColumn = $this->_dbMD[$dbColumn];
|
$propelColumn = $this->_dbMD[$dbColumn];
|
||||||
$method = "set$propelColumn";
|
$method = "set$propelColumn";
|
||||||
Logging::info($method);
|
Logging::info($method);
|
||||||
$this->_file->$method($mdValue);
|
$this->_file->$method($mdValue);
|
||||||
}
|
}
|
||||||
|
@ -472,18 +496,6 @@ class Application_Model_StoredFile
|
||||||
// path. Also note that mediamonitor normalizes the paths anyway
|
// path. Also note that mediamonitor normalizes the paths anyway
|
||||||
// before passing them to php so it's not necessary to do this at all
|
// before passing them to php so it's not necessary to do this at all
|
||||||
$filepath = str_replace("//", "/", $md['MDATA_KEY_FILEPATH']);
|
$filepath = str_replace("//", "/", $md['MDATA_KEY_FILEPATH']);
|
||||||
// if MDATA_OWNER_ID is not set then we default to the first admin user
|
|
||||||
// we find
|
|
||||||
if (!array_key_exists($md, 'MDATA_OWNER_ID')) {
|
|
||||||
$admins = Application_Model_User::getUsers(array('A'));
|
|
||||||
if (count($admins) > 0) { // found admin => pick first one
|
|
||||||
$md['MDATA_OWNER_ID'] = $admins[0]->getId();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
Logging::info("Could not find any admin users in the database
|
|
||||||
for inserted file. Defaulting to NULL");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$res = $storedFile->setFilePath($filepath);
|
$res = $storedFile->setFilePath($filepath);
|
||||||
if ($res === -1) {
|
if ($res === -1) {
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Reference in New Issue