Merge branch 'master' of github.com:owncloud/core into issue_1776
Conflicts: core/templates/layout.user.php
This commit is contained in:
commit
195b52cb63
|
@ -5,7 +5,7 @@
|
|||
<description>File Management</description>
|
||||
<licence>AGPL</licence>
|
||||
<author>Robin Appelman</author>
|
||||
<require>4.91</require>
|
||||
<require>4.93</require>
|
||||
<shipped>true</shipped>
|
||||
<standalone/>
|
||||
<default_enable/>
|
||||
|
|
|
@ -123,6 +123,24 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; }
|
|||
.selectedActions a { display:inline; margin:-.5em 0; padding:.5em !important; }
|
||||
.selectedActions a img { position:relative; top:.3em; }
|
||||
|
||||
#fileList a.action {
|
||||
display:none;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
|
||||
filter: alpha(opacity=0);
|
||||
opacity: 0;
|
||||
}
|
||||
#fileList tr:hover a.action {
|
||||
display:inline;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=.5)";
|
||||
filter: alpha(opacity=.5);
|
||||
opacity: .5;
|
||||
}
|
||||
#fileList tr:hover a.action:hover {
|
||||
display:inline;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)";
|
||||
filter: alpha(opacity=1);
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#scanning-message{ top:40%; left:40%; position:absolute; display:none; }
|
||||
|
||||
|
|
|
@ -334,7 +334,7 @@ var FileList={
|
|||
if (result.status == 'success') {
|
||||
$.each(files,function(index,file){
|
||||
var files = $('tr').filterAttr('data-file',file);
|
||||
files.hide();
|
||||
files.remove();
|
||||
files.find('input[type="checkbox"]').removeAttr('checked');
|
||||
files.removeClass('selected');
|
||||
});
|
||||
|
|
|
@ -524,7 +524,7 @@ $(document).ready(function() {
|
|||
crumb.text(text);
|
||||
}
|
||||
|
||||
$(window).click(function(){
|
||||
$(document).click(function(){
|
||||
$('#new>ul').hide();
|
||||
$('#new').removeClass('active');
|
||||
$('#new li').each(function(i,element){
|
||||
|
@ -595,7 +595,7 @@ $(document).ready(function() {
|
|||
var date=new Date();
|
||||
FileList.addFile(name,0,date,false,hidden);
|
||||
var tr=$('tr').filterAttr('data-file',name);
|
||||
tr.data('mime','text/plain').data('id',result.data.id);
|
||||
tr.attr('data-mime','text/plain');
|
||||
tr.attr('data-id', result.data.id);
|
||||
getMimeIcon('text/plain',function(path){
|
||||
tr.find('td.filename').attr('style','background-image:url('+path+')');
|
||||
|
@ -863,6 +863,10 @@ var dragOptions={
|
|||
$('#fileList tr td.filename').addClass('ui-draggable');
|
||||
}
|
||||
}
|
||||
// sane browsers support using the distance option
|
||||
if ( ! $.browser.msie) {
|
||||
dragOptions['distance'] = 20;
|
||||
}
|
||||
|
||||
var folderDropOptions={
|
||||
drop: function( event, ui ) {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"Missing a temporary folder" => "תיקייה זמנית חסרה",
|
||||
"Failed to write to disk" => "הכתיבה לכונן נכשלה",
|
||||
"Files" => "קבצים",
|
||||
"Delete permanently" => "מחק לצמיתות",
|
||||
"Delete" => "מחיקה",
|
||||
"Rename" => "שינוי שם",
|
||||
"Pending" => "ממתין",
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<description>Mount external storage sources</description>
|
||||
<licence>AGPL</licence>
|
||||
<author>Robin Appelman, Michael Gapczynski</author>
|
||||
<require>4.91</require>
|
||||
<require>4.93</require>
|
||||
<shipped>true</shipped>
|
||||
<types>
|
||||
<filesystem/>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<description>File sharing between users</description>
|
||||
<licence>AGPL</licence>
|
||||
<author>Michael Gapczynski</author>
|
||||
<require>4.91</require>
|
||||
<require>4.93</require>
|
||||
<shipped>true</shipped>
|
||||
<default_enable/>
|
||||
<types>
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Password" => "စကားဝှက်",
|
||||
"web services under your control" => "သင်၏ထိန်းချုပ်မှု့အောက်တွင်ရှိသော Web services"
|
||||
);
|
|
@ -315,7 +315,8 @@ class Shared extends \OC\Files\Storage\Common {
|
|||
if ($this->isCreatable(dirname($path2))) {
|
||||
$source = $this->fopen($path1, 'r');
|
||||
$target = $this->fopen($path2, 'w');
|
||||
return \OC_Helper::streamCopy($source, $target);
|
||||
list ($count, $result) = \OC_Helper::streamCopy($source, $target);
|
||||
return $result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>50</length>
|
||||
<length>250</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
|
@ -26,7 +26,7 @@
|
|||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>50</length>
|
||||
<length>64</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
|
@ -42,7 +42,7 @@
|
|||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>200</length>
|
||||
<length>512</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
|
@ -89,4 +89,30 @@
|
|||
|
||||
</table>
|
||||
|
||||
<table>
|
||||
|
||||
<name>*dbprefix*files_trashsize</name>
|
||||
|
||||
<declaration>
|
||||
|
||||
<field>
|
||||
<name>user</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>64</length>
|
||||
</field>
|
||||
|
||||
<field>
|
||||
<name>size</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>50</length>
|
||||
</field>
|
||||
|
||||
</declaration>
|
||||
|
||||
</table>
|
||||
|
||||
</database>
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
$installedVersion=OCP\Config::getAppValue('files_trashbin', 'installed_version');
|
||||
// move versions to new directory
|
||||
|
||||
if (version_compare($installedVersion, '0.2', '<')) {
|
||||
$datadir = \OCP\Config::getSystemValue('datadirectory').'/';
|
||||
|
||||
$users = \OCP\User::getUsers();
|
||||
foreach ($users as $user) {
|
||||
|
||||
//create new folders
|
||||
@mkdir($datadir.$user.'/files_trashbin/files');
|
||||
@mkdir($datadir.$user.'/files_trashbin/versions');
|
||||
@mkdir($datadir.$user.'/files_trashbin/keyfiles');
|
||||
|
||||
// move files to the new folders
|
||||
if ($handle = opendir($datadir.$user.'/files_trashbin')) {
|
||||
while (false !== ($file = readdir($handle))) {
|
||||
if ($file != "." && $file != ".." && $file != 'files' && $file != 'versions' && $file != 'keyfiles') {
|
||||
rename($datadir.$user.'/files_trashbin/'.$file,
|
||||
$datadir.$user.'/files_trashbin/files/'.$file);
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
}
|
||||
|
||||
// move versions to the new folder
|
||||
if ($handle = opendir($datadir.$user.'/versions_trashbin')) {
|
||||
while (false !== ($file = readdir($handle))) {
|
||||
rename($datadir.$user.'/versions_trashbin/'.$file,
|
||||
$datadir.$user.'/files_trashbin/versions/'.$file);
|
||||
}
|
||||
closedir($handle);
|
||||
}
|
||||
|
||||
@rmdir($datadir.$user.'/versions_trashbin');
|
||||
|
||||
}
|
||||
}
|
|
@ -1 +1 @@
|
|||
0.1
|
||||
0.3
|
||||
|
|
|
@ -9,7 +9,7 @@ OCP\Util::addScript('files', 'fileactions');
|
|||
$tmpl = new OCP\Template('files_trashbin', 'index', 'user');
|
||||
|
||||
$user = \OCP\User::getUser();
|
||||
$view = new OC_Filesystemview('/'.$user.'/files_trashbin');
|
||||
$view = new OC_Filesystemview('/'.$user.'/files_trashbin/files');
|
||||
|
||||
OCP\Util::addStyle('files', 'files');
|
||||
OCP\Util::addScript('files', 'filelist');
|
||||
|
@ -19,7 +19,6 @@ $dir = isset($_GET['dir']) ? stripslashes($_GET['dir']) : '';
|
|||
$result = array();
|
||||
if ($dir) {
|
||||
$dirlisting = true;
|
||||
$view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files_trashbin');
|
||||
$fullpath = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath($dir);
|
||||
$dirContent = opendir($fullpath);
|
||||
$i = 0;
|
||||
|
@ -96,6 +95,7 @@ $list->assign('disableDownloadActions', true);
|
|||
$tmpl->assign('breadcrumb', $breadcrumbNav->fetchPage(), false);
|
||||
$tmpl->assign('fileList', $list->fetchPage(), false);
|
||||
$tmpl->assign('files', $files);
|
||||
$tmpl->assign('dirlisting', $dirlisting);
|
||||
$tmpl->assign('dir', OC_Filesystem::normalizePath($view->getAbsolutePath()));
|
||||
|
||||
$tmpl->printPage();
|
||||
|
|
|
@ -1,8 +1,16 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Couldn't delete %s permanently" => "בלתי אפשרי למחוק את %s לצמיתות",
|
||||
"Couldn't restore %s" => "בלתי אפשרי לשחזר את %s",
|
||||
"perform restore operation" => "בצע פעולת שחזור",
|
||||
"delete file permanently" => "מחק קובץ לצמיתות",
|
||||
"Delete permanently" => "מחק לצמיתות",
|
||||
"Name" => "שם",
|
||||
"Deleted" => "נמחק",
|
||||
"1 folder" => "תיקייה אחת",
|
||||
"{count} folders" => "{count} תיקיות",
|
||||
"1 file" => "קובץ אחד",
|
||||
"{count} files" => "{count} קבצים",
|
||||
"Nothing in here. Your trash bin is empty!" => "שום דבר כאן. סל המחזור שלך ריק!",
|
||||
"Restore" => "שחזר",
|
||||
"Delete" => "מחיקה"
|
||||
);
|
||||
|
|
|
@ -36,10 +36,12 @@ class Trashbin {
|
|||
*/
|
||||
public static function move2trash($file_path) {
|
||||
$user = \OCP\User::getUser();
|
||||
$view = new \OC_FilesystemView('/'. $user);
|
||||
$view = new \OC\Files\View('/'. $user);
|
||||
if (!$view->is_dir('files_trashbin')) {
|
||||
$view->mkdir('files_trashbin');
|
||||
$view->mkdir("versions_trashbin");
|
||||
$view->mkdir("files_trashbin/files");
|
||||
$view->mkdir("files_trashbin/versions");
|
||||
$view->mkdir("files_trashbin/keyfiles");
|
||||
}
|
||||
|
||||
$path_parts = pathinfo($file_path);
|
||||
|
@ -54,50 +56,61 @@ class Trashbin {
|
|||
} else {
|
||||
$type = 'file';
|
||||
}
|
||||
|
||||
if ( ($trashbinSize = \OCP\Config::getAppValue('files_trashbin', 'size')) === null ) {
|
||||
|
||||
$trashbinSize = self::getTrashbinSize($user);
|
||||
if ( $trashbinSize === false || $trashbinSize < 0 ) {
|
||||
$trashbinSize = self::calculateSize(new \OC_FilesystemView('/'. $user.'/files_trashbin'));
|
||||
$trashbinSize += self::calculateSize(new \OC_FilesystemView('/'. $user.'/versions_trashbin'));
|
||||
}
|
||||
$trashbinSize += self::copy_recursive($file_path, 'files_trashbin/'.$deleted.'.d'.$timestamp, $view);
|
||||
$trashbinSize += self::copy_recursive($file_path, 'files_trashbin/files/'.$deleted.'.d'.$timestamp, $view);
|
||||
|
||||
if ( $view->file_exists('files_trashbin/'.$deleted.'.d'.$timestamp) ) {
|
||||
$query = \OC_DB::prepare("INSERT INTO *PREFIX*files_trash (id,timestamp,location,type,mime,user)"
|
||||
." VALUES (?,?,?,?,?,?)");
|
||||
if ( $view->file_exists('files_trashbin/files/'.$deleted.'.d'.$timestamp) ) {
|
||||
$query = \OC_DB::prepare("INSERT INTO *PREFIX*files_trash (id,timestamp,location,type,mime,user) VALUES (?,?,?,?,?,?)");
|
||||
$result = $query->execute(array($deleted, $timestamp, $location, $type, $mime, $user));
|
||||
if ( !$result ) { // if file couldn't be added to the database than also don't store it in the trash bin.
|
||||
$view->deleteAll('files_trashbin/'.$deleted.'.d'.$timestamp);
|
||||
$view->deleteAll('files_trashbin/files/'.$deleted.'.d'.$timestamp);
|
||||
\OC_Log::write('files_trashbin', 'trash bin database couldn\'t be updated', \OC_log::ERROR);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// Take care of file versions
|
||||
if ( \OCP\App::isEnabled('files_versions') ) {
|
||||
if ( $view->is_dir('files_versions'.$file_path) ) {
|
||||
$trashbinSize += self::calculateSize(
|
||||
new \OC_FilesystemView('/'. $user.'/files_versions/'.$file_path)
|
||||
);
|
||||
$view->rename('files_versions'.$file_path, 'versions_trashbin/'. $deleted.'.d'.$timestamp);
|
||||
} else if ( $versions = \OCA\Files_Versions\Storage::getVersions($file_path) ) {
|
||||
$trashbinSize += self::calculateSize(new \OC_FilesystemView('/'. $user.'/files_versions/'.$file_path));
|
||||
$view->rename('files_versions'.$file_path, 'files_trashbin/versions'. $deleted.'.d'.$timestamp);
|
||||
} else if ( $versions = \OCA\Files_Versions\Storage::getVersions($user, $file_path) ) {
|
||||
foreach ($versions as $v) {
|
||||
$trashbinSize += $view->filesize('files_versions'.$v['path'].'.v'.$v['version']);
|
||||
$view->rename('files_versions'.$v['path'].'.v'.$v['version'],
|
||||
'versions_trashbin/'. $deleted.'.v'.$v['version'].'.d'.$timestamp);
|
||||
$view->rename('files_versions'.$v['path'].'.v'.$v['version'], 'files_trashbin/versions'. $deleted.'.v'.$v['version'].'.d'.$timestamp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Take care of encryption keys
|
||||
$keyfile = \OC_Filesystem::normalizePath('files_encryption/keyfiles/'.$file_path);
|
||||
if ( \OCP\App::isEnabled('files_encryption') && $view->file_exists($keyfile.'.key') ) {
|
||||
if ( $view->is_dir('files'.$file_path) ) {
|
||||
$trashbinSize += self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.$keyfile));
|
||||
$view->rename($keyfile, 'files_trashbin/keyfiles/'. $deleted.'.d'.$timestamp);
|
||||
} else {
|
||||
$trashbinSize += $view->filesize($keyfile.'.key');
|
||||
$view->rename($keyfile.'.key', 'files_trashbin/keyfiles/'. $deleted.'.key.d'.$timestamp);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
\OC_Log::write('files_trashbin', 'Couldn\'t move '.$file_path.' to the trash bin', \OC_log::ERROR);
|
||||
}
|
||||
|
||||
|
||||
// get available disk space for user
|
||||
$quota = \OCP\Util::computerFileSize(\OC_Preferences::getValue($user, 'files', 'quota'));
|
||||
if ( $quota == null ) {
|
||||
$quota = \OCP\Util::computerFileSize(\OC_Appconfig::getValue('files', 'default_quota'));
|
||||
$quota = \OC_Preferences::getValue($user, 'files', 'quota');
|
||||
if ( $quota === null ) {
|
||||
$quota = \OC_Appconfig::getValue('files', 'default_quota');
|
||||
}
|
||||
if ( $quota == null ) {
|
||||
$quota = \OC\Files\Filesystem::free_space('/');
|
||||
if ( $quota === null ) {
|
||||
$quota = \OC\Files\Filesystem::free_space('/') / count(\OCP\User::getUsers());
|
||||
} else {
|
||||
$quota = \OCP\Util::computerFileSize($quota);
|
||||
}
|
||||
|
||||
|
||||
// calculate available space for trash bin
|
||||
$rootInfo = $view->getFileInfo('/files');
|
||||
$free = $quota-$rootInfo['size']; // remaining free space for user
|
||||
|
@ -106,9 +119,10 @@ class Trashbin {
|
|||
} else {
|
||||
$availableSpace = $free-$trashbinSize;
|
||||
}
|
||||
|
||||
$trashbinSize -= self::expire($availableSpace);
|
||||
\OCP\Config::setAppValue('files_trashbin', 'size', $trashbinSize);
|
||||
|
||||
self::setTrashbinSize($user, $trashbinSize);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -121,10 +135,10 @@ class Trashbin {
|
|||
public static function restore($file, $filename, $timestamp) {
|
||||
$user = \OCP\User::getUser();
|
||||
$view = new \OC_FilesystemView('/'.$user);
|
||||
|
||||
if ( ($trashbinSize = \OCP\Config::getAppValue('files_trashbin', 'size')) === null ) {
|
||||
|
||||
$trashbinSize = self::getTrashbinSize($user);
|
||||
if ( $trashbinSize === false || $trashbinSize < 0 ) {
|
||||
$trashbinSize = self::calculateSize(new \OC_FilesystemView('/'. $user.'/files_trashbin'));
|
||||
$trashbinSize += self::calculateSize(new \OC_FilesystemView('/'. $user.'/versions_trashbin'));
|
||||
}
|
||||
if ( $timestamp ) {
|
||||
$query = \OC_DB::prepare('SELECT location,type FROM *PREFIX*files_trash'
|
||||
|
@ -143,15 +157,15 @@ class Trashbin {
|
|||
$location = '';
|
||||
}
|
||||
} else {
|
||||
$path_parts = pathinfo($filename);
|
||||
$path_parts = pathinfo($file);
|
||||
$result[] = array(
|
||||
'location' => $path_parts['dirname'],
|
||||
'type' => $view->is_dir('/files_trashbin/'.$file) ? 'dir' : 'files',
|
||||
'type' => $view->is_dir('/files_trashbin/files/'.$file) ? 'dir' : 'files',
|
||||
);
|
||||
$location = '';
|
||||
}
|
||||
|
||||
$source = \OC_Filesystem::normalizePath('files_trashbin/'.$file);
|
||||
|
||||
$source = \OC_Filesystem::normalizePath('files_trashbin/files/'.$file);
|
||||
$target = \OC_Filesystem::normalizePath('files/'.$location.'/'.$filename);
|
||||
|
||||
// we need a extension in case a file/dir with the same name already exists
|
||||
|
@ -171,33 +185,49 @@ class Trashbin {
|
|||
} else {
|
||||
$versionedFile = $file;
|
||||
}
|
||||
if ( $result[0]['type'] == 'dir' ) {
|
||||
$trashbinSize -= self::calculateSize(
|
||||
new \OC_FilesystemView('/'.$user.'/'.'versions_trashbin/'. $file)
|
||||
);
|
||||
$view->rename(\OC_Filesystem::normalizePath('versions_trashbin/'. $file),
|
||||
\OC_Filesystem::normalizePath('files_versions/'.$location.'/'.$filename.$ext));
|
||||
if ( $result[0]['type'] === 'dir' ) {
|
||||
$trashbinSize -= self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.'files_trashbin/versions/'. $file));
|
||||
$view->rename(\OC_Filesystem::normalizePath('files_trashbin/versions/'. $file), \OC_Filesystem::normalizePath('files_versions/'.$location.'/'.$filename.$ext));
|
||||
} else if ( $versions = self::getVersionsFromTrash($versionedFile, $timestamp) ) {
|
||||
foreach ($versions as $v) {
|
||||
if ($timestamp ) {
|
||||
$trashbinSize -= $view->filesize('versions_trashbin/'.$versionedFile.'.v'.$v.'.d'.$timestamp);
|
||||
$view->rename('versions_trashbin/'.$versionedFile.'.v'.$v.'.d'.$timestamp,
|
||||
'files_versions/'.$location.'/'.$filename.$ext.'.v'.$v);
|
||||
$trashbinSize -= $view->filesize('files_trashbin/versions/'.$versionedFile.'.v'.$v.'.d'.$timestamp);
|
||||
$view->rename('files_trashbin/versions/'.$versionedFile.'.v'.$v.'.d'.$timestamp, 'files_versions/'.$location.'/'.$filename.$ext.'.v'.$v);
|
||||
} else {
|
||||
$trashbinSize -= $view->filesize('versions_trashbin/'.$versionedFile.'.v'.$v);
|
||||
$view->rename('versions_trashbin/'.$versionedFile.'.v'.$v,
|
||||
'files_versions/'.$location.'/'.$filename.$ext.'.v'.$v);
|
||||
$trashbinSize -= $view->filesize('files_trashbin/versions/'.$versionedFile.'.v'.$v);
|
||||
$view->rename('files_trashbin/versions/'.$versionedFile.'.v'.$v, 'files_versions/'.$location.'/'.$filename.$ext.'.v'.$v);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Take care of encryption keys TODO! Get '.key' in file between file name and delete date (also for permanent delete!)
|
||||
$parts = pathinfo($file);
|
||||
if ( $result[0]['type'] === 'dir' ) {
|
||||
$keyfile = \OC_Filesystem::normalizePath('files_trashbin/keyfiles/'.$parts['dirname'].'/'.$filename);
|
||||
} else {
|
||||
$keyfile = \OC_Filesystem::normalizePath('files_trashbin/keyfiles/'.$parts['dirname'].'/'.$filename.'.key');
|
||||
}
|
||||
if ($timestamp) {
|
||||
$keyfile .= '.d'.$timestamp;
|
||||
}
|
||||
if ( \OCP\App::isEnabled('files_encryption') && $view->file_exists($keyfile) ) {
|
||||
if ( $result[0]['type'] === 'dir' ) {
|
||||
$trashbinSize -= self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.$keyfile));
|
||||
$view->rename($keyfile, 'files_encryption/keyfiles/'. $location.'/'.$filename);
|
||||
} else {
|
||||
$trashbinSize -= $view->filesize($keyfile);
|
||||
$view->rename($keyfile, 'files_encryption/keyfiles/'. $location.'/'.$filename.'.key');
|
||||
}
|
||||
}
|
||||
|
||||
if ( $timestamp ) {
|
||||
$query = \OC_DB::prepare('DELETE FROM *PREFIX*files_trash WHERE user=? AND id=? AND timestamp=?');
|
||||
$query->execute(array($user,$filename,$timestamp));
|
||||
}
|
||||
|
||||
\OCP\Config::setAppValue('files_trashbin', 'size', $trashbinSize);
|
||||
self::setTrashbinSize($user, $trashbinSize);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
\OC_Log::write('files_trashbin', 'Couldn\'t restore file from trash bin, '.$filename, \OC_log::ERROR);
|
||||
|
@ -216,10 +246,10 @@ class Trashbin {
|
|||
$user = \OCP\User::getUser();
|
||||
$view = new \OC_FilesystemView('/'.$user);
|
||||
$size = 0;
|
||||
|
||||
if ( ($trashbinSize = \OCP\Config::getAppValue('files_trashbin', 'size')) === null ) {
|
||||
|
||||
$trashbinSize = self::getTrashbinSize($user);
|
||||
if ( $trashbinSize === false || $trashbinSize < 0 ) {
|
||||
$trashbinSize = self::calculateSize(new \OC_FilesystemView('/'. $user.'/files_trashbin'));
|
||||
$trashbinSize += self::calculateSize(new \OC_FilesystemView('/'. $user.'/versions_trashbin'));
|
||||
}
|
||||
|
||||
if ( $timestamp ) {
|
||||
|
@ -231,31 +261,50 @@ class Trashbin {
|
|||
}
|
||||
|
||||
if ( \OCP\App::isEnabled('files_versions') ) {
|
||||
if ($view->is_dir('versions_trashbin/'.$file)) {
|
||||
$size += self::calculateSize(new \OC_Filesystemview('/'.$user.'/versions_trashbin/'.$file));
|
||||
$view->unlink('versions_trashbin/'.$file);
|
||||
if ($view->is_dir('files_trashbin/versions/'.$file)) {
|
||||
$size += self::calculateSize(new \OC_Filesystemview('/'.$user.'/files_trashbin/versions/'.$file));
|
||||
$view->unlink('files_trashbin/versions/'.$file);
|
||||
} else if ( $versions = self::getVersionsFromTrash($filename, $timestamp) ) {
|
||||
foreach ($versions as $v) {
|
||||
if ($timestamp ) {
|
||||
$size += $view->filesize('/versions_trashbin/'.$filename.'.v'.$v.'.d'.$timestamp);
|
||||
$view->unlink('/versions_trashbin/'.$filename.'.v'.$v.'.d'.$timestamp);
|
||||
$size += $view->filesize('/files_trashbin/versions/'.$filename.'.v'.$v.'.d'.$timestamp);
|
||||
$view->unlink('/files_trashbin/versions/'.$filename.'.v'.$v.'.d'.$timestamp);
|
||||
} else {
|
||||
$size += $view->filesize('/versions_trashbin/'.$filename.'.v'.$v);
|
||||
$view->unlink('/versions_trashbin/'.$filename.'.v'.$v);
|
||||
$size += $view->filesize('/files_trashbin/versions/'.$filename.'.v'.$v);
|
||||
$view->unlink('/files_trashbin/versions/'.$filename.'.v'.$v);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($view->is_dir('/files_trashbin/'.$file)) {
|
||||
$size += self::calculateSize(new \OC_Filesystemview('/'.$user.'/files_trashbin/'.$file));
|
||||
|
||||
// Take care of encryption keys
|
||||
$parts = pathinfo($file);
|
||||
if ( $view->is_dir('/files_trashbin/files/'.$file) ) {
|
||||
$keyfile = \OC_Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename);
|
||||
} else {
|
||||
$size += $view->filesize('/files_trashbin/'.$file);
|
||||
$keyfile = \OC_Filesystem::normalizePath('files_trashbin/keyfiles/'.$filename.'.key');
|
||||
}
|
||||
$view->unlink('/files_trashbin/'.$file);
|
||||
if ($timestamp) {
|
||||
$keyfile .= '.d'.$timestamp;
|
||||
}
|
||||
if ( \OCP\App::isEnabled('files_encryption') && $view->file_exists($keyfile) ) {
|
||||
if ( $view->is_dir($keyfile) ) {
|
||||
$size += self::calculateSize(new \OC_FilesystemView('/'.$user.'/'.$keyfile));
|
||||
} else {
|
||||
$size += $view->filesize($keyfile);
|
||||
}
|
||||
$view->unlink($keyfile);
|
||||
}
|
||||
|
||||
if ($view->is_dir('/files_trashbin/files/'.$file)) {
|
||||
$size += self::calculateSize(new \OC_Filesystemview('/'.$user.'/files_trashbin/files/'.$file));
|
||||
} else {
|
||||
$size += $view->filesize('/files_trashbin/files/'.$file);
|
||||
}
|
||||
$view->unlink('/files_trashbin/files/'.$file);
|
||||
$trashbinSize -= $size;
|
||||
\OCP\Config::setAppValue('files_trashbin', 'size', $trashbinSize);
|
||||
|
||||
self::setTrashbinSize($user, $trashbinSize);
|
||||
|
||||
return $size;
|
||||
}
|
||||
|
||||
|
@ -275,7 +324,7 @@ class Trashbin {
|
|||
$filename = $filename;
|
||||
}
|
||||
|
||||
$target = \OC_Filesystem::normalizePath('files_trashbin/'.$filename);
|
||||
$target = \OC_Filesystem::normalizePath('files_trashbin/files/'.$filename);
|
||||
return $view->file_exists($target);
|
||||
}
|
||||
|
||||
|
@ -301,31 +350,9 @@ class Trashbin {
|
|||
$timestamp = $r['timestamp'];
|
||||
$filename = $r['id'];
|
||||
if ( $r['timestamp'] < $limit ) {
|
||||
if ($view->is_dir('files_trashbin/'.$filename.'.d'.$timestamp)) {
|
||||
$size += self::calculateSize(
|
||||
new \OC_FilesystemView('/'.$user.'/files_trashbin/'.$filename.'.d'.$timestamp)
|
||||
);
|
||||
} else {
|
||||
$size += $view->filesize('files_trashbin/'.$filename.'.d'.$timestamp);
|
||||
}
|
||||
$view->unlink('files_trashbin/'.$filename.'.d'.$timestamp);
|
||||
if ($r['type'] == 'dir') {
|
||||
$size += self::calculateSize(
|
||||
new \OC_FilesystemView('/'.$user.'/versions_trashbin/'.$filename.'.d'.$timestamp)
|
||||
);
|
||||
$view->unlink('versions_trashbin/'.$filename.'.d'.$timestamp);
|
||||
} else if ( $versions = self::getVersionsFromTrash($filename, $timestamp) ) {
|
||||
foreach ($versions as $v) {
|
||||
$size += $view->filesize('versions_trashbin/'.$filename.'.v'.$v.'.d'.$timestamp);
|
||||
$view->unlink('versions_trashbin/'.$filename.'.v'.$v.'.d'.$timestamp);
|
||||
}
|
||||
}
|
||||
$size += self::delete($filename, $timestamp);
|
||||
}
|
||||
}
|
||||
|
||||
$query = \OC_DB::prepare('DELETE FROM *PREFIX*files_trash WHERE user=? AND timestamp<?');
|
||||
$query->execute(array($user,$limit));
|
||||
|
||||
$availableSpace = $availableSpace + $size;
|
||||
// if size limit for trash bin reached, delete oldest files in trash bin
|
||||
if ($availableSpace < 0) {
|
||||
|
@ -341,6 +368,7 @@ class Trashbin {
|
|||
$i++;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return $size;
|
||||
|
@ -382,7 +410,7 @@ class Trashbin {
|
|||
* @param $timestamp timestamp when the file was deleted
|
||||
*/
|
||||
private static function getVersionsFromTrash($filename, $timestamp) {
|
||||
$view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/versions_trashbin');
|
||||
$view = new \OC_FilesystemView('/'.\OCP\User::getUser().'/files_trashbin/versions');
|
||||
$versionsName = \OCP\Config::getSystemValue('datadirectory').$view->getAbsolutePath($filename);
|
||||
$versions = array();
|
||||
if ($timestamp ) {
|
||||
|
@ -449,4 +477,35 @@ class Trashbin {
|
|||
return $size;
|
||||
}
|
||||
|
||||
/**
|
||||
* get current size of trash bin from a given user
|
||||
*
|
||||
* @param $user user who owns the trash bin
|
||||
* @return mixed trash bin size or false if no trash bin size is stored
|
||||
*/
|
||||
private static function getTrashbinSize($user) {
|
||||
$query = \OC_DB::prepare('SELECT size FROM *PREFIX*files_trashsize WHERE user=?');
|
||||
$result = $query->execute(array($user))->fetchAll();
|
||||
|
||||
if ($result) {
|
||||
return $result[0]['size'];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* write to the database how much space is in use for the trash bin
|
||||
*
|
||||
* @param $user owner of the trash bin
|
||||
* @param $size size of the trash bin
|
||||
*/
|
||||
private static function setTrashbinSize($user, $size) {
|
||||
if ( self::getTrashbinSize($user) === false) {
|
||||
$query = \OC_DB::prepare('INSERT INTO *PREFIX*files_trashsize (size, user) VALUES (?, ?)');
|
||||
}else {
|
||||
$query = \OC_DB::prepare('UPDATE *PREFIX*files_trashsize SET size=? WHERE user=?');
|
||||
}
|
||||
$query->execute(array($size, $user));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</div>
|
||||
<div id='notification'></div>
|
||||
|
||||
<?php if (isset($_['files']) && count($_['files'])==0):?>
|
||||
<?php if (isset($_['files']) && count($_['files'])==0 && $_['dirlisting'] == false):?>
|
||||
<div id="emptyfolder"><?php echo $l->t('Nothing in here. Your trash bin is empty!')?></div>
|
||||
<?php endif; ?>
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<?php
|
||||
OCP\JSON::checkAppEnabled('files_versions');
|
||||
|
||||
$userDirectory = "/".OCP\USER::getUser()."/files";
|
||||
$source = $_GET['source'];
|
||||
list ($uid, $filename) = OCA\Files_Versions\Storage::getUidAndFilename($source);
|
||||
|
||||
$count = 5; //show the newest revisions
|
||||
if( ($versions = OCA\Files_Versions\Storage::getVersions( $source, $count)) ) {
|
||||
if( ($versions = OCA\Files_Versions\Storage::getVersions($uid, $filename, $count)) ) {
|
||||
|
||||
$versionsFormatted = array();
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
<database>
|
||||
|
||||
<name>*dbname*</name>
|
||||
<create>true</create>
|
||||
<overwrite>false</overwrite>
|
||||
|
||||
<charset>utf8</charset>
|
||||
|
||||
<table>
|
||||
|
||||
<name>*dbprefix*files_versions</name>
|
||||
|
||||
<declaration>
|
||||
|
||||
<field>
|
||||
<name>user</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>64</length>
|
||||
</field>
|
||||
<field>
|
||||
<name>size</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>50</length>
|
||||
</field>
|
||||
|
||||
</declaration>
|
||||
|
||||
</table>
|
||||
|
||||
</database>
|
|
@ -4,7 +4,7 @@
|
|||
<name>Versions</name>
|
||||
<licence>AGPL</licence>
|
||||
<author>Frank Karlitschek</author>
|
||||
<require>4.91</require>
|
||||
<require>4.93</require>
|
||||
<shipped>true</shipped>
|
||||
<description>Versioning of files</description>
|
||||
<types>
|
||||
|
|
|
@ -1 +1 @@
|
|||
1.0.2
|
||||
1.0.3
|
|
@ -35,7 +35,7 @@ class Storage {
|
|||
6 => array('intervalEndsAfter' => -1, 'step' => 604800),
|
||||
);
|
||||
|
||||
private static function getUidAndFilename($filename) {
|
||||
public static function getUidAndFilename($filename) {
|
||||
$uid = \OC\Files\Filesystem::getOwner($filename);
|
||||
\OC\Files\Filesystem::initMountPoints($uid);
|
||||
if ( $uid != \OCP\User::getUser() ) {
|
||||
|
@ -46,6 +46,37 @@ class Storage {
|
|||
return array($uid, $filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* get current size of all versions from a given user
|
||||
*
|
||||
* @param $user user who owns the versions
|
||||
* @return mixed versions size or false if no versions size is stored
|
||||
*/
|
||||
private static function getVersionsSize($user) {
|
||||
$query = \OC_DB::prepare('SELECT size FROM *PREFIX*files_versions WHERE user=?');
|
||||
$result = $query->execute(array($user))->fetchAll();
|
||||
|
||||
if ($result) {
|
||||
return $result[0]['size'];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* write to the database how much space is in use for versions
|
||||
*
|
||||
* @param $user owner of the versions
|
||||
* @param $size size of the versions
|
||||
*/
|
||||
private static function setVersionsSize($user, $size) {
|
||||
if ( self::getVersionsSize($user) === false) {
|
||||
$query = \OC_DB::prepare('INSERT INTO *PREFIX*files_versions (size, user) VALUES (?, ?)');
|
||||
}else {
|
||||
$query = \OC_DB::prepare('UPDATE *PREFIX*files_versions SET size=? WHERE user=?');
|
||||
}
|
||||
$query->execute(array($size, $user));
|
||||
}
|
||||
|
||||
/**
|
||||
* store a new version of a file.
|
||||
*/
|
||||
|
@ -74,17 +105,19 @@ class Storage {
|
|||
}
|
||||
|
||||
// store a new version of a file
|
||||
$result = $users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
|
||||
if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
|
||||
$users_view->copy('files'.$filename, 'files_versions'.$filename.'.v'.$users_view->filemtime('files'.$filename));
|
||||
$versionsSize = self::getVersionsSize($uid);
|
||||
if ( $versionsSize === false || $versionSize < 0 ) {
|
||||
$versionsSize = self::calculateSize($uid);
|
||||
}
|
||||
|
||||
$versionsSize += $users_view->filesize('files'.$filename);
|
||||
|
||||
// expire old revisions if necessary
|
||||
$newSize = self::expire($filename, $versionsSize);
|
||||
|
||||
if ( $newSize != $versionsSize ) {
|
||||
\OCP\Config::setAppValue('files_versions', 'size', $versionsSize);
|
||||
self::setVersionsSize($uid, $newSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -99,14 +132,15 @@ class Storage {
|
|||
|
||||
$abs_path = \OCP\Config::getSystemValue('datadirectory').$versions_fileview->getAbsolutePath('').$filename.'.v';
|
||||
if( ($versions = self::getVersions($uid, $filename)) ) {
|
||||
if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
|
||||
$versionsSize = self::getVersionsSize($uid);
|
||||
if ( $versionsSize === false || $versionsSize < 0 ) {
|
||||
$versionsSize = self::calculateSize($uid);
|
||||
}
|
||||
foreach ($versions as $v) {
|
||||
unlink($abs_path . $v['version']);
|
||||
$versionsSize -= $v['size'];
|
||||
}
|
||||
\OCP\Config::setAppValue('files_versions', 'size', $versionsSize);
|
||||
self::setVersionsSize($uid, $versionsSize);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -316,17 +350,20 @@ class Storage {
|
|||
$versions_fileview = new \OC\Files\View('/'.$uid.'/files_versions');
|
||||
|
||||
// get available disk space for user
|
||||
$quota = \OCP\Util::computerFileSize(\OC_Preferences::getValue($uid, 'files', 'quota'));
|
||||
if ( $quota == null ) {
|
||||
$quota = \OCP\Util::computerFileSize(\OC_Appconfig::getValue('files', 'default_quota'));
|
||||
$quota = \OC_Preferences::getValue($uid, 'files', 'quota');
|
||||
if ( $quota === null ) {
|
||||
$quota = \OC_Appconfig::getValue('files', 'default_quota');
|
||||
}
|
||||
if ( $quota == null ) {
|
||||
$quota = \OC\Files\Filesystem::free_space('/');
|
||||
if ( $quota === null ) {
|
||||
$quota = \OC\Files\Filesystem::free_space('/') / count(\OCP\User::getUsers());
|
||||
} else {
|
||||
$quota = \OCP\Util::computerFileSize($quota);
|
||||
}
|
||||
|
||||
// make sure that we have the current size of the version history
|
||||
if ( $versionsSize === null ) {
|
||||
if ( ($versionsSize = \OCP\Config::getAppValue('files_versions', 'size')) === null ) {
|
||||
$versionsSize = self::getVersionsSize($uid);
|
||||
if ( $versionsSize === false || $versionsSize < 0 ) {
|
||||
$versionsSize = self::calculateSize($uid);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
This app is not compatible to the WebDAV user backend.</description>
|
||||
<licence>AGPL</licence>
|
||||
<author>Dominik Schmidt and Arthur Schiwon</author>
|
||||
<require>4.91</require>
|
||||
<require>4.93</require>
|
||||
<shipped>true</shipped>
|
||||
<types>
|
||||
<authentication/>
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
"User Login Filter" => "סנן כניסת משתמש",
|
||||
"User List Filter" => "סנן רשימת משתמשים",
|
||||
"Group Filter" => "סנן קבוצה",
|
||||
"Port" => "פורט",
|
||||
"in seconds. A change empties the cache." => "בשניות. שינוי מרוקן את המטמון.",
|
||||
"in bytes" => "בבתים",
|
||||
"Help" => "עזרה"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Password" => "စကားဝှက်",
|
||||
"Help" => "အကူအညီ"
|
||||
);
|
||||
|
|
|
@ -357,9 +357,6 @@ class Connection {
|
|||
case 'ldapAgentPassword':
|
||||
$value = base64_encode($value);
|
||||
break;
|
||||
case 'homeFolderNamingRule':
|
||||
$value = empty($value) ? 'opt:username' : $value;
|
||||
break;
|
||||
case 'ldapBase':
|
||||
case 'ldapBaseUsers':
|
||||
case 'ldapBaseGroups':
|
||||
|
@ -394,10 +391,10 @@ class Connection {
|
|||
$config = array();
|
||||
foreach($trans as $dbKey => $classKey) {
|
||||
if($classKey == 'homeFolderNamingRule') {
|
||||
if(strpos($this->config[$classKey], 'opt') === 0) {
|
||||
$config[$dbKey] = '';
|
||||
} else {
|
||||
if(strpos($this->config[$classKey], 'attr:') === 0) {
|
||||
$config[$dbKey] = substr($this->config[$classKey], 5);
|
||||
} else {
|
||||
$config[$dbKey] = '';
|
||||
}
|
||||
continue;
|
||||
} else if((strpos($classKey, 'ldapBase') !== false)
|
||||
|
@ -540,7 +537,7 @@ class Connection {
|
|||
'ldap_cache_ttl' => 600,
|
||||
'ldap_uuid_attribute' => 'auto',
|
||||
'ldap_override_uuid_attribute' => 0,
|
||||
'home_folder_naming_rule' => 'opt:username',
|
||||
'home_folder_naming_rule' => '',
|
||||
'ldap_turn_off_cert_check' => 0,
|
||||
'ldap_configuration_active' => 1,
|
||||
'ldap_attributes_for_user_search' => '',
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
This app is not compatible to the LDAP user and group backend.</description>
|
||||
<licence>AGPL</licence>
|
||||
<author>Frank Karlitschek</author>
|
||||
<require>4.91</require>
|
||||
<require>4.93</require>
|
||||
<shipped>true</shipped>
|
||||
<types>
|
||||
<authentication/>
|
||||
|
|
47
autotest.cmd
47
autotest.cmd
|
@ -4,14 +4,14 @@
|
|||
:: @author Thomas Müller
|
||||
:: @author Tobias Ramforth (translated into Windows batch file)
|
||||
::
|
||||
:: @copyright 2012 Thomas Müller thomas.mueller@tmit.eu
|
||||
:: @copyright 2012, 2013 Thomas Müller thomas.mueller@tmit.eu
|
||||
::
|
||||
@echo off
|
||||
|
||||
set DATADIR=data-autotest
|
||||
set BASEDIR=%~dp0
|
||||
|
||||
:: create autoconfig for sqlite, mysql and postgresql
|
||||
:: create autoconfig for sqlite, mysql, postgresql and mssql
|
||||
echo ^<?php > .\tests\autoconfig-sqlite.php
|
||||
echo $AUTOCONFIG ^= array ^( >> .\tests\autoconfig-sqlite.php
|
||||
echo 'installed' ^=^> false^, >> .\tests\autoconfig-sqlite.php
|
||||
|
@ -50,16 +50,35 @@ echo 'dbhost' ^=^> 'localhost'^, >> .\tests\autoconfig-pgsql.php
|
|||
echo 'dbpass' ^=^> 'owncloud'^, >> .\tests\autoconfig-pgsql.php
|
||||
echo ^)^; >> .\tests\autoconfig-pgsql.php
|
||||
|
||||
echo ^<?php > .\tests\autoconfig-mssql.php
|
||||
echo $AUTOCONFIG ^= array ^( >> .\tests\autoconfig-mssql.php
|
||||
echo 'installed' ^=^> false^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'dbtype' ^=^> 'mssql'^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'dbtableprefix' ^=^> 'oc_'^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'adminlogin' ^=^> 'admin'^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'adminpass' ^=^> 'admin'^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'directory' ^=^> '%BASEDIR%%DATADIR%'^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'dbuser' ^=^> 'oc_autotest'^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'dbname' ^=^> 'oc_autotest'^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'dbhost' ^=^> 'localhost\sqlexpress'^, >> .\tests\autoconfig-mssql.php
|
||||
echo 'dbpass' ^=^> 'owncloud'^, >> .\tests\autoconfig-mssql.php
|
||||
echo ^)^; >> .\tests\autoconfig-mssql.php
|
||||
|
||||
echo localhost:5432:*:oc_autotest:owncloud > %APPDATA%\postgresql\pgpass.conf
|
||||
|
||||
::
|
||||
:: start test execution
|
||||
::
|
||||
::call:execute_tests "sqlite"
|
||||
call:execute_tests "mysql"
|
||||
::call:execute_tests "mssql"
|
||||
::call:execute_tests "ora"
|
||||
::call:execute_tests "pgsql"
|
||||
if [%1] == [] (
|
||||
echo "Running on all database backends"
|
||||
call:execute_tests "sqlite"
|
||||
call:execute_tests "mysql"
|
||||
call:execute_tests "mssql"
|
||||
::call:execute_tests "ora"
|
||||
call:execute_tests "pgsql"
|
||||
) else (
|
||||
call:execute_tests "%1"
|
||||
)
|
||||
|
||||
goto:eof
|
||||
|
||||
|
@ -83,6 +102,9 @@ goto:eof
|
|||
if "%~1" == "mysql" mysql -u oc_autotest -powncloud -e "DROP DATABASE oc_autotest"
|
||||
|
||||
if "%~1" == "pgsql" dropdb -h localhost -p 5432 -U oc_autotest -w oc_autotest
|
||||
|
||||
:: we assume a sqlexpress installation
|
||||
if "%~1" == "mssql" sqlcmd -S localhost\sqlexpress -U oc_autotest -P owncloud -Q "IF EXISTS (SELECT name FROM sys.databases WHERE name=N'oc_autotest') DROP DATABASE [oc_autotest]"
|
||||
|
||||
:: copy autoconfig
|
||||
copy /y %BASEDIR%\tests\autoconfig-%~1.php %BASEDIR%\config\autoconfig.php
|
||||
|
@ -96,9 +118,8 @@ goto:eof
|
|||
rmdir /s /q coverage-html-%~1
|
||||
md coverage-html-%~1
|
||||
php -f enable_all.php
|
||||
::phpunit --log-junit autotest-results-%~1.xml --coverage-clover autotest-clover-%~1.xml --coverage-html coverage-html-%~1
|
||||
::phpunit --bootstrap bootstrap.php --configuration phpunit.xml
|
||||
php win32-phpunit.php --bootstrap bootstrap.php --configuration phpunit.xml --log-junit autotest-results-%~1.xml --coverage-clover autotest-clover-%~1.xml --coverage-html coverage-html-%~1
|
||||
|
||||
php win32-phpunit.php --bootstrap bootstrap.php --configuration phpunit-autotest.xml --log-junit autotest-results-%~1.xml --coverage-clover autotest-clover-%~1.xml --coverage-html coverage-html-%~1
|
||||
echo "Done with testing %~1 ..."
|
||||
cd %BASEDIR%
|
||||
goto:eof
|
||||
|
@ -114,4 +135,10 @@ goto:eof
|
|||
:: - to enable dropdb I decided to add following line to pg_hba.conf (this is not the safest way but I don't care for the testing machine):
|
||||
:: local all all trust
|
||||
::
|
||||
:: NOTES on mssql:
|
||||
:: we assume the usage of a local installed sqlexpress
|
||||
:: create a user 'oc_autotest' with password 'owncloud' and assign the server role 'dbcreator'
|
||||
:: make sure the sqlserver is configured to allow sql authentication
|
||||
::
|
||||
|
||||
|
||||
|
|
|
@ -669,7 +669,7 @@ $(document).ready(function(){
|
|||
$('#settings #expanddiv').click(function(event){
|
||||
event.stopPropagation();
|
||||
});
|
||||
$(window).click(function(){//hide the settings menu when clicking outside it
|
||||
$(document).click(function(){//hide the settings menu when clicking outside it
|
||||
$('#settings #expanddiv').slideUp(200);
|
||||
});
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ $(document).ready(function() {
|
|||
mysql:!!$('#hasMySQL').val(),
|
||||
postgresql:!!$('#hasPostgreSQL').val(),
|
||||
oracle:!!$('#hasOracle').val(),
|
||||
mssql:!!$('#hasMSSQL').val()
|
||||
};
|
||||
|
||||
$('#selectDbType').buttonset();
|
||||
|
@ -41,6 +42,12 @@ $(document).ready(function() {
|
|||
$('#dbhost').show(250);
|
||||
$('#dbhostlabel').show(250);
|
||||
});
|
||||
|
||||
$('#mssql').click(function() {
|
||||
$('#use_other_db').slideDown(250);
|
||||
$('#dbhost').show(250);
|
||||
$('#dbhostlabel').show(250);
|
||||
});
|
||||
|
||||
$('input[checked]').trigger('click');
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "המשתמש %s שיתף אתך את התיקייה „%s“. ניתן להוריד את התיקייה מכאן: %s",
|
||||
"Category type not provided." => "סוג הקטגוריה לא סופק.",
|
||||
"No category to add?" => "אין קטגוריה להוספה?",
|
||||
"This category already exists: %s" => "הקטגוריה הבאה כבר קיימת: %s",
|
||||
"Object type not provided." => "סוג הפריט לא סופק.",
|
||||
"%s ID not provided." => "מזהה %s לא סופק.",
|
||||
"Error adding %s to favorites." => "אירעה שגיאה בעת הוספת %s למועדפים.",
|
||||
|
@ -52,6 +53,7 @@
|
|||
"Error" => "שגיאה",
|
||||
"The app name is not specified." => "שם היישום לא צוין.",
|
||||
"The required file {file} is not installed!" => "הקובץ הנדרש {file} אינו מותקן!",
|
||||
"Shared" => "שותף",
|
||||
"Share" => "שתף",
|
||||
"Error while sharing" => "שגיאה במהלך השיתוף",
|
||||
"Error while unsharing" => "שגיאה במהלך ביטול השיתוף",
|
||||
|
@ -82,6 +84,8 @@
|
|||
"Error setting expiration date" => "אירעה שגיאה בעת הגדרת תאריך התפוגה",
|
||||
"Sending ..." => "מתבצעת שליחה ...",
|
||||
"Email sent" => "הודעת הדוא״ל נשלחה",
|
||||
"The update was unsuccessful. Please report this issue to the <a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud community</a>." => "תהליך העדכון לא הושלם בהצלחה. נא דווח את הבעיה ב<a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">קהילת ownCloud</a>.",
|
||||
"The update was successful. Redirecting you to ownCloud now." => "תהליך העדכון הסתיים בהצלחה. עכשיו מנתב אותך אל ownCloud.",
|
||||
"ownCloud password reset" => "איפוס הססמה של ownCloud",
|
||||
"Use the following link to reset your password: {link}" => "יש להשתמש בקישור הבא כדי לאפס את הססמה שלך: {link}",
|
||||
"You will receive a link to reset your password via Email." => "יישלח לתיבת הדוא״ל שלך קישור לאיפוס הססמה.",
|
||||
|
@ -105,6 +109,8 @@
|
|||
"Security Warning" => "אזהרת אבטחה",
|
||||
"No secure random number generator is available, please enable the PHP OpenSSL extension." => "אין מחולל מספרים אקראיים מאובטח, נא להפעיל את ההרחבה OpenSSL ב־PHP.",
|
||||
"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "ללא מחולל מספרים אקראיים מאובטח תוקף יכול לנבא את מחרוזות איפוס הססמה ולהשתלט על החשבון שלך.",
|
||||
"Your data directory and files are probably accessible from the internet because the .htaccess file does not work." => "תיקיית וקבצי המידע שלך כנראה נגישים מהאינטרנט מכיוון שקובץ ה.htaccess לא עובד.",
|
||||
"For information how to properly configure your server, please see the <a href=\"http://doc.owncloud.org/server/5.0/admin_manual/installation.html\" target=\"_blank\">documentation</a>." => "לקבלת מידע להגדרה נכונה של השרת שלך, ראה את ה<a href=\"http://doc.owncloud.org/server/5.0/admin_manual/installation.html\" target=\"_blank\">תיעוד</a>.",
|
||||
"Create an <strong>admin account</strong>" => "יצירת <strong>חשבון מנהל</strong>",
|
||||
"Advanced" => "מתקדם",
|
||||
"Data folder" => "תיקיית נתונים",
|
||||
|
@ -124,6 +130,7 @@
|
|||
"Lost your password?" => "שכחת את ססמתך?",
|
||||
"remember" => "שמירת הססמה",
|
||||
"Log in" => "כניסה",
|
||||
"Alternative Logins" => "כניסות אלטרנטיביות",
|
||||
"prev" => "הקודם",
|
||||
"next" => "הבא",
|
||||
"Updating ownCloud to version %s, this may take a while." => "מעדכן את ownCloud אל גרסא %s, זה עלול לקחת זמן מה."
|
||||
|
|
|
@ -1,4 +1,18 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"No category to add?" => "ထည့်ရန်ခေါင်းစဉ်မရှိဘူးလား",
|
||||
"No categories selected for deletion." => "ဖျက်ရန်အတွက်ခေါင်းစဉ်မရွေးထားပါ",
|
||||
"January" => "ဇန်နဝါရီ",
|
||||
"February" => "ဖေဖော်ဝါရီ",
|
||||
"March" => "မတ်",
|
||||
"April" => "ဧပြီ",
|
||||
"May" => "မေ",
|
||||
"June" => "ဇွန်",
|
||||
"July" => "ဇူလိုင်",
|
||||
"August" => "ဩဂုတ်",
|
||||
"September" => "စက်တင်ဘာ",
|
||||
"October" => "အောက်တိုဘာ",
|
||||
"November" => "နိုဝင်ဘာ",
|
||||
"December" => "ဒီဇင်ဘာ",
|
||||
"seconds ago" => "စက္ကန့်အနည်းငယ်က",
|
||||
"1 minute ago" => "၁ မိနစ်အရင်က",
|
||||
"1 hour ago" => "၁ နာရီ အရင်က",
|
||||
|
@ -7,7 +21,44 @@
|
|||
"last month" => "ပြီးခဲ့သောလ",
|
||||
"last year" => "မနှစ်က",
|
||||
"years ago" => "နှစ် အရင်က",
|
||||
"Choose" => "ရွေးချယ်",
|
||||
"Cancel" => "ပယ်ဖျက်မည်",
|
||||
"No" => "မဟုတ်ဘူး",
|
||||
"Yes" => "ဟုတ်",
|
||||
"Ok" => "အိုကေ",
|
||||
"Password" => "စကားဝှက်",
|
||||
"Set expiration date" => "သက်တမ်းကုန်ဆုံးမည့်ရက်သတ်မှတ်မည်",
|
||||
"Expiration date" => "သက်တမ်းကုန်ဆုံးမည့်ရက်",
|
||||
"Share via email:" => "အီးမေးလ်ဖြင့်ဝေမျှမည် -",
|
||||
"Resharing is not allowed" => "ပြန်လည်ဝေမျှခြင်းခွင့်မပြုပါ",
|
||||
"can edit" => "ပြင်ဆင်နိုင်",
|
||||
"create" => "ဖန်တီးမည်",
|
||||
"delete" => "ဖျက်မည်",
|
||||
"share" => "ဝေမျှမည်",
|
||||
"Password protected" => "စကားဝှက်ဖြင့်ကာကွယ်ထားသည်",
|
||||
"You will receive a link to reset your password via Email." => "အီးမေးလ်မှတစ်ဆင့် သင်၏စကားဝှက်ကို ပြန်ဖော်ရန်အတွက် Link တစ်ခုလက်ခံရရှိပါလိမ့်မယ်။",
|
||||
"Username" => "သုံးစွဲသူအမည်",
|
||||
"Your password was reset" => "သင်၏စကားဝှက်ကိုပြန်ဖော်ပြီးပါပြီ။",
|
||||
"To login page" => "ဝင်ရောက်သည့်စာမျက်နှာသို့",
|
||||
"New password" => "စကားဝှက်အသစ်",
|
||||
"Users" => "သုံးစွဲသူ",
|
||||
"Apps" => "Apps",
|
||||
"Help" => "အကူအညီ"
|
||||
"Admin" => "အက်ဒမင်",
|
||||
"Help" => "အကူအညီ",
|
||||
"Cloud not found" => "မတွေ့ရှိမိပါ",
|
||||
"Add" => "ပေါင်းထည့်",
|
||||
"Security Warning" => "လုံခြုံရေးသတိပေးချက်",
|
||||
"Create an <strong>admin account</strong>" => "<strong>အက်ဒမင်အကောင့်</strong>တစ်ခုဖန်တီးမည်",
|
||||
"Advanced" => "အဆင့်မြင့်",
|
||||
"Data folder" => "အချက်အလက်ဖိုလ်ဒါလ်",
|
||||
"Database user" => "Database သုံးစွဲသူ",
|
||||
"Database password" => "Database စကားဝှက်",
|
||||
"Database name" => "Database အမည်",
|
||||
"Finish setup" => "တပ်ဆင်ခြင်းပြီးပါပြီ။",
|
||||
"web services under your control" => "သင်၏ထိန်းချုပ်မှု့အောက်တွင်ရှိသော Web services",
|
||||
"Lost your password?" => "သင်၏စကားဝှက်ပျောက်သွားပြီလား။",
|
||||
"remember" => "မှတ်မိစေသည်",
|
||||
"Log in" => "ဝင်ရောက်ရန်",
|
||||
"prev" => "ယခင်",
|
||||
"next" => "နောက်သို့"
|
||||
);
|
||||
|
|
|
@ -16,6 +16,7 @@ $hasSQLite = class_exists('SQLite3');
|
|||
$hasMySQL = is_callable('mysql_connect');
|
||||
$hasPostgreSQL = is_callable('pg_connect');
|
||||
$hasOracle = is_callable('oci_connect');
|
||||
$hasMSSQL = is_callable('sqlsrv_connect');
|
||||
$datadir = OC_Config::getValue('datadirectory', OC::$SERVERROOT.'/data');
|
||||
|
||||
// Protect data directory here, so we can test if the protection is working
|
||||
|
@ -26,6 +27,7 @@ $opts = array(
|
|||
'hasMySQL' => $hasMySQL,
|
||||
'hasPostgreSQL' => $hasPostgreSQL,
|
||||
'hasOracle' => $hasOracle,
|
||||
'hasMSSQL' => $hasMSSQL,
|
||||
'directory' => $datadir,
|
||||
'secureRNG' => OC_Util::secureRNG_available(),
|
||||
'htaccessWorking' => OC_Util::ishtaccessworking(),
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<input type='hidden' id='hasSQLite' value='<?php echo $_['hasSQLite'] ?>'>
|
||||
<input type='hidden' id='hasPostgreSQL' value='<?php echo $_['hasPostgreSQL'] ?>'>
|
||||
<input type='hidden' id='hasOracle' value='<?php echo $_['hasOracle'] ?>'>
|
||||
<input type='hidden' id='hasMSSQL' value='<?php echo $_['hasMSSQL'] ?>'>
|
||||
<form action="index.php" method="post">
|
||||
<input type="hidden" name="install" value="true" />
|
||||
<?php if(count($_['errors']) > 0): ?>
|
||||
|
@ -60,7 +61,7 @@
|
|||
</fieldset>
|
||||
|
||||
<fieldset id='databaseField'>
|
||||
<?php if($_['hasMySQL'] or $_['hasPostgreSQL'] or $_['hasOracle'])
|
||||
<?php if($_['hasMySQL'] or $_['hasPostgreSQL'] or $_['hasOracle'] or $_['hasMSSQL'])
|
||||
$hasOtherDB = true; else $hasOtherDB =false; //other than SQLite ?>
|
||||
<legend><?php echo $l->t( 'Configure the database' ); ?></legend>
|
||||
<div id="selectDbType">
|
||||
|
@ -78,7 +79,7 @@
|
|||
|
||||
<?php if($_['hasMySQL']): ?>
|
||||
<input type='hidden' id='hasMySQL' value='true'/>
|
||||
<?php if(!$_['hasSQLite'] and !$_['hasPostgreSQL'] and !$_['hasOracle']): ?>
|
||||
<?php if(!$_['hasSQLite'] and !$_['hasPostgreSQL'] and !$_['hasOracle'] and !$_['hasMSSQL']): ?>
|
||||
<p>MySQL <?php echo $l->t( 'will be used' ); ?>.</p>
|
||||
<input type="hidden" id="dbtype" name="dbtype" value="mysql" />
|
||||
<?php else: ?>
|
||||
|
@ -89,7 +90,7 @@
|
|||
<?php endif; ?>
|
||||
|
||||
<?php if($_['hasPostgreSQL']): ?>
|
||||
<?php if(!$_['hasSQLite'] and !$_['hasMySQL'] and !$_['hasOracle']): ?>
|
||||
<?php if(!$_['hasSQLite'] and !$_['hasMySQL'] and !$_['hasOracle'] and !$_['hasMSSQL']): ?>
|
||||
<p>PostgreSQL <?php echo $l->t( 'will be used' ); ?>.</p>
|
||||
<input type="hidden" id="dbtype" name="dbtype" value="pgsql" />
|
||||
<?php else: ?>
|
||||
|
@ -100,7 +101,7 @@
|
|||
<?php endif; ?>
|
||||
|
||||
<?php if($_['hasOracle']): ?>
|
||||
<?php if(!$_['hasSQLite'] and !$_['hasMySQL'] and !$_['hasPostgreSQL']): ?>
|
||||
<?php if(!$_['hasSQLite'] and !$_['hasMySQL'] and !$_['hasPostgreSQL'] and !$_['hasMSSQL']): ?>
|
||||
<p>Oracle <?php echo $l->t( 'will be used' ); ?>.</p>
|
||||
<input type="hidden" id="dbtype" name="dbtype" value="oci" />
|
||||
<?php else: ?>
|
||||
|
@ -109,6 +110,17 @@
|
|||
<?php OC_Helper::init_radio('dbtype', 'oci', 'sqlite'); ?>/>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if($_['hasMSSQL']): ?>
|
||||
<input type='hidden' id='hasMSSQL' value='true'/>
|
||||
<?php if(!$_['hasSQLite'] and !$_['hasMySQL'] and !$_['hasPostgreSQL'] and !$_['hasOracle']): ?>
|
||||
<p>MS SQL <?php echo $l->t( 'will be used' ); ?>.</p>
|
||||
<input type="hidden" id="dbtype" name="dbtype" value="mssql" />
|
||||
<?php else: ?>
|
||||
<label class="mssql" for="mssql">MS SQL</label>
|
||||
<input type="radio" name="dbtype" value='mssql' id="mssql" <?php OC_Helper::init_radio('dbtype', 'mssql', 'sqlite'); ?>/>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php if($hasOtherDB): ?>
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
<ul id="settings" class="svg">
|
||||
<span id="expand">
|
||||
<span id="expandDisplayName"><?php echo $_['displayname'] ?></span>
|
||||
<span id="expandDisplayName"><?php echo $_['user_displayname'] ?></span>
|
||||
<img class="svg" src="<?php echo image_path('', 'actions/caret.svg'); ?>" />
|
||||
</span>
|
||||
<div id="expanddiv">
|
||||
|
|
|
@ -12,9 +12,9 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-22 00:06+0100\n"
|
||||
"PO-Revision-Date: 2013-02-20 23:20+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2013-02-24 12:10+0000\n"
|
||||
"Last-Translator: Gilad Naaman <gilad.doom@gmail.com>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -22,24 +22,24 @@ msgstr ""
|
|||
"Language: he\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: ajax/share.php:85
|
||||
#: ajax/share.php:97
|
||||
#, php-format
|
||||
msgid "User %s shared a file with you"
|
||||
msgstr "המשתמש %s שיתף אתך קובץ"
|
||||
|
||||
#: ajax/share.php:87
|
||||
#: ajax/share.php:99
|
||||
#, php-format
|
||||
msgid "User %s shared a folder with you"
|
||||
msgstr "המשתמש %s שיתף אתך תיקייה"
|
||||
|
||||
#: ajax/share.php:89
|
||||
#: ajax/share.php:101
|
||||
#, php-format
|
||||
msgid ""
|
||||
"User %s shared the file \"%s\" with you. It is available for download here: "
|
||||
"%s"
|
||||
msgstr "המשתמש %s שיתף אתך את הקובץ „%s“. ניתן להוריד את הקובץ מכאן: %s"
|
||||
|
||||
#: ajax/share.php:91
|
||||
#: ajax/share.php:104
|
||||
#, php-format
|
||||
msgid ""
|
||||
"User %s shared the folder \"%s\" with you. It is available for download "
|
||||
|
@ -57,7 +57,7 @@ msgstr "אין קטגוריה להוספה?"
|
|||
#: ajax/vcategories/add.php:37
|
||||
#, php-format
|
||||
msgid "This category already exists: %s"
|
||||
msgstr ""
|
||||
msgstr "הקטגוריה הבאה כבר קיימת: %s"
|
||||
|
||||
#: ajax/vcategories/addToFavorites.php:26 ajax/vcategories/delete.php:27
|
||||
#: ajax/vcategories/favorites.php:24
|
||||
|
@ -85,79 +85,79 @@ msgstr "לא נבחרו קטגוריות למחיקה"
|
|||
msgid "Error removing %s from favorites."
|
||||
msgstr "שגיאה בהסרת %s מהמועדפים."
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:34
|
||||
msgid "Sunday"
|
||||
msgstr "יום ראשון"
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:35
|
||||
msgid "Monday"
|
||||
msgstr "יום שני"
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:36
|
||||
msgid "Tuesday"
|
||||
msgstr "יום שלישי"
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:37
|
||||
msgid "Wednesday"
|
||||
msgstr "יום רביעי"
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:38
|
||||
msgid "Thursday"
|
||||
msgstr "יום חמישי"
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:39
|
||||
msgid "Friday"
|
||||
msgstr "יום שישי"
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:40
|
||||
msgid "Saturday"
|
||||
msgstr "שבת"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:45
|
||||
msgid "January"
|
||||
msgstr "ינואר"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:46
|
||||
msgid "February"
|
||||
msgstr "פברואר"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:47
|
||||
msgid "March"
|
||||
msgstr "מרץ"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:48
|
||||
msgid "April"
|
||||
msgstr "אפריל"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:49
|
||||
msgid "May"
|
||||
msgstr "מאי"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:50
|
||||
msgid "June"
|
||||
msgstr "יוני"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:51
|
||||
msgid "July"
|
||||
msgstr "יולי"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:52
|
||||
msgid "August"
|
||||
msgstr "אוגוסט"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:53
|
||||
msgid "September"
|
||||
msgstr "ספטמבר"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:54
|
||||
msgid "October"
|
||||
msgstr "אוקטובר"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:55
|
||||
msgid "November"
|
||||
msgstr "נובמבר"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:56
|
||||
msgid "December"
|
||||
msgstr "דצמבר"
|
||||
|
||||
|
@ -258,7 +258,7 @@ msgstr "הקובץ הנדרש {file} אינו מותקן!"
|
|||
|
||||
#: js/share.js:29 js/share.js:43 js/share.js:90
|
||||
msgid "Shared"
|
||||
msgstr ""
|
||||
msgstr "שותף"
|
||||
|
||||
#: js/share.js:93
|
||||
msgid "Share"
|
||||
|
@ -296,7 +296,7 @@ msgstr "שיתוף עם קישור"
|
|||
msgid "Password protect"
|
||||
msgstr "הגנה בססמה"
|
||||
|
||||
#: js/share.js:185 templates/installation.php:44 templates/login.php:35
|
||||
#: js/share.js:185 templates/installation.php:46 templates/login.php:35
|
||||
msgid "Password"
|
||||
msgstr "ססמה"
|
||||
|
||||
|
@ -385,11 +385,11 @@ msgid ""
|
|||
"The update was unsuccessful. Please report this issue to the <a "
|
||||
"href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">ownCloud "
|
||||
"community</a>."
|
||||
msgstr ""
|
||||
msgstr "תהליך העדכון לא הושלם בהצלחה. נא דווח את הבעיה ב<a href=\"https://github.com/owncloud/core/issues\" target=\"_blank\">קהילת ownCloud</a>."
|
||||
|
||||
#: js/update.js:18
|
||||
msgid "The update was successful. Redirecting you to ownCloud now."
|
||||
msgstr ""
|
||||
msgstr "תהליך העדכון הסתיים בהצלחה. עכשיו מנתב אותך אל ownCloud."
|
||||
|
||||
#: lostpassword/controller.php:48
|
||||
msgid "ownCloud password reset"
|
||||
|
@ -411,7 +411,7 @@ msgstr "איפוס שליחת דוא״ל."
|
|||
msgid "Request failed!"
|
||||
msgstr "הבקשה נכשלה!"
|
||||
|
||||
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
|
||||
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:40
|
||||
#: templates/login.php:28
|
||||
msgid "Username"
|
||||
msgstr "שם משתמש"
|
||||
|
@ -492,65 +492,65 @@ msgstr "ללא מחולל מספרים אקראיים מאובטח תוקף יכ
|
|||
msgid ""
|
||||
"Your data directory and files are probably accessible from the internet "
|
||||
"because the .htaccess file does not work."
|
||||
msgstr ""
|
||||
msgstr "תיקיית וקבצי המידע שלך כנראה נגישים מהאינטרנט מכיוון שקובץ ה.htaccess לא עובד."
|
||||
|
||||
#: templates/installation.php:32
|
||||
msgid ""
|
||||
"For information how to properly configure your server, please see the <a "
|
||||
"href=\"http://doc.owncloud.org/server/5.0/admin_manual/installation.html\" "
|
||||
"target=\"_blank\">documentation</a>."
|
||||
msgstr ""
|
||||
msgstr "לקבלת מידע להגדרה נכונה של השרת שלך, ראה את ה<a href=\"http://doc.owncloud.org/server/5.0/admin_manual/installation.html\" target=\"_blank\">תיעוד</a>."
|
||||
|
||||
#: templates/installation.php:36
|
||||
msgid "Create an <strong>admin account</strong>"
|
||||
msgstr "יצירת <strong>חשבון מנהל</strong>"
|
||||
|
||||
#: templates/installation.php:52
|
||||
#: templates/installation.php:54
|
||||
msgid "Advanced"
|
||||
msgstr "מתקדם"
|
||||
|
||||
#: templates/installation.php:54
|
||||
#: templates/installation.php:56
|
||||
msgid "Data folder"
|
||||
msgstr "תיקיית נתונים"
|
||||
|
||||
#: templates/installation.php:61
|
||||
#: templates/installation.php:65
|
||||
msgid "Configure the database"
|
||||
msgstr "הגדרת מסד הנתונים"
|
||||
|
||||
#: templates/installation.php:66 templates/installation.php:77
|
||||
#: templates/installation.php:87 templates/installation.php:97
|
||||
#: templates/installation.php:70 templates/installation.php:82
|
||||
#: templates/installation.php:93 templates/installation.php:104
|
||||
msgid "will be used"
|
||||
msgstr "ינוצלו"
|
||||
|
||||
#: templates/installation.php:109
|
||||
#: templates/installation.php:117
|
||||
msgid "Database user"
|
||||
msgstr "שם משתמש במסד הנתונים"
|
||||
|
||||
#: templates/installation.php:113
|
||||
#: templates/installation.php:122
|
||||
msgid "Database password"
|
||||
msgstr "ססמת מסד הנתונים"
|
||||
|
||||
#: templates/installation.php:117
|
||||
#: templates/installation.php:127
|
||||
msgid "Database name"
|
||||
msgstr "שם מסד הנתונים"
|
||||
|
||||
#: templates/installation.php:125
|
||||
#: templates/installation.php:137
|
||||
msgid "Database tablespace"
|
||||
msgstr "מרחב הכתובות של מסד הנתונים"
|
||||
|
||||
#: templates/installation.php:131
|
||||
#: templates/installation.php:144
|
||||
msgid "Database host"
|
||||
msgstr "שרת בסיס נתונים"
|
||||
|
||||
#: templates/installation.php:136
|
||||
#: templates/installation.php:150
|
||||
msgid "Finish setup"
|
||||
msgstr "סיום התקנה"
|
||||
|
||||
#: templates/layout.guest.php:33
|
||||
#: templates/layout.guest.php:35
|
||||
msgid "web services under your control"
|
||||
msgstr "שירותי רשת בשליטתך"
|
||||
|
||||
#: templates/layout.user.php:48
|
||||
#: templates/layout.user.php:53
|
||||
msgid "Log out"
|
||||
msgstr "התנתקות"
|
||||
|
||||
|
@ -582,7 +582,7 @@ msgstr "כניסה"
|
|||
|
||||
#: templates/login.php:49
|
||||
msgid "Alternative Logins"
|
||||
msgstr ""
|
||||
msgstr "כניסות אלטרנטיביות"
|
||||
|
||||
#: templates/part.pagenavi.php:3
|
||||
msgid "prev"
|
||||
|
|
|
@ -11,8 +11,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-22 00:06+0100\n"
|
||||
"PO-Revision-Date: 2013-02-20 23:30+0000\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2013-02-24 12:30+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -54,27 +54,27 @@ msgid ""
|
|||
"the HTML form"
|
||||
msgstr "הקובץ שהועלה חרג מההנחיה MAX_FILE_SIZE שצוינה בטופס ה־HTML"
|
||||
|
||||
#: ajax/upload.php:31
|
||||
#: ajax/upload.php:30
|
||||
msgid "The uploaded file was only partially uploaded"
|
||||
msgstr "הקובץ שהועלה הועלה בצורה חלקית"
|
||||
|
||||
#: ajax/upload.php:32
|
||||
#: ajax/upload.php:31
|
||||
msgid "No file was uploaded"
|
||||
msgstr "לא הועלו קבצים"
|
||||
|
||||
#: ajax/upload.php:33
|
||||
#: ajax/upload.php:32
|
||||
msgid "Missing a temporary folder"
|
||||
msgstr "תיקייה זמנית חסרה"
|
||||
|
||||
#: ajax/upload.php:34
|
||||
#: ajax/upload.php:33
|
||||
msgid "Failed to write to disk"
|
||||
msgstr "הכתיבה לכונן נכשלה"
|
||||
|
||||
#: ajax/upload.php:52
|
||||
#: ajax/upload.php:51
|
||||
msgid "Not enough storage available"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/upload.php:83
|
||||
#: ajax/upload.php:82
|
||||
msgid "Invalid directory."
|
||||
msgstr ""
|
||||
|
||||
|
@ -84,7 +84,7 @@ msgstr "קבצים"
|
|||
|
||||
#: js/fileactions.js:125
|
||||
msgid "Delete permanently"
|
||||
msgstr ""
|
||||
msgstr "מחק לצמיתות"
|
||||
|
||||
#: js/fileactions.js:127 templates/index.php:91 templates/index.php:92
|
||||
msgid "Delete"
|
||||
|
|
|
@ -3,13 +3,14 @@
|
|||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Translators:
|
||||
# Gilad Naaman <gilad.doom@gmail.com>, 2013.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-22 00:06+0100\n"
|
||||
"PO-Revision-Date: 2013-02-20 23:32+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2013-02-24 12:30+0000\n"
|
||||
"Last-Translator: Gilad Naaman <gilad.doom@gmail.com>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
|
@ -20,24 +21,24 @@ msgstr ""
|
|||
#: ajax/delete.php:40
|
||||
#, php-format
|
||||
msgid "Couldn't delete %s permanently"
|
||||
msgstr ""
|
||||
msgstr "בלתי אפשרי למחוק את %s לצמיתות"
|
||||
|
||||
#: ajax/undelete.php:41
|
||||
#, php-format
|
||||
msgid "Couldn't restore %s"
|
||||
msgstr ""
|
||||
msgstr "בלתי אפשרי לשחזר את %s"
|
||||
|
||||
#: js/trash.js:7 js/trash.js:96
|
||||
msgid "perform restore operation"
|
||||
msgstr ""
|
||||
msgstr "בצע פעולת שחזור"
|
||||
|
||||
#: js/trash.js:34
|
||||
msgid "delete file permanently"
|
||||
msgstr ""
|
||||
msgstr "מחק קובץ לצמיתות"
|
||||
|
||||
#: js/trash.js:121
|
||||
msgid "Delete permanently"
|
||||
msgstr ""
|
||||
msgstr "מחק לצמיתות"
|
||||
|
||||
#: js/trash.js:151 templates/index.php:17
|
||||
msgid "Name"
|
||||
|
@ -45,7 +46,7 @@ msgstr "שם"
|
|||
|
||||
#: js/trash.js:152 templates/index.php:27
|
||||
msgid "Deleted"
|
||||
msgstr ""
|
||||
msgstr "נמחק"
|
||||
|
||||
#: js/trash.js:161
|
||||
msgid "1 folder"
|
||||
|
@ -65,11 +66,11 @@ msgstr "{count} קבצים"
|
|||
|
||||
#: templates/index.php:9
|
||||
msgid "Nothing in here. Your trash bin is empty!"
|
||||
msgstr ""
|
||||
msgstr "שום דבר כאן. סל המחזור שלך ריק!"
|
||||
|
||||
#: templates/index.php:20 templates/index.php:22
|
||||
msgid "Restore"
|
||||
msgstr ""
|
||||
msgstr "שחזר"
|
||||
|
||||
#: templates/index.php:30 templates/index.php:31
|
||||
msgid "Delete"
|
||||
|
|
|
@ -11,8 +11,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-22 00:06+0100\n"
|
||||
"PO-Revision-Date: 2013-02-20 23:30+0000\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2013-02-24 12:20+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -25,8 +25,8 @@ msgstr ""
|
|||
msgid "Unable to load list from App Store"
|
||||
msgstr "לא ניתן לטעון רשימה מה־App Store"
|
||||
|
||||
#: ajax/changedisplayname.php:23 ajax/removeuser.php:15 ajax/setquota.php:15
|
||||
#: ajax/togglegroups.php:18
|
||||
#: ajax/changedisplayname.php:23 ajax/removeuser.php:15 ajax/setquota.php:17
|
||||
#: ajax/togglegroups.php:20
|
||||
msgid "Authentication error"
|
||||
msgstr "שגיאת הזדהות"
|
||||
|
||||
|
@ -74,12 +74,12 @@ msgstr "בקשה לא חוקית"
|
|||
msgid "Admins can't remove themself from the admin group"
|
||||
msgstr "מנהלים לא יכולים להסיר את עצמם מקבוצת המנהלים"
|
||||
|
||||
#: ajax/togglegroups.php:28
|
||||
#: ajax/togglegroups.php:30
|
||||
#, php-format
|
||||
msgid "Unable to add user to group %s"
|
||||
msgstr "לא ניתן להוסיף משתמש לקבוצה %s"
|
||||
|
||||
#: ajax/togglegroups.php:34
|
||||
#: ajax/togglegroups.php:36
|
||||
#, php-format
|
||||
msgid "Unable to remove user from group %s"
|
||||
msgstr "לא ניתן להסיר משתמש מהקבוצה %s"
|
||||
|
@ -320,11 +320,11 @@ msgstr ""
|
|||
msgid "More"
|
||||
msgstr "יותר"
|
||||
|
||||
#: templates/admin.php:227 templates/personal.php:98
|
||||
#: templates/admin.php:227 templates/personal.php:102
|
||||
msgid "Version"
|
||||
msgstr "גרסא"
|
||||
|
||||
#: templates/admin.php:230 templates/personal.php:100
|
||||
#: templates/admin.php:230 templates/personal.php:105
|
||||
msgid ""
|
||||
"Developed by the <a href=\"http://ownCloud.org/contact\" "
|
||||
"target=\"_blank\">ownCloud community</a>, the <a "
|
||||
|
@ -334,51 +334,51 @@ msgid ""
|
|||
"License\">AGPL</abbr></a>."
|
||||
msgstr "פותח על די <a href=\"http://ownCloud.org/contact\" target=\"_blank\">קהילתownCloud</a>, <a href=\"https://github.com/owncloud\" target=\"_blank\">קוד המקור</a> מוגן ברישיון <a href=\"http://www.gnu.org/licenses/agpl-3.0.html\" target=\"_blank\"><abbr title=\"Affero General Public License\">AGPL</abbr></a>."
|
||||
|
||||
#: templates/apps.php:10
|
||||
#: templates/apps.php:11
|
||||
msgid "Add your App"
|
||||
msgstr "הוספת היישום שלך"
|
||||
|
||||
#: templates/apps.php:11
|
||||
#: templates/apps.php:12
|
||||
msgid "More Apps"
|
||||
msgstr "יישומים נוספים"
|
||||
|
||||
#: templates/apps.php:24
|
||||
#: templates/apps.php:28
|
||||
msgid "Select an App"
|
||||
msgstr "בחירת יישום"
|
||||
|
||||
#: templates/apps.php:28
|
||||
#: templates/apps.php:34
|
||||
msgid "See application page at apps.owncloud.com"
|
||||
msgstr "צפה בעמוד הישום ב apps.owncloud.com"
|
||||
|
||||
#: templates/apps.php:29
|
||||
#: templates/apps.php:36
|
||||
msgid "<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
|
||||
msgstr "ברישיון <span class=\"licence\"></span>לטובת <span class=\"author\"></span>"
|
||||
|
||||
#: templates/apps.php:31
|
||||
#: templates/apps.php:38
|
||||
msgid "Update"
|
||||
msgstr "עדכון"
|
||||
|
||||
#: templates/help.php:3
|
||||
#: templates/help.php:4
|
||||
msgid "User Documentation"
|
||||
msgstr "תיעוד משתמש"
|
||||
|
||||
#: templates/help.php:4
|
||||
#: templates/help.php:6
|
||||
msgid "Administrator Documentation"
|
||||
msgstr "תיעוד מנהלים"
|
||||
|
||||
#: templates/help.php:6
|
||||
#: templates/help.php:9
|
||||
msgid "Online Documentation"
|
||||
msgstr "תיעוד מקוון"
|
||||
|
||||
#: templates/help.php:7
|
||||
#: templates/help.php:11
|
||||
msgid "Forum"
|
||||
msgstr "פורום"
|
||||
|
||||
#: templates/help.php:9
|
||||
#: templates/help.php:14
|
||||
msgid "Bugtracker"
|
||||
msgstr ""
|
||||
|
||||
#: templates/help.php:11
|
||||
#: templates/help.php:17
|
||||
msgid "Commercial Support"
|
||||
msgstr "תמיכה בתשלום"
|
||||
|
||||
|
@ -387,79 +387,79 @@ msgstr "תמיכה בתשלום"
|
|||
msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
|
||||
msgstr "השתמשת ב־<strong>%s</strong> מתוך <strong>%s</strong> הזמינים לך"
|
||||
|
||||
#: templates/personal.php:14
|
||||
#: templates/personal.php:15
|
||||
msgid "Get the apps to sync your files"
|
||||
msgstr ""
|
||||
msgstr "השג את האפליקציות על מנת לסנכרן את הקבצים שלך"
|
||||
|
||||
#: templates/personal.php:25
|
||||
#: templates/personal.php:26
|
||||
msgid "Show First Run Wizard again"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:36 templates/users.php:23 templates/users.php:79
|
||||
#: templates/personal.php:37 templates/users.php:23 templates/users.php:79
|
||||
msgid "Password"
|
||||
msgstr "ססמה"
|
||||
|
||||
#: templates/personal.php:37
|
||||
#: templates/personal.php:38
|
||||
msgid "Your password was changed"
|
||||
msgstr "הססמה שלך הוחלפה"
|
||||
|
||||
#: templates/personal.php:38
|
||||
#: templates/personal.php:39
|
||||
msgid "Unable to change your password"
|
||||
msgstr "לא ניתן לשנות את הססמה שלך"
|
||||
|
||||
#: templates/personal.php:39
|
||||
#: templates/personal.php:40
|
||||
msgid "Current password"
|
||||
msgstr "ססמה נוכחית"
|
||||
|
||||
#: templates/personal.php:40
|
||||
#: templates/personal.php:42
|
||||
msgid "New password"
|
||||
msgstr "ססמה חדשה"
|
||||
|
||||
#: templates/personal.php:42
|
||||
#: templates/personal.php:44
|
||||
msgid "Change password"
|
||||
msgstr "שינוי ססמה"
|
||||
|
||||
#: templates/personal.php:54 templates/users.php:78
|
||||
#: templates/personal.php:56 templates/users.php:78
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:55
|
||||
#: templates/personal.php:57
|
||||
msgid "Your display name was changed"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:56
|
||||
#: templates/personal.php:58
|
||||
msgid "Unable to change your display name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:59
|
||||
#: templates/personal.php:61
|
||||
msgid "Change display name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:68
|
||||
#: templates/personal.php:70
|
||||
msgid "Email"
|
||||
msgstr "דוא״ל"
|
||||
|
||||
#: templates/personal.php:69
|
||||
#: templates/personal.php:72
|
||||
msgid "Your email address"
|
||||
msgstr "כתובת הדוא״ל שלך"
|
||||
|
||||
#: templates/personal.php:70
|
||||
#: templates/personal.php:73
|
||||
msgid "Fill in an email address to enable password recovery"
|
||||
msgstr "נא למלא את כתובת הדוא״ל שלך כדי לאפשר שחזור ססמה"
|
||||
|
||||
#: templates/personal.php:76 templates/personal.php:77
|
||||
#: templates/personal.php:79 templates/personal.php:80
|
||||
msgid "Language"
|
||||
msgstr "פה"
|
||||
|
||||
#: templates/personal.php:82
|
||||
#: templates/personal.php:86
|
||||
msgid "Help translate"
|
||||
msgstr "עזרה בתרגום"
|
||||
|
||||
#: templates/personal.php:87
|
||||
#: templates/personal.php:91
|
||||
msgid "WebDAV"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:89
|
||||
#: templates/personal.php:93
|
||||
msgid "Use this address to connect to your ownCloud in your file manager"
|
||||
msgstr "השתמש בכתובת זאת על מנת להתחבר אל ownCloud דרך סייר קבצים."
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-08 00:10+0100\n"
|
||||
"PO-Revision-Date: 2013-02-07 23:11+0000\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2013-02-24 12:30+0000\n"
|
||||
"Last-Translator: I Robot <owncloud-bot@tmit.eu>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/projects/p/owncloud/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -22,17 +22,17 @@ msgstr ""
|
|||
msgid "Failed to delete the server configuration"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/testConfiguration.php:35
|
||||
#: ajax/testConfiguration.php:36
|
||||
msgid "The configuration is valid and the connection could be established!"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/testConfiguration.php:37
|
||||
#: ajax/testConfiguration.php:39
|
||||
msgid ""
|
||||
"The configuration is valid, but the Bind failed. Please check the server "
|
||||
"settings and credentials."
|
||||
msgstr ""
|
||||
|
||||
#: ajax/testConfiguration.php:40
|
||||
#: ajax/testConfiguration.php:43
|
||||
msgid ""
|
||||
"The configuration is invalid. Please look in the ownCloud log for further "
|
||||
"details."
|
||||
|
@ -87,224 +87,224 @@ msgstr ""
|
|||
msgid "Server configuration"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:17
|
||||
#: templates/settings.php:18
|
||||
msgid "Add Server Configuration"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:21
|
||||
#: templates/settings.php:23
|
||||
msgid "Host"
|
||||
msgstr "מארח"
|
||||
|
||||
#: templates/settings.php:21
|
||||
#: templates/settings.php:25
|
||||
msgid ""
|
||||
"You can omit the protocol, except you require SSL. Then start with ldaps://"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:22
|
||||
#: templates/settings.php:26
|
||||
msgid "Base DN"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:22
|
||||
#: templates/settings.php:27
|
||||
msgid "One Base DN per line"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:22
|
||||
#: templates/settings.php:28
|
||||
msgid "You can specify Base DN for users and groups in the Advanced tab"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:23
|
||||
#: templates/settings.php:30
|
||||
msgid "User DN"
|
||||
msgstr "DN משתמש"
|
||||
|
||||
#: templates/settings.php:23
|
||||
#: templates/settings.php:32
|
||||
msgid ""
|
||||
"The DN of the client user with which the bind shall be done, e.g. "
|
||||
"uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password "
|
||||
"empty."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:24
|
||||
#: templates/settings.php:33
|
||||
msgid "Password"
|
||||
msgstr "סיסמא"
|
||||
|
||||
#: templates/settings.php:24
|
||||
#: templates/settings.php:36
|
||||
msgid "For anonymous access, leave DN and Password empty."
|
||||
msgstr "לגישה אנונימית, השאר את הDM והסיסמא ריקים."
|
||||
|
||||
#: templates/settings.php:25
|
||||
#: templates/settings.php:37
|
||||
msgid "User Login Filter"
|
||||
msgstr "סנן כניסת משתמש"
|
||||
|
||||
#: templates/settings.php:25
|
||||
#: templates/settings.php:40
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Defines the filter to apply, when login is attempted. %%uid replaces the "
|
||||
"username in the login action."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:25
|
||||
#: templates/settings.php:41
|
||||
#, php-format
|
||||
msgid "use %%uid placeholder, e.g. \"uid=%%uid\""
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:26
|
||||
#: templates/settings.php:42
|
||||
msgid "User List Filter"
|
||||
msgstr "סנן רשימת משתמשים"
|
||||
|
||||
#: templates/settings.php:26
|
||||
#: templates/settings.php:45
|
||||
msgid "Defines the filter to apply, when retrieving users."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:26
|
||||
#: templates/settings.php:46
|
||||
msgid "without any placeholder, e.g. \"objectClass=person\"."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:27
|
||||
#: templates/settings.php:47
|
||||
msgid "Group Filter"
|
||||
msgstr "סנן קבוצה"
|
||||
|
||||
#: templates/settings.php:27
|
||||
#: templates/settings.php:50
|
||||
msgid "Defines the filter to apply, when retrieving groups."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:27
|
||||
#: templates/settings.php:51
|
||||
msgid "without any placeholder, e.g. \"objectClass=posixGroup\"."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:31
|
||||
#: templates/settings.php:55
|
||||
msgid "Connection Settings"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:33
|
||||
#: templates/settings.php:57
|
||||
msgid "Configuration Active"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:33
|
||||
#: templates/settings.php:57
|
||||
msgid "When unchecked, this configuration will be skipped."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:34
|
||||
#: templates/settings.php:58
|
||||
msgid "Port"
|
||||
msgstr ""
|
||||
msgstr "פורט"
|
||||
|
||||
#: templates/settings.php:35
|
||||
#: templates/settings.php:59
|
||||
msgid "Backup (Replica) Host"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:35
|
||||
#: templates/settings.php:59
|
||||
msgid ""
|
||||
"Give an optional backup host. It must be a replica of the main LDAP/AD "
|
||||
"server."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:36
|
||||
#: templates/settings.php:60
|
||||
msgid "Backup (Replica) Port"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:37
|
||||
#: templates/settings.php:61
|
||||
msgid "Disable Main Server"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:37
|
||||
#: templates/settings.php:61
|
||||
msgid "When switched on, ownCloud will only connect to the replica server."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:38
|
||||
#: templates/settings.php:62
|
||||
msgid "Use TLS"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:38
|
||||
#: templates/settings.php:62
|
||||
msgid "Do not use it additionally for LDAPS connections, it will fail."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:39
|
||||
#: templates/settings.php:63
|
||||
msgid "Case insensitve LDAP server (Windows)"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:40
|
||||
#: templates/settings.php:64
|
||||
msgid "Turn off SSL certificate validation."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:40
|
||||
#: templates/settings.php:64
|
||||
msgid ""
|
||||
"If connection only works with this option, import the LDAP server's SSL "
|
||||
"certificate in your ownCloud server."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:40
|
||||
#: templates/settings.php:64
|
||||
msgid "Not recommended, use for testing only."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:41
|
||||
#: templates/settings.php:65
|
||||
msgid "in seconds. A change empties the cache."
|
||||
msgstr "בשניות. שינוי מרוקן את המטמון."
|
||||
|
||||
#: templates/settings.php:43
|
||||
#: templates/settings.php:67
|
||||
msgid "Directory Settings"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:45
|
||||
#: templates/settings.php:69
|
||||
msgid "User Display Name Field"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:45
|
||||
#: templates/settings.php:69
|
||||
msgid "The LDAP attribute to use to generate the user`s ownCloud name."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:46
|
||||
#: templates/settings.php:70
|
||||
msgid "Base User Tree"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:46
|
||||
#: templates/settings.php:70
|
||||
msgid "One User Base DN per line"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:47
|
||||
#: templates/settings.php:71
|
||||
msgid "User Search Attributes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:47 templates/settings.php:50
|
||||
#: templates/settings.php:71 templates/settings.php:74
|
||||
msgid "Optional; one attribute per line"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:48
|
||||
#: templates/settings.php:72
|
||||
msgid "Group Display Name Field"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:48
|
||||
#: templates/settings.php:72
|
||||
msgid "The LDAP attribute to use to generate the groups`s ownCloud name."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:49
|
||||
#: templates/settings.php:73
|
||||
msgid "Base Group Tree"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:49
|
||||
#: templates/settings.php:73
|
||||
msgid "One Group Base DN per line"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:50
|
||||
#: templates/settings.php:74
|
||||
msgid "Group Search Attributes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:51
|
||||
#: templates/settings.php:75
|
||||
msgid "Group-Member association"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:53
|
||||
#: templates/settings.php:77
|
||||
msgid "Special Attributes"
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:56
|
||||
#: templates/settings.php:80
|
||||
msgid "in bytes"
|
||||
msgstr "בבתים"
|
||||
|
||||
#: templates/settings.php:58
|
||||
#: templates/settings.php:82
|
||||
msgid ""
|
||||
"Leave empty for user name (default). Otherwise, specify an LDAP/AD "
|
||||
"attribute."
|
||||
msgstr ""
|
||||
|
||||
#: templates/settings.php:62
|
||||
#: templates/settings.php:86
|
||||
msgid "Help"
|
||||
msgstr "עזרה"
|
||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-22 00:06+0100\n"
|
||||
"PO-Revision-Date: 2013-02-21 11:20+0000\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2013-02-24 11:20+0000\n"
|
||||
"Last-Translator: Pyae Sone <gipsyhnh@gmail.com>\n"
|
||||
"Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -18,24 +18,24 @@ msgstr ""
|
|||
"Language: my_MM\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: ajax/share.php:85
|
||||
#: ajax/share.php:97
|
||||
#, php-format
|
||||
msgid "User %s shared a file with you"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/share.php:87
|
||||
#: ajax/share.php:99
|
||||
#, php-format
|
||||
msgid "User %s shared a folder with you"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/share.php:89
|
||||
#: ajax/share.php:101
|
||||
#, php-format
|
||||
msgid ""
|
||||
"User %s shared the file \"%s\" with you. It is available for download here: "
|
||||
"%s"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/share.php:91
|
||||
#: ajax/share.php:104
|
||||
#, php-format
|
||||
msgid ""
|
||||
"User %s shared the folder \"%s\" with you. It is available for download "
|
||||
|
@ -48,7 +48,7 @@ msgstr ""
|
|||
|
||||
#: ajax/vcategories/add.php:30
|
||||
msgid "No category to add?"
|
||||
msgstr ""
|
||||
msgstr "ထည့်ရန်ခေါင်းစဉ်မရှိဘူးလား"
|
||||
|
||||
#: ajax/vcategories/add.php:37
|
||||
#, php-format
|
||||
|
@ -74,88 +74,88 @@ msgstr ""
|
|||
|
||||
#: ajax/vcategories/delete.php:35 js/oc-vcategories.js:136
|
||||
msgid "No categories selected for deletion."
|
||||
msgstr ""
|
||||
msgstr "ဖျက်ရန်အတွက်ခေါင်းစဉ်မရွေးထားပါ"
|
||||
|
||||
#: ajax/vcategories/removeFromFavorites.php:35
|
||||
#, php-format
|
||||
msgid "Error removing %s from favorites."
|
||||
msgstr ""
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:34
|
||||
msgid "Sunday"
|
||||
msgstr ""
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:35
|
||||
msgid "Monday"
|
||||
msgstr ""
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:36
|
||||
msgid "Tuesday"
|
||||
msgstr ""
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:37
|
||||
msgid "Wednesday"
|
||||
msgstr ""
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:38
|
||||
msgid "Thursday"
|
||||
msgstr ""
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:39
|
||||
msgid "Friday"
|
||||
msgstr ""
|
||||
|
||||
#: js/config.php:32
|
||||
#: js/config.php:40
|
||||
msgid "Saturday"
|
||||
msgstr ""
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:45
|
||||
msgid "January"
|
||||
msgstr ""
|
||||
msgstr "ဇန်နဝါရီ"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:46
|
||||
msgid "February"
|
||||
msgstr ""
|
||||
msgstr "ဖေဖော်ဝါရီ"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:47
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
msgstr "မတ်"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:48
|
||||
msgid "April"
|
||||
msgstr ""
|
||||
msgstr "ဧပြီ"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:49
|
||||
msgid "May"
|
||||
msgstr ""
|
||||
msgstr "မေ"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:50
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
msgstr "ဇွန်"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:51
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
msgstr "ဇူလိုင်"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:52
|
||||
msgid "August"
|
||||
msgstr ""
|
||||
msgstr "ဩဂုတ်"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:53
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
msgstr "စက်တင်ဘာ"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:54
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
msgstr "အောက်တိုဘာ"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:55
|
||||
msgid "November"
|
||||
msgstr ""
|
||||
msgstr "နိုဝင်ဘာ"
|
||||
|
||||
#: js/config.php:33
|
||||
#: js/config.php:56
|
||||
msgid "December"
|
||||
msgstr ""
|
||||
msgstr "ဒီဇင်ဘာ"
|
||||
|
||||
#: js/js.js:286
|
||||
msgid "Settings"
|
||||
|
@ -215,23 +215,23 @@ msgstr "နှစ် အရင်က"
|
|||
|
||||
#: js/oc-dialogs.js:126
|
||||
msgid "Choose"
|
||||
msgstr ""
|
||||
msgstr "ရွေးချယ်"
|
||||
|
||||
#: js/oc-dialogs.js:146 js/oc-dialogs.js:166
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "ပယ်ဖျက်မည်"
|
||||
|
||||
#: js/oc-dialogs.js:162
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
msgstr "မဟုတ်ဘူး"
|
||||
|
||||
#: js/oc-dialogs.js:163
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
msgstr "ဟုတ်"
|
||||
|
||||
#: js/oc-dialogs.js:180
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
msgstr "အိုကေ"
|
||||
|
||||
#: js/oc-vcategories.js:5 js/oc-vcategories.js:85 js/oc-vcategories.js:102
|
||||
#: js/oc-vcategories.js:117 js/oc-vcategories.js:132 js/oc-vcategories.js:162
|
||||
|
@ -292,9 +292,9 @@ msgstr ""
|
|||
msgid "Password protect"
|
||||
msgstr ""
|
||||
|
||||
#: js/share.js:185 templates/installation.php:44 templates/login.php:35
|
||||
#: js/share.js:185 templates/installation.php:46 templates/login.php:35
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "စကားဝှက်"
|
||||
|
||||
#: js/share.js:189
|
||||
msgid "Email link to person"
|
||||
|
@ -306,15 +306,15 @@ msgstr ""
|
|||
|
||||
#: js/share.js:194
|
||||
msgid "Set expiration date"
|
||||
msgstr ""
|
||||
msgstr "သက်တမ်းကုန်ဆုံးမည့်ရက်သတ်မှတ်မည်"
|
||||
|
||||
#: js/share.js:195
|
||||
msgid "Expiration date"
|
||||
msgstr ""
|
||||
msgstr "သက်တမ်းကုန်ဆုံးမည့်ရက်"
|
||||
|
||||
#: js/share.js:227
|
||||
msgid "Share via email:"
|
||||
msgstr ""
|
||||
msgstr "အီးမေးလ်ဖြင့်ဝေမျှမည် -"
|
||||
|
||||
#: js/share.js:229
|
||||
msgid "No people found"
|
||||
|
@ -322,7 +322,7 @@ msgstr ""
|
|||
|
||||
#: js/share.js:256
|
||||
msgid "Resharing is not allowed"
|
||||
msgstr ""
|
||||
msgstr "ပြန်လည်ဝေမျှခြင်းခွင့်မပြုပါ"
|
||||
|
||||
#: js/share.js:292
|
||||
msgid "Shared in {item} with {user}"
|
||||
|
@ -334,7 +334,7 @@ msgstr ""
|
|||
|
||||
#: js/share.js:325
|
||||
msgid "can edit"
|
||||
msgstr ""
|
||||
msgstr "ပြင်ဆင်နိုင်"
|
||||
|
||||
#: js/share.js:327
|
||||
msgid "access control"
|
||||
|
@ -342,7 +342,7 @@ msgstr ""
|
|||
|
||||
#: js/share.js:330
|
||||
msgid "create"
|
||||
msgstr ""
|
||||
msgstr "ဖန်တီးမည်"
|
||||
|
||||
#: js/share.js:333
|
||||
msgid "update"
|
||||
|
@ -350,15 +350,15 @@ msgstr ""
|
|||
|
||||
#: js/share.js:336
|
||||
msgid "delete"
|
||||
msgstr ""
|
||||
msgstr "ဖျက်မည်"
|
||||
|
||||
#: js/share.js:339
|
||||
msgid "share"
|
||||
msgstr ""
|
||||
msgstr "ဝေမျှမည်"
|
||||
|
||||
#: js/share.js:373 js/share.js:569
|
||||
msgid "Password protected"
|
||||
msgstr ""
|
||||
msgstr "စကားဝှက်ဖြင့်ကာကွယ်ထားသည်"
|
||||
|
||||
#: js/share.js:582
|
||||
msgid "Error unsetting expiration date"
|
||||
|
@ -397,7 +397,7 @@ msgstr ""
|
|||
|
||||
#: lostpassword/templates/lostpassword.php:3
|
||||
msgid "You will receive a link to reset your password via Email."
|
||||
msgstr ""
|
||||
msgstr "အီးမေးလ်မှတစ်ဆင့် သင်၏စကားဝှက်ကို ပြန်ဖော်ရန်အတွက် Link တစ်ခုလက်ခံရရှိပါလိမ့်မယ်။"
|
||||
|
||||
#: lostpassword/templates/lostpassword.php:5
|
||||
msgid "Reset email send."
|
||||
|
@ -407,10 +407,10 @@ msgstr ""
|
|||
msgid "Request failed!"
|
||||
msgstr ""
|
||||
|
||||
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:39
|
||||
#: lostpassword/templates/lostpassword.php:11 templates/installation.php:40
|
||||
#: templates/login.php:28
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
msgstr "သုံးစွဲသူအမည်"
|
||||
|
||||
#: lostpassword/templates/lostpassword.php:14
|
||||
msgid "Request reset"
|
||||
|
@ -418,15 +418,15 @@ msgstr ""
|
|||
|
||||
#: lostpassword/templates/resetpassword.php:4
|
||||
msgid "Your password was reset"
|
||||
msgstr ""
|
||||
msgstr "သင်၏စကားဝှက်ကိုပြန်ဖော်ပြီးပါပြီ။"
|
||||
|
||||
#: lostpassword/templates/resetpassword.php:5
|
||||
msgid "To login page"
|
||||
msgstr ""
|
||||
msgstr "ဝင်ရောက်သည့်စာမျက်နှာသို့"
|
||||
|
||||
#: lostpassword/templates/resetpassword.php:8
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
msgstr "စကားဝှက်အသစ်"
|
||||
|
||||
#: lostpassword/templates/resetpassword.php:11
|
||||
msgid "Reset password"
|
||||
|
@ -446,7 +446,7 @@ msgstr "Apps"
|
|||
|
||||
#: strings.php:8
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
msgstr "အက်ဒမင်"
|
||||
|
||||
#: strings.php:9
|
||||
msgid "Help"
|
||||
|
@ -458,7 +458,7 @@ msgstr ""
|
|||
|
||||
#: templates/404.php:12
|
||||
msgid "Cloud not found"
|
||||
msgstr ""
|
||||
msgstr "မတွေ့ရှိမိပါ"
|
||||
|
||||
#: templates/edit_categories_dialog.php:4
|
||||
msgid "Edit categories"
|
||||
|
@ -466,11 +466,11 @@ msgstr ""
|
|||
|
||||
#: templates/edit_categories_dialog.php:16
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "ပေါင်းထည့်"
|
||||
|
||||
#: templates/installation.php:23 templates/installation.php:30
|
||||
msgid "Security Warning"
|
||||
msgstr ""
|
||||
msgstr "လုံခြုံရေးသတိပေးချက်"
|
||||
|
||||
#: templates/installation.php:24
|
||||
msgid ""
|
||||
|
@ -499,54 +499,54 @@ msgstr ""
|
|||
|
||||
#: templates/installation.php:36
|
||||
msgid "Create an <strong>admin account</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: templates/installation.php:52
|
||||
msgid "Advanced"
|
||||
msgstr ""
|
||||
msgstr "<strong>အက်ဒမင်အကောင့်</strong>တစ်ခုဖန်တီးမည်"
|
||||
|
||||
#: templates/installation.php:54
|
||||
msgid "Data folder"
|
||||
msgstr ""
|
||||
msgid "Advanced"
|
||||
msgstr "အဆင့်မြင့်"
|
||||
|
||||
#: templates/installation.php:61
|
||||
#: templates/installation.php:56
|
||||
msgid "Data folder"
|
||||
msgstr "အချက်အလက်ဖိုလ်ဒါလ်"
|
||||
|
||||
#: templates/installation.php:65
|
||||
msgid "Configure the database"
|
||||
msgstr ""
|
||||
|
||||
#: templates/installation.php:66 templates/installation.php:77
|
||||
#: templates/installation.php:87 templates/installation.php:97
|
||||
#: templates/installation.php:70 templates/installation.php:82
|
||||
#: templates/installation.php:93 templates/installation.php:104
|
||||
msgid "will be used"
|
||||
msgstr ""
|
||||
|
||||
#: templates/installation.php:109
|
||||
msgid "Database user"
|
||||
msgstr ""
|
||||
|
||||
#: templates/installation.php:113
|
||||
msgid "Database password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/installation.php:117
|
||||
msgid "Database name"
|
||||
msgstr ""
|
||||
msgid "Database user"
|
||||
msgstr "Database သုံးစွဲသူ"
|
||||
|
||||
#: templates/installation.php:125
|
||||
#: templates/installation.php:122
|
||||
msgid "Database password"
|
||||
msgstr "Database စကားဝှက်"
|
||||
|
||||
#: templates/installation.php:127
|
||||
msgid "Database name"
|
||||
msgstr "Database အမည်"
|
||||
|
||||
#: templates/installation.php:137
|
||||
msgid "Database tablespace"
|
||||
msgstr ""
|
||||
|
||||
#: templates/installation.php:131
|
||||
#: templates/installation.php:144
|
||||
msgid "Database host"
|
||||
msgstr ""
|
||||
|
||||
#: templates/installation.php:136
|
||||
#: templates/installation.php:150
|
||||
msgid "Finish setup"
|
||||
msgstr ""
|
||||
msgstr "တပ်ဆင်ခြင်းပြီးပါပြီ။"
|
||||
|
||||
#: templates/layout.guest.php:33
|
||||
#: templates/layout.guest.php:35
|
||||
msgid "web services under your control"
|
||||
msgstr ""
|
||||
msgstr "သင်၏ထိန်းချုပ်မှု့အောက်တွင်ရှိသော Web services"
|
||||
|
||||
#: templates/layout.user.php:48
|
||||
#: templates/layout.user.php:53
|
||||
msgid "Log out"
|
||||
msgstr ""
|
||||
|
||||
|
@ -566,15 +566,15 @@ msgstr ""
|
|||
|
||||
#: templates/login.php:19
|
||||
msgid "Lost your password?"
|
||||
msgstr ""
|
||||
msgstr "သင်၏စကားဝှက်ပျောက်သွားပြီလား။"
|
||||
|
||||
#: templates/login.php:41
|
||||
msgid "remember"
|
||||
msgstr ""
|
||||
msgstr "မှတ်မိစေသည်"
|
||||
|
||||
#: templates/login.php:43
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
msgstr "ဝင်ရောက်ရန်"
|
||||
|
||||
#: templates/login.php:49
|
||||
msgid "Alternative Logins"
|
||||
|
@ -582,11 +582,11 @@ msgstr ""
|
|||
|
||||
#: templates/part.pagenavi.php:3
|
||||
msgid "prev"
|
||||
msgstr ""
|
||||
msgstr "ယခင်"
|
||||
|
||||
#: templates/part.pagenavi.php:20
|
||||
msgid "next"
|
||||
msgstr ""
|
||||
msgstr "နောက်သို့"
|
||||
|
||||
#: templates/update.php:3
|
||||
#, php-format
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-21 00:14+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2012-08-12 22:35+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n"
|
||||
|
@ -19,30 +19,30 @@ msgstr ""
|
|||
|
||||
#: templates/authenticate.php:4
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "စကားဝှက်"
|
||||
|
||||
#: templates/authenticate.php:6
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/public.php:9
|
||||
#: templates/public.php:10
|
||||
#, php-format
|
||||
msgid "%s shared the folder %s with you"
|
||||
msgstr ""
|
||||
|
||||
#: templates/public.php:11
|
||||
#: templates/public.php:13
|
||||
#, php-format
|
||||
msgid "%s shared the file %s with you"
|
||||
msgstr ""
|
||||
|
||||
#: templates/public.php:14 templates/public.php:30
|
||||
#: templates/public.php:19 templates/public.php:37
|
||||
msgid "Download"
|
||||
msgstr ""
|
||||
|
||||
#: templates/public.php:29
|
||||
#: templates/public.php:34
|
||||
msgid "No preview available for"
|
||||
msgstr ""
|
||||
|
||||
#: templates/public.php:35
|
||||
#: templates/public.php:43
|
||||
msgid "web services under your control"
|
||||
msgstr ""
|
||||
msgstr "သင်၏ထိန်းချုပ်မှု့အောက်တွင်ရှိသော Web services"
|
||||
|
|
|
@ -8,8 +8,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-22 00:06+0100\n"
|
||||
"PO-Revision-Date: 2013-02-21 11:20+0000\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2013-02-24 08:40+0000\n"
|
||||
"Last-Translator: Pyae Sone <gipsyhnh@gmail.com>\n"
|
||||
"Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -40,7 +40,7 @@ msgstr "Apps"
|
|||
|
||||
#: app.php:406
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
msgstr "အက်ဒမင်"
|
||||
|
||||
#: files.php:202
|
||||
msgid "ZIP download is turned off."
|
||||
|
@ -178,7 +178,7 @@ msgid ""
|
|||
"because the WebDAV interface seems to be broken."
|
||||
msgstr ""
|
||||
|
||||
#: setup.php:651
|
||||
#: setup.php:650
|
||||
#, php-format
|
||||
msgid "Please double check the <a href='%s'>installation guides</a>."
|
||||
msgstr ""
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-22 00:06+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2011-07-25 16:05+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n"
|
||||
|
@ -21,8 +21,8 @@ msgstr ""
|
|||
msgid "Unable to load list from App Store"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/changedisplayname.php:23 ajax/removeuser.php:15 ajax/setquota.php:15
|
||||
#: ajax/togglegroups.php:18
|
||||
#: ajax/changedisplayname.php:23 ajax/removeuser.php:15 ajax/setquota.php:17
|
||||
#: ajax/togglegroups.php:20
|
||||
msgid "Authentication error"
|
||||
msgstr "ခွင့်ပြုချက်မအောင်မြင်"
|
||||
|
||||
|
@ -70,12 +70,12 @@ msgstr ""
|
|||
msgid "Admins can't remove themself from the admin group"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/togglegroups.php:28
|
||||
#: ajax/togglegroups.php:30
|
||||
#, php-format
|
||||
msgid "Unable to add user to group %s"
|
||||
msgstr ""
|
||||
|
||||
#: ajax/togglegroups.php:34
|
||||
#: ajax/togglegroups.php:36
|
||||
#, php-format
|
||||
msgid "Unable to remove user from group %s"
|
||||
msgstr ""
|
||||
|
@ -167,7 +167,7 @@ msgstr ""
|
|||
|
||||
#: templates/admin.php:15
|
||||
msgid "Security Warning"
|
||||
msgstr ""
|
||||
msgstr "လုံခြုံရေးသတိပေးချက်"
|
||||
|
||||
#: templates/admin.php:18
|
||||
msgid ""
|
||||
|
@ -316,11 +316,11 @@ msgstr ""
|
|||
msgid "More"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin.php:227 templates/personal.php:98
|
||||
#: templates/admin.php:227 templates/personal.php:102
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
#: templates/admin.php:230 templates/personal.php:100
|
||||
#: templates/admin.php:230 templates/personal.php:105
|
||||
msgid ""
|
||||
"Developed by the <a href=\"http://ownCloud.org/contact\" "
|
||||
"target=\"_blank\">ownCloud community</a>, the <a "
|
||||
|
@ -330,51 +330,51 @@ msgid ""
|
|||
"License\">AGPL</abbr></a>."
|
||||
msgstr ""
|
||||
|
||||
#: templates/apps.php:10
|
||||
#: templates/apps.php:11
|
||||
msgid "Add your App"
|
||||
msgstr ""
|
||||
|
||||
#: templates/apps.php:11
|
||||
#: templates/apps.php:12
|
||||
msgid "More Apps"
|
||||
msgstr ""
|
||||
|
||||
#: templates/apps.php:24
|
||||
#: templates/apps.php:28
|
||||
msgid "Select an App"
|
||||
msgstr ""
|
||||
|
||||
#: templates/apps.php:28
|
||||
#: templates/apps.php:34
|
||||
msgid "See application page at apps.owncloud.com"
|
||||
msgstr ""
|
||||
|
||||
#: templates/apps.php:29
|
||||
#: templates/apps.php:36
|
||||
msgid "<span class=\"licence\"></span>-licensed by <span class=\"author\"></span>"
|
||||
msgstr ""
|
||||
|
||||
#: templates/apps.php:31
|
||||
#: templates/apps.php:38
|
||||
msgid "Update"
|
||||
msgstr ""
|
||||
|
||||
#: templates/help.php:3
|
||||
#: templates/help.php:4
|
||||
msgid "User Documentation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/help.php:4
|
||||
#: templates/help.php:6
|
||||
msgid "Administrator Documentation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/help.php:6
|
||||
#: templates/help.php:9
|
||||
msgid "Online Documentation"
|
||||
msgstr ""
|
||||
|
||||
#: templates/help.php:7
|
||||
#: templates/help.php:11
|
||||
msgid "Forum"
|
||||
msgstr ""
|
||||
|
||||
#: templates/help.php:9
|
||||
#: templates/help.php:14
|
||||
msgid "Bugtracker"
|
||||
msgstr ""
|
||||
|
||||
#: templates/help.php:11
|
||||
#: templates/help.php:17
|
||||
msgid "Commercial Support"
|
||||
msgstr ""
|
||||
|
||||
|
@ -383,79 +383,79 @@ msgstr ""
|
|||
msgid "You have used <strong>%s</strong> of the available <strong>%s</strong>"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:14
|
||||
#: templates/personal.php:15
|
||||
msgid "Get the apps to sync your files"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:25
|
||||
#: templates/personal.php:26
|
||||
msgid "Show First Run Wizard again"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:36 templates/users.php:23 templates/users.php:79
|
||||
#: templates/personal.php:37 templates/users.php:23 templates/users.php:79
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "စကားဝှက်"
|
||||
|
||||
#: templates/personal.php:37
|
||||
#: templates/personal.php:38
|
||||
msgid "Your password was changed"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:38
|
||||
#: templates/personal.php:39
|
||||
msgid "Unable to change your password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:39
|
||||
#: templates/personal.php:40
|
||||
msgid "Current password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:40
|
||||
msgid "New password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:42
|
||||
msgid "New password"
|
||||
msgstr "စကားဝှက်အသစ်"
|
||||
|
||||
#: templates/personal.php:44
|
||||
msgid "Change password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:54 templates/users.php:78
|
||||
#: templates/personal.php:56 templates/users.php:78
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:55
|
||||
#: templates/personal.php:57
|
||||
msgid "Your display name was changed"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:56
|
||||
#: templates/personal.php:58
|
||||
msgid "Unable to change your display name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:59
|
||||
#: templates/personal.php:61
|
||||
msgid "Change display name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:68
|
||||
#: templates/personal.php:70
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:69
|
||||
#: templates/personal.php:72
|
||||
msgid "Your email address"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:70
|
||||
#: templates/personal.php:73
|
||||
msgid "Fill in an email address to enable password recovery"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:76 templates/personal.php:77
|
||||
#: templates/personal.php:79 templates/personal.php:80
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:82
|
||||
#: templates/personal.php:86
|
||||
msgid "Help translate"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:87
|
||||
#: templates/personal.php:91
|
||||
msgid "WebDAV"
|
||||
msgstr ""
|
||||
|
||||
#: templates/personal.php:89
|
||||
#: templates/personal.php:93
|
||||
msgid "Use this address to connect to your ownCloud in your file manager"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud\n"
|
||||
"Report-Msgid-Bugs-To: http://bugs.owncloud.org/\n"
|
||||
"POT-Creation-Date: 2013-02-22 00:06+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: 2012-08-12 22:45+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Burmese (Myanmar) (http://www.transifex.com/projects/p/owncloud/language/my_MM/)\n"
|
||||
|
@ -124,7 +124,7 @@ msgstr ""
|
|||
|
||||
#: templates/settings.php:33
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
msgstr "စကားဝှက်"
|
||||
|
||||
#: templates/settings.php:36
|
||||
msgid "For anonymous access, leave DN and Password empty."
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:06+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:05+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:05+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:05+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:05+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:05+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:05+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:06+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:06+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:05+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2013-02-24 00:05+0100\n"
|
||||
"POT-Creation-Date: 2013-02-25 00:05+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
34
lib/app.php
34
lib/app.php
|
@ -223,7 +223,7 @@ class OC_App{
|
|||
// check if the app is compatible with this version of ownCloud
|
||||
$info=OC_App::getAppInfo($app);
|
||||
$version=OC_Util::getVersion();
|
||||
if(!isset($info['require']) or ($version[0]>$info['require'])) {
|
||||
if(!isset($info['require']) or !self::isAppVersionCompatible($version, $info['require'])) {
|
||||
OC_Log::write('core',
|
||||
'App "'.$info['name'].'" can\'t be installed because it is'
|
||||
.' not compatible with this version of ownCloud',
|
||||
|
@ -851,7 +851,7 @@ class OC_App{
|
|||
foreach($apps as $app) {
|
||||
// check if the app is compatible with this version of ownCloud
|
||||
$info = OC_App::getAppInfo($app);
|
||||
if(!isset($info['require']) or (($version[0].'.'.$version[1])>$info['require'])) {
|
||||
if(!isset($info['require']) or !self::isAppVersionCompatible($version, $info['require'])) {
|
||||
OC_Log::write('core',
|
||||
'App "'.$info['name'].'" ('.$app.') can\'t be used because it is'
|
||||
.' not compatible with this version of ownCloud',
|
||||
|
@ -862,6 +862,36 @@ class OC_App{
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compares the app version with the owncloud version to see if the app
|
||||
* requires a newer version than the currently active one
|
||||
* @param array $owncloudVersions array with 3 entries: major minor bugfix
|
||||
* @param string $appRequired the required version from the xml
|
||||
* major.minor.bugfix
|
||||
* @return boolean true if compatible, otherwise false
|
||||
*/
|
||||
public static function isAppVersionCompatible($owncloudVersions, $appRequired){
|
||||
$appVersions = explode('.', $appRequired);
|
||||
|
||||
for($i=0; $i<count($appVersions); $i++){
|
||||
$appVersion = (int) $appVersions[$i];
|
||||
|
||||
if(isset($owncloudVersions[$i])){
|
||||
$owncloudVersion = $owncloudVersions[$i];
|
||||
} else {
|
||||
$owncloudVersion = 0;
|
||||
}
|
||||
|
||||
if($owncloudVersion < $appVersion){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get the installed version of all apps
|
||||
*/
|
||||
|
|
17
lib/base.php
17
lib/base.php
|
@ -320,8 +320,21 @@ class OC {
|
|||
// set the session name to the instance id - which is unique
|
||||
session_name(OC_Util::getInstanceId());
|
||||
|
||||
// (re)-initialize session
|
||||
session_start();
|
||||
// if session cant be started break with http 500 error
|
||||
if (session_start() === false){
|
||||
OC_Log::write('core', 'Session could not be initialized',
|
||||
OC_Log::ERROR);
|
||||
|
||||
header('HTTP/1.1 500 Internal Server Error');
|
||||
$error = 'Session could not be initialized. Please contact your ';
|
||||
$error .= 'system administrator';
|
||||
|
||||
$tmpl = new OC_Template('', 'error', 'guest');
|
||||
$tmpl->assign('errors', array(1 => array('error' => $error)));
|
||||
$tmpl->printPage();
|
||||
|
||||
exit();
|
||||
}
|
||||
|
||||
// regenerate session id periodically to avoid session fixation
|
||||
if (!isset($_SESSION['SID_CREATED'])) {
|
||||
|
|
199
lib/db.php
199
lib/db.php
|
@ -178,6 +178,13 @@ class OC_DB {
|
|||
$dsn = 'oci:dbname=//' . $host . '/' . $name;
|
||||
}
|
||||
break;
|
||||
case 'mssql':
|
||||
if ($port) {
|
||||
$dsn='sqlsrv:Server='.$host.','.$port.';Database='.$name;
|
||||
} else {
|
||||
$dsn='sqlsrv:Server='.$host.';Database='.$name;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -278,6 +285,15 @@ class OC_DB {
|
|||
$dsn['database'] = $user;
|
||||
}
|
||||
break;
|
||||
case 'mssql':
|
||||
$dsn = array(
|
||||
'phptype' => 'sqlsrv',
|
||||
'username' => $user,
|
||||
'password' => $pass,
|
||||
'hostspec' => $host,
|
||||
'database' => $name
|
||||
);
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -389,6 +405,13 @@ class OC_DB {
|
|||
$query = self::prepare('SELECT lastval() AS id');
|
||||
$row = $query->execute()->fetchRow();
|
||||
return $row['id'];
|
||||
}
|
||||
if( $type == 'mssql' ) {
|
||||
if($table !== null) {
|
||||
$prefix = OC_Config::getValue( "dbtableprefix", "oc_" );
|
||||
$table = str_replace( '*PREFIX*', $prefix, $table );
|
||||
}
|
||||
return self::$connection->lastInsertId($table);
|
||||
}else{
|
||||
if($table !== null) {
|
||||
$prefix = OC_Config::getValue( "dbtableprefix", "oc_" );
|
||||
|
@ -631,7 +654,7 @@ class OC_DB {
|
|||
} else {
|
||||
return true;
|
||||
}
|
||||
} elseif( $type == 'pgsql' || $type == 'oci' || $type == 'mysql') {
|
||||
} elseif( $type == 'pgsql' || $type == 'oci' || $type == 'mysql' || $type == 'mssql') {
|
||||
$query = 'INSERT INTO `' .$table . '` ('
|
||||
. implode(',', array_keys($input)) . ') SELECT \''
|
||||
. implode('\',\'', array_values($input)) . '\' FROM ' . $table . ' WHERE ';
|
||||
|
@ -691,7 +714,15 @@ class OC_DB {
|
|||
}elseif( $type == 'oci' ) {
|
||||
$query = str_replace( '`', '"', $query );
|
||||
$query = str_ireplace( 'NOW()', 'CURRENT_TIMESTAMP', $query );
|
||||
}
|
||||
}elseif( $type == 'mssql' ) {
|
||||
$query = preg_replace( "/\`(.*?)`/", "[$1]", $query );
|
||||
$query = str_replace( 'NOW()', 'CURRENT_TIMESTAMP', $query );
|
||||
$query = str_replace( 'now()', 'CURRENT_TIMESTAMP', $query );
|
||||
$query = str_replace( 'LENGTH(', 'LEN(', $query );
|
||||
$query = str_replace( 'SUBSTR(', 'SUBSTRING(', $query );
|
||||
|
||||
$query = self::fixLimitClauseForMSSQL($query);
|
||||
}
|
||||
|
||||
// replace table name prefix
|
||||
$query = str_replace( '*PREFIX*', $prefix, $query );
|
||||
|
@ -699,6 +730,60 @@ class OC_DB {
|
|||
return $query;
|
||||
}
|
||||
|
||||
private static function fixLimitClauseForMSSQL($query) {
|
||||
$limitLocation = stripos ($query, "LIMIT");
|
||||
|
||||
if ( $limitLocation === false ) {
|
||||
return $query;
|
||||
}
|
||||
|
||||
// total == 0 means all results - not zero results
|
||||
//
|
||||
// First number is either total or offset, locate it by first space
|
||||
//
|
||||
$offset = substr ($query, $limitLocation + 5);
|
||||
$offset = substr ($offset, 0, stripos ($offset, ' '));
|
||||
$offset = trim ($offset);
|
||||
|
||||
// check for another parameter
|
||||
if (stripos ($offset, ',') === false) {
|
||||
// no more parameters
|
||||
$offset = 0;
|
||||
$total = intval ($offset);
|
||||
} else {
|
||||
// found another parameter
|
||||
$offset = intval ($offset);
|
||||
|
||||
$total = substr ($query, $limitLocation + 5);
|
||||
$total = substr ($total, stripos ($total, ','));
|
||||
|
||||
$total = substr ($total, 0, stripos ($total, ' '));
|
||||
$total = intval ($total);
|
||||
}
|
||||
|
||||
$query = trim (substr ($query, 0, $limitLocation));
|
||||
|
||||
if ($offset == 0 && $total !== 0) {
|
||||
if (strpos($query, "SELECT") === false) {
|
||||
$query = "TOP {$total} " . $query;
|
||||
} else {
|
||||
$query = preg_replace('/SELECT(\s*DISTINCT)?/Dsi', 'SELECT$1 TOP '.$total, $query);
|
||||
}
|
||||
} else if ($offset > 0) {
|
||||
$query = preg_replace('/SELECT(\s*DISTINCT)?/Dsi', 'SELECT$1 TOP(10000000) ', $query);
|
||||
$query = 'SELECT *
|
||||
FROM (SELECT sub2.*, ROW_NUMBER() OVER(ORDER BY sub2.line2) AS line3
|
||||
FROM (SELECT 1 AS line2, sub1.* FROM (' . $query . ') AS sub1) as sub2) AS sub3';
|
||||
|
||||
if ($total > 0) {
|
||||
$query .= ' WHERE line3 BETWEEN ' . ($offset + 1) . ' AND ' . ($offset + $total);
|
||||
} else {
|
||||
$query .= ' WHERE line3 > ' . $offset;
|
||||
}
|
||||
}
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief drop a table
|
||||
* @param string $tableName the table to drop
|
||||
|
@ -850,19 +935,119 @@ class PDOStatementWrapper{
|
|||
* make execute return the result instead of a bool
|
||||
*/
|
||||
public function execute($input=array()) {
|
||||
$this->lastArguments=$input;
|
||||
if(count($input)>0) {
|
||||
$this->lastArguments = $input;
|
||||
if (count($input) > 0) {
|
||||
|
||||
if (!isset($type)) {
|
||||
$type = OC_Config::getValue( "dbtype", "sqlite" );
|
||||
}
|
||||
|
||||
if ($type == 'mssql') {
|
||||
$input = $this->tryFixSubstringLastArgumentDataForMSSQL($input);
|
||||
}
|
||||
|
||||
$result=$this->statement->execute($input);
|
||||
}else{
|
||||
} else {
|
||||
$result=$this->statement->execute();
|
||||
}
|
||||
if($result) {
|
||||
|
||||
if ($result) {
|
||||
return $this;
|
||||
}else{
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private function tryFixSubstringLastArgumentDataForMSSQL($input) {
|
||||
$query = $this->statement->queryString;
|
||||
$pos = stripos ($query, 'SUBSTRING');
|
||||
|
||||
if ( $pos === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
$newQuery = '';
|
||||
|
||||
$cArg = 0;
|
||||
|
||||
$inSubstring = false;
|
||||
|
||||
// Create new query
|
||||
for ($i = 0; $i < strlen ($query); $i++) {
|
||||
if ($inSubstring == false) {
|
||||
// Defines when we should start inserting values
|
||||
if (substr ($query, $i, 9) == 'SUBSTRING') {
|
||||
$inSubstring = true;
|
||||
}
|
||||
} else {
|
||||
// Defines when we should stop inserting values
|
||||
if (substr ($query, $i, 1) == ')') {
|
||||
$inSubstring = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (substr ($query, $i, 1) == '?') {
|
||||
// We found a question mark
|
||||
if ($inSubstring) {
|
||||
$newQuery .= $input[$cArg];
|
||||
|
||||
//
|
||||
// Remove from input array
|
||||
//
|
||||
array_splice ($input, $cArg, 1);
|
||||
} else {
|
||||
$newQuery .= substr ($query, $i, 1);
|
||||
$cArg++;
|
||||
}
|
||||
} else {
|
||||
$newQuery .= substr ($query, $i, 1);
|
||||
}
|
||||
}
|
||||
|
||||
// The global data we need
|
||||
$name = OC_Config::getValue( "dbname", "owncloud" );
|
||||
$host = OC_Config::getValue( "dbhost", "" );
|
||||
$user = OC_Config::getValue( "dbuser", "" );
|
||||
$pass = OC_Config::getValue( "dbpassword", "" );
|
||||
if (strpos($host,':')) {
|
||||
list($host, $port) = explode(':', $host, 2);
|
||||
} else {
|
||||
$port = false;
|
||||
}
|
||||
$opts = array();
|
||||
|
||||
if ($port) {
|
||||
$dsn = 'sqlsrv:Server='.$host.','.$port.';Database='.$name;
|
||||
} else {
|
||||
$dsn = 'sqlsrv:Server='.$host.';Database='.$name;
|
||||
}
|
||||
|
||||
$PDO = new PDO($dsn, $user, $pass, $opts);
|
||||
$PDO->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
||||
$PDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
$this->statement = $PDO->prepare($newQuery);
|
||||
|
||||
$this->lastArguments = $input;
|
||||
|
||||
return $input;
|
||||
} catch (PDOException $e){
|
||||
$entry = 'PDO DB Error: "'.$e->getMessage().'"<br />';
|
||||
$entry .= 'Offending command was: '.$this->statement->queryString .'<br />';
|
||||
$entry .= 'Input parameters: ' .print_r($input, true).'<br />';
|
||||
$entry .= 'Stack trace: ' .$e->getTraceAsString().'<br />';
|
||||
OC_Log::write('core', $entry, OC_Log::FATAL);
|
||||
OC_User::setUserId(null);
|
||||
|
||||
// send http status 503
|
||||
header('HTTP/1.1 503 Service Temporarily Unavailable');
|
||||
header('Status: 503 Service Temporarily Unavailable');
|
||||
OC_Template::printErrorPage('Failed to connect to database');
|
||||
die ($entry);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* provide numRows
|
||||
*/
|
||||
|
|
|
@ -500,8 +500,8 @@ class Cache {
|
|||
public function getIncomplete() {
|
||||
$query = \OC_DB::prepare('SELECT `path` FROM `*PREFIX*filecache`'
|
||||
. ' WHERE `storage` = ? AND `size` = -1 ORDER BY `fileid` DESC LIMIT 1');
|
||||
$query->execute(array($this->numericId));
|
||||
if ($row = $query->fetchRow()) {
|
||||
$result = $query->execute(array($this->numericId));
|
||||
if ($row = $result->fetchRow()) {
|
||||
return $row['path'];
|
||||
} else {
|
||||
return false;
|
||||
|
|
|
@ -97,8 +97,8 @@ abstract class Common implements \OC\Files\Storage\Storage {
|
|||
public function copy($path1, $path2) {
|
||||
$source=$this->fopen($path1, 'r');
|
||||
$target=$this->fopen($path2, 'w');
|
||||
$count=\OC_Helper::streamCopy($source, $target);
|
||||
return $count>0;
|
||||
list($count, $result) = \OC_Helper::streamCopy($source, $target);
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -285,7 +285,7 @@ class View {
|
|||
}
|
||||
$target = $this->fopen($path, 'w');
|
||||
if ($target) {
|
||||
$count = \OC_Helper::streamCopy($data, $target);
|
||||
list ($count, $result) = \OC_Helper::streamCopy($data, $target);
|
||||
fclose($target);
|
||||
fclose($data);
|
||||
if ($this->fakeRoot == Filesystem::getRoot()) {
|
||||
|
@ -303,7 +303,7 @@ class View {
|
|||
);
|
||||
}
|
||||
\OC_FileProxy::runPostProxies('file_put_contents', $absolutePath, $count);
|
||||
return $count > 0;
|
||||
return $result;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
@ -361,10 +361,9 @@ class View {
|
|||
} else {
|
||||
$source = $this->fopen($path1 . $postFix1, 'r');
|
||||
$target = $this->fopen($path2 . $postFix2, 'w');
|
||||
$count = \OC_Helper::streamCopy($source, $target);
|
||||
list($count, $result) = \OC_Helper::streamCopy($source, $target);
|
||||
list($storage1, $internalPath1) = Filesystem::resolvePath($absolutePath1 . $postFix1);
|
||||
$storage1->unlink($internalPath1);
|
||||
$result = $count > 0;
|
||||
}
|
||||
if ($this->fakeRoot == Filesystem::getRoot()) {
|
||||
\OC_Hook::emit(
|
||||
|
@ -444,7 +443,7 @@ class View {
|
|||
} else {
|
||||
$source = $this->fopen($path1 . $postFix1, 'r');
|
||||
$target = $this->fopen($path2 . $postFix2, 'w');
|
||||
$result = \OC_Helper::streamCopy($source, $target);
|
||||
list($count, $result) = \OC_Helper::streamCopy($source, $target);
|
||||
}
|
||||
if ($this->fakeRoot == Filesystem::getRoot()) {
|
||||
\OC_Hook::emit(
|
||||
|
|
|
@ -513,11 +513,16 @@ class OC_Helper {
|
|||
if(!$source or !$target) {
|
||||
return false;
|
||||
}
|
||||
$count=0;
|
||||
$result = true;
|
||||
$count = 0;
|
||||
while(!feof($source)) {
|
||||
$count+=fwrite($target, fread($source, 8192));
|
||||
if ( ( $c = fwrite($target, fread($source, 8192)) ) === false) {
|
||||
$result = false;
|
||||
} else {
|
||||
$count += $c;
|
||||
}
|
||||
}
|
||||
return $count;
|
||||
return array($count, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
"Help" => "အကူအညီ",
|
||||
"Users" => "သုံးစွဲသူ",
|
||||
"Apps" => "Apps",
|
||||
"Admin" => "အက်ဒမင်",
|
||||
"ZIP download is turned off." => "ZIP ဒေါင်းလုတ်ကိုပိတ်ထားသည်",
|
||||
"Files need to be downloaded one by one." => "ဖိုင်များသည် တစ်ခုပြီး တစ်ခုဒေါင်းလုတ်ချရန်လိုအပ်သည်",
|
||||
"Back to Files" => "ဖိုင်သို့ပြန်သွားမည်",
|
||||
|
|
|
@ -62,7 +62,8 @@ class Files {
|
|||
* @return int the number of bytes copied
|
||||
*/
|
||||
public static function streamCopy( $source, $target ) {
|
||||
return(\OC_Helper::streamCopy( $source, $target ));
|
||||
list($count, $result) = \OC_Helper::streamCopy( $source, $target );
|
||||
return $count;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
248
lib/setup.php
248
lib/setup.php
|
@ -40,11 +40,13 @@ class OC_Setup {
|
|||
$error[] = $l->t('Specify a data folder.');
|
||||
}
|
||||
|
||||
if($dbtype=='mysql' or $dbtype == 'pgsql' or $dbtype == 'oci') { //mysql and postgresql needs more config options
|
||||
if($dbtype=='mysql')
|
||||
if($dbtype == 'mysql' or $dbtype == 'pgsql' or $dbtype == 'oci' or $dbtype == 'mssql') { //mysql and postgresql needs more config options
|
||||
if($dbtype == 'mysql')
|
||||
$dbprettyname = 'MySQL';
|
||||
else if($dbtype=='pgsql')
|
||||
else if($dbtype == 'pgsql')
|
||||
$dbprettyname = 'PostgreSQL';
|
||||
else if ($dbtype == 'mssql')
|
||||
$dbprettyname = 'MS SQL Server';
|
||||
else
|
||||
$dbprettyname = 'Oracle';
|
||||
|
||||
|
@ -152,6 +154,29 @@ class OC_Setup {
|
|||
return $error;
|
||||
}
|
||||
}
|
||||
elseif ($dbtype == 'mssql') {
|
||||
$dbuser = $options['dbuser'];
|
||||
$dbpass = $options['dbpass'];
|
||||
$dbname = $options['dbname'];
|
||||
$dbhost = $options['dbhost'];
|
||||
$dbtableprefix = isset($options['dbtableprefix']) ? $options['dbtableprefix'] : 'oc_';
|
||||
|
||||
OC_Config::setValue('dbname', $dbname);
|
||||
OC_Config::setValue('dbhost', $dbhost);
|
||||
OC_Config::setValue('dbuser', $dbuser);
|
||||
OC_Config::setValue('dbpassword', $dbpass);
|
||||
OC_Config::setValue('dbtableprefix', $dbtableprefix);
|
||||
|
||||
try {
|
||||
self::setupMSSQLDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix);
|
||||
} catch (Exception $e) {
|
||||
$error[] = array(
|
||||
'error' => 'MS SQL username and/or password not valid',
|
||||
'hint' => 'You need to enter either an existing account or the administrator.'
|
||||
);
|
||||
return $error;
|
||||
}
|
||||
}
|
||||
else {
|
||||
//delete the old sqlite database first, might cause infinte loops otherwise
|
||||
if(file_exists("$datadir/owncloud.db")) {
|
||||
|
@ -256,11 +281,12 @@ class OC_Setup {
|
|||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(mysql_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
}
|
||||
$query="GRANT ALL PRIVILEGES ON `$name` . * TO '$user'";
|
||||
//this query will fail if there aren't the right permissons, ignore the error
|
||||
$result = mysql_query($query, $connection);
|
||||
|
||||
//this query will fail if there aren't the right permissions, ignore the error
|
||||
mysql_query($query, $connection);
|
||||
}
|
||||
|
||||
private static function createDBUser($name, $password, $connection) {
|
||||
|
@ -359,7 +385,7 @@ class OC_Setup {
|
|||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(pg_last_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.pg', $entry, \OC_Log::WARN);
|
||||
}
|
||||
if(! pg_fetch_row($result)) {
|
||||
//The database does not exists... let's create it
|
||||
|
@ -368,11 +394,11 @@ class OC_Setup {
|
|||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(pg_last_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.pg', $entry, \OC_Log::WARN);
|
||||
}
|
||||
else {
|
||||
$query = "REVOKE ALL PRIVILEGES ON DATABASE \"$e_name\" FROM PUBLIC";
|
||||
$result = pg_query($connection, $query);
|
||||
pg_query($connection, $query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -386,7 +412,7 @@ class OC_Setup {
|
|||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(pg_last_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.pg', $entry, \OC_Log::WARN);
|
||||
}
|
||||
|
||||
if(! pg_fetch_row($result)) {
|
||||
|
@ -396,7 +422,7 @@ class OC_Setup {
|
|||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(pg_last_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.pg', $entry, \OC_Log::WARN);
|
||||
}
|
||||
}
|
||||
else { // change password of the existing role
|
||||
|
@ -405,7 +431,7 @@ class OC_Setup {
|
|||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(pg_last_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.pg', $entry, \OC_Log::WARN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -434,7 +460,7 @@ class OC_Setup {
|
|||
if (!$stmt) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_last_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
$result = oci_execute($stmt);
|
||||
if($result) {
|
||||
|
@ -498,9 +524,9 @@ class OC_Setup {
|
|||
$un = $dbtableprefix.'users';
|
||||
oci_bind_by_name($stmt, ':un', $un);
|
||||
if (!$stmt) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_last_error($connection))) . '<br />';
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
$result = oci_execute($stmt);
|
||||
|
||||
|
@ -526,14 +552,14 @@ class OC_Setup {
|
|||
if (!$stmt) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
oci_bind_by_name($stmt, ':un', $name);
|
||||
$result = oci_execute($stmt);
|
||||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
|
||||
if(! oci_fetch_row($stmt)) {
|
||||
|
@ -544,7 +570,7 @@ class OC_Setup {
|
|||
if (!$stmt) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
//oci_bind_by_name($stmt, ':un', $name);
|
||||
$result = oci_execute($stmt);
|
||||
|
@ -552,7 +578,7 @@ class OC_Setup {
|
|||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s", name: %s, password: %s',
|
||||
array($query, $name, $password)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
} else { // change password of the existing role
|
||||
$query = "ALTER USER :un IDENTIFIED BY :pw";
|
||||
|
@ -560,7 +586,7 @@ class OC_Setup {
|
|||
if (!$stmt) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
oci_bind_by_name($stmt, ':un', $name);
|
||||
oci_bind_by_name($stmt, ':pw', $password);
|
||||
|
@ -568,26 +594,200 @@ class OC_Setup {
|
|||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
}
|
||||
// grant neccessary roles
|
||||
// grant necessary roles
|
||||
$query = 'GRANT CREATE SESSION, CREATE TABLE, CREATE SEQUENCE, CREATE TRIGGER, UNLIMITED TABLESPACE TO '.$name;
|
||||
$stmt = oci_parse($connection, $query);
|
||||
if (!$stmt) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s"', array($query)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
$result = oci_execute($stmt);
|
||||
if(!$result) {
|
||||
$entry = $l->t('DB Error: "%s"', array(oci_error($connection))) . '<br />';
|
||||
$entry .= $l->t('Offending command was: "%s", name: %s, password: %s',
|
||||
array($query, $name, $password)) . '<br />';
|
||||
echo($entry);
|
||||
\OC_Log::write('setup.oci', $entry, \OC_Log::WARN);
|
||||
}
|
||||
}
|
||||
|
||||
private static function setupMSSQLDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix) {
|
||||
$l = self::getTrans();
|
||||
|
||||
//check if the database user has admin right
|
||||
$masterConnectionInfo = array( "Database" => "master", "UID" => $dbuser, "PWD" => $dbpass);
|
||||
|
||||
$masterConnection = @sqlsrv_connect($dbhost, $masterConnectionInfo);
|
||||
if(!$masterConnection) {
|
||||
$entry = null;
|
||||
if( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
throw new Exception($l->t('MS SQL username and/or password not valid: $s', array($entry)));
|
||||
}
|
||||
|
||||
OC_Config::setValue('dbuser', $dbuser);
|
||||
OC_Config::setValue('dbpassword', $dbpass);
|
||||
|
||||
self::mssql_createDBLogin($dbuser, $dbpass, $masterConnection);
|
||||
|
||||
self::mssql_createDatabase($dbname, $masterConnection);
|
||||
|
||||
self::mssql_createDBUser($dbuser, $dbname, $masterConnection);
|
||||
|
||||
sqlsrv_close($masterConnection);
|
||||
|
||||
self::mssql_createDatabaseStructure($dbhost, $dbname, $dbuser, $dbpass, $dbtableprefix);
|
||||
}
|
||||
|
||||
private static function mssql_createDBLogin($name, $password, $connection) {
|
||||
$query = "SELECT * FROM master.sys.server_principals WHERE name = '".$name."';";
|
||||
$result = sqlsrv_query($connection, $query);
|
||||
if ($result === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
} else {
|
||||
$row = sqlsrv_fetch_array($result);
|
||||
|
||||
if ($row === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
} else {
|
||||
if ($row == null) {
|
||||
$query = "CREATE LOGIN [".$name."] WITH PASSWORD = '".$password."';";
|
||||
$result = sqlsrv_query($connection, $query);
|
||||
if (!$result or $result === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static function mssql_createDBUser($name, $dbname, $connection) {
|
||||
$query = "SELECT * FROM [".$dbname."].sys.database_principals WHERE name = '".$name."';";
|
||||
$result = sqlsrv_query($connection, $query);
|
||||
if ($result === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
} else {
|
||||
$row = sqlsrv_fetch_array($result);
|
||||
|
||||
if ($row === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
} else {
|
||||
if ($row == null) {
|
||||
$query = "USE [".$dbname."]; CREATE USER [".$name."] FOR LOGIN [".$name."];";
|
||||
$result = sqlsrv_query($connection, $query);
|
||||
if (!$result || $result === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry = 'DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
}
|
||||
}
|
||||
|
||||
$query = "USE [".$dbname."]; EXEC sp_addrolemember 'db_owner', '".$name."';";
|
||||
$result = sqlsrv_query($connection, $query);
|
||||
if (!$result || $result === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static function mssql_createDatabase($dbname, $connection) {
|
||||
$query = "CREATE DATABASE [".$dbname."];";
|
||||
$result = sqlsrv_query($connection, $query);
|
||||
if (!$result || $result === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
}
|
||||
}
|
||||
|
||||
private static function mssql_createDatabaseStructure($dbhost, $dbname, $dbuser, $dbpass, $dbtableprefix) {
|
||||
$connectionInfo = array( "Database" => $dbname, "UID" => $dbuser, "PWD" => $dbpass);
|
||||
|
||||
$connection = @sqlsrv_connect($dbhost, $connectionInfo);
|
||||
|
||||
//fill the database if needed
|
||||
$query = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '{$dbname}' AND TABLE_NAME = '{$dbtableprefix}users'";
|
||||
$result = sqlsrv_query($connection, $query);
|
||||
if ($result === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
} else {
|
||||
$row = sqlsrv_fetch_array($result);
|
||||
|
||||
if ($row === false) {
|
||||
if ( ($errors = sqlsrv_errors() ) != null) {
|
||||
$entry='DB Error: "'.print_r(sqlsrv_errors()).'"<br />';
|
||||
} else {
|
||||
$entry = '';
|
||||
}
|
||||
$entry.='Offending command was: '.$query.'<br />';
|
||||
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
|
||||
} else {
|
||||
if ($row == null) {
|
||||
OC_DB::createDbFromStructure('db_structure.xml');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sqlsrv_close($connection);
|
||||
}
|
||||
|
||||
/**
|
||||
* create .htaccess files for apache hosts
|
||||
*/
|
||||
|
|
|
@ -413,11 +413,6 @@ class OC_Template{
|
|||
|
||||
if( $this->renderas ) {
|
||||
$page = new OC_TemplateLayout($this->renderas);
|
||||
if($this->renderas == 'user') {
|
||||
$page->assign('requesttoken', $this->vars['requesttoken']);
|
||||
$user = OC_User::getUser();
|
||||
$page->assign('displayname', OCP\User::getDisplayName($user));
|
||||
}
|
||||
|
||||
// Add custom headers
|
||||
$page->assign('headers', $this->headers, false);
|
||||
|
@ -530,8 +525,10 @@ class OC_Template{
|
|||
* @param string $hint An option hint message
|
||||
*/
|
||||
public static function printErrorPage( $error_msg, $hint = '' ) {
|
||||
$content = new OC_Template( '', 'error', 'error' );
|
||||
$errors = array(array('error' => $error_msg, 'hint' => $hint));
|
||||
OC_Template::printGuestPage("", "error", array("errors" => $errors));
|
||||
$content->assign( 'errors', $errors, false );
|
||||
$content->printPage();
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ class OC_TemplateLayout extends OC_Template {
|
|||
}
|
||||
$user_displayname = OC_User::getDisplayName();
|
||||
$this->assign( 'user_displayname', $user_displayname );
|
||||
} else if ($renderas == 'guest') {
|
||||
} else if ($renderas == 'guest' || $renderas == 'error') {
|
||||
parent::__construct('core', 'layout.guest');
|
||||
} else {
|
||||
parent::__construct('core', 'layout.base');
|
||||
|
@ -39,7 +39,7 @@ class OC_TemplateLayout extends OC_Template {
|
|||
// Add the js files
|
||||
$jsfiles = self::findJavascriptFiles(OC_Util::$scripts);
|
||||
$this->assign('jsfiles', array(), false);
|
||||
if (OC_Config::getValue('installed', false)) {
|
||||
if (OC_Config::getValue('installed', false) && $renderas!='error') {
|
||||
$this->append( 'jsfiles', OC_Helper::linkToRoute('js_config'));
|
||||
}
|
||||
if (!empty(OC_Util::$core_scripts)) {
|
||||
|
|
31
lib/util.php
31
lib/util.php
|
@ -75,7 +75,7 @@ class OC_Util {
|
|||
public static function getVersion() {
|
||||
// hint: We only can count up. Reset minor/patchlevel when
|
||||
// updating major/minor version number.
|
||||
return array(4, 93, 10);
|
||||
return array(4, 94, 10);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -83,7 +83,7 @@ class OC_Util {
|
|||
* @return string
|
||||
*/
|
||||
public static function getVersionString() {
|
||||
return '5.0 beta 1';
|
||||
return '5.0 beta 2';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -275,19 +275,6 @@ class OC_Util {
|
|||
$web_server_restart= false;
|
||||
}
|
||||
|
||||
$handler = ini_get("session.save_handler");
|
||||
if($handler == "files") {
|
||||
$tmpDir = session_save_path();
|
||||
if($tmpDir != "") {
|
||||
if(!@is_writable($tmpDir)) {
|
||||
$errors[]=array('error' => 'The temporary folder used by PHP to save the session data'
|
||||
.' is either incorrect or not writable! Please check : '.session_save_path().'<br/>',
|
||||
'hint'=>'Please ask your server administrator to grant write access'
|
||||
.' or define another temporary folder.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($web_server_restart) {
|
||||
$errors[]=array('error'=>'PHP modules have been installed, but they are still listed as missing?<br/>',
|
||||
'hint'=>'Please ask your server administrator to restart the web server.');
|
||||
|
@ -509,10 +496,10 @@ class OC_Util {
|
|||
* @return array with sanitized strings or a single sanitized string, depends on the input parameter.
|
||||
*/
|
||||
public static function sanitizeHTML( &$value ) {
|
||||
if (is_array($value) || is_object($value)) {
|
||||
if (is_array($value)) {
|
||||
array_walk_recursive($value, 'OC_Util::sanitizeHTML');
|
||||
} else {
|
||||
$value = htmlentities($value, ENT_QUOTES, 'UTF-8'); //Specify encoding for PHP<5.4
|
||||
$value = htmlentities((string)$value, ENT_QUOTES, 'UTF-8'); //Specify encoding for PHP<5.4
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
@ -569,11 +556,16 @@ class OC_Util {
|
|||
if (!function_exists('curl_init')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$settings = array(
|
||||
'baseUri' => OC_Helper::linkToRemote('webdav'),
|
||||
);
|
||||
|
||||
// save the old timeout so that we can restore it later
|
||||
$old_timeout=ini_get("default_socket_timeout");
|
||||
|
||||
// use a 5 sec timeout for the check. Should be enough for local requests.
|
||||
ini_set("default_socket_timeout", 5);
|
||||
|
||||
$client = new \Sabre_DAV_Client($settings);
|
||||
|
||||
$return = true;
|
||||
|
@ -587,6 +579,9 @@ class OC_Util {
|
|||
$return = false;
|
||||
}
|
||||
|
||||
// restore the original timeout
|
||||
ini_set("default_socket_timeout", $old_timeout);
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ OC.search.showResults=function(results){
|
|||
OC.search.hide();
|
||||
event.stopPropagation();
|
||||
});
|
||||
$(window).click(function(event){
|
||||
$(document).click(function(event){
|
||||
OC.search.hide();
|
||||
});
|
||||
OC.search.lastResults=results;
|
||||
|
|
|
@ -42,9 +42,9 @@ $(document).ready(function(){
|
|||
$.post( 'ajax/changedisplayname.php', post, function(data){
|
||||
if( data.status == "success" ){
|
||||
$('#displaynamechanged').show();
|
||||
$('#oldDisplayName').val($('#displayName').val());
|
||||
$('#oldDisplayName').text($('#displayName').val());
|
||||
// update displayName on the top right expand button
|
||||
$('#expandDisplayName').html($('#displayName').val());
|
||||
$('#expandDisplayName').text($('#displayName').val());
|
||||
}
|
||||
else{
|
||||
$('#newdisplayname').val(data.data.displayName)
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
"Forum" => "פורום",
|
||||
"Commercial Support" => "תמיכה בתשלום",
|
||||
"You have used <strong>%s</strong> of the available <strong>%s</strong>" => "השתמשת ב־<strong>%s</strong> מתוך <strong>%s</strong> הזמינים לך",
|
||||
"Get the apps to sync your files" => "השג את האפליקציות על מנת לסנכרן את הקבצים שלך",
|
||||
"Password" => "ססמה",
|
||||
"Your password was changed" => "הססמה שלך הוחלפה",
|
||||
"Unable to change your password" => "לא ניתן לשנות את הססמה שלך",
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
<?php $TRANSLATIONS = array(
|
||||
"Authentication error" => "ခွင့်ပြုချက်မအောင်မြင်"
|
||||
"Authentication error" => "ခွင့်ပြုချက်မအောင်မြင်",
|
||||
"Security Warning" => "လုံခြုံရေးသတိပေးချက်",
|
||||
"Password" => "စကားဝှက်",
|
||||
"New password" => "စကားဝှက်အသစ်"
|
||||
);
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
/**
|
||||
* Copyright (c) 2012 Bernhard Posselt <nukeawhale@gmail.com>
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
class Test_App extends PHPUnit_Framework_TestCase {
|
||||
|
||||
|
||||
public function testIsAppVersionCompatibleSingleOCNumber(){
|
||||
$oc = array(4);
|
||||
$app = '4.0';
|
||||
|
||||
$this->assertTrue(OC_App::isAppVersionCompatible($oc, $app));
|
||||
}
|
||||
|
||||
|
||||
public function testIsAppVersionCompatibleMultipleOCNumber(){
|
||||
$oc = array(4, 3, 1);
|
||||
$app = '4.3';
|
||||
|
||||
$this->assertTrue(OC_App::isAppVersionCompatible($oc, $app));
|
||||
}
|
||||
|
||||
|
||||
public function testIsAppVersionCompatibleSingleNumber(){
|
||||
$oc = array(4);
|
||||
$app = '4';
|
||||
|
||||
$this->assertTrue(OC_App::isAppVersionCompatible($oc, $app));
|
||||
}
|
||||
|
||||
|
||||
public function testIsAppVersionCompatibleSingleAppNumber(){
|
||||
$oc = array(4, 3);
|
||||
$app = '4';
|
||||
|
||||
$this->assertTrue(OC_App::isAppVersionCompatible($oc, $app));
|
||||
}
|
||||
|
||||
|
||||
public function testIsAppVersionCompatibleShouldFail(){
|
||||
$oc = array(4, 3, 1);
|
||||
$app = '4.3.2';
|
||||
|
||||
$this->assertFalse(OC_App::isAppVersionCompatible($oc, $app));
|
||||
}
|
||||
|
||||
public function testIsAppVersionCompatibleShouldFailTwoVersionNumbers(){
|
||||
$oc = array(4, 3, 1);
|
||||
$app = '4.4';
|
||||
|
||||
$this->assertFalse(OC_App::isAppVersionCompatible($oc, $app));
|
||||
}
|
||||
|
||||
|
||||
public function testIsAppVersionCompatibleShouldFailOneVersionNumbers(){
|
||||
$oc = array(4, 3, 1);
|
||||
$app = '5';
|
||||
|
||||
$this->assertFalse(OC_App::isAppVersionCompatible($oc, $app));
|
||||
}
|
||||
|
||||
}
|
|
@ -91,9 +91,15 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
|
|||
break;
|
||||
case 'pgsql':
|
||||
$sql = "SELECT tablename AS table_name, schemaname AS schema_name "
|
||||
. "FROM pg_tables WHERE schemaname NOT LIKE 'pg_%' "
|
||||
. "AND schemaname != 'information_schema' "
|
||||
. "AND tablename = '".$table."'";
|
||||
. "FROM pg_tables WHERE schemaname NOT LIKE 'pg_%' "
|
||||
. "AND schemaname != 'information_schema' "
|
||||
. "AND tablename = '".$table."'";
|
||||
$query = OC_DB::prepare($sql);
|
||||
$result = $query->execute(array());
|
||||
$exists = $result && $result->fetchOne();
|
||||
break;
|
||||
case 'mssql':
|
||||
$sql = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = '{$table}'";
|
||||
$query = OC_DB::prepare($sql);
|
||||
$result = $query->execute(array());
|
||||
$exists = $result && $result->fetchOne();
|
||||
|
|
Loading…
Reference in New Issue