diff --git a/Documents/test.txt b/Documents/test.txt new file mode 100755 index 0000000..ca90ccb --- /dev/null +++ b/Documents/test.txt @@ -0,0 +1 @@ +You have successfuly installed OWL. diff --git a/admin/admin_dbmodify.php b/admin/admin_dbmodify.php new file mode 100755 index 0000000..9b899e4 --- /dev/null +++ b/admin/admin_dbmodify.php @@ -0,0 +1,134 @@ +query("SELECT * FROM $default->owl_users_table WHERE id = '$id'"); + $sql->next_record(); + $newpass = $sql->f("password"); + if ($newpass == $password) { + $sql->query("UPDATE $default->owl_users_table SET groupid='$groupid',username='$loginname',name='$name',password='$password',quota_max='$quota', email='$email',notify='$notify',email='$email',attachfile='$attachfile',disabled='$disabled',noprefaccess='$noprefaccess',language='$newlanguage',maxsessions='$maxsessions' where id = '$id'"); + } + else + { + $sql->query("UPDATE $default->owl_users_table SET groupid='$groupid',username='$loginname',name='$name',password='" . md5($password) ."',quota_max='$quota', email='$email', notify='$notify',attachfile='$attachfile',disabled='$disabled',noprefaccess='$noprefaccess',language='$newlanguage',maxsessions='$maxsessions' where id = '$id'"); + } + // Bozz Change BEGIN + + // Clean Up the member group table first + + $sql->query("DELETE FROM $default->owl_users_grpmem_table WHERE userid = $id"); + + // Insert the new Choices the member group table with selected groups + for ( $i = 0 ; $i <= $no_groups_displayed; $i++ ) { + $checkboxfields = 'group' . $i; + if($$checkboxfields != '') { + $checkboxvalue = $$checkboxfields; + $sql->query("INSERT INTO $default->owl_users_grpmem_table (userid,groupid) VALUES ('$id', '$checkboxvalue')"); + } + } + /* Bozz Change END */ + header("Location: index.php?sess=$sess&action=users&owluser=$id&change=1"); +} + +if($action == "group") { + global $default; + $sql = new Owl_DB; + $sql->query("UPDATE $default->owl_groups_table SET name='$name' where id = '$id'"); + header("Location: index.php?sess=$sess&action=groups&group=$id&change=1"); +} + +// BEGIN BUG FIX: #448232 mistake in admin_dbmodify.php +if($action == $lang_deleteuser) { +// END BUG FIX: #448232 mistake in admin_dbmodify.php + $sql = new Owl_DB; + $sql->query("DELETE FROM $default->owl_users_table WHERE id = '$id'"); + // Bozz Change Begin + // Also Clean up the groupmember table when a user is deleted + $sql->query("DELETE FROM $default->owl_users_grpmem_table WHERE userid = $id"); + // Bozz Change End + header("Location: index.php?sess=$sess&action=users"); +} + +if($action == "edhtml") { + $sql = new Owl_DB; + $sql->query("UPDATE $default->owl_html_table SET table_border='$border', table_header_bg='$header_bg', table_cell_bg='$cell_bg',table_cell_bg_alt='$cell_bg_alt',body_bgcolor='$body_bgcolor',body_textcolor='$body_textcolor',body_link='$body_link',body_vlink='$body_vlink',table_expand_width='$expand_width',table_collapse_width='$collapse_width', main_header_bgcolor='$main_header_bgcolor' "); + + header("Location: index.php?sess=$sess&action=edhtml&change=1"); + +} + +if($action == "edprefs") { + $sql = new Owl_DB; + + if ($lookAtHD != "false" ) + $lookAtHD = "true"; + if ($owl_expand != "1") + $owl_expand = "0"; + if ($version_control != "1") + $version_control = "0"; + + $sql->query("UPDATE $default->owl_prefs_table SET email_from='$email_from', email_fromname='$email_fromname', email_replyto='$email_replyto', email_server='$email_server', lookAtHD='$lookAtHD', def_file_security='$def_file_security', def_file_group_owner='$def_file_group_owner', def_file_owner='$def_file_owner', def_file_title='$def_file_title', def_file_meta='$def_file_meta', def_fold_security='$def_fold_security', def_fold_group_owner='$def_fold_group_owner', def_fold_owner='$def_fold_owner', max_filesize='$max_filesize', timeout='$owl_timeout', expand='$owl_expand', version_control='$version_control', restrict_view='$restrict_view', dbdump_path='$dbdump_path', gzip_path='$gzip_path', tar_path='$tar_path'"); + + header("Location: index.php?sess=$sess&action=edprefs&change=1"); +} + +// BEGIN BUG FIX: #448232 mistake in admin_dbmodify.php +if($action == $lang_deletegroup ) { +// END BUG FIX: #448232 mistake in admin_dbmodify.php + global $default; + $sql = new Owl_DB; + $sql->query("DELETE FROM $default->owl_groups_table WHERE id = '$id'"); + header("Location: index.php?sess=$sess&action=groups"); +} + +if($action == "add") { + if($type == "user") { + $maxsessions = $maxsessions - 1; // always is stored - 1 + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_table WHERE username = '$loginname'"); + if($sql->num_rows($sql) > 0) die ("$lang_err_user_exists"); + $sql->query("INSERT INTO $default->owl_users_table (groupid,username,name,password,quota_max,quota_current,email,notify,attachfile,disabled,noprefaccess,language,maxsessions) VALUES ('$groupid', '$loginname', '$name', '" . md5($password) . "', '$quota', '0', '$email', '$notify','$attachfile', '$disabled', '$noprefaccess', '$newlanguage', '$maxsessions')"); + // Bozz Change BEGIN + // Populated the member group table with selected groups + $sql->query("SELECT id FROM $default->owl_users_table WHERE username = '$loginname'"); + $sql->next_record(); + $newuid = $sql->f("id"); + for ( $i = 0 ; $i <= $no_groups_displayed; $i++ ) { + $checkboxfields = 'group' . $i; + if($$checkboxfields != '') { + $checkboxvalue = $$checkboxfields; + $sql->query("INSERT INTO $default->owl_users_grpmem_table (userid,groupid) VALUES ('$newuid', '$checkboxvalue')"); + } + } + /* Bozz Change END */ + if($home == "1") { + $sql->query("select * from $default->owl_users_table where username = '$loginname'"); + while($sql->next_record()) $id = $sql->f("id"); + $sql->query("insert into $default->owl_folders_table values (0, '$loginname', '2', '54', '$groupid', '$id')"); + mkdir($default->owl_fs_root."/".fid_to_name("1")."/Home/$loginname", 0777); + } + header("Location: index.php?sess=$sess"); + } elseif($type == "group") { + $sql = new Owl_DB; + $sql->query("INSERT INTO $default->owl_groups_table (name) VALUES ('$name')"); + header("Location: index.php?sess=$sess"); + } +} + +?> diff --git a/admin/index.php b/admin/index.php new file mode 100755 index 0000000..d703b29 --- /dev/null +++ b/admin/index.php @@ -0,0 +1,534 @@ +"); + +if($usergroupid != "0") die("$lang_err_unauthorized"); + +if(!isset($action)) $action = "users"; + +function printusers() { + global $sess, $default, $lang_users; + + $sql = new Owl_DB; + $sql_active_sess = new Owl_DB; + + $sql->query("select username,name,id,maxsessions from $default->owl_users_table order by name"); + + + /* print(""); + + + print("
table_header_bg>$lang_users
"); + print(""); + print(""); + print("
"); */ + + + print("table_border>"); + + + while($sql->next_record()) { + $uid = $sql->f("id"); + $username = $sql->f("username"); + $name = $sql->f("name"); + $maxsess = $sql->f("maxsessions") + 1; + $numrows = 0; + + $sql_active_sess->query("select * from $default->owl_sessions_table where uid = $uid"); + $sql_active_sess->next_record(); + $numrows = $sql_active_sess->num_rows($sql_active_sess); + + if ($name == "") + print(""); + else + print(""); + print(""); + } + print("
table_header_bg>$lang_userstable_header_bg> 
".$username."
".$name."(".$numrows."/".$maxsess.")
"); +} + +function printgroups() { + global $sess, $lang_groups, $default; + $sql = new Owl_DB; + $sql->query("select name,id from $default->owl_groups_table order by name"); + print("table_border>"); + while($sql->next_record()) { + print(""); + } + print("
table_header_bg>$lang_groups
".$sql->f("name")."
"); +} + +function printuser($id) { + global $sess,$change,$lang_saved,$lang_title,$lang_group,$lang_username,$lang_password,$lang_change,$lang_quota,$lang_groupmember,$lang_noprefaccess,$lang_disableuser, $lang_userlang, $lang_maxsessions, $lang_attach_file; + global $lang_flush_sessions_alt, $lang_flushed, $lang_deleteuser, $lang_email, $lang_notification, $default, $flush; + + if($change == 1) print("$lang_saved
"); + + if ($flush == 1) { + flushsessions($id, $sess); + print($lang_flushed); + } + + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_groups_table order by name"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("id"); + $groups[$i][1] = $sql->f("name"); + $i++; + } + $sql->query("select * from $default->owl_users_table where id = '$id'"); + while($sql->next_record()) { + print(""); + print(""); + print(""); + print(""); + print("table_border>"); + print(""); + //******************************* + // Display the Language dropdown + //******************************* + print(""); + // Bozz Change begin + //This is to allow a user to be part of more than one group + + print(""); + print(""); + print(""); + print(""); + print(""); + if ( $sql->f("notify") == 1) + print(""); + else + print(""); + if ( $sql->f("attachfile") == 1) + print(""); + else + print(""); + if ($id != 1) { + if ( $sql->f("disabled") == 1) + print(""); + else + print(""); + if ( $sql->f("noprefaccess") == 1) + print(""); + else + print(""); + } + print("
table_header_bg align=right>$lang_title
table_header_bg align=right>$lang_group
table_header_bg align=right>$lang_userlang
table_header_bg align=right>$lang_groupmember"); + $i=0; + $sqlmemgroup = new Owl_DB; + foreach($groups as $g) { + $is_set_gid = $g[0]; + $sqlmemgroup->query("select userid from $default->owl_users_grpmem_table where userid = '$id' and groupid = '$is_set_gid'"); + $sqlmemgroup->next_record(); + if ($sqlmemgroup->num_rows($sqlmemgroup) > 0) { + print("$g[1]
"); + } + else { + print("$g[1]
"); + } + $i++; + } + // This hidden field is to store the nubmer of displayed groups for future use + // when the records are saved to the db + + + print(""); + // Bozz Change End + + print("
table_header_bg ALIGN=RIGHT>$lang_username
table_header_bg align=right>$lang_quota".$sql->f("quota_current")." /
table_header_bg align=right>$lang_maxsessions".($sql->f("maxsessions") + 1)." / +$lang_flush_sessions_alt
table_header_bg align=right>$lang_password
table_header_bg align=right>$lang_email
table_header_bg align=right>$lang_notification
table_header_bg align=right>$lang_notification
table_header_bg align=right>$lang_attach_file
table_header_bg align=right>$lang_attach_file
table_header_bg align=right>$lang_disableuser
table_header_bg align=right>$lang_disableuser
table_header_bg align=right>$lang_noprefaccess
table_header_bg align=right>$lang_noprefaccess

"); + if ($sql->f("id") != 1) { + print(""); + } + + print(""); + } +} + +function flushsessions($id, $sess) { + global $default; + $sql= new Owl_DB; + $sql->query("delete from $default->owl_sessions_table where uid='$id' AND sessid!='$sess'"); +} + + +function printgroup($id) { + global $sess,$change,$lang_title,$lang_change,$lang_deletegroup,$lang_saved,$default; + if(isset($change)) print("$lang_saved
"); + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_groups_table where id = '$id'"); + while($sql->next_record()) { + print("
"); + print(""); + print(""); + print(""); + print("table_border>
table_header_bg>$lang_title
"); + print("
"); + if($sql->f("id") != 0) print(""); + print("
"); + } +} + +function printnewgroup() { + global $default, $sess,$lang_title,$lang_add; + print("
"); + print(""); + print(""); + print(""); + print("table_border>
table_header_bg>$lang_title

"); +} + +function printnewuser() { + global $sess,$lang_title,$lang_username,$lang_group,$lang_password,$lang_add,$default, $lang_quota,$lang_groupmember; + global $lang_email, $lang_notification, $lang_noprefaccess, $lang_disableuser, $lang_userlang, $lang_maxsessions, $lang_attach_file; + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_groups_table order by name"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("id"); + $groups[$i][1] = $sql->f("name"); + $i++; + } + print("
"); + print(""); + print(""); + print(""); + print("table_border>"); + print(""); + print(""); + //******************************* + // Display the Language dropdown + //******************************* + print(""); + + // Bozz Change begin + //This is to allow a user to be part of more than one group + + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + print("
table_header_bg align=right>$lang_title
table_header_bg align=right>$lang_username
table_header_bg align=right>$lang_group
table_header_bg align=right>$lang_userlang
table_header_bg align=right>$lang_groupmember"); + $i=0; + foreach($groups as $g) { + print("$g[1]
"); + $i++; + } + // This hidden field is to store the nubmer of displayed groups for future use + // when the records are saved to the db + + print(""); + // Bozz Change End + print("
table_header_bg align=right>$lang_quota
table_header_bg align=right>$lang_maxsessions
table_header_bg align=right>$lang_password
table_header_bg align=right>$lang_email
table_header_bg align=right>$lang_attach_file
table_header_bg align=right>$lang_disableuser
table_header_bg align=right>$lang_noprefaccess

"); +} + +function printhtml() { + global $default, $sess, $lang_add, $lang_change, $change, $lang_saved; + global $lang_ht_tbl_border_sz, $lang_ht_tbl_hd_bg, $lang_ht_tbl_cell_bg_cl, $lang_ht_tbl_cell_bg_al, $lang_ht_tbl_bg_cl, $lang_ht_expand_width, $lang_ht_collapse_width, $lang_ht_bd_bg_cl, $lang_ht_bd_txt_cl, $lang_ht_bd_lnk_cl, $lang_ht_bd_vlnk_cl, $lang_ht_bd_width; + if(isset($change)) print("$lang_saved
"); + print("
"); + print(""); + print(""); + print(""); + print("table_border>"); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print("
table_header_bg align=right>$lang_ht_tbl_border_sz
table_header_bg align=right>$lang_ht_tbl_hd_bgtable_header_bg>
table_header_bg align=right>$lang_ht_tbl_cell_bg_cl
table_header_bg align=right>$lang_ht_tbl_cell_bg_al
table_header_bg align=right>$lang_ht_expand_width
table_header_bg align=right>$lang_ht_collapse_width
table_header_bg align=right>Main Header Background Color
table_header_bg align=right>$lang_ht_bd_bg_cl
table_header_bg align=right>$lang_ht_bd_txt_cl
table_header_bg align=right>$lang_ht_bd_lnk_cl
table_header_bg align=right>$lang_ht_bd_vlnk_cl

"); +} + +function printprefs() { + global $default, $sess, $lang_add, $lang_change, $change, $lang_saved; + global $lang_owl_title_email, $lang_owl_email_from, $lang_owl_email_fromname, $lang_owl_email_replyto , $lang_owl_email_server, $lang_owl_title_HD, $lang_owl_lookAtHD, $lang_owl_def_file_security, $lang_owl_def_file_group_owner, $lang_owl_def_file_owner, $lang_owl_def_file_title, $lang_owl_def_file_meta , $lang_owl_def_fold_sec, $lang_owl_def_fold_group_owner, $lang_owl_def_fold_owner, $lang_owl_title_other, $lang_owl_max_filesize, $lang_owl_owl_timeout, $lang_owl_owl_expand, $lang_owl_version_control, $lang_owl_restrict_view ; + global $lang_owl_title_tools, $lang_owl_dbdump_path,$lang_owl_gzip_path, $lang_owl_tar_path; + + if(isset($change)) print("$lang_saved
"); + print("
"); + print(""); + print(""); + print(""); + print("table_border>"); + print(""); + print(" + "); + print(" + "); + print(" + "); + print(" + "); + print(""); + + if ( $default->owl_LookAtHD == "false" ){ + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + } + else { + print(""); + printfileperm($default->owl_def_file_security, "def_file_security", $lang_owl_def_file_security, "user"); + + + + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_groups_table"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("id"); + $groups[$i][1] = $sql->f("name"); + $i++; + } + print(""); + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_users_table"); + $i=0; + while($sql->next_record()) { + $users[$i][0] = $sql->f("id"); + $users[$i][1] = $sql->f("name"); + $i++; + } + print(""); + + + print(" + "); + print(" + "); + + printgroupperm($default->owl_def_fold_security, "def_fold_security", $lang_owl_def_fold_sec, "user"); + + print(""); + + print(""); + + } + print(""); + print(" + "); + print(" + "); + + if ( $default->expand == 1 ) + print(""); + else + print(""); + + if ( $default->owl_version_control == 1 ) + print(""); + else + print(""); + + if ( $default->restrict_view == 1 ) + print(""); + else + print(""); + + print(""); + print(" + "); + print(" + "); + print(" + "); + print("
main_header_bgcolor align=CENTER colspan=2>$lang_owl_title_email
table_header_bg align=right>$lang_owl_email_from
table_header_bg align=right>$lang_owl_email_fromname
table_header_bg align=right>$lang_owl_email_replyto
table_header_bg align=right>$lang_owl_email_server
main_header_bgcolor align=CENTER colspan=2>$lang_owl_title_HD
table_header_bg align=right>$lang_owl_lookAtHD
table_header_bg align=right>$lang_owl_lookAtHD
table_header_bg>$lang_owl_def_file_group_owner
table_header_bg>$lang_owl_def_file_owner
table_header_bg align=right>$lang_owl_def_file_title
table_header_bg align=right>$lang_owl_def_file_meta
table_header_bg>$lang_owl_def_fold_group_owner
table_header_bg>$lang_owl_def_fold_owner
main_header_bgcolor align=CENTER colspan=2>$lang_owl_title_other
table_header_bg align=right>$lang_owl_max_filesize
table_header_bg align=right>$lang_owl_owl_timeout
table_header_bg align=right>$lang_owl_owl_expand
table_header_bg align=right>$lang_owl_owl_expand:
table_header_bg align=right>$lang_owl_version_control
table_header_bg align=right>$lang_owl_version_control
table_header_bg align=right>$lang_owl_restrict_view
table_header_bg align=right>$lang_owl_restrict_view
main_header_bgcolor align=CENTER colspan=2>$lang_owl_title_tools
table_header_bg align=right>$lang_owl_dbdump_path
table_header_bg align=right>$lang_owl_gzip_path
table_header_bg align=right>$lang_owl_tar_path

"); +} + +function dobackup() { + global $default; + + $command = $default->dbdump_path . " --opt --host=" . $default->owl_db_host . " --user=" . $default->owl_db_user . " --password=" . $default->owl_db_pass . " " . $default->owl_db_name . " | " . $default->gzip_path . " -fc"; + $date = date("Ymd.Hms"); + + header("Content-Disposition: attachment; filename=\"" . $default->owl_db_name . "-$date.sql.gz\""); + header("Content-Location: " . $default->owl_db_name . "-$date.sql.gz"); + header("Content-Type: application/octet-stream"); + //header("Content-Length: $fsize"); + //header("Pragma: no-cache"); + header("Expires: 0"); + passthru($command); + exit(); + +} + + + +if($action) { + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + print(""); + print(""); + print(""); + print(""); + print(""); + print("
"); + print("
"); + print uid_to_name($userid); + print(" : $lang_logout $lang_owl_admin
"); + print("
table_expand_width>
"); + print("table_expand_width BORDER=$default->table_border>
"); + print("table_border>
"); + print("$lang_newuser_alt
"); + print("$lang_newgroup_alt
"); + print("$lang_edthtml_alt
"); + print("$lang_edprefs_alt
"); + if (file_exists($default->dbdump_path) && file_exists($default->gzip_path)) { + print("$lang_backup_alt

"); + } + else { + print("$lang_backup_dis_alt

"); + } +// print("$lang_upg_MD5

"); + printusers(); + print("

"); + printgroups(); + print("
"); + print("
"); + if(isset($owluser)) printuser($owluser); + if(isset($group)) printgroup($group); + if($action == "newgroup") printnewgroup(); + if($action == "newuser") printnewuser(); + if($action == "edhtml") printhtml(); + if($action == "edprefs") printprefs(); + print("
"); +} else { + exit("$lang_err_general"); +} + +print("

table_expand_width>
"); +?> + + + + diff --git a/admin/upgrade-users.php b/admin/upgrade-users.php new file mode 100755 index 0000000..aa95abc --- /dev/null +++ b/admin/upgrade-users.php @@ -0,0 +1,49 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +require("../config/owl.php"); +require("../lib/owl.lib.php"); +require("../config/html.php"); + +print("
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("
DO NOT RUN THIS AGAIN


"); +print("Running through $default->owl_users_table
"); +$sql = new Owl_DB; +$sql->query("select * from $default->owl_users_table"); +$sqlupd = new Owl_DB; +while($sql->next_record()) { + $userid = $sql->f("id"); + $password = $sql->f("password"); + if (strlen($password) <> 32) { + $sqlupd->query("update $default->owl_users_table set password='" . md5($password) . "' where id = '$userid'"); + print "Updated user id $userid: ".$sql->f("username")."
"; + } else { + print "ALREADY UPGRADED -> $userid: ".$sql->f("username")."
"; + } +} +print("DONE

"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("********************** WARNING WARNING WARNING ****************************
"); +print("
DO NOT RUN THIS AGAIN

"); diff --git a/browse.php b/browse.php new file mode 100755 index 0000000..f8fc1ed --- /dev/null +++ b/browse.php @@ -0,0 +1,411 @@ +expand; +if(!isset($order)) $order = "name"; +if(!isset($sortname)) $sortname = "ASC"; +// Daphne change +if(!isset($sortver)) $sortver = "ASC, minor_revision ASC"; +if(!isset($sortcheckedout)) $sortcheckedout = "ASC"; +// end daphne change +if(!isset($sortfilename)) $sortfilename = "DESC"; +if(!isset($sortsize)) $sortsize = "DESC"; +if(!isset($sortposted)) $sortposted = "DESC"; +if(!isset($sortmod)) $sortmod = "DESC"; +if(!isset($sort)) $sort = "asc"; + +// Begin 496814 Column Sorts are not persistant +switch ($order) { + case "name": + $sortorder = 'sortname'; + $sort=$sortname; + break; + case "major_revision": + $sortorder = 'sortver'; + $sort=$sortver; + break; + case "filename" : + $sortorder = 'sortfilename'; + $sort=$sortfilename; + break; + case "size" : + $sortorder = 'sortsize'; + $sort=$sortsize; + break; + case "creatorid" : + $sortorder = 'sortposted'; + $sort=$sortposted; + break; + case "smodified" : + $sortorder = 'sortmod'; + $sort=$sortmod; + break; + case "checked_out": + $sortorder = 'sortcheckedout'; + $sort = $sortcheckedout; + break; + default: + $sort="ASC"; + break; +} + +// END 496814 Column Sorts are not persistant + + +if(check_auth($parent, "folder_view", $userid) != "1") { + printError($lang_nofolderaccess,""); + exit; +} + +print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); +?> + +
+"); + } + print uid_to_name($userid); + print (""); +?> + +$lang_logout");?> + +  "); +print(" +  "); +print(" +   "); +if($expand==1) { + print("owl_root_url/locale/$default->owl_lang/graphics/btn_collapse_view.gif' + \t\tBORDER=0>"); +} else { + print("\t\t\towl_root_url/locale/$default->owl_lang/graphics/btn_expand_view.gif' + \t\tBORDER=0>  \n"); +} + +print("
"); + +print("
"); +if ($expand == 1) { + print("\t\ttable_expand_width BORDER=$default->table_border>\n"); +} else { + print("\t\t
table_collapse_width BORDER=$default->table_border>\n"); +} + +print("\t\t\t"); +print("\t\t\t
" . gen_navbar($parent) . "
"); + +if ($expand == 1) { + print("\t\t
table_expand_width>\n"); +} else { + print("\t\t
table_collapse_width>\n"); +} + +// +// functions to create/show the links to be sorted on +// +function show_link($column,$sortname,$sortvalue,$order,$sess,$expand,$parent,$lang_title,$url) { + + if ($sortvalue == "ASC") + { + print("\t\t\t\t$lang_title"); + if ($order == $column) + { + print(""); + } + else + { + print(""); + } + + } + else + { + print("\t\t\t\t$lang_title"); + if ($order == $column) + { + print(""); + } + else + { + print(""); + } + } +} + + + +if ($expand == 1) { + print("\t\t\ttable_expand_width BORDER=$default->table_border>"); + show_link("name","sortname",$sortname,$order,$sess,$expand,$parent,$lang_title,$default->owl_root_url); + // Daphne change - column for files checked out + if ($default->owl_version_control == 1) { + show_link("major_revision","sortver",$sortver,$order,$sess,$expand,$parent,$lang_ver,$default->owl_root_url); + } + // end Daphne change + show_link("filename","sortfilename",$sortfilename,$order,$sess,$expand,$parent,$lang_file,$default->owl_root_url); + show_link("size","sortsize",$sortsize,$order,$sess,$expand,$parent,$lang_size,$default->owl_root_url); + show_link("creatorid","sortposted", $sortposted,$order,$sess,$expand,$parent,$lang_postedby,$default->owl_root_url); + show_link("smodified","sortmod", $sortmod,$order,$sess,$expand,$parent,$lang_modified,$default->owl_root_url); + print(""); + // Daphne change - column for files checked out + if ($default->owl_version_control == 1) { + show_link("checked_out","sortcheckedout", $sortcheckedout, $order,$sess,$expand,$parent,$lang_held,$default->owl_root_url); + } + // end Daphne change +} else { + print("\t\t\t
$lang_actions
table_collapse_width BORDER=$default->table_border>"); + show_link("name","sortname",$sortname,$order,$sess,$expand,$parent,$lang_title,$default->owl_root_url); + // Begin Daphne Change + if ($default->owl_version_control == 1) { + show_link("major_revision","sortver",$sortver,$order,$sess,$expand,$parent,$lang_ver,$default->owl_root_url); + } + // end Daphne change + show_link("filename","sortfilename",$sortfilename,$order,$sess,$expand,$parent,$lang_file,$default->owl_root_url); + show_link("size","sortsize",$sortsize,$order,$sess,$expand,$parent,$lang_size,$default->owl_root_url); + // Daphne change - column for files checked out + if ($default->owl_version_control == 1) { + show_link("checked_out","sortcheckedout", $sortcheckedout, $order,$sess,$expand,$parent,$lang_held,$default->owl_root_url); + } + // end Daphne change +} + +//Looping out Folders + +$DBFolderCount = 0; +$CountLines = 0; + +$sql = new Owl_DB; +if ($order == "creatorid") { + $sql->query("SELECT * from $default->owl_folders_table where parent = '$parent' order by $order"); +} else { + $sql->query("SELECT * from $default->owl_folders_table where parent = '$parent' order by name "); +} + +//********************** +//* BEGIN Print Folders +//********************** + +while($sql->next_record()) { + if($default->restrict_view == 1) { + if(!check_auth($sql->f("id"), "folder_view", $userid)) + continue; + } + $CountLines++; + $PrintLines = $CountLines % 2; + if ($PrintLines == 0) + print("\t\t\t\t"); + else + print("\t\t\t\t"); + + print(""); + + $DBFolderCount++; //count number of filez in db 2 use with array + $DBFolders[$DBFolderCount] = $sql->f("name"); //create list if files in + + if($expand == 1) { + print("\t\t\t\t"); + // begin Daphne change + // extra colunm width for "version" column which folders don't need + if ($default->owl_version_control == 1) { + print(""); + } + // end Daphne change + print(""); + if ($default->owl_version_control == 1) + print (""); + print(""); + } else { + //print(""); + print("\t\t\t\t"); + // begin Daphne change + // extra column width for "held" column which folders don't need + if ($default->owl_version_control == 1) { + if ($PrintLines == 0) + print (""); + else + print (""); + + } + // end Daphne change + print(""); + + } +} + +if ($default->owl_LookAtHD != "false") +{ + $DBFolders[$DBFolderCount+1] = "[END]"; //end DBfolder array + $RefreshPage = CompareDBnHD('folder', $default->owl_FileDir . "/" . get_dirpath($parent), $DBFolders, $parent, $default->owl_folders_table); +} + +//********************** +// BEGIN Print Files +//********************** +$sql = new Owl_DB; +//$sql->query("SELECT * from $default->owl_files_table where parent = '$parent' order by $order $sort"); +if ($default->owl_version_control == 1) +{ + //$sql->query("drop table tmp"); + $sql->query("create temporary table tmp (name char(80) not null, parent int(4) not null, val double(4,2) not null)"); + // POSTGRES? $sql->query("create temporary table tmp (name varchar(80) not null, parent int4 not null, val float not null);"); + //$sql->query("lock tables files read"); + $sql->query("insert into tmp select name, parent, max(major_revision+(minor_revision/10)) from files group by name,parent"); + $sql->query("select files.* from files,tmp where files.name=tmp.name and major_revision+(minor_revision/10)=tmp.val AND tmp.parent=files.parent AND tmp.parent = '$parent' order by $order $sort"); +} + else +{ + + $sql->query("select * from $default->owl_files_table where parent = '$parent' order by $order $sort" ); +} + +//Looping out files from DB! + +$DBFileCount = 0; + +while($sql->next_record()) { + if($default->restrict_view == 1) { + if(!check_auth($sql->f("id"), "file_download", $userid)) + continue; + } + $CountLines++; + $PrintLines = $CountLines % 2; + if ($PrintLines == 0) + print("\t\t\t\t"); + else + print("\t\t\t\t"); + print(""); + else + print($sql->f("name").""); + // Begin Daphne Change + // print version numbers if version control used + if ($default->owl_version_control == 1){ + if($fileid == $sql->f("id")) + print(""); + else + print(""); + } + // end Daphne Change + if ($sql->f("url") == "1") + if($fileid == $sql->f("id")) + print(""); + else + print(""); + else + if($fileid == $sql->f("id")) + print(""); + else + print(""); + + + $DBFileCount++; //count number of filez in db 2 use with array + $DBFiles[$DBFileCount] = $sql->f("filename"); //create list if files in +//print("

HERE WE ARE ID - $tmp

"); +//exit(); + if($expand ==1) { + if($fileid == $sql->f("id")) + print("\t\t\t\t"); + else + print("\t\t\t\t"); + print("\t\t\t\t"); + } + else { + print("\t"); + } + } + // end Daphne Change + +} + +if ($default->owl_version_control == 1) { + //$sql->query("unlock tables"); + $sql->query("drop table tmp"); +} + +$DBFiles[$DBFileCount+1] = "[END]"; //end DBfile array + +print("
" . $sql->f("name") . "     "); + + if(check_auth($sql->f("id"), "folder_delete", $userid) == 1) + print("\t$lang_del_folder_alt "); + if(check_auth($sql->f("id"), "folder_modify", $userid) == 1) { + print("$lang_mod_folder_alt"); + print("$lang_move_folder_alt"); + print(" + $lang_get_file_alt "); + + } + + print(" 
"); + $iconfiles = array("html","htm","gif","jpg","bmp","zip","tar","doc","mdb","xls","ppt","pdf","gz","mp3","tgz"); + $choped = split("\.", $sql->f("filename")); + $pos = count($choped); +// BEGIN BUG FIX: #433548 Problem with uppercase fileextensions + $ext = strtolower($choped[$pos-1]); +// END BUG FIX: #433548 Problem with uppercase fileextensions + if ($sql->f("url") == "1") + print(" "); + else { + if (preg_grep("/$ext/",$iconfiles)) + print(" "); + else + print(" "); + } + if($fileid == $sql->f("id")) + print("".$sql->f("name")."".$sql->f("major_revision").".".$sql->f("minor_revision")."".$sql->f("major_revision").".".$sql->f("minor_revision")."".$sql->f("name")." ".gen_filesize($sql->f("size"))."".$sql->f("name")." ".gen_filesize($sql->f("size"))."".$sql->f("filename")."".gen_filesize($sql->f("size"))."".$sql->f("filename")."".gen_filesize($sql->f("size"))."".fid_to_creator($sql->f("id"))."".$sql->f("modified")."".fid_to_creator($sql->f("id"))."".$sql->f("modified").""); + + printFileIcons($sql->f("id"),$sql->f("filename"),$sql->f("checked_out"),$sql->f("url"),$default->owl_version_control,$ext); + + } + + // begin Daphne change + // printing who has a document checked out + if ($default->owl_version_control == 1) { + if (($holder = uid_to_name($sql->f("checked_out"))) == "Owl") { + print("\t-
$holder
"); + +// *********************************** +// If the refresh from hard drive +// feature is enabled +// *********************************** +if ($default->owl_LookAtHD != "false") +{ + if($RefreshPage == true) { + CompareDBnHD('file', $default->owl_FileDir . "/" . get_dirpath($parent), $DBFiles, $parent, $default->owl_files_table); + }else{ + $RefreshPage = CompareDBnHD('file', $default->owl_FileDir . "/" . get_dirpath($parent), $DBFiles, $parent, $default->owl_files_table); + } + + if($RefreshPage == true) { +?> + + diff --git a/config/html.php b/config/html.php new file mode 100755 index 0000000..265d03c --- /dev/null +++ b/config/html.php @@ -0,0 +1,24 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ +getprefs(); +gethtmlprefs(); + +// styles sheet +// this is an absolute URL and not a filesystem reference + +$default->styles = "$default->owl_root_url/lib/styles.css"; +?> diff --git a/config/owl.nt40.apache.php b/config/owl.nt40.apache.php new file mode 100644 index 0000000..c9eb5a9 --- /dev/null +++ b/config/owl.nt40.apache.php @@ -0,0 +1,104 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +// Some urls +$default->owl_root_url = "/intranet"; +$default->owl_graphics_url = $default->owl_root_url . "/graphics"; + +// Directory where owl is located +$default->owl_fs_root = "C:\Program Files\Apache Group\Apache\htdocs\intranet"; +$default->owl_LangDir = $default->owl_fs_root . "/locale"; + +// Directory where The Documents Directory is On Disc +$default->owl_FileDir = "C:\Program Files\Apache Group\Apache\htdocs\intranet"; + +//**************************************************** +// Pick your language system default language +// now each user can pick his language +// if they are allowed by the admin to change their +// preferences. +//**************************************************** +// b5 +// Chinese +// Danish +// Deutsch +// Dutch +// English +// Francais +// Hungarian +// Italian +// NewEnglish <- NEW LOOK, English will be obsoleted in a future version +// Norwegian +// Portuguese +// Spanish + +$default->owl_lang = "NewEnglish"; + +// Table with user info +$default->owl_users_table = "users"; + +// Table with group memebership for users +$default->owl_users_grpmem_table= "membergroup"; +$default->owl_sessions_table = "active_sessions"; + +// Table with file info +$default->owl_files_table = "files"; + +// Table with folders info +$default->owl_folders_table = "folders"; + +// Table with group info +$default->owl_groups_table = "groups"; + +// Table with mime info +$default->owl_mime_table = "mimes"; + +// Table with html attributes +$default->owl_html_table = "html"; + +// Table with html attributes +$default->owl_prefs_table = "prefs"; + +// Table with file data info +$default->owl_files_data_table = "filedata"; + + +// Change this to reflect the database you are using +require("$default->owl_fs_root/phplib/db_mysql.inc"); +//require("$default->owl_fs_root/phplib/db_pgsql.inc"); + +//begin WES change +// Database info +$default->owl_db_user = "root"; +$default->owl_db_pass = ""; +$default->owl_db_host = "localhost"; +$default->owl_db_name = "intranet"; + + +$default->owl_notify_link = "http://$SERVER_NAME$default->owl_root_url/"; + +// logo file that must reside inside lang/graphics directory +$default->logo = "owl.gif"; + +// BUG Number: 457588 +// This is to display the version information in the footer + +$default->version = "owl 0.7"; +$default->phpversion = "4.0.2"; +$default->debug = False; +$default->owl_use_fs = true; +?> diff --git a/config/owl.php b/config/owl.php new file mode 100755 index 0000000..f4fee4a --- /dev/null +++ b/config/owl.php @@ -0,0 +1,124 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +// Some urls +$default->owl_root_url = "/intranet"; +$default->owl_graphics_url = $default->owl_root_url . "/graphics"; + +// Directory where owl is located +$default->owl_fs_root = "/var/www/html/intranet"; +$default->owl_LangDir = $default->owl_fs_root . "/locale"; + +// Directory where The Documents Directory is On Disc +$default->owl_FileDir = "/var/www/html/intranet"; +//$default->owl_FileDir = "/tmp"; + +// Set to true to use the file system to store documents, false only uses the database +//$default->owl_use_fs = false; +// the Trailing Slash is important here. +//$default->owl_FileDir = "/tmp/"; +//$default->owl_compressed_database = 1; + + +$default->owl_use_fs = true; + +//**************************************************** +// Pick your language system default language +// now each user can pick his language +// if they are allowed by the admin to change their +// preferences. +//**************************************************** +// b5 +// Chinese +// Danish +// Deutsch +// Dutch +// English +// Francais +// Hungarian +// Italian +// NewEnglish <- NEW LOOK, English will be obsoleted in a future version +// Norwegian +// Portuguese +// Spanish + +$default->owl_lang = "NewEnglish"; +$default->owl_notify_link = "http://$SERVER_NAME$default->owl_root_url/"; + +// Table with user info +$default->owl_users_table = "users"; + +// Table with group memebership for users +$default->owl_users_grpmem_table= "membergroup"; +$default->owl_sessions_table = "active_sessions"; + +// Table with file info +$default->owl_files_table = "files"; + +// Table with folders info +$default->owl_folders_table = "folders"; + +// Table with group info +$default->owl_groups_table = "groups"; + +// Table with mime info +$default->owl_mime_table = "mimes"; + +// Table with html attributes +$default->owl_html_table = "html"; + +// Table with html attributes +$default->owl_prefs_table = "prefs"; + +// Table with file data info +$default->owl_files_data_table = "filedata"; + + + +// Change this to reflect the database you are using +require("$default->owl_fs_root/phplib/db_mysql.inc"); +//require("$default->owl_fs_root/phplib/db_pgsql.inc"); + +//begin WES change +// Database info +$default->owl_db_user = "root"; +$default->owl_db_pass = ""; +$default->owl_db_host = "localhost"; +$default->owl_db_name = "intranet"; + +// logo file that must reside inside lang/graphics directory +$default->logo = "owl.gif"; + +// BUG Number: 457588 +// This is to display the version information in the footer + +$default->version = "owl 0.7 20021129"; +$default->phpversion = "4.0.2"; + +$default->debug = True; + +// WES STUFF +// Untested or in the process of implementing (DORMANT) +// change at your own risks +// on Second though Don't even think of changing anything below this line. + +//$default->owl_use_htaccess = 1; +//$default->owl_launch_in_browser = 0; +//$default->owl_restrict_linkto = true; + + +?> diff --git a/config/owl.win2k.iis.php b/config/owl.win2k.iis.php new file mode 100644 index 0000000..301ddb3 --- /dev/null +++ b/config/owl.win2k.iis.php @@ -0,0 +1,110 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +This sample config file is known to work with: + +Win 2000 Server +IIS 5.0 +MySQL 3.49 +PHP 4.11 + +*/ + +// Some urls +$default->owl_root_url = "/intranet"; +$default->owl_graphics_url = $default->owl_root_url . "/graphics"; + +// Directory where owl is located +$default->owl_fs_root = "C:/Inetpub/wwwroot/intranet"; +$default->owl_LangDir = $default->owl_fs_root . "/locale"; + +// Directory where The Documents Directory is On Disc +$default->owl_FileDir = "d:/intranet"; + +//**************************************************** +// Pick your language system default language +// now each user can pick his language +// if they are allowed by the admin to change their +// preferences. +//**************************************************** +// b5 +// Chinese +// Danish +// Deutsch +// Dutch +// English +// Francais +// Hungarian +// Italian +// NewEnglish <- NEW LOOK, English will be obsoleted in a future version +// Norwegian +// Portuguese +// Spanish + +$default->owl_lang = "Deutsch"; +$default->owl_notify_link = "http://$SERVER_NAME$default->owl_root_url/"; + +// Table with user info +$default->owl_users_table = "users"; + +// Table with group memebership for users +$default->owl_users_grpmem_table= "membergroup"; +$default->owl_sessions_table = "active_sessions"; + +// Table with file info +$default->owl_files_table = "files"; + +// Table with folders info +$default->owl_folders_table = "folders"; + +// Table with group info +$default->owl_groups_table = "groups"; + +// Table with mime info +$default->owl_mime_table = "mimes"; + +// Table with html attributes +$default->owl_html_table = "html"; + +// Table with html attributes +$default->owl_prefs_table = "prefs"; + +// Table with file data info +$default->owl_files_data_table = "filedata"; + + +// Change this to reflect the database you are using +require("$default->owl_fs_root/phplib/db_mysql.inc"); +//require("$default->owl_fs_root/phplib/db_pgsql.inc"); + +//begin WES change +// Database info +$default->owl_db_user = "root"; +$default->owl_db_pass = ""; +$default->owl_db_host = "localhost"; +$default->owl_db_name = "intranet"; + + +// logo file that must reside inside lang/graphics directory +$default->logo = "owl.gif"; + +// BUG Number: 457588 +// This is to display the version information in the footer + +$default->version = "owl 0.7"; +$default->phpversion = "4.0.2"; +$default->debug = False; +$default->owl_use_fs = true; +?> diff --git a/dbmodify.php b/dbmodify.php new file mode 100755 index 0000000..edde4ca --- /dev/null +++ b/dbmodify.php @@ -0,0 +1,964 @@ +query("select parent from $default->owl_folders_table where id = '$parent'"); + while($sql->next_record()) { + $path = fid_to_name($sql->f("parent"))."/".$path; + $parent = $sql->f("parent"); + } + } + return $path; +} + +function delTree($fid) { + global $fCount, $folderList, $default; + //delete from database + $sql = new Owl_DB; + $sql->query("delete from $default->owl_folders_table where id = '$fid'"); + $sql->query("delete from $default->owl_files_table where parent = '$fid'"); + for ($c=0; $c < $fCount; $c++) { + if ($folderList[$c][2]==$fid) { + delTree($folderList[$c][0]); + } + } +} + +// Begin 496814 Column Sorts are not persistant +// + ADDED &order=$order&$sortorder=$sortname to +// all browse.php? header and HREF LINES + +switch ($order) { + case "name": + $sortorder = 'sortname'; + break; + case "major_revision": + $sortorder = 'sortver'; + break; + case "filename" : + $sortorder = 'sortfilename'; + break; + case "size" : + $sortorder = 'sortsize'; + break; + case "creatorid" : + $sortorder = 'sortposted'; + break; + case "smodified" : + $sortorder = 'sortmod'; + break; + case "checked_out": + $sortorder = 'sortcheckedout'; + break; + default: + break; +} + +// END 496814 Column Sorts are not persistant +// BEGIN BUG FIX: #433932 Fileupdate and Quotas +if($action == "file_update") { + if(check_auth($parent, "folder_modify", $userid) == 1) { + //if($title == "") exit($lang_specifyname); + $userfile = uploadCompat("userfile"); + $sql = new Owl_DB; + $sql->query("select * from $default->owl_users_table where id = '$userid'"); + while($sql->next_record()) { + $quota_max = $sql->f("quota_max"); + $quota_current = $sql->f("quota_current"); + //$new_quota = $quota_current + $userfile_size; + } + $new_name = ereg_replace("[^-A-Za-z0-9._]", "", ereg_replace(" ", "_", ereg_replace("%20|^-", "_", $userfile["name"]))); + $newpath = $default->owl_FileDir."/".find_path($parent)."/".$new_name; + + /* Begin Daphne Change - backups of files + * If user requests automatic backups of files + * get current details from db and save file state information + */ + if ($default->owl_version_control == 1) { + + if ($default->owl_use_fs) + { + $sql->query("select * from $default->owl_files_table where filename='$new_name' and parent='$parent'"); + } + else + { + // this is guaranteed to get the ID of the most recent revision, just in case we're updating a previous rev. + $sql->query("select distinct b.* from $default->owl_files_table as a, $default->owl_files_table as b where b.id='$id' AND a.name=b.name AND a.parent=b.parent order by major_revision, minor_revision desc"); + } + //$query = "select b.* from $default->owl_files_table as a, $default->owl_files_table as b where a.id='$id' AND a.name=b.name AND a.parent=b.parent order by major_revision, minor_revision desc"; + //printError("QU: $query"); + + while($sql->next_record()) { + // save state information + $major_revision = $backup_major = $sql->f("major_revision"); + $minor_revision = $backup_minor = $sql->f("minor_revision"); + $backup_filename = $sql->f("filename"); + $backup_name = $sql->f("name"); + $backup_size = $sql->f("size"); + $backup_creatorid = $sql->f("creatorid"); + $backup_modified = $sql->f("modified"); + $backup_smodified = $sql->f("smodified"); + $backup_description = $sql->f("description"); + $backup_description = ereg_replace("'","\\'",$backup_description); + $backup_metadata = $sql->f("metadata"); + $backup_parent = $sql->f("parent"); + $backup_security = $sql->f("security"); + $backup_groupid = $groupid = $sql->f("groupid"); + + $new_quota = $quota_current - $backup_size + $userfile['size']; + $filename = $sql->f(filename); + $title = $sql->f(name); + $description = $sql->f(description); + + if ($default->owl_use_fs) + { + if ($default->owl_FileDir."/".find_path($parent)."/".$sql->f(filename) != $newpath) + printError("$lang_err_file_update",""); + } + + } + } + + // End Daphne Change + + //$newpath = $default->owl_fs_root."/".find_path($parent)."/".$new_name; + //$newpath = $default->owl_FileDir."/".find_path($parent)."/".$new_name; + //***neller: Read data from database + //$sql->query("select * from $default->owl_files_table where id='$id'"); + //while($sql->next_record()) { + //if ($default->owl_fs_root."/".find_path($parent)."/".$sql->f(filename) != $newpath) + //if ($default->owl_FileDir."/".find_path($parent)."/".$sql->f(filename) != $newpath) + //printError("$lang_err_file_update",""); + //$new_quota = $quota_current - $sql->f(size) + $userfile_size; + //$filename = $sql->f(filename); + //$title = $sql->f(name); + //$description = $sql->f(description); + //} + if (($new_quota > $quota_max) && ($quota_max != "0")) { + printError("$lang_err_quota".$new_quota."$lang_err_quota_needed".($quota_max - $quota_current)."$lang_err_quota_avail",""); + if(($quota_max - $quota_current) == "0") + printError("$lang_err_quota_exceed"); + } + // End neller + + /* Begin Daphne Change + * copy old version to backup folder + * change version numbers, + * update database entries + * upload new file over the old + * backup filename will be 'name_majorrev-minorrev' e.g. 'testing_1-2.doc' + */ + + // BEGIN wes change + if ($default->owl_use_fs) + { + if ($default->owl_version_control == 1) { + if(!(file_exists($newpath)==1) || $backup_filename != $new_name) printError("$lang_err_file_update",""); + // Get the file extension. + $extension = explode(".",$new_name); + // rename the new, backed up (versioned) filename + $version_name = $extension[0]."_$major_revision-$minor_revision.$extension[1]"; + // specify path for new file in the /backup/ file of each directory. + $backuppath = $default->owl_FileDir."/".find_path($parent)."/backup/$version_name"; + + // Danilo change + + if(!is_dir("$default->owl_FileDir/".find_path($parent)."/backup")) { + mkdir("$default->owl_FileDir/".find_path($parent)."/backup", 0777); + + // End Danilo change + + + + // is there already a backup directory for current dir? + if(is_dir("$default->owl_FileDir/".find_path($parent)."/backup")) { + $sql->query("INSERT into $default->owl_folders_table (name, parent, security, groupid, creatorid) values ('backup', '$parent', '50', '$groupid', '$userid')"); + } else { + printError("$lang_err_backup_folder_create",""); + } + } + copy($newpath,$backuppath); // copy existing file to backup folder + } + // End Daphne Change + + if(!file_exists($newpath) == 1) printError("$lang_err_file_update",""); + copy($userfile['tmp_name'], $newpath); + unlink($userfile['tmp_name']); + if(!file_exists($newpath)) + if ($default->debug == true) + printError($lang_err_upload,$newpath); + else + printError($lang_err_upload,""); + // Begin Daphne Change + if ($default->owl_version_control == 1) { + if(!file_exists($backuppath)) die ("$lang_err_backup_file"); + + // find id of the backup folder you are saving the old file to + $sql->query("Select id from $default->owl_folders_table where name='backup' and parent='$parent'"); + while($sql->next_record()) { + $backup_parent = $sql->f("id"); + } + } + } + + if($versionchange == 'major_revision') { + // if someone requested a major revision, must + // make the minor revision go back to 0 + //$versionchange = "minor_revision='0', major_revision"; + //$new_version_num = $major_revision + 1; + $new_major = $major_revision + 1; + $new_minor = 0; + $versionchange = "minor_revision='0', major_revision"; + $new_version_num = $major_revision + 1; + + } + else { + // simply increment minor revision number + $new_version_num = $minor_revision + 1; + $new_minor = $minor_revision + 1; + $new_major = $major_revision; + } + + // printError("old: $minor_revision", "New: $new_minor"); + // End Daphne Change + + $groupid = owlusergroup($userid); + $modified = date("M d, Y \a\\t h:i a"); + $smodified = date("Y-m-d g:i:s"); + + // Begin Daphne Change + if ($default->owl_version_control == 1) { + if ($default->owl_use_fs) + { + // insert entry for backup file + // WORKING WORKING + $sql->query("INSERT into $default->owl_files_table (name,filename,size,creatorid,parent,modified, smodified,groupid,description,metadata,security,major_revision,minor_revision) values ('$backup_name','$version_name','$backup_size','$backup_creatorid','$backup_parent','$backup_modified', '$backup_smodified','$backup_groupid', '$backup_description','$backup_metadata','$backup_security','$backup_major','$backup_minor')") or unlink($backuppath); + + // update entry for existing file. Bozz's code is repeated underneath, + // without the versioning attribute included. + + + // BEGIN Bozz Change + // Added this check, if the policy is allow Read Write NO DELETE + // we have to make sure that the Creator is not changed. + // in the case of an updated, that would then allow a user to + // delete the file. Only the original Creator should be allowed + // to delete the file. + if ( getfilepolicy($id) == 5 || getfilepolicy($id) == 6) + { + // Daphne addition -- $versionchange = $new_version_num + $sql->query("UPDATE $default->owl_files_table set size='".$userfile['size']."',modified='$modified',smodified='$smodified', $versionchange='$new_version_num', description='$newdesc' where id='$id'") or unlink($newpath); + } + else + { + // Daphne addition -- $versionchange = $new_version_num + $sql->query("UPDATE $default->owl_files_table set size='".$userfile['size']."',creatorid='$userid',modified='$modified',smodified='$smodified', $versionchange='$new_version_num',description='$newdesc' where id='$id'") or unlink($newpath); + } + } else { + // BEGIN wes change + // insert entry for current version of file + $compressed = '0'; + $userfile = uploadCompat("userfile"); + $fsize = filesize($userfile['tmp_name']); + $sql->query("INSERT into $default->owl_files_table (name,filename,size,creatorid,parent,modified, smodified,groupid,description,metadata,security,major_revision,minor_revision) values ('$backup_name','".$userfile['name']."','".$userfile['size']."','$backup_creatorid','$parent','$modified', '$smodified','$backup_groupid', '$newdesc', '$backup_metadata','$backup_security','$new_major','$new_minor')"); + $id = $sql->insert_id(); + + + + + + if ($default->owl_compressed_database && file_exists($default->gzip_path)) { + system($default->gzip_path . " " . escapeshellarg($userfile['tmp_name'])); + $fd = fopen($userfile['tmp_name'] . ".gz", 'rb'); + $userfile['tmp_name'] = $userfile['tmp_name'] . ".gz"; + $fsize = filesize($userfile['tmp_name']); + $compressed = '1'; + } else { + $fd = fopen($userfile['tmp_name'], 'rb'); + } + $filedata = addSlashes(fread($fd, $fsize)); + fclose($fd); + + if ($id !== NULL && $filedata) { + $sql->query("insert into $default->owl_files_data_table (id, data, compressed) values ('$id', '$filedata','$compressed')"); + } + // END wes change + } + // END Bozz Change + + } + + else { // versioning not included in the DB update + if ($default->owl_use_fs) + { + // BEGIN Bozz Change + if ( getfilepolicy($id) == 5 || getfilepolicy($id) == 6) + { + $sql->query("update $default->owl_files_table set size='".$userfile['size']."',modified='$modified',smodified='$smodified' where id='$id'") or unlink($newpath); + } + else + { + $sql->query("update $default->owl_files_table set size='".$userfile['size']."',creatorid='$userid',modified='$modified',smodified='$smodified' where id='$id'") or unlink($newpath); + } + // END Bozz Change + } + } + + // End Daphne Change + + if ($quota_max != "0") $sql->query("update $default->owl_users_table set quota_current = '$new_quota' where id = '$userid'"); + + //notify_users($groupid,1, find_path($parent),$filename, $title, $newdesc); + notify_users($groupid,1,$parent,$filename, $title, $newdesc, $type); + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); +// END BUG FIX: #433932 Fileupdate and Quotas + } else { + include("./lib/header.inc"); + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + +
+"); + print uid_to_name($userid); + print (""); +?> + + + $lang_logout");?> + "); ?> +


+ query("insert into $default->owl_files_table (name,filename,size,creatorid,parent,modified,description,metadata,security,groupid,smodified,checked_out, major_revision, minor_revision, url) values ('$title', '".$userfile["name"]."', '".$userfile["size"]."', '$userid', '$parent', '$modified', '$description', '$metadata', '$security', '$groupid','$smodified','$checked_out','$major_revision','1','1')"); + } + else { + $sql->query("select * from $default->owl_users_table where id = '$userid'"); + while($sql->next_record()) { + $quota_max = $sql->f("quota_max"); + $quota_current = $sql->f("quota_current"); + $new_quota = $quota_current + $userfile["size"]; + } + if (($new_quota > $quota_max) && ($quota_max != "0")) { + + die("$lang_err_quota".$new_quota."$lang_err_quota_needed".($quota_max - $quota_current)."$lang_err_quota_avail"); + if(($quota_max - $quota_current) == "0") + die("$lang_err_quota_exceed"); + } + $new_name = ereg_replace("[^-A-Za-z0-9._]", "", ereg_replace(" ", "_", ereg_replace("%20|^-", "_", $userfile["name"]))); + + if ($default->owl_use_fs) + { + $newpath = $default->owl_FileDir."/".find_path($parent)."/".$new_name; + if(file_exists($newpath) == 1) + if ($default->debug == true) + printError($lang_fileexists,$newpath); + else + printError($lang_fileexists,""); + + copy($userfile["tmp_name"], $newpath); + unlink($userfile["tmp_name"]); + if(!file_exists($newpath)) + if ($default->debug == true) + printError($lang_err_upload,$newpath); + else + printError($lang_err_upload,""); + } + else { + // is name already used? + //printError("SQL", "select filename from $default->owl_files_table where filename = '$new_name' and parent='$parent'"); + $sql->query("select filename from $default->owl_files_table where filename = '$new_name' and parent='$parent'"); + while($sql->next_record()) + { + if ($sql->f("filename")) { + // can't move... + printError("File Exists:","There is already a file with the name $new_name in this directory.",""); + // print("$lang_return

"); + // needs to be internationalized + //exit("File Exists: There is already a file with the name $title in this directory."); + } + } + + } + /* BEGIN Bozz Change + If your not part of the Administartor Group + the Folder will have your group ID assigned to it */ + + if ( owlusergroup($userid) != 0 ) + { + $groupid = owlusergroup($userid); + } + // Bozz Change End + + $modified = date("M d, Y \a\\t h:i a"); + $smodified = date("Y-m-d g:i:s"); + if($title == "") $title = $new_name; + if($major_revision == "") $major_revision = 0; + if($minor_revision == "") $minor_revision = 1; + if($checked_out == "") $checked_out = 0; + // WORKING WORKING + + $compressed = '0'; + $userfile = uploadCompat("userfile"); + $fsize = $userfile['size']; + if (!$default->owl_use_fs && $default->owl_compressed_database && file_exists($default->gzip_path)) { + system($default->gzip_path . " " . escapeshellarg($userfile['tmp_name'])); + $userfile['tmp_name'] = $userfile['tmp_name'] . ".gz"; + $fsize = filesize($userfile['tmp_name']); + $compressed = '1'; + } + $result = $sql->query("insert into $default->owl_files_table (name,filename,size,creatorid,parent,modified,description,metadata,security,groupid,smodified,checked_out, major_revision, minor_revision, url) values ('$title', '$new_name', '".$userfile['size']."', '$userid', '$parent', '$modified', '$description', '$metadata', '$security', '$groupid','$smodified','$checked_out','$major_revision','$minor_revision', '0')") or unlink($newpath); + + if (!$result && $default->owl_use_fs) unlink($newpath); + // BEGIN wes change + if (!$default->owl_use_fs) { + $id = $sql->insert_id(); + $fd = fopen($userfile['tmp_name'], 'rb'); + $filedata = addSlashes(fread($fd, $fsize)); + fclose($fd); + + if ($id !== NULL && $filedata) { + $sql->query("insert into $default->owl_files_data_table (id, data, compressed) values ('$id', '$filedata', '$compressed')"); + } + } + + + if ($quota_max != "0") $sql->query("update $default->owl_users_table set quota_current = '$new_quota' where id = '$userid'"); + } + + notify_users($groupid,0,$parent,$new_name, $title, $description, $type); + + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); + } else { + include("./lib/header.inc"); + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + +
+ "); + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + "); ?> +


+ owl_use_fs) + { + + $name = flid_to_name($id); + if ($name != $title) + { + // we're changing the name ... need to roll this to other revisions + // is name already used? + $sql->query("select name from $default->owl_files_table where name = '$title' and parent='$parent'"); + while($sql->next_record()) + { + if ($sql->f("name")) { + // can't move... + //print("$lang_return

"); + // needs to be internationalized + printError("File Exists: There is already a file with the name $title in this directory.",""); + } + } + $sql->query("update $default->owl_files_table set name='$title' where parent='$parent' AND name = '$name'"); + } + } + + $sql->query("update $default->owl_files_table set name='$title', security='$security', metadata='$metadata', description='$description',groupid='$groupid', creatorid ='$file_owner' where id = '$id'"); + // End Bozz Change + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); + } else { + include("./lib/header.inc"); + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + +
+ "); + } + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + "); ?> +


+ query("delete from $default->owl_files_table where id = '$id'"); + } + else { + $sql->query("select * from $default->owl_files_table where id = '$id'"); + while($sql->next_record()) { + $path = find_path($sql->f("parent")); + $filename = $sql->f("filename"); + $filesize = $sql->f("size"); + $owner = $sql->f("creatorid"); + } + $sql->query("select * from $default->owl_users_table where id = '$owner'"); + while($sql->next_record()) { + $quota_current = $sql->f("quota_current"); + $quota_max = $sql->f("quota_max"); + } + $new_quota = $quota_current - $filesize; + if($quota_max != "0") $sql->query("update $default->owl_users_table set quota_current = '$new_quota' where id = '$owner'"); + + if($default->owl_use_fs) { + unlink($default->owl_FileDir."/".$path."/".$filename); + } else { + $sql->query("delete from $default->owl_files_data_table where id = '$id'"); + } + + $sql->query("delete from $default->owl_files_table where id = '$id'"); + sleep(.5); + } + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); + } else { + include("./lib/header.inc"); + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + +
+"); + print uid_to_name($userid); + print (""); +?> + + $lang_logout");?> + "); ?> +


+ query("select checked_out from $default->owl_files_table where id = '$id'"); + + while($sql->next_record()) { + $file_lock = $sql->f("checked_out"); + } + + if ($file_lock == 0) { + // reserve the file + $sql->query("update $default->owl_files_table set checked_out='$userid' where id='$id'"); + } + else { + if ($file_lock == $userid) { + // check the file back in + $sql->query("update $default->owl_files_table set checked_out='0' where id='$id'"); + } + else { + // throw error; someone else is trying to lock the file! + include("./lib/header.inc"); + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + +
+ "); + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + "); ?> +


+ table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + + "); + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + + "); ?> +

+ owl_use_fs) { + $fID=$parent; + do { + $sql->query("select name,parent from $default->owl_folders_table where id='$fID'"); + while($sql->next_record()) { + $tName = $sql->f("name"); + $fID = $sql->f("parent"); + } + $path=$tName."/".$path; + } while ($fID != 0); + } + $sql->query("select name, filename, description from $default->owl_files_table where id='$id'"); + $sql->next_record(); + $name= $sql->f("name"); + $desc= $sql->f("description"); + $filename = $sql->f("filename"); + + $mail = new phpmailer(); + + $mail->IsSMTP(); // set mailer to use SMTP + $mail->Host = "$default->owl_email_server"; // specify main and backup server + $mail->From = "$default->owl_email_from"; + $mail->FromName = "$default->owl_email_fromname"; + + $r=preg_split("(\;|\,)",$mailto); + reset ($r); + while (list ($occ, $email) = each ($r)) + $mail->AddAddress($email); + if($replyto == "" ) + $mail->AddReplyTo("$default->owl_email_replyto", "OWL Intranet"); + else + $mail->AddReplyTo("$replyto"); + + if($ccto != "") + $mail->AddCC("$ccto"); + + + $mail->WordWrap = 50; // set word wrap to 50 characters + $mail->IsHTML(true); // set email format to HTML + + $mail->Subject = "$lang_file: $name -- $subject"; + if ($type != "url") { + $mail->Body = "$mailbody" . "

" . "$lang_description:

$desc"; + $mail->altBody = "$mailbody" . "\n\n" . "$lang_description: \n\n $desc"; + // BEGIN wes change + if (!$default->owl_use_fs) { + if (file_exists("$default->owl_FileDir/$path$filename")) { + unlink("$default->owl_FileDir/$path$filename"); + } + $file = fopen("$default->owl_FileDir/$path$filename", 'wb'); + $sql->query("select data,compressed from $default->owl_files_data_table where id='$id'"); + while ($sql->next_record()) { + if ($sql->f("compressed")) { + + $tmpfile = $default->owl_FileDir . "owltmp.$id.gz"; + $uncomptmpfile = $default->owl_FileDir . "owltmp.$id"; + if (file_exists($tmpfile)) unlink($tmpfile); + + $fp=fopen($tmpfile,"w"); + fwrite($fp, $sql->f("data")); + fclose($fp); + + system($default->gzip_path . " -df $tmpfile"); + + $fsize = filesize($uncomptmpfile); + $fd = fopen($uncomptmpfile, 'rb'); + $filedata = fread($fd, $fsize); + fclose($fd); + + fwrite($file, $filedata); + unlink($uncomptmpfile); + } else { + fwrite($file, $sql->f("data")); + } + } + fclose($file); + } + + $mail->AddAttachment("$default->owl_FileDir/$path$filename"); + } + else { + $mail->Body = "$filename" . "

" . "$mailbody" . "

" . "$lang_description:

$desc"; + $mail->altBody = "$filename" . "\n\n" ."$mailbody" . "\n\n" . "$lang_description: \n\n $desc"; + } + + if(!$mail->Send()) + { + printError($lang_err_email, $mail->ErrorInfo); + //printError("Server:$default->owl_email_server
File:$default->owl_FileDir/$path$filename ", $mail->ErrorInfo); + } + if (!$default->owl_use_fs) { + unlink("$default->owl_FileDir/$path$filename"); + } + + } +} + + +if($action == "folder_create") { + if(check_auth($parent, "folder_modify", $userid) == 1) { + $sql = new Owl_DB; + //we have to be careful with the name just like with the files + //Comment this one out TRACKER : 603887, this was not done for renaming a folder + // So lets see if it causes problems while creating folders. + // Seems it causes a problem, so I put it back. + $name = ereg_replace("[^-A-Za-z0-9._[:space:]]", "", ereg_replace("%20|^-", " ", $name)); + $sql->query("select * from $default->owl_folders_table where name = '$name' and parent = '$parent'"); + if($sql->num_rows() > 0) + printError("$lang_err_folder_exist",""); + + if ( $name == '') + printError($lang_err_nameempty,""); + + if($default->owl_use_fs) { + $path = find_path($parent); + mkdir($default->owl_FileDir."/".$path."/".$name, 0777); + if(!is_dir("$default->owl_FileDir/$path/$name")) { + if ($default->debug == true) + printError($lang_err_folder_create,"$default->owl_FileDir/$path/$name"); + else + printError($lang_err_folder_create,""); + } + } + $sql->query("insert into $default->owl_folders_table (name,parent,security,groupid,creatorid) values ('$name', '$parent', '$policy', '$groupid', '$userid')"); + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); + } else { + include("./lib/header.inc"); + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + +
+ "); + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + "); ?> +


+ query("select parent from $default->owl_folders_table where id = '$id'"); + while($sql->next_record()) $parent = $sql->f("parent"); + $path = $default->owl_FileDir."/".find_path($parent)."/"; + $source = $path . $origname; + $name = ereg_replace("[^-A-Za-z0-9._[:space:]]", "", ereg_replace("%20|^-", " ", $name)); + $dest = $path . $name; + + if ($default->owl_use_fs) { + if (!file_exists($path . $name) == 1 || $source == $dest) { + if (substr(php_uname(), 0, 7) != "Windows") { + if ($source != $dest) { + $cmd="mv \"$path$origname\" \"$path$name\" 2>&1"; + $lines=array();$errco=0; + $result = myExec($cmd,$lines,$errco); + if ( $errco != 0 ) + printError($lang_err_movecancel, $result); + } + } + else { + // IF Windows just do a rename and hope for the best + rename ("$path$origname", "$path$name"); + } + + } + else + printError($lang_err_folderexists,""); + } + else { + $sql->query("select * from $default->owl_folders_table where parent = '$parent' and name = '$name'"); + if ($sql->num_rows($sql) != 0) + printError($lang_err_folderexists,""); + } + /* BEGIN Bozz Change + If your not part of the Administartor Group + the Folder will have your group ID assigned to it */ + if ( owlusergroup($userid) != 0 ) + { + $sql->query("update $default->owl_folders_table set name='$name', security='$policy' where id = '$id'"); + } + else + { + $sql->query("update $default->owl_folders_table set name='$name', security='$policy', groupid='$groupid' where id = '$id'"); + } + + + // Bozz change End + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); + } else { + include("./lib/header.inc"); + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + +
+ "); + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + "); ?> +


+ query("select id,name,parent from $default->owl_folders_table order by name"); + $fCount = ($sql->nf()); + $i = 0; + while($sql->next_record()) { + $folderList[$i][0] = $sql->f("id"); + $folderList[$i][2] = $sql->f("parent"); + $i++; + } + if ($default->owl_use_fs) + myDelete($default->owl_FileDir."/".find_path($id)); + + delTree($id); + sleep(.5); + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); + } else { + include("./lib/header.inc"); + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + +
+ "); + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + "); ?> +


+ query("select * from $default->owl_sessions_table where uid = '$id' and sessid = '$sess'"); + if($sql->num_rows() <> 1) + { + die ("$lang_err_unauthorized"); + } + + if ($newpassword <> '') + { + $sql = new Owl_DB; + $sql->query("select * from $default->owl_users_table where id = '$id' and password = '" . md5($oldpassword) ."'"); + if($sql->num_rows() == 0) + die("$lang_err_pass_wrong"); + if ( $newpassword == $confpassword) + $sql->query("UPDATE $default->owl_users_table SET name='$name',password='" . md5("$newpassword") . "' where id = '$id'"); + else + die ("$lang_err_pass_missmatch"); + } + $sql->query("UPDATE $default->owl_users_table SET name='$name', email='$email', notify='$notify', attachfile='$attachfile', language='$newlanguage' where id = '$id'"); +} + + +header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); + +?> diff --git a/download.php b/download.php new file mode 100755 index 0000000..25e41e1 --- /dev/null +++ b/download.php @@ -0,0 +1,225 @@ +query("select parent from $default->owl_folders_table where id = '$parent'"); + while($sql->next_record()) { + $path = fid_to_name($sql->f("parent"))."/".$path; + $parent = $sql->f("parent"); + } + } + return $path; +} + +function fid_to_filename($id) { + global $default; + $sql = new Owl_DB; + $sql->query("select filename from $default->owl_files_table where id = '$id'"); + while($sql->next_record()) return $sql->f("filename"); +} + +function zip_folder($id, $userid) { + + global $default, $sess; + + $tmpdir = $default->owl_FileDir . "/owltmpfld_$sess.$id"; + //if (file_exists($tmpdir)) system("rm -rf " . escapeshellarg($tmpdir)); + if (file_exists($tmpdir)) myDelete($tmpdir); + + mkdir("$tmpdir", 0777); + //system("mkdir " . escapeshellarg($tmpdir)); + $sql = new Owl_DB; + $sql2 = new Owl_DB; + + $sql->query("select name, id from $default->owl_folders_table where id = '$id'"); + while($sql->next_record()) { + $top= $sql->f("name"); + } + $path = "$tmpdir/$top"; + mkdir("$path", 0777); + //system("mkdir " . escapeshellarg($path)); + + folder_loop($sql, $sql2, $id, $path, $userid); + // get all files in folder + // GETTING IE TO WORK IS A PAIN! + if (strstr($_SERVER["HTTP_USER_AGENT"], "MSIE")) + header("Content-Type: application/x-gzip"); + else + header("Content-Type: application/octet-stream"); + + + header("Content-Disposition: attachment; filename=\"$top.tgz\""); + header("Content-Location: \"$top.tgz\""); + // header("Content-Length: $fsize"); + header("Expires: 0"); + //header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); + //header("Pragma: Public"); + + if (file_exists($default->tar_path)) { + if (file_exists($default->gzip_path)) { + //passthru("$default->tar_path -C ". escapeshellarg($tmpdir) . " -zc " . escapeshellarg($top)); + passthru("$default->tar_path cf - -C ". escapeshellarg($tmpdir) . " " . escapeshellarg($top) . "| " . $default->gzip_path . " -c -9"); + } else { + //passthru("$default->tar_path -C ". escapeshellarg($tmpdir) . " -zc " . escapeshellarg($top)); + passthru("$default->tar_path cf - -C ". escapeshellarg($tmpdir) . " " . escapeshellarg($top) ); + } + } else { + myDelete($tmpdir); + printError("$default->tar_path was not found",""); + } + myDelete($tmpdir); + //system("rm -rf " . escapeshellarg($tmpdir)); +} + + + +//function folder_loop(&$sql, &$sql2, $id, $tmpdir, $userid) { +function folder_loop($sql, $sql2, $id, $tmpdir, $userid) { + + global $default; + + if(check_auth($id, "folder_view", $userid) == 1) { + + $sql = new Owl_DB; + // write out all the files + $sql->query("select * from $default->owl_files_table where parent = '$id'"); + while($sql->next_record()) { + $fid = $sql->f("id"); + $filename = $tmpdir . "/" . $sql->f("filename"); + if(check_auth($fid, "file_download", $userid) == 1) { + + if ($default->owl_use_fs) { + $source = $default->owl_FileDir . "/" . get_dirpath($id) . "/" . $sql->f("filename"); + copy($source, $filename); + } + else { + $sql2->query("select data,compressed from " . $default->owl_files_data_table . " where id='$fid'"); + while($sql2->next_record()) { + if ($sql2->f("compressed")) { + + $fp=fopen($filename . ".gz","w"); + fwrite($fp, $sql2->f("data")); + fclose($fp); + system($default->gzip_path . " -d " . escapeshellarg($filename) .".gz"); + + } else { + $fp=fopen($filename,"w"); + fwrite($fp, $sql2->f("data")); + fclose($fp); + } // end if + + } // end if + + } // end while + + } // end if + + } // end while + + // recurse into directories + $sql->query("select name, id from $default->owl_folders_table where parent = '$id'"); + while($sql->next_record()) { + $saved = $tmpdir; + $tmpdir .= "/" . $sql->f("name"); + mkdir("$tmpdir", 0777); + //system("mkdir " . escapeshellarg($tmpdir)); + folder_loop($sql, $sql2, $sql->f("id"), $tmpdir, $userid); + $tmpdir = $saved; + } + } +} + + + +if ($action == "folder") { + $abort_status = ignore_user_abort(true); + zip_folder($id, $userid); + ignore_user_abort($abort_status); + exit; +} + +if(check_auth($id, "file_download", $userid) == 1) { + $filename = fid_to_filename($id); + $mimeType = "application/octet-stream"; + + if ($binary != 1) { + if ($filetype = strrchr($filename,".")) { + $filetype = substr($filetype,1); + $sql = new Owl_DB; + $sql->query("select * from $default->owl_mime_table where filetype = '$filetype'"); + while($sql->next_record()) $mimeType = $sql->f("mimetype"); + } + } + + // BEGIN wes change + + if ($default->owl_use_fs) { + $path = find_path($parent)."/".$filename; + $fspath = $default->owl_FileDir."/".$path; + $fsize = filesize($fspath); + } else { + $sql->query("select size from " . $default->owl_files_table . " where id='$id'"); + while($sql->next_record()) $fsize = $sql->f("size"); + } + // END wes change + + + // BEGIN BUG: 495556 File download sends incorrect headers + // header("Content-Disposition: filename=\"$filename\""); + header("Content-Disposition: attachment; filename=\"$filename\""); + header("Content-Location: $filename"); + header("Content-Type: $mimeType"); + header("Content-Length: $fsize"); + //header("Pragma: no-cache"); + header("Expires: 0"); + // END BUG: 495556 File download sends incorrect headers + + // BEGIN wes change + if ($default->owl_use_fs) { + if (substr(php_uname(), 0, 7) != "Windows") + $fp=fopen("$fspath","r"); + else + $fp=fopen("$fspath","rb"); + print fread($fp,filesize("$fspath")); + fclose($fp); + } else { + $sql->query("select data,compressed from " . $default->owl_files_data_table . " where id='$id'"); + while($sql->next_record()) { + if ($sql->f("compressed")) { + $tmpfile = $default->owl_FileDir . "owltmp.$id"; + if (file_exists($tmpfile)) unlink($tmpfile); + + $fp=fopen($tmpfile,"w"); + fwrite($fp, $sql->f("data")); + fclose($fp); + flush(passthru($default->gzip_path . " -dfc $tmpfile")); + unlink($tmpfile); + } else { + print $sql->f("data"); + flush(); + } + } + } + // END wes change +} else { + print($lang_nofileaccess); +} + +?> diff --git a/graphics/admin_backup.gif b/graphics/admin_backup.gif new file mode 100644 index 0000000..066d816 --- /dev/null +++ b/graphics/admin_backup.gif diff --git a/graphics/admin_backup_disabled.gif b/graphics/admin_backup_disabled.gif new file mode 100644 index 0000000..83ccc4a --- /dev/null +++ b/graphics/admin_backup_disabled.gif diff --git a/graphics/admin_flush.gif b/graphics/admin_flush.gif new file mode 100755 index 0000000..1462f56 --- /dev/null +++ b/graphics/admin_flush.gif diff --git a/graphics/admin_groups.gif b/graphics/admin_groups.gif new file mode 100644 index 0000000..d7e1c7c --- /dev/null +++ b/graphics/admin_groups.gif diff --git a/graphics/admin_html_prefs.gif b/graphics/admin_html_prefs.gif new file mode 100644 index 0000000..4e15914 --- /dev/null +++ b/graphics/admin_html_prefs.gif diff --git a/graphics/admin_site_prefs.gif b/graphics/admin_site_prefs.gif new file mode 100644 index 0000000..4a4e9f6 --- /dev/null +++ b/graphics/admin_site_prefs.gif diff --git a/graphics/admin_system.gif b/graphics/admin_system.gif new file mode 100644 index 0000000..347ecdc --- /dev/null +++ b/graphics/admin_system.gif diff --git a/graphics/admin_users.gif b/graphics/admin_users.gif new file mode 100644 index 0000000..d2d040c --- /dev/null +++ b/graphics/admin_users.gif diff --git a/graphics/asc.gif b/graphics/asc.gif new file mode 100755 index 0000000..c67b394 --- /dev/null +++ b/graphics/asc.gif diff --git a/graphics/blank.gif b/graphics/blank.gif new file mode 100755 index 0000000..f8b9b7b --- /dev/null +++ b/graphics/blank.gif diff --git a/graphics/desc.gif b/graphics/desc.gif new file mode 100755 index 0000000..9d2f775 --- /dev/null +++ b/graphics/desc.gif diff --git a/graphics/owlftp.gif b/graphics/owlftp.gif new file mode 100755 index 0000000..308ca99 --- /dev/null +++ b/graphics/owlftp.gif diff --git a/graphics/rc.gif b/graphics/rc.gif new file mode 100755 index 0000000..49fd372 --- /dev/null +++ b/graphics/rc.gif diff --git a/graphics/star.gif b/graphics/star.gif new file mode 100755 index 0000000..360bcb1 --- /dev/null +++ b/graphics/star.gif diff --git a/graphics/star10.gif b/graphics/star10.gif new file mode 100644 index 0000000..6148fc3 --- /dev/null +++ b/graphics/star10.gif diff --git a/index.php b/index.php new file mode 100755 index 0000000..c4915c4 --- /dev/null +++ b/index.php @@ -0,0 +1,110 @@ +Open_Session(0,$verified["uid"]); + /* + $sql = new Owl_DB; + $sql->query("select * from $default->owl_folders_table where parent = '2' and name = '$loginname'"); + while($sql->next_record()) $id = $sql->f("id"); + */ + $id = 1; + + + + + /* BEGIN Bozz Change */ + + /* If an admin signs on We want to se the admin menu + Not the File Browser. */ + if ( $verified["group"] == 0) + { + if(!isset($fileid)) + header("Location: admin/index.php?sess=". $uid->sessdata["sessid"]); + else + header("Location: browse.php?sess=". $uid->sessdata["sessid"]."&parent=$parent&fileid=$fileid"); + } + else + { + if(!isset($fileid)) + header("Location: browse.php?sess=". $uid->sessdata["sessid"]); + else + header("Location: browse.php?sess=". $uid->sessdata["sessid"]."&parent=$parent&fileid=$fileid"); + } + /* END Bozz Change */ + + } else { + if ($verified["bit"] == 2) + header("Location: index.php?login=1&failure=2"); + else if ($verified["bit"] == 3 ) + header("Location: index.php?login=1&failure=3"); + else + header("Location: index.php?login=1&failure=1"); + } +} + + +if(($login == 1) || ($failure == 1)) { + include("./lib/header.inc"); + print("
"); +// BUG Number: 457588 +// This is to display the version inforamation +// BEGIN + print("
$lang_engine
$lang_version: $default->version

"); +// END + if($failure == 1) print("
$lang_loginfail
"); + if($failure == 2) print("
$lang_logindisabled
"); + if($failure == 3) print("
$lang_toomanysessions
"); + print "
"; + if (isset($fileid)) { + print ""; + print ""; + } + print ""; + print "
$lang_username:
$lang_password:
"; + print "\n"; + print "


"; + exit; +} + +if($login == "logout") { + include("./lib/header.inc"); + print("
"); +// BUG Number: 457588 +// This is to display the version inforamation +// BEGIN + print("
$lang_engine
$lang_version: $default->version

"); +// END + $sql = new Owl_DB; + $sql->query("delete from $default->owl_sessions_table where sessid = '$sess'"); + print("
$lang_successlogout
"); + print ""; + print ""; + print "
$lang_username:
$lang_password:
"; + print "\n"; + print "


"; + exit; +} +include("./lib/footer.inc"); +?> diff --git a/lib/footer.inc b/lib/footer.inc new file mode 100755 index 0000000..69dee3c --- /dev/null +++ b/lib/footer.inc @@ -0,0 +1,44 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +if ($expand == "1") { + echo "\t
table_expand_width>"; +} else { + echo "\t
table_collapse_width>"; +} + +?> + +$lang_engine
"); +print("Version: $default->version"); +// END +?> +$lang_admin
"); +} +print " + +"; +?> + + + diff --git a/lib/header.inc b/lib/header.inc new file mode 100755 index 0000000..20a053d --- /dev/null +++ b/lib/header.inc @@ -0,0 +1,33 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +?> + + + + Owl Intranet + + + + +
+
+
diff --git a/lib/owl.lib.php b/lib/owl.lib.php new file mode 100755 index 0000000..1fd7db3 --- /dev/null +++ b/lib/owl.lib.php @@ -0,0 +1,969 @@ += "4.1.0") + import_request_variables('pgc'); + else { + if (!EMPTY($_POST)) { + extract($_POST); + } else { + extract($HTTP_POST_VARS); + } + if (!EMPTY($_GET)) { + extract($_GET); + } else { + extract($HTTP_GET_VARS); + } + if (!EMPTY($_FILE)) { + extract($_FILE); + } else { + extract($HTTP_POST_FILES); + } +} + + +if(!isset($sess)) $sess = 0; +if(!isset($loginname)) $loginname = 0; +if(!isset($login)) $login = 0; + +if(isset($default->owl_lang)) { + $langdir = "$default->owl_fs_root/locale/$default->owl_lang"; + if(is_dir("$langdir") != 1) { + die("$lang_err_lang_1 $langdir $lang_err_lang_2"); + } else { + $sql = new Owl_DB; + $sql->query("select * from $default->owl_sessions_table where sessid = '$sess'"); + $sql->next_record(); + $numrows = $sql->num_rows($sql); + $getuid = $sql->f("uid"); + if($numrows == 1) { + $sql->query("select * from $default->owl_users_table where id = $getuid"); + $sql->next_record(); + $language = $sql->f("language"); + // BEGIN wes fix + if(!$language) { + $language = $default->owl_lang; + } + // END wes fix + require("$default->owl_fs_root/locale/$language/language.inc"); + $default->owl_lang = $language; + } + else + require("$default->owl_fs_root/locale/$default->owl_lang/language.inc"); + } +} else { + die("$lang_err_lang_notfound"); +} + + +class Owl_DB extends DB_Sql { + var $classname = "Owl_DB"; + + // BEGIN wes changes -- moved these settings to config/owl.php + // Server where the database resides + var $Host = ""; + + // Database name + var $Database = ""; + + // User to access database + var $User = ""; + + // Password for database + var $Password = ""; + + function Owl_DB() { + global $default; + $this->Host = $default->owl_db_host; + $this->Database = $default->owl_db_name; + $this->User = $default->owl_db_user; + $this->Password = $default->owl_db_pass; + } + // END wes changes + + function haltmsg($msg) { + printf("Database error: %s
\n", $msg); + printf("SQL Error: %s (%s)
\n", + $this->Errno, $this->Error); + } +} + + +class Owl_Session { + var $sessid; + var $sessuid; + var $sessdata; + + + function Open_Session($sessid=0, $sessuid=0) { + global $default; + $this->sessid = $sessid; + $this->sessuid = $sessuid; + + if($sessid == "0") { // if there is no user loged in, then create a session for them + $current = time(); + $random = $this->sessuid . $current; + $this->sessid = md5($random); + $sql = new Owl_DB; + if(getenv("HTTP_CLIENT_IP")) { + $ip = getenv("HTTP_CLIENT_IP"); + } elseif(getenv("HTTP_X_FORWARDED_FOR")) { + $forwardedip = getenv("HTTP_X_FORWARDED_FOR"); + list($ip,$ip2,$ip3,$ip4)= split (",", $forwardedip); + } else { + $ip = getenv("REMOTE_ADDR"); + } + //$result = $sql->query("insert into active_sessions values ('$this->sessid', '$this->sessuid', '$current', '$ip')"); + $result = $sql->query("insert into $default->owl_sessions_table values ('$this->sessid', '$this->sessuid', '$current', '$ip')"); + if(!'result') die("$lang_err_sess_write"); + } + + // else we have a session id, try to validate it... + $sql = new Owl_DB; + $sql->query("select * from $default->owl_sessions_table where sessid = '$this->sessid'"); + + // any matching session ids? + $numrows = $sql->num_rows($sql); + if(!$numrows) die("$lang_err_sess_notvalid"); + + // return if we are a.o.k. + while($sql->next_record()) { + $this->sessdata["sessid"] = $sql->f("sessid"); + } + return $this; + } +} +function notify_users($groupid, $flag, $parent, $filename, $title, $desc, $type) { + global $default; + global $lang_notif_subject_new, $lang_notif_subject_upd, $lang_notif_msg; + global $lang_title, $lang_description; + $sql = new Owl_DB; +// BEGIN BUG 548994 + $path = find_path($parent); + $sql->query("select id from $default->owl_files_table where filename='$filename' AND parent='$parent'"); + $sql->next_record(); + $fileid = $sql->f("id"); +// END BUG 548994 More Below + $sql->query("select distinct id, email,language,attachfile from $default->owl_users_table as u, $default->owl_users_grpmem_table as m where notify = 1 and (u.groupid = $groupid or m.groupid = $groupid)"); + + while($sql->next_record()) + { +// BEGIN BUG 548994 + if ( check_auth($fileid, "file_download", $sql->f(id)) == 1 ) { +// END BUG 548994 More Below + $newpath = ereg_replace(" ","%20",$path); + $newfilename = ereg_replace(" ","%20",$filename); + $DefUserLang = $sql->f("language"); + require("$default->owl_fs_root/locale/$DefUserLang/language.inc"); + + $r=preg_split("(\;|\,)",$sql->f("email")); + reset ($r); + while (list ($occ, $email) = each ($r)) { + $mail = new phpmailer(); + // Create a temporary session id, the user + // will need to get to this file before + // the default session timeout + $session = new Owl_Session; + $uid = $session->Open_Session(0,$sql->f("id")); + $tempsess = $uid->sessdata["sessid"]; + + if ( $flag == 0 ) { + $mail->IsSMTP(); // set mailer to use SMTP + $mail->Host = "$default->owl_email_server"; // specify main and backup server + $mail->From = "$default->owl_email_from"; + $mail->FromName = "$default->owl_email_fromname"; + $mail->AddAddress($email); + $mail->AddReplyTo("$default->owl_email_replyto", "OWL Intranet"); + $mail->WordWrap = 50; // set word wrap to 50 characters + $mail->IsHTML(true); // set email format to HTML + $mail->Subject = "$lang_notif_subject_new"; + if ($type != "url") { + if ($sql->f("attachfile") == 1) { + $mail->Body = "$lang_notif_msg

" . "$lang_title: $title" . "

$lang_description: $desc"; + $mail->altBody = "$lang_notif_msg\n\n" . "$lang_title: $title" . "\n\n $lang_description: $desc"; + if (!$default->owl_use_fs) { + if (file_exists("$default->owl_FileDir/$filename")) { + unlink("$default->owl_FileDir/$filename"); + } + $file = fopen("$default->owl_FileDir$filename", 'wb'); + $getfile = new Owl_DB; + $getfile->query("select data,compressed from $default->owl_files_data_table where id='$fileid'"); + while ($getfile->next_record()) { + if ($getfile->f("compressed")) { + + $tmpfile = $default->owl_FileDir . "owltmp.$fileid.gz"; + $uncomptmpfile = $default->owl_FileDir . "owltmp.$fileid"; + if (file_exists($tmpfile)) unlink($tmpfile); + + $fp=fopen($tmpfile,"w"); + fwrite($fp, $getfile->f("data")); + fclose($fp); + + system($default->gzip_path . " -df $tmpfile"); + + $fsize = filesize($uncomptmpfile); + $fd = fopen($uncomptmpfile, 'rb'); + $filedata = fread($fd, $fsize); + fclose($fd); + + fwrite($file, $filedata); + unlink($uncomptmpfile); + } else { + fwrite($file, $getfile->f("data")); + } + } + fclose($file); + $mail->AddAttachment("$default->owl_FileDir$newfilename"); + } else { + $mail->AddAttachment("$default->owl_FileDir/$newpath/$newfilename"); + } + } + else { + $mail->Body = "$lang_notif_msg

" . "$lang_title: $title" . "

URL: $default->owl_notify_link" . "browse.php?sess=$tempsess&parent=$parent&expand=1&fileid=$fileid" . "

$lang_description: $desc"; + $mail->altBody = "$lang_notif_msg\n\n" . "$lang_title: $title" . "\n\n $lang_description: $desc"; + } + } + else { + $mail->Body = "URL: $newfilename

$lang_notif_msg

" . "$lang_title: $title" . "

$lang_description: $desc"; + $mail->altBody = "URL: $newfilename \n\n$lang_notif_msg\n\n" . "$lang_title: $title" . "\n\n $lang_description: $desc"; + } + + } + else { + $mail = new phpmailer(); + $mail->IsSMTP(); // set mailer to use SMTP + $mail->Host = "$default->owl_email_server"; // specify main and backup server + $mail->From = "$default->owl_email_from"; + $mail->FromName = "$default->owl_email_fromname"; + $mail->AddAddress($email); + $mail->AddReplyTo("$default->owl_email_replyto", "OWL Intranet"); + $mail->WordWrap = 50; // set word wrap to 50 characters + $mail->IsHTML(true); // set email format to HTML + $mail->Subject = "$lang_notif_subject_upd"; + if ($type != "url") { + if ($sql->f("attachfile") == 1) { + $mail->Body = "$lang_notif_msg

" . "$lang_title: $title" . "

$lang_description: $desc"; + $mail->altBody = "$lang_notif_msg\n\n" . "$lang_title: $title" . "\n\n $lang_description: $desc"; + if (!$default->owl_use_fs) { + if (file_exists("$default->owl_FileDir/$filename")) { + unlink("$default->owl_FileDir/$filename"); + } + $file = fopen("$default->owl_FileDir$filename", 'wb'); + $getfile = new Owl_DB; + $getfile->query("select data,compressed from $default->owl_files_data_table where id='$fileid'"); + while ($getfile->next_record()) { + if ($getfile->f("compressed")) { + + $tmpfile = $default->owl_FileDir . "owltmp.$fileid.gz"; + $uncomptmpfile = $default->owl_FileDir . "owltmp.$fileid"; + if (file_exists($tmpfile)) unlink($tmpfile); + + $fp=fopen($tmpfile,"w"); + fwrite($fp, $getfile->f("data")); + fclose($fp); + + system($default->gzip_path . " -df $tmpfile"); + + $fsize = filesize($uncomptmpfile); + $fd = fopen($uncomptmpfile, 'rb'); + $filedata = fread($fd, $fsize); + fclose($fd); + + fwrite($file, $filedata); + unlink($uncomptmpfile); + } else { + fwrite($file, $getfile->f("data")); + } + } + fclose($file); + $mail->AddAttachment("$default->owl_FileDir$newfilename"); + } else { + $mail->AddAttachment("$default->owl_FileDir/$newpath/$newfilename"); + } + + } + else { + $mail->Body = "$lang_notif_msg

" . "$lang_title: $title" . "

URL: $default->owl_notify_link" . "browse.php?sess=$tempsess&parent=$parent&expand=1&fileid=$fileid" . "

$lang_description: $desc"; + $mail->altBody = "$lang_notif_msg\n\n" . "$lang_title: $title" . "\n\n $lang_description: $desc"; + } + } + else { + $mail->Body = "URL: $newfilename

$lang_notif_msg

" . "$lang_title: $title" . "

$lang_description: $desc"; + $mail->altBody = "URL: $newfilename \n\n$lang_notif_msg\n\n" . "$lang_title: $title" . "\n\n $lang_description: $desc"; + } + } + $mail->Send(); + if (!$default->owl_use_fs && $sql->f("attachfile") == 1) { + unlink("$default->owl_FileDir$newfilename"); + } + + } + } +// BEGIN BUG 548994 + } +// END BUG 548994 +} + +function verify_login($username, $password) { + global $default; + $sql = new Owl_DB; + $query = "select * from $default->owl_users_table where username = '$username' and password = '" . md5($password) . "'"; + $sql->query("select * from $default->owl_users_table where username = '$username' and password = '" . md5($password) . "'"); + $numrows = $sql->num_rows($sql); + // Bozz Begin added Password Encryption above, but for now + // I will allow admin to use non crypted password untile he + // upgrades all users + if ($numrows == "1") { + while($sql->next_record()) { + if ( $sql->f("disabled") == 1 ) + $verified["bit"] = 2; + else + $verified["bit"] = 1; + $verified["user"] = $sql->f("username"); + $verified["uid"] = $sql->f("id"); + $verified["group"] = $sql->f("groupid"); + $maxsessions = $sql->f("maxsessions") + 1; + } + } + // Remove this else in a future version + else { + if ($username == "admin") { + $sql->query("select * from $default->owl_users_table where username = '$username' and password = '$password'"); + $numrows = $sql->num_rows($sql); + if ($numrows == "1") { + while($sql->next_record()) { + $verified["bit"] = 1; + $verified["user"] = $sql->f("username"); + $verified["uid"] = $sql->f("id"); + $verified["group"] = $sql->f("groupid"); + $maxsessions = $sql->f("maxsessions") + 1; + } + } + } + } + + // remove stale sessions from the database for the user + // that is signing on. + // + $time = time() - $default->owl_timeout; + $sql = new Owl_DB; $sql->query("delete from $default->owl_sessions_table where uid = '".$verified["uid"]."' and lastused <= $time "); + // Check if Maxsessions has been reached + // + + $sql = new Owl_DB; + $sql->query("select * from $default->owl_sessions_table where uid = '".$verified["uid"]."'"); + + if ($sql->num_rows($sql) >= $maxsessions && $verified["bit"] != 0) { + if ( $verified["group"] == 0) + $verified["bit"] = 1; + else + $verified["bit"] = 3; + } + return $verified; +} + +function verify_session($sess) { + getprefs(); + global $default, $lang_sesstimeout, $lang_sessinuse, $lang_clicklogin; + $sess = ltrim($sess); + $verified["bit"] = 0; + $sql = new Owl_DB; + $sql->query("select * from $default->owl_sessions_table where sessid = '$sess'"); + $numrows = $sql->num_rows($sql); + $time = time(); + if ($numrows == "1") { + while($sql->next_record()) { + if(getenv("HTTP_CLIENT_IP")) { + $ip = getenv("HTTP_CLIENT_IP"); + } elseif(getenv("HTTP_X_FORWARDED_FOR")) { + $forwardedip = getenv("HTTP_X_FORWARDED_FOR"); + list($ip,$ip2,$ip3,$ip4)= split (",", $forwardedip); + } else { + $ip = getenv("REMOTE_ADDR"); + } + if ($ip == $sql->f("ip")) { + if(($time - $sql->f("lastused")) <= $default->owl_timeout) { + $verified["bit"] = 1; + $verified["userid"] = $sql->f("uid"); + $sql->query("select * from $default->owl_users_table where id = '".$verified["userid"]."'"); + while($sql->next_record()) $verified["groupid"] = $sql->f("groupid"); + } else { + // Bozz Bug Fix begin + if (file_exists("./lib/header.inc")) { + include("./lib/header.inc"); + } else { + include("../lib/header.inc"); + } + // Bozz Buf Fix End + print("

".$lang_sesstimeout); + if ($parent == "" || $fileid == "") + print(""); + else + print(""); + exit(); + } + } else { + // Bozz Bug Fix begin + if (file_exists("./lib/header.inc")) { + include("./lib/header.inc"); + } else { + include("../lib/header.inc"); + } + // Bozz Bug Fix End + print("

".$lang_sessinuse); + exit; + } + } + } + return $verified; +} + +function fid_to_name($parent) { + global $default; + $sql = new Owl_DB; $sql->query("select name from $default->owl_folders_table where id = $parent"); + while($sql->next_record()) return $sql->f("name"); +} + +function flid_to_name($id) { + global $default; + $sql = new Owl_DB; $sql->query("select name from $default->owl_files_table where id = $id"); + while($sql->next_record()) return $sql->f("name"); +} + +function flid_to_filename($id) { + global $default; + $sql = new Owl_DB; $sql->query("select filename from $default->owl_files_table where id = $id"); + while($sql->next_record()) return $sql->f("filename"); +} + +function owlusergroup($userid) { + global $default; + $sql = new Owl_DB; $sql->query("select groupid from $default->owl_users_table where id = '$userid'"); + while($sql->next_record()) $groupid = $sql->f("groupid"); + return $groupid; +} + +function owlfilecreator($fileid) { + global $default; + $sql = new Owl_DB; $sql->query("select creatorid from ".$default->owl_files_table." where id = '$fileid'"); + while($sql->next_record()) $filecreator = $sql->f("creatorid"); + return $filecreator; +} + +function owlfoldercreator($folderid) { + global $default; + $sql = new Owl_DB; $sql->query("select creatorid from ".$default->owl_folders_table." where id = '$folderid'"); + while($sql->next_record()) $foldercreator = $sql->f("creatorid"); + return $foldercreator; +} + +function owlfilegroup($fileid) { + global $default; + $sql = new Owl_DB; $sql->query("select groupid from $default->owl_files_table where id = '$fileid'"); + while($sql->next_record()) $filegroup = $sql->f("groupid"); + return $filegroup; +} + +function owlfoldergroup($folderid) { + global $default; + $sql = new Owl_DB; $sql->query("select groupid from $default->owl_folders_table where id = '$folderid'"); + while($sql->next_record()) $foldergroup = $sql->f("groupid"); + return $foldergroup; +} + +function owlfolderparent($folderid) { + global $default; + $sql = new Owl_DB; $sql->query("select parent from $default->owl_folders_table where id = '$folderid'"); + while($sql->next_record()) $folderparent = $sql->f("parent"); + return $folderparent; +} + +function owlfileparent($fileid) { + global $default; + $sql = new Owl_DB; $sql->query("select parent from $default->owl_files_table where id = '$fileid'"); + while($sql->next_record()) $fileparent = $sql->f("parent"); + return $fileparent; +} + +function fid_to_creator($id) { + + global $default; + $sql = new Owl_DB; + $sql->query("select creatorid from ".$default->owl_files_table." where id = '$id'"); + $sql2 = new Owl_DB; + while($sql->next_record()) { + $creatorid = $sql->f("creatorid"); + $sql2->query("select name from $default->owl_users_table where id = '".$creatorid."'"); + $sql2->next_record(); + $name = $sql2->f("name"); + } + return $name; +} + +function group_to_name($id) { + global $default; + $sql = new Owl_DB; $sql->query("select name from $default->owl_groups_table where id = '$id'"); + while($sql->next_record()) return $sql->f("name"); +} + +function uid_to_name($id) { + global $default; + $sql = new Owl_DB; $sql->query("select name from $default->owl_users_table where id = '$id'"); + while($sql->next_record()) $name = $sql->f("name"); + if ($name == "") $name = "Owl"; + return $name; +} + +function prefaccess($id) { + global $default; + $prefaccess = 1; + $sql = new Owl_DB; $sql->query("select noprefaccess from $default->owl_users_table where id = '$id'"); + while($sql->next_record()) $prefaccess = !($sql->f("noprefaccess")); + return $prefaccess; +} + +function gen_navbar($parent) { + global $default; + global $sess, $expand, $sort, $sortorder, $order; + $name = fid_to_name($parent); + $navbar = "$name"; + $new = $parent; + while ($new != "1") { + $sql = new Owl_DB; $sql->query("select parent from $default->owl_folders_table where id = '$new'"); + while($sql->next_record()) $newparentid = $sql->f("parent"); + $name = fid_to_name($newparentid); + $navbar = "$name/" . $navbar; + $new = $newparentid; + } + return $navbar; +} + +//only get dir path from db +function get_dirpath($parent) { + global $default; + global $sess, $expand; + $name = fid_to_name($parent); + $navbar = "$name"; + $new = $parent; + while ($new != "1") { + $sql = new Owl_DB; $sql->query("select parent from $default->owl_folders_table where id = '$new'"); + while($sql->next_record()) $newparentid = $sql->f("parent"); + $name = fid_to_name($newparentid); + $navbar = "$name/" . $navbar; + $new = $newparentid; + } + return $navbar; +} + + +function gen_filesize($file_size) { + if(ereg("[^0-9]", $file_size)) return $file_size; + + if ($file_size >= 1073741824) { + $file_size = round($file_size / 1073741824 * 100) / 100 . "g"; + } elseif ($file_size >= 1048576) { + $file_size = round($file_size / 1048576 * 100) / 100 . "m"; + } elseif ($file_size >= 1024) { + $file_size = round($file_size / 1024 * 100) / 100 . "k"; + } else { + $file_size = $file_size . "b"; + } + return $file_size; +} + +function uploadCompat($varname) { + + if ($_FILES[$varname]) return $_FILES[$varname]; + if ($HTTP_POST_FILES[$varname]) return $HTTP_POST_FILES[$varname]; + $tmp = "$varname_name"; global $$tmp; $retfile['name'] = $$tmp; + $tmp = "$varname_type"; global $$tmp; $retfile['type'] = $$tmp; + $tmp = "$varname_size"; global $$tmp; $retfile['size'] = $$tmp; + $tmp = "$varname_error"; global $$tmp; $retfile['error'] = $$tmp; + $tmp = "$varname_tmp_name"; global $$tmp; $retfile['tmp_name'] = $$tmp; + return $retfile; +} + + +if ($sess) { + gethtmlprefs(); + $ok = verify_session($sess); + $temporary_ok = $ok["bit"]; + $userid = $ok["userid"]; + $usergroupid = $ok["groupid"]; + if ($ok["bit"] != "1") { + // Bozz Bug Fix begin + if (file_exists("./lib/header.inc")) { + include("./lib/header.inc"); + } else { + include("../lib/header.inc"); + } + // Bozz Bug Fix end + print("

".$lang_invalidsess); + if ($parent == "" || $fileid == "") + print(""); + else + print(""); + exit; + } else { + $lastused = time(); + $sql = new Owl_DB; + $sql->query("update $default->owl_sessions_table set lastused = '$lastused' where uid = '$userid'"); + } +} +function checkrequirements() +{ + global $default, $lang_err_bad_version_1, $lang_err_bad_version_2, $lang_err_bad_version_3; + + if (substr(phpversion(),0,5) < $default->phpversion) { + print("

$lang_err_bad_version_1
"); + print("$default->phpversion
"); + print("$lang_err_bad_version_2
"); + print phpversion(); + print("
$lang_err_bad_version_3

"); + return 1; + } + else { + return 0; + } +} + +function myExec($_cmd, &$lines, &$errco) { + $cmd = "$_cmd ; echo $?"; + exec($cmd, $lines); + // Get rid of the last errco line... + $errco = (integer) array_pop($lines); + if (count($lines) == 0) { + return ""; + } else { + return $lines[count($lines) - 1]; + } +} + +function myDelete($file) { + if (file_exists($file)) { + chmod($file,0777); + if (is_dir($file)) { + $handle = opendir($file); + while($filename = readdir($handle)) { + if ($filename != "." && $filename != "..") { + myDelete($file."/".$filename); + } + } + closedir($handle); + rmdir($file); + } else { + unlink($file); + } + } +} + +function printError($message, $submessage) { + global $default; + global $sess, $parent, $expand, $order, $sortorder ,$sortname, $userid; + global $language; + + require("$default->owl_fs_root/locale/$default->owl_lang/language.inc"); + include("./lib/header.inc"); + + if(check_auth($parent, "folder_view", $userid) != "1") { + $sql = new Owl_DB; + $sql->query("select * from $default->owl_folders_table where id = '$parent'"); + $sql->next_record(); + $parent = $sql->f("parent"); + } + + echo("table_expand_width BGCOLOR=\"#d0d0d0\" CELLSPACING=0 CELLPADDING=0 BORDER=0 HEIGHT=30>"); + echo(""); + print("
"); + print("$lang_user: "); + print(""); + print uid_to_name($userid); + print (""); + print(" $lang_logout"); + print(""); + print("


"); + print $message; + print("
"); + print $submessage; + include("./lib/footer.inc"); + exit(); +} + +function getprefs ( ) +{ + global $default; + + $sql = new Owl_DB; + //$sql->query("select * from $default->owl_prefs_table"); + $sql->query("select * from prefs"); + $sql->next_record(); + + $default->owl_email_from = $sql->f("email_from"); + $default->owl_email_fromname = $sql->f("email_fromname"); + $default->owl_email_replyto = $sql->f("email_replyto"); + $default->owl_email_server = $sql->f("email_server"); + $default->owl_LookAtHD = $sql->f("lookathd"); + $default->owl_def_file_security = $sql->f("def_file_security"); + $default->owl_def_file_group_owner= $sql->f("def_file_group_owner"); + $default->owl_def_file_owner = $sql->f("def_file_owner"); + $default->owl_def_file_title = $sql->f("def_file_title"); + $default->owl_def_file_meta = $sql->f("def_file_meta"); + $default->owl_def_fold_security = $sql->f("def_fold_security"); + $default->owl_def_fold_group_owner= $sql->f("def_fold_group_owner"); + $default->owl_def_fold_owner = $sql->f("def_fold_owner"); + $default->max_filesize = $sql->f("max_filesize"); + $default->owl_timeout = $sql->f("timeout"); + $default->expand = $sql->f("expand"); + $default->owl_version_control = $sql->f("version_control"); + $default->restrict_view = $sql->f("restrict_view"); + $default->dbdump_path = $sql->f("dbdump_path"); + $default->gzip_path = $sql->f("gzip_path"); + $default->tar_path = $sql->f("tar_path"); + + +}; + + +function gethtmlprefs ( ) +{ + global $default; + + $sql = new Owl_DB; + $sql->query("select * from $default->owl_html_table"); + $sql->next_record(); + + $default->table_border = $sql->f("table_border"); + $default->table_header_bg = $sql->f("table_header_bg"); + $default->table_cell_bg = $sql->f("table_cell_bg"); + $default->table_cell_bg_alt = $sql->f("table_cell_bg_alt"); + $default->table_expand_width = $sql->f("table_expand_width"); + $default->table_collapse_width = $sql->f("table_collapse_width"); + $default->main_header_bgcolor = $sql->f("main_header_bgcolor"); + $default->body_bgcolor = $sql->f("body_bgcolor"); + $default->body_textcolor = $sql->f("body_textcolor"); + $default->body_link = $sql->f("body_link"); + $default->body_vlink = $sql->f("body_vlink"); + +}; + +function printfileperm($currentval, $namevariable, $printmessage, $type) { + global $default; + global $lang_everyoneread, $lang_everyonewrite, $lang_everyonewrite_nod, $lang_groupread, $lang_groupwrite, $lang_groupwrite_nod, $lang_groupwrite_worldread, $lang_groupwrite_worldread_nod, $lang_onlyyou; + global $lang_everyoneread_ad, $lang_everyonewrite_ad, $lang_everyonewrite_ad_nod, $lang_groupread_ad, $lang_groupwrite_ad, $lang_groupwrite_ad_nod, $lang_groupwrite_worldread_ad, $lang_groupwrite_worldread_ad_nod, $lang_onlyyou_ad; + + + $file_perm[0][0] = 0; + $file_perm[1][0] = 1; + $file_perm[2][0] = 2; + $file_perm[3][0] = 3; + $file_perm[4][0] = 4; + $file_perm[5][0] = 5; + $file_perm[6][0] = 6; + $file_perm[7][0] = 7; + $file_perm[8][0] = 8; + if ($type == "admin") { + $file_perm[0][1] = "$lang_everyoneread_ad"; + $file_perm[1][1] = "$lang_everyonewrite_ad"; + $file_perm[2][1] = "$lang_groupread_ad"; + $file_perm[3][1] = "$lang_groupwrite_ad"; + $file_perm[4][1] = "$lang_onlyyou_ad"; + $file_perm[5][1] = "$lang_groupwrite_ad_nod"; + $file_perm[6][1] = "$lang_everyonewrite_ad_nod"; + $file_perm[7][1] = "$lang_groupwrite_worldread_ad"; + $file_perm[8][1] = "$lang_groupwrite_worldread_ad_nod"; + } + else { + $file_perm[0][1] = "$lang_everyoneread"; + $file_perm[1][1] = "$lang_everyonewrite"; + $file_perm[2][1] = "$lang_groupread"; + $file_perm[3][1] = "$lang_groupwrite"; + $file_perm[4][1] = "$lang_onlyyou"; + $file_perm[5][1] = "$lang_groupwrite_nod"; + $file_perm[6][1] = "$lang_everyonewrite_nod"; + $file_perm[7][1] = "$lang_groupwrite_worldread"; + $file_perm[8][1] = "$lang_groupwrite_worldread_nod"; + } + + print("table_header_bg>$printmessage"); + + +}; + +function printFileIcons ($fid, $filename, $checked_out, $url, $allicons, $ext) +{ + global $default; + global $sess, $parent, $expand, $order, $sortorder ,$sortname, $userid; + global $lang_log_file, $lang_reallydelete, $lang_del_file_alt, $lang_mod_file_alt; + global $lang_move_file_alt,$lang_upd_file_alt,$lang_get_file_alt,$lang_lock_file,$lang_email_alt,$lang_view_file_alt; + + if ($allicons == 1) + { + if ($url != "1") + print("$lang_log_file"); + } + + if (($checked_out == 0) || ($checked_out == $userid)) { + // ***************************************************************************** + // Don't Show the delete icon if the user doesn't have delete access to the file + // ***************************************************************************** + + if (check_auth($fid, "file_delete", $userid) == 1) + if ($url == "1") + print("\t$lang_del_file_alt"); + else + print("\t$lang_del_file_alt"); + + // ***************************************************************************** + // Don't Show the modify icon if the user doesn't have modify access to the file + // ***************************************************************************** + + if(check_auth($fid, "file_modify", $userid) == 1) + print("$lang_mod_file_alt"); + + // ***************************************************************************** + // Don't Show the move modify icon if the user doesn't have move access to the file + // ***************************************************************************** + + if(check_auth($fid, "file_modify", $userid) == 1) + if ($url == "1") + print("$lang_move_file_alt"); + else + print("$lang_move_file_alt"); + // ***************************************************************************** + // Don't Show the file update icon if the user doesn't have update access to the file + // ***************************************************************************** + + if(check_auth($fid, "file_modify", $userid) == 1) + if ($url != "1") + print("$lang_upd_file_alt"); + + // ***************************************************************************** + // Don't Show the file dowload icon if the user doesn't have download access to the file + // ***************************************************************************** + + if(check_auth($fid, "file_download", $userid) == 1) + if ($url != "1") + print("$lang_get_file_alt"); + + if ($allicons == 1) + { + // ***************************************************************************** + // Don't Show the lock icon if the user doesn't have access to the file + // ***************************************************************************** + if(check_auth($fid, "file_modify", $userid) == 1) + if ($url != "1") + print("$lang_lock_file"); + } + + // ***************************************************************************** + // Don't Show the email icon if the user doesn't have access to email the file + // ***************************************************************************** + + if(check_auth($fid, "file_modify", $userid) == 1) + if ($url == "1") + print("$lang_email_alt"); + else + print("$lang_email_alt"); + + // ***************************************************************************** + // Don't Show the view icon if the user doesn't have download access to the file + // ***************************************************************************** + + if(check_auth($fid, "file_download", $userid) == 1) + if ($url != "1") { + $imgfiles = array("jpg","gif"); + if ($ext != "" && preg_grep("/$ext/", $imgfiles)) { + print(" $lang_view_file_alt"); + } + $htmlfiles = array("html","htm",xml); + if ($ext != "" && preg_grep("/$ext/", $htmlfiles)) { + print(" $lang_view_file_alt"); + } + $txtfiles = array("txt","text","README", "readme", "sh", "c", "cpp", "php", "php3", "pl", "perl", "sql", "py"); + if ($ext != "" && preg_grep("/$ext/", $txtfiles)) { + print(" $lang_view_file_alt"); + } + if (substr(php_uname(), 0, 7) != "Windows") { + $zipfiles = array("tar.gz", "tgz", "tar", "gz"); + if ($ext != "" && preg_grep("/$ext/", $zipfiles)) + print(" $lang_view_file_alt"); + } + } + } +}; + +function printgroupperm($currentval, $namevariable, $printmessage, $type) { + global $default; + global $lang_geveryoneread, $lang_geveryonewrite, $lang_geveryonewrite_nod, $lang_ggroupread, $lang_ggroupwrite, $lang_ggroupwrite_nod, $lang_ggroupwrite_worldread, $lang_ggroupwrite_worldread_nod, $lang_gonlyyou; + global $lang_geveryoneread_ad, $lang_geveryonewrite_ad, $lang_geveryonewrite_ad_nod, $lang_ggroupread_ad, $lang_ggroupwrite_ad, $lang_ggroupwrite_ad_nod, $lang_ggroupwrite_worldread_ad, $lang_ggroupwrite_worldread_ad_nod, $lang_gonlyyou_ad; + + + $group_perm[0][0] = 50; + $group_perm[1][0] = 51; + $group_perm[2][0] = 52; + $group_perm[3][0] = 53; + $group_perm[4][0] = 54; + $group_perm[5][0] = 55; + $group_perm[6][0] = 56; + $group_perm[7][0] = 57; + $group_perm[8][0] = 58; + if ($type == "admin") { + $group_perm[0][1] = "$lang_geveryoneread_ad"; + $group_perm[1][1] = "$lang_geveryonewrite_ad"; + $group_perm[2][1] = "$lang_ggroupread_ad"; + $group_perm[3][1] = "$lang_ggroupwrite_ad"; + $group_perm[4][1] = "$lang_gonlyyou_ad"; + $group_perm[5][1] = "$lang_ggroupwrite_ad_nod"; + $group_perm[6][1] = "$lang_geveryonewrite_ad_nod"; + $group_perm[7][1] = "$lang_ggroupwrite_worldread_ad"; + $group_perm[8][1] = "$lang_ggroupwrite_worldread_ad_nod"; + + } + else { + $group_perm[0][1] = "$lang_geveryoneread"; + $group_perm[1][1] = "$lang_geveryonewrite"; + $group_perm[2][1] = "$lang_ggroupread"; + $group_perm[3][1] = "$lang_ggroupwrite"; + $group_perm[4][1] = "$lang_gonlyyou"; + $group_perm[5][1] = "$lang_ggroupwrite_nod"; + $group_perm[6][1] = "$lang_geveryonewrite_nod"; + $group_perm[7][1] = "$lang_ggroupwrite_worldread"; + $group_perm[8][1] = "$lang_ggroupwrite_worldread_nod"; + } + + print("table_header_bg>$printmessage"); + +}; + + +if (!$sess && !$loginname && !$login) + if(!isset($fileid)) + header("Location: " . $default->owl_root_url . "/index.php?login=1"); + else + header("Location: " . $default->owl_root_url . "/index.php?login=1&fileid=$fileid&parent=$parent"); + +?> diff --git a/lib/readhd.php b/lib/readhd.php new file mode 100755 index 0000000..f875cff --- /dev/null +++ b/lib/readhd.php @@ -0,0 +1,122 @@ + ".") and ($file <> "..")) { + if (!is_file($PathFile)) { //check if it is a folder (dir) or file (dont check if it is a link) + $DirCount++; + $Dirs[$DirCount] = $file; + }else{ + $FileCount++; + $Files[$FileCount] = $file; + } + } + } + if ($GetWhat == 'file') { + $FileCount++; + $Files[$FileCount] = "[END]"; //stop looping @ this + return $Files; + } + + if ($GetWhat == 'folder') { + $DirCount++; + $Dirs[$DirCount] = "[END]"; //stop looping @ this + return $Dirs; + } + + } +} + +function GetFileInfo($PathFile) { + $TheFileSize = filesize($PathFile); //get filesize + $TheFileTime = date("Y-m-d H:i:s", filemtime($PathFile)); //get and fix time of last modifikation + $TheFileTime2 = date("M d, Y \a\\t h:i a", filemtime($PathFile)); //get and fix time of last modifikation + + + $FileInfo[1] = $TheFileSize; + $FileInfo[2] = $TheFileTime; //s$modified + $FileInfo[3] = $TheFileTime2; //modified + + return $FileInfo; +} + +function CompareDBnHD($GetWhat, $ThePath, $DBList, $parent, $DBTable) { //compare files or folders in database with files on harddrive + $F = GetFromHD($GetWhat, $ThePath); + +$RefreshPage = false; //if filez/Folderz are found the page need to be refreshed in order to see them. + +if(is_array($F)) { + + for($HDLoopCount = 1; $F[$HDLoopCount] !== "[END]";$HDLoopCount++) { + + for($DBLoopCount = 1; $DBList[$DBLoopCount] !== "[END]";$DBLoopCount++) { + if($F[$HDLoopCount] == $DBList[$DBLoopCount]) { + unset($F[$HDLoopCount]); //removing file/folder that is in db from list of filez on disc (leaving list of filez on disc but not in db) + break; + } + } + } + + for($HDLoopCount = 1; $F[$HDLoopCount] !== "[END]";$HDLoopCount++) { + if(ord($F[$HDLoopCount]) !== 0) { //if not the file/folder name is empty... + if($GetWhat == "file") { + $RefreshPage = true; + InsertHDFilezInDB($F[$HDLoopCount], $parent, $ThePath, $DBTable); //call function that inserts the filez-on-disc-but-not-in-db into the db. + }else{ + $RefreshPage = false; + } + + if($GetWhat == "folder") { + $RefreshPage = true; + InsertHDFolderzInDB($F[$HDLoopCount], $parent, $ThePath, $DBTable); //call function that inserts the folderz-on-disc-but-not-in-db into the db. + } + } + } + +} + + return $RefreshPage; + +} + +function InsertHDFolderzInDB($TheFolder, $parent, $ThePath, $DBTable) { + global $default; + + $sql = new Owl_DB; //create new db connection + + $SQL = "insert into $DBTable (name,parent,security,groupid,creatorid) values ('$TheFolder', '$parent', '$default->owl_def_fold_security', '$default->owl_def_fold_group_owner', '$default->owl_def_fold_owner')"; + + $sql->query($SQL); +} + + +function InsertHDFilezInDB($TheFile, $parent, $ThePath, $DBTable) { + + global $default; + $sql = new Owl_DB; //create new db connection + + $FileInfo = GetFileInfo($ThePath . "/" . $TheFile); //get file size etc. 2=File size, 2=File time (smodified), 3=File time 2 (modified) + + if ($default->owl_def_file_title == "") + { + $title_name = $TheFile; + } + else + { + $title_name = $default->owl_def_file_title; + } + + $SQL = "insert into $DBTable (name,filename,size,creatorid,parent,modified,description,metadata,security,groupid,smodified) values ('$title_name', '$TheFile', '$FileInfo[1]', '$default->owl_def_file_owner', '$parent', '$FileInfo[3]', '$TheFile', '$default->owl_def_file_meta', '$default->owl_def_file_security', '$default->owl_def_file_group_owner','$FileInfo[2]')"; + $sql->query($SQL); + +} + +?> diff --git a/lib/security.lib.php b/lib/security.lib.php new file mode 100755 index 0000000..e4b434e --- /dev/null +++ b/lib/security.lib.php @@ -0,0 +1,380 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +function getfolderpolicy($id) { + global $default; + $sql = new Owl_DB; $sql->query("select security from $default->owl_folders_table where id = '$id'"); + while ($sql->next_record()) return $sql->f("security"); +} + +function getfilepolicy($id) { + global $default; + $sql = new Owl_DB; $sql->query("select security from $default->owl_files_table where id = '$id'"); + while ($sql->next_record()) return $sql->f("security"); +} + +// +// This function is simple...it returns either a 1 or 0 +// If the authentication is good, it returns 1 +// If the authentication is bad, it returns 0 +// +// Policy key for FILES: +// +// 0 = World read +// 1 = World edit +// 6 = World edit no delete +// 2 = Group read +// 3 = Group edit +// 5 = Group edit no delete +// 4 = Creator edit +// 7 = Group edit, World read +// 8 = Group edit, World read - no delete +// +// Policy key for FOLDERS: +// +// 50 = Anyone can read +// 51 = Anyone can upload/create folders +// 56 = Anyone can upload/create folders but not delete +// 52 = Only the group can read +// 53 = Only the group can upload/create folders +// 55 = Only the group can upload/create folders but not delete; except the creator +// 54 = Only the creator can upload/create folders +// 57 = Only the group can upload/create folders but anyone can read +// 58 = Only the group can upload/create folders (no delete) but anyone can read +// + +function check_auth($id, $action, $userid) { + global $default; + $usergroup = owlusergroup($userid); + $filecreator = owlfilecreator($id); + $foldercreator = owlfoldercreator($id); + $filegroup = owlfilegroup($id); + $foldergroup = owlfoldergroup($id); +// print "Action is $action
"; +// print "filecreation username is $filecreator
"; +// print "filecreation groupname is $filegroup
"; +// print "folder group is $foldergroup
"; +// print "userid is $userid
"; +// print "dbusername is $dbuser
"; +// print "usergroup is $usergroup
"; + + if (($action == "folder_modify") || + ($action == "folder_view") || + ($action == "folder_delete") || + ($action == "folder_property")) { + $policy = getfolderpolicy($id); + } else { + $policy = getfilepolicy($id); + } +// print "Policy is $policy
"; + if ($policy == "0") { + if (($action == "file_delete") || ($action == "file_modify")) { + if ($userid != $filecreator) { + $authorization = "0"; + } else { + $authorization = "1"; + } + } else { + $authorization = "1"; + } + } + if ($policy == "1") { + $authorization = "1"; + } + if ($policy == "2") { + if (($action == "file_delete") || ($action == "file_modify")) { + if ($userid != $filecreator) { + $authorization = "0"; + } else { + $authorization = "1"; + } + } else { + // Bozz Change Begin + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$filegroup'"); + if ($filegroup == $usergroup || $sql->num_rows($sql) > 0) { + // Bozz Change End + $authorization = "1"; + } else { + $authorization = "0"; + } + } + + } + if ($policy == "3") { + if (($action == "file_delete") || ($action == "file_modify") || ($action == "file_download")) { + // Bozz Change Begin + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$filegroup'"); + // Bozz Change End + if ($usergroup != $filegroup && $sql->num_rows($sql) == 0) { + $authorization = "0"; + } else { + $authorization = "1"; + } + + } + } + if ($policy == "4") { + if ($filecreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + if ($policy == "5") { + if (($action == "file_modify") || ($action == "file_download")) { + // Bozz Change Begin + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$filegroup'"); + // Bozz Change End + if ($usergroup != $filegroup && $sql->num_rows($sql) == 0) { + $authorization = "0"; + } else { + $authorization = "1"; + } + } + if ($action == "file_delete") { + if ($filecreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + } + if ($policy == "6") { + $authorization = "1"; + if ($action == "file_delete") { + if ($filecreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + } + if ($policy == "7") { + if (($action == "file_delete") || ($action == "file_modify")) { + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$filegroup'"); + if ($usergroup != $filegroup && $sql->num_rows($sql) == 0) { + $authorization = "0"; + } else { + $authorization = "1"; + } + + } + if ($action == "file_download") { + $authorization = "1"; + } + } + + if ($policy == "8") { + if ($action == "file_modify") { + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$filegroup'"); + if ($usergroup != $filegroup && $sql->num_rows($sql) == 0) { + $authorization = "0"; + } else { + $authorization = "1"; + } + } + if ($action == "file_download") { + $authorization = "1"; + } + if ($action == "file_delete") { + if ($filecreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + } + + if ($policy == "50") { + if (($action == "folder_delete") || + ($action == "folder_property") || + ($action == "folder_modify")) { + if ($userid != $foldercreator) { + $authorization = "0"; + } else { + $authorization = "1"; + } + } else { + $authorization = "1"; + } + } + if ($policy == "51") { + $authorization = "1"; + } + if ($policy == "52") { + if (($action == "folder_delete") || + ($action == "folder_property") || + ($action == "folder_modify")) { + if ($userid != $foldercreator) { + $authorization = "0"; + } else { + $authorization = "1"; + } + } else { + // Bozz Change Begin + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$foldergroup'"); + if ($foldergroup == $usergroup || $sql->num_rows($sql) > 0) { + // Bozz Change End + $authorization = "1"; + } else { + $authorization = "0"; + } + } + + } + if ($policy == "53") { + if (($action == "folder_delete") || + ($action == "folder_modify") || + ($action == "folder_property") || + ($action == "folder_view")) { + // Bozz Change Begin + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$foldergroup'"); + if ($usergroup != $foldergroup && $sql->num_rows($sql) == 0) { + // Bozz Change End + $authorization = "0"; + } else { + $authorization = "1"; + } + } + } + if ($policy == "54") { + if ($foldercreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + if ($policy == "55") { + if (($action == "folder_modify") || ($action == "folder_view")) { + // Bozz Change Begin + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$foldergroup'"); + if ($usergroup != $foldergroup && $sql->num_rows($sql) == 0) { + // Bozz Change End + $authorization = "0"; + } else { + $authorization = "1"; + } + } + if (($action == "folder_delete") || + ($action == "folder_property")) { + if ($foldercreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + } + if ($policy == "56") { + $authorization = "1"; + if (($action == "folder_delete") || + ($action == "folder_property")) { + if ($foldercreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + } + + if ($policy == "57") { + if (($action == "folder_modify") || ($action == "folder_delete")) { + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$foldergroup'"); + if (($usergroup != $foldergroup) && ($sql->num_rows($sql) == 0)) { + $authorization = "0"; + } else { + $authorization = "1"; + } + } + if ($action == "folder_property") { + if ($foldercreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + if ($action == "folder_view") { + $authorization = "1"; + } + } + + if ($policy == "58") { + if ($action == "folder_modify") { + $sql = new Owl_DB; + $sql->query("SELECT * FROM $default->owl_users_grpmem_table WHERE userid = '$userid' and groupid = '$foldergroup'"); + if ($usergroup != $foldergroup && $sql->num_rows($sql) == 0) { + $authorization = "0"; + } else { + $authorization = "1"; + } + } + if ($action == "folder_property") { + if ($foldercreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + if ($action == "folder_delete") { + if ($foldercreator == $userid) { + $authorization = "1"; + } else { + $authorization = "0"; + } + } + if ($action == "folder_view") { + $authorization = "1"; + } + } + +// Bozz Change Begin +// I Think that the Admin Group should +// have the same rights as the admin user + if ($userid == 1 || $usergroup == 0) { +// Bozz Change End + $authorization = "1"; + } +// cv change bug #504298 +// this call must be recursive through the parent directories + + // continue recursion? + if( $authorization == 1 ) { + if( ($policy > 49) && ($id == 1) ) { + // stop if we are at the doc root + return $authorization; + } else { + // continue; + if($policy < 50) { + $parent = owlfileparent($id); + } else { + $parent = owlfolderparent($id); + } + return check_auth($parent, "folder_view", $userid); + } + } else { + // dont continue because authorization is 0 + return $authorization; + } +} diff --git a/lib/styles.css b/lib/styles.css new file mode 100755 index 0000000..97aff00 --- /dev/null +++ b/lib/styles.css @@ -0,0 +1,75 @@ +. { +font-size : 9pt; +font-family : Verdana, sans-serif; +font-weight : lighter; +font-style : normal; +color : #000000; +text-decoration: none; +} + +P { +font-size : 9pt; +font-family : Verdana, sans-serif; +font-weight : lighter; +font-style : normal; +color : #000000; +text-decoration: none; + + +} + +P.footer { +font-size : 9pt; +font-family : Verdana, sans-serif; +font-weight : lighter; +font-style : normal; +color : #999999; +text-decoration: none; + + +} + +P.title { +font-size : 9pt; +font-family : Verdana, sans-serif; +font-weight : inherit; +font-style : normal; +color : #ffffff; +text-decoration: none; +} + + +A { +font-size : 10pt; +font-family : Verdana, sans-serif; +font-style : normal; +color : #000000; +text-decoration: none; +} + + +A:Visited { +font-size : 10pt; +font-family : Verdana, sans-serif; +font-style : normal; +color : #000000; +text-decoration: none; +} + +A:Active { +color : #000000; +font-size : 10pt; +font-family : Verdana, sans-serif; +font-style : normal; +text-decoration: none; +} + +A:hover { +color : #000000; +font-size : 10pt; +font-family : Verdana,sans-serif; +font-style : normal; +text-decoration: none; +background-color : #FFFACD; +} + diff --git a/locale/Chinese/graphics/btn_add_file.gif b/locale/Chinese/graphics/btn_add_file.gif new file mode 100755 index 0000000..5eb4588 --- /dev/null +++ b/locale/Chinese/graphics/btn_add_file.gif diff --git a/locale/Chinese/graphics/btn_add_folder.gif b/locale/Chinese/graphics/btn_add_folder.gif new file mode 100755 index 0000000..f6ecfe6 --- /dev/null +++ b/locale/Chinese/graphics/btn_add_folder.gif diff --git a/locale/Chinese/graphics/btn_add_url.gif b/locale/Chinese/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/Chinese/graphics/btn_add_url.gif diff --git a/locale/Chinese/graphics/btn_browse.gif b/locale/Chinese/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/Chinese/graphics/btn_browse.gif diff --git a/locale/Chinese/graphics/btn_collapse_view.gif b/locale/Chinese/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..9a0fc76 --- /dev/null +++ b/locale/Chinese/graphics/btn_collapse_view.gif diff --git a/locale/Chinese/graphics/btn_expand_view.gif b/locale/Chinese/graphics/btn_expand_view.gif new file mode 100755 index 0000000..7f71e0f --- /dev/null +++ b/locale/Chinese/graphics/btn_expand_view.gif diff --git a/locale/Chinese/graphics/btn_login.gif b/locale/Chinese/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/Chinese/graphics/btn_login.gif diff --git a/locale/Chinese/graphics/btn_logout.gif b/locale/Chinese/graphics/btn_logout.gif new file mode 100755 index 0000000..f7ab765 --- /dev/null +++ b/locale/Chinese/graphics/btn_logout.gif diff --git a/locale/Chinese/graphics/edit.gif b/locale/Chinese/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Chinese/graphics/edit.gif diff --git a/locale/Chinese/graphics/email.gif b/locale/Chinese/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Chinese/graphics/email.gif diff --git a/locale/Chinese/graphics/icons/bin.gif b/locale/Chinese/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Chinese/graphics/icons/bin.gif diff --git a/locale/Chinese/graphics/icons/blank.gif b/locale/Chinese/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Chinese/graphics/icons/blank.gif diff --git a/locale/Chinese/graphics/icons/bmp.jpg b/locale/Chinese/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/Chinese/graphics/icons/bmp.jpg diff --git a/locale/Chinese/graphics/icons/doc.jpg b/locale/Chinese/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/Chinese/graphics/icons/doc.jpg diff --git a/locale/Chinese/graphics/icons/file.gif b/locale/Chinese/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/Chinese/graphics/icons/file.gif diff --git a/locale/Chinese/graphics/icons/folder_closed.gif b/locale/Chinese/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Chinese/graphics/icons/folder_closed.gif diff --git a/locale/Chinese/graphics/icons/folder_gray.gif b/locale/Chinese/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Chinese/graphics/icons/folder_gray.gif diff --git a/locale/Chinese/graphics/icons/gif.jpg b/locale/Chinese/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/Chinese/graphics/icons/gif.jpg diff --git a/locale/Chinese/graphics/icons/gz.jpg b/locale/Chinese/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Chinese/graphics/icons/gz.jpg diff --git a/locale/Chinese/graphics/icons/htm.jpg b/locale/Chinese/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Chinese/graphics/icons/htm.jpg diff --git a/locale/Chinese/graphics/icons/html.jpg b/locale/Chinese/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/Chinese/graphics/icons/html.jpg diff --git a/locale/Chinese/graphics/icons/jpg.jpg b/locale/Chinese/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/Chinese/graphics/icons/jpg.jpg diff --git a/locale/Chinese/graphics/icons/link.gif b/locale/Chinese/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Chinese/graphics/icons/link.gif diff --git a/locale/Chinese/graphics/icons/mag.jpg b/locale/Chinese/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Chinese/graphics/icons/mag.jpg diff --git a/locale/Chinese/graphics/icons/mdb.jpg b/locale/Chinese/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/Chinese/graphics/icons/mdb.jpg diff --git a/locale/Chinese/graphics/icons/move.gif b/locale/Chinese/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Chinese/graphics/icons/move.gif diff --git a/locale/Chinese/graphics/icons/mp3.jpg b/locale/Chinese/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/Chinese/graphics/icons/mp3.jpg diff --git a/locale/Chinese/graphics/icons/pdf.jpg b/locale/Chinese/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/Chinese/graphics/icons/pdf.jpg diff --git a/locale/Chinese/graphics/icons/ppt.jpg b/locale/Chinese/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Chinese/graphics/icons/ppt.jpg diff --git a/locale/Chinese/graphics/icons/tar.jpg b/locale/Chinese/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/Chinese/graphics/icons/tar.jpg diff --git a/locale/Chinese/graphics/icons/url.gif b/locale/Chinese/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/Chinese/graphics/icons/url.gif diff --git a/locale/Chinese/graphics/icons/xls.jpg b/locale/Chinese/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Chinese/graphics/icons/xls.jpg diff --git a/locale/Chinese/graphics/icons/zip.jpg b/locale/Chinese/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Chinese/graphics/icons/zip.jpg diff --git a/locale/Chinese/graphics/ife.gif b/locale/Chinese/graphics/ife.gif new file mode 100755 index 0000000..e9cc12c --- /dev/null +++ b/locale/Chinese/graphics/ife.gif diff --git a/locale/Chinese/graphics/lock.gif b/locale/Chinese/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Chinese/graphics/lock.gif diff --git a/locale/Chinese/graphics/log.gif b/locale/Chinese/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/Chinese/graphics/log.gif diff --git a/locale/Chinese/graphics/mag.jpg b/locale/Chinese/graphics/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Chinese/graphics/mag.jpg diff --git a/locale/Chinese/graphics/owl.gif b/locale/Chinese/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/Chinese/graphics/owl.gif diff --git a/locale/Chinese/graphics/trash.gif b/locale/Chinese/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Chinese/graphics/trash.gif diff --git a/locale/Chinese/graphics/update.gif b/locale/Chinese/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Chinese/graphics/update.gif diff --git a/locale/Chinese/language.inc b/locale/Chinese/language.inc new file mode 100755 index 0000000..087a492 --- /dev/null +++ b/locale/Chinese/language.inc @@ -0,0 +1,284 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +$lang_logout = "(µn¥X)"; +$lang_login = "µn¤J"; +$lang_successlogout = "§A¤w¸g¦¨¥\µn¥X¤F"; +$lang_loginfail = "µn¤J¥¢±Ñ"; +$lang_logindisabled = "Account has been DISABLED, contact the System Adminstrator"; +$lang_sessinuse = "¥Ø«e¦³§Oªº¹q¸£¥H³o­Ó±b¸¹µn¤J , ©Ò¥HµLªk¦s¨ú , ½Ð­«·sµn¤J"; +$lang_invalidsess = "¿ù»~ªº³s½u¥N½X , ½Ð­«·s"; +$lang_sesstimeout = "±z¶¢¸mªº®É¶¡¤Ó¤[¤F , ½Ð­«·s
"; + +$lang_addingfolder = "·s¼W¥Ø¿ý¦Ü "; +$lang_addingfile = "·s¼WÀÉ®×¦Ü "; +$lang_modifying = "­×§ï "; +$lang_reallydelete = "¯uªº­n§R°£"; + +$lang_title = "¼ÐÃD"; +$lang_userlang = "Language"; +// begin Daphne change +$lang_held = "Held"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "ÀÉ®×"; +$lang_size = "¤j¤p"; +$lang_postedby = "±i¶KªÌ"; +$lang_modified = "­×§ï¤é´Á"; +$lang_actions = "°Ê§@"; +$lang_ownership = "©Ò¦³¤H"; +$lang_newpolicy = "·sªºÅv­­"; +$lang_policy = "Åv­­"; + +$lang_sendthisfile = "¶Ç°e³o­ÓÀÉ®×"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "¶Ç°eÀÉ®×"; +$lang_keywords = "ÃöÁä¦r"; +$lang_permissions = "Åv­­"; +$lang_newpermissions = "New Permissions"; +$lang_description = "»¡©ú"; +$lang_change = "§ó§ï"; +$lang_reset = "­«³]"; +$lang_create = "«Ø¥ß"; +// begin Daphne change +$lang_vertype = "Revision type"; // for modify.php when uploading +$lang_vermajor = "Major Revision"; +$lang_verminor = "Minor Revision"; +$lang_verdescription = "Description
of changes"; +// end Daphne change + +$lang_everyoneread = "¥þ³¡ªº¤H¥i¥HŪ¨ú/¤U¸ü"; +$lang_everyonewrite = "¥þ³¡ªº¤H¥i¥HŪ¨ú/¼g¤J/¤U¸ü"; +$lang_everyonewrite_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread = "¥u¦³¦Û¤vªº¸s²Õ¥i¥HŪ¨ú/¤U¸ü"; +$lang_groupwrite = "¥u¦³¦Û¤vªº¸s²Õ¥i¥HŪ¨ú/¼g¤J/¤U¸ü"; +$lang_groupwrite_nod = "Your group can read/write/download, NO DELETE"; +$lang_onlyyou = "¥u¦³¦Û¤v¥i¥HŪ¨ú/¼g¤J/¤U¸ü"; +$lang_groupwrite_worldread = "Your group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_nod = "Your group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread = "Your group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_nod = "Your group can upload files to this folder & everyone else can view contents, NO DELETE"; + +// BEGIN BUG FIX: #449394 add document policy bugs for admin + +$lang_everyoneread_ad = "¥þ³¡ªº¤H¥i¥HŪ¨ú¤Î¤U¸ü"; +$lang_everyonewrite_ad = "¥þ³¡ªº¤H¥i¥HŪ¨ú/¼g¤J/¤U¸ü"; +$lang_everyonewrite_ad_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread_ad = "¿ï¾Üªº¸s²Õ¥i¥HŪ¨ú/¤U¸ü"; +$lang_groupwrite_ad = "¿ï¾Üªº¸s²Õ¥i¥HŪ¨ú/¼g¤J/¤U¸ü"; +$lang_groupwrite_ad_nod = "The selected group can read/write/download, NO DELETE"; +$lang_onlyyou_ad = "¥u¦³¦Û¤v¥i¥HŪ¨ú/¼g¤J/¤U¸ü"; +$lang_groupwrite_worldread_ad = "The selected group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_ad_nod = "The selected group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread_ad = "Selected group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_ad_nod = "Selected group can upload files to this folder & everyone else can view contents, NO DELETE"; + + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "¥þ³¡ªº¤H³£¥i¥HŪ¨ú³o­Ó¥Ø¿ý"; +$lang_geveryonewrite = "¥þ³¡ªº¤H¥i¥H¤W¶ÇÀɮפΧR°£³o­Ó¥Ø¿ý"; +$lang_geveryonewrite_nod= "Everyone can upload files to this folder"; +$lang_ggroupread = "¥u¦³¦Û¤vªº¸s²Õ¥i¥HŪ¨ú³o­Ó¥Ø¿ý"; +$lang_ggroupwrite = "¥u¦³¦Û¤vªº¸s²Õ¥i¥H¤W¶ÇÀɮפΧR°£³o­Ó¥Ø¿ý"; +$lang_ggroupwrite_nod = "Your group can upload files to this folder"; +$lang_gonlyyou = "¥u¦³¦Û¤v¥i¥H¤W¶ÇÀɮפΧR°£³o­Ó¥Ø¿ý"; + +$lang_geveryoneread_ad = "¥þ³¡ªº¤H¥i¥HŪ¨ú³o­Ó¥Ø¿ý"; +$lang_geveryonewrite_ad = "¥þ³¡ªº¤H¥i¥H¤W¶ÇÀɮפΧR°£³o­Ó¥Ø¿ý"; +$lang_geveryonewrite_ad_nod = "Everyone can upload files to this folder"; +$lang_ggroupread_ad = "¿ï¾Üªº¸s²Õ¥i¥HŪ¨ú³o­Ó¥Ø¿ý"; +$lang_ggroupwrite_ad = "¿ï¾Üªº¸s²Õ¥i¥H¤W¶ÇÀɮפΧR°£¥Ø¿ý"; +$lang_ggroupwrite_ad_nod= "The selected group can upload files to this folder"; +$lang_gonlyyou_ad = "¥u¦³¦Û¤v¥i¥H¤W¶ÇÀɮפΧR°£¥Ø¿ý"; + +$lang_nofolderaccess = "±z¨S¦³¦s¨ú³o­Ó¥Ø¿ýªºÅv­­"; +$lang_nofileaccess = "±z¨S¦³¦s¨ú³o­ÓÀɮתºÅv­­"; +$lang_nofilemod = "±z¨S¦³­×§ï³o­ÓÀɮתºÅv­­"; +$lang_nofiledelete = "±z¨S¦³§R°£³o­ÓÀɮתºÅv­­"; +$lang_noupload = "±z¨S¦³¤W¶ÇÀɮרì³o­Ó¥Ø¿ýªºÅv­­"; +$lang_nosubfolder = "±z¨S¦³«Ø¥ß¥Ø¿ýªºÅv­­"; +$lang_nofoldermod = "±z¨S¦³­×§ï³o­Ó¥Ø¿ýªºÅv­­"; +$lang_nofolderdelete = "±z¨S¦³§R°£³o­Ó¥Ø¿ýªºÅv­­"; +$lang_noemail = "You do not have access to email this file"; +$lang_fileexists = "³o­ÓÀɮפw¸g¦s¦b¤F"; +$lang_specifyname = "½Ð¦^¤W­¶­×§ï¦WºÙ"; + +$lang_users = "¨Ï¥ÎªÌ"; +$lang_groups = "¸s²Õ"; +$lang_group = "¥D­n¸s²Õ"; +$lang_groupmember = "Member Group"; +$lang_username = "¨Ï¥ÎªÌ¦WºÙ"; +$lang_password = "µn¤J±K½X"; +$lang_newpassword = "New Password"; +$lang_oldpassword = "Old Password"; +$lang_confpassword = "Confirm New Password"; +$lang_email = "Email Address"; +$lang_emailing = "Emailing"; +$lang_email_to = "Mail To"; +$lang_email_cc = "CC"; +$lang_email_reply_to = "Reply To"; +$lang_email_subject = "Subject"; +$lang_email_body = "Message"; +$lang_notification = "Receive Notifications"; +$lang_attach_file = "Attach File"; +$lang_change = "­×§ï"; +$lang_deleteuser = "§R°£¨Ï¥ÎªÌ"; +$lang_deletegroup = "§R°£¸s²Õ"; +$lang_saved = "Àx¦s"; +$lang_add = "Add"; +$lang_quota = "°tÃB"; +$lang_disableuser = "Disable User"; +$lang_noprefaccess = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administraor"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + +// Bozz Change Begin +$lang_email_alt = "Email this File"; +$lang_del_folder_alt = "§R°£¥Ø¿ý (¬O/§_)"; +$lang_mod_folder_alt = "­×§ï¥Ø¿ýÄÝ©Ê"; +$lang_move_folder_alt = "²¾°Ê¥Ø¿ý"; + +$lang_del_file_alt = "§R°£ÀÉ®× (¬O/§_)"; +$lang_mod_file_alt = "­×§ïÀÉ®×ÄÝ©Ê"; +$lang_move_file_alt = "²¾°ÊÀÉ®×"; +$lang_upd_file_alt = "§ó·sÀÉ®×"; +$lang_get_file_alt = "¤U¸üÀÉ®×"; +$lang_view_file_alt = "À˵øÀÉ®×"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "flush hanging sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "File Log"; +$lang_lock_file = "Check file in/out"; +// end Daphne Change +$lang_notif_subject_new = "New OWL Intranet File"; +$lang_notif_subject_upd = "An OWL Intranet File was updated"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; + +// Diego Bugfix +$lang_admin = "Admin"; +$lang_user = "User"; +$lang_search = "Search"; +$lang_search_results_for = "Search results for"; +$lang_score = "Score"; +$lang_ownergroup = "Owner (Group)"; +$lang_name = "Name"; +//Diego Bugfix end +$lang_query_empty = "Empty Search String"; + +$lang_err_file_update = "Updating a file requires the filename to remain the same, please try again using the same filename"; +$lang_err_quota = "You do not have enough quota space to upload this file: "; +$lang_err_quota_needed = " needed "; +$lang_err_quota_avail = " available."; +$lang_err_quota_exceed = "You have exceeded your quota"; +$lang_err_upload = "Upload error"; +$lang_err_folder_exist = "This folder already exists"; +$lang_err_folder_create = "Folder Creation error"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Backup Folder Creation error"; +$lang_err_backup_file = "Error backing up existing file"; +$lang_err_file_lock = "You cannot check this file out, it is currently held by"; +// end Daphne change +$lang_err_unauthorized = "Unauthorized"; +$lang_err_unauth_area = "You are not authorized to use this area"; +$lang_err_pass_wrong = "Old Password is wrong"; +$lang_err_pass_missmatch= "New Password and Confirm Password don't Match"; +$lang_err_user_exists = "Username exists"; +$lang_err_general = "An Error has occured"; +$lang_err_lang_1 = "Language has been spedified, but "; +$lang_err_lang_2 = " has not been found"; +$lang_err_lang_notfound = "Unable to find language, please specify in owl.lib.php"; +$lang_err_sess_write = "Error writing session information to database"; +$lang_err_sess_notvalid = "Session id is not valid"; +$lang_err_bad_version_1 = "Owl Intranet Requires as a minimum PHP Version"; +$lang_err_bad_version_2 = "You are running Version"; +$lang_err_bad_version_3 = "Install a newer version of php and try again"; + +$lang_err_folderexists = "Rename was Canceled
Folder with the same name exists."; +$lang_err_movecancel = "Move was Canceled
"; +$lang_err_email = "Message could not be sent"; +$lang_err_fileexists = "Move was Canceled
File with the same name already exists."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Upgrade Users to MD5 Passwords"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/Danish/graphics/btn_add_file.gif b/locale/Danish/graphics/btn_add_file.gif new file mode 100755 index 0000000..5eb4588 --- /dev/null +++ b/locale/Danish/graphics/btn_add_file.gif diff --git a/locale/Danish/graphics/btn_add_folder.gif b/locale/Danish/graphics/btn_add_folder.gif new file mode 100755 index 0000000..f6ecfe6 --- /dev/null +++ b/locale/Danish/graphics/btn_add_folder.gif diff --git a/locale/Danish/graphics/btn_add_url.gif b/locale/Danish/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/Danish/graphics/btn_add_url.gif diff --git a/locale/Danish/graphics/btn_browse.gif b/locale/Danish/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/Danish/graphics/btn_browse.gif diff --git a/locale/Danish/graphics/btn_collapse_view.gif b/locale/Danish/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..9a0fc76 --- /dev/null +++ b/locale/Danish/graphics/btn_collapse_view.gif diff --git a/locale/Danish/graphics/btn_expand_view.gif b/locale/Danish/graphics/btn_expand_view.gif new file mode 100755 index 0000000..7f71e0f --- /dev/null +++ b/locale/Danish/graphics/btn_expand_view.gif diff --git a/locale/Danish/graphics/btn_login.gif b/locale/Danish/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/Danish/graphics/btn_login.gif diff --git a/locale/Danish/graphics/btn_logout.gif b/locale/Danish/graphics/btn_logout.gif new file mode 100755 index 0000000..f7ab765 --- /dev/null +++ b/locale/Danish/graphics/btn_logout.gif diff --git a/locale/Danish/graphics/edit.gif b/locale/Danish/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Danish/graphics/edit.gif diff --git a/locale/Danish/graphics/email.gif b/locale/Danish/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Danish/graphics/email.gif diff --git a/locale/Danish/graphics/icons/bin.gif b/locale/Danish/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Danish/graphics/icons/bin.gif diff --git a/locale/Danish/graphics/icons/blank.gif b/locale/Danish/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Danish/graphics/icons/blank.gif diff --git a/locale/Danish/graphics/icons/bmp.jpg b/locale/Danish/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/Danish/graphics/icons/bmp.jpg diff --git a/locale/Danish/graphics/icons/doc.jpg b/locale/Danish/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/Danish/graphics/icons/doc.jpg diff --git a/locale/Danish/graphics/icons/file.gif b/locale/Danish/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/Danish/graphics/icons/file.gif diff --git a/locale/Danish/graphics/icons/folder_closed.gif b/locale/Danish/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Danish/graphics/icons/folder_closed.gif diff --git a/locale/Danish/graphics/icons/folder_gray.gif b/locale/Danish/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Danish/graphics/icons/folder_gray.gif diff --git a/locale/Danish/graphics/icons/gif.jpg b/locale/Danish/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/Danish/graphics/icons/gif.jpg diff --git a/locale/Danish/graphics/icons/gz.jpg b/locale/Danish/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Danish/graphics/icons/gz.jpg diff --git a/locale/Danish/graphics/icons/htm.jpg b/locale/Danish/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Danish/graphics/icons/htm.jpg diff --git a/locale/Danish/graphics/icons/html.jpg b/locale/Danish/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/Danish/graphics/icons/html.jpg diff --git a/locale/Danish/graphics/icons/jpg.jpg b/locale/Danish/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/Danish/graphics/icons/jpg.jpg diff --git a/locale/Danish/graphics/icons/link.gif b/locale/Danish/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Danish/graphics/icons/link.gif diff --git a/locale/Danish/graphics/icons/mag.jpg b/locale/Danish/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Danish/graphics/icons/mag.jpg diff --git a/locale/Danish/graphics/icons/mdb.jpg b/locale/Danish/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/Danish/graphics/icons/mdb.jpg diff --git a/locale/Danish/graphics/icons/move.gif b/locale/Danish/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Danish/graphics/icons/move.gif diff --git a/locale/Danish/graphics/icons/mp3.jpg b/locale/Danish/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/Danish/graphics/icons/mp3.jpg diff --git a/locale/Danish/graphics/icons/pdf.jpg b/locale/Danish/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/Danish/graphics/icons/pdf.jpg diff --git a/locale/Danish/graphics/icons/ppt.jpg b/locale/Danish/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Danish/graphics/icons/ppt.jpg diff --git a/locale/Danish/graphics/icons/tar.jpg b/locale/Danish/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/Danish/graphics/icons/tar.jpg diff --git a/locale/Danish/graphics/icons/url.gif b/locale/Danish/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/Danish/graphics/icons/url.gif diff --git a/locale/Danish/graphics/icons/xls.jpg b/locale/Danish/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Danish/graphics/icons/xls.jpg diff --git a/locale/Danish/graphics/icons/zip.jpg b/locale/Danish/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Danish/graphics/icons/zip.jpg diff --git a/locale/Danish/graphics/ife.gif b/locale/Danish/graphics/ife.gif new file mode 100755 index 0000000..e9cc12c --- /dev/null +++ b/locale/Danish/graphics/ife.gif diff --git a/locale/Danish/graphics/lock.gif b/locale/Danish/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Danish/graphics/lock.gif diff --git a/locale/Danish/graphics/log.gif b/locale/Danish/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/Danish/graphics/log.gif diff --git a/locale/Danish/graphics/mag.jpg b/locale/Danish/graphics/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Danish/graphics/mag.jpg diff --git a/locale/Danish/graphics/owl.gif b/locale/Danish/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/Danish/graphics/owl.gif diff --git a/locale/Danish/graphics/trash.gif b/locale/Danish/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Danish/graphics/trash.gif diff --git a/locale/Danish/graphics/update.gif b/locale/Danish/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Danish/graphics/update.gif diff --git a/locale/Danish/language.inc b/locale/Danish/language.inc new file mode 100755 index 0000000..7512668 --- /dev/null +++ b/locale/Danish/language.inc @@ -0,0 +1,287 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +$lang_logout = ""; +$lang_login = "Log af"; +$lang_successlogout = "Du er logget af"; +$lang_loginfail = "Der opstod en fejl under login"; +$lang_logindisabled = "Kontoen er blevet DEAKTIVERET, Kontakt systemadministrator"; +$lang_sessinuse = "Denne session er i brug på en anden computer, ingen adgang
Login"; +$lang_invalidsess = "Sessions id er ikke gyldig, log på fra hovedsiden
"; +$lang_sesstimeout = "Den session har forårsaget timeout, log på igen
"; + +$lang_addingfolder = "Opretter en mappe i "; +$lang_addingfile = "Opretter en fil i "; +$lang_modifying = "Ændrer "; +$lang_reallydelete = "Er du sikker på at du vil slette?"; +$lang_addfolder = ""; +$lang_addfile = ""; + +$lang_title = "Titel"; +$lang_userlang = "Sprog"; +// begin Daphne change +$lang_held = "Lås"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "Fil"; +$lang_size = "Størrelse"; +$lang_postedby = "Tilføjet af"; +$lang_modified = "Ændret"; +$lang_actions = "Valg"; +$lang_ownership = "Ejer"; +$lang_newpolicy = "Sæt nye sikkerhedsregler"; +$lang_policy = "Sikkerhedsregler"; + +$lang_sendthisfile = "Send denne fil"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Send Fil"; +$lang_keywords = "Nøgle ord"; +$lang_newpermissions = "Ny tilladelse"; +$lang_permissions = "Tilladelse"; +$lang_description = "Beskrivelse"; +$lang_change = "Ændre"; +$lang_reset = "Nulstil"; +$lang_create = "Opret"; +// begin Daphne change +$lang_vertype = "Revision "; // for modify.php when uploading +$lang_vermajor = "Overordnet Revision"; +$lang_verminor = "UnderordnetvRevision"; +$lang_verdescription = "Beskrivelse
af ændringer"; +// end Daphne change + +$lang_everyoneread = "Alle kan læse/downloade"; +$lang_everyonewrite = "Alle kan læse/skrive/downloade"; +$lang_everyonewrite_nod = "Alle læse/skrive/downloade, IKKE SLETTE"; +$lang_groupread = "Din gruppe kan læse/downloade"; +$lang_groupwrite = "Din gruppe kan læse/skrive/downloade"; +$lang_groupwrite_nod = "Din gruppe kan læse/skrive/downloade, IKKE SLETTE"; +$lang_onlyyou = "Kun du kan læse/skrive/downloade"; +$lang_groupwrite_worldread = "Din gruppe kan læse/skrive/downloade og alle kan læse"; +$lang_groupwrite_worldread_nod = "Din gruppe kan læse/skrive/downloade (IKKE SLETTE) og alle kan læse"; +$lang_ggroupwrite_worldread = "Din gruppe kan uploade filer og slette mappen og alle kan se indholdet"; +$lang_ggroupwrite_worldread_nod = "Din gruppe kan uploade filer til mappen og alle kan se indhold, IKKE SLETTE"; +// BEGIN BUG FIX: #449394 add document policy bugs for admin + +$lang_everyoneread_ad = "Alle kan læse/downloade"; +$lang_everyonewrite_ad = "Alle kan læse/skrive/downloade"; +$lang_everyonewrite_ad_nod = "Alle kan læse/skrive/downloade, IKKE SLETTE"; +$lang_groupread_ad = "Den valgte gruppe kan læse/downloade"; +$lang_groupwrite_ad = "Den valgte gruppe kan læse/skrive/downloade"; +$lang_groupwrite_ad_nod = "Den valgte gruppe kan læse/skrive/downloade, IKKE SLETTE"; +$lang_onlyyou_ad = "Kun du kan læse/skrive/downloade"; +$lang_groupwrite_worldread_ad = "Den valgte gruppe kan læse/skrive/downloade og alle kan læse"; +$lang_groupwrite_worldread_ad_nod = "Den valgte gruppe kan læse/skrive/downloade,(NO DELETE) og alle kan læse"; +$lang_ggroupwrite_worldread_ad = "Den valgte gruppe kan uploade filer og slette denne mappen og alle kan se indholdet"; +$lang_ggroupwrite_worldread_ad_nod = "Den valgte gruppe kan uploade filer til mappen og alle kan se indholdet, IKKE SLETTE"; + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "Alle kan læse denne mappe"; +$lang_geveryonewrite = "Alle kan uploade filer og slette denne mappe"; +$lang_geveryonewrite_nod= "Alle kan uploade filer til denne mappe"; +$lang_ggroupread = "Din gruppe kan læse denne mappe"; +$lang_ggroupwrite = "Din gruppe kan uploade filer og slette denne mappe"; +$lang_ggroupwrite_nod = "Din gruppe kan uploade filer til denne mappe"; +$lang_gonlyyou = "Kun du kan uploade filer og slette denne mappe"; + +$lang_geveryoneread_ad = "Alle kan læse denne mappe"; +$lang_geveryonewrite_ad = "Alle kan uploade filer og slette denne mappe"; +$lang_geveryonewrite_ad_nod = "Alle kan uploade filer til denne mappe"; +$lang_ggroupread_ad = "Den valgte gruppe kan læse filer i denne mappe"; +$lang_ggroupwrite_ad = "Den valgte gruppe kan uploade filer og slette denne mappe"; +$lang_ggroupwrite_ad_nod= "Den valgte gruppe kan uploade filer til denne mappe"; +$lang_gonlyyou_ad = "Kun du kan uploade filer og slette denne mappe"; + +$lang_nofolderaccess = "Du har ikke adgang til denne mappe"; +$lang_nofileaccess = "Du har ikke adgang til denne fil"; +$lang_nofilemod = "Du har ikke adgang til at modificere denne fil"; +$lang_nofiledelete = "Du har ikke adgang til at slette denne fil"; +$lang_noupload = "Du har ikke adgang til at uploade til denne mappe"; +$lang_nosubfolder = "Du har ikke adgang til at oprette undermapper her"; +$lang_nofoldermod = "Du har ikke adgang til at modificere denne mappe"; +$lang_nofolderdelete = "Du har ikke adgang til at slette denne mappe"; +$lang_noemail = "Du har ikke adgang til at sende denne fil via e-mail"; +$lang_fileexists = "Filen du prøver at uploade eksisterer allerede"; +$lang_specifyname = "Angiv venligst et navn"; + +$lang_users = "Brugere"; +$lang_groups = "Grupper"; +$lang_group = "Hovedgruppe"; +$lang_groupmember = "Medlemsgruppe"; +$lang_username = "Brugernavn"; +$lang_password = "Password"; +$lang_newpassword = "Nyt Password"; +$lang_oldpassword = "Gammelt Password"; +$lang_confpassword = "Bekræft Nyt Password"; +$lang_email = "E-mail Adresse"; +$lang_emailing = "Sender e-mail"; +$lang_email_to = "Send til"; +$lang_email_reply_to = "Svar til"; +$lang_email_cc = "CC"; +$lang_email_subject = "Emne"; +$lang_email_body = "Besked"; +$lang_notification = "Modtag besked"; +$lang_attach_file = "Attach File"; +$lang_change = "Ændre"; +$lang_deleteuser = "Slet bruger"; +$lang_deletegroup = "Slet gruppe"; +$lang_saved = "Ændreinger er gemt"; +$lang_add = "Tilføj"; +$lang_quota = "Kvote"; +$lang_disableuser = "Deaktiver/Aktiver Bruger"; +$lang_noprefaccess = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrator"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + +// Bozz Change Begin +$lang_email_alt = "Send denne fil via e-mail"; +$lang_del_folder_alt = "Slet denne mappe (Y/N)"; +$lang_mod_folder_alt = "Modificer mappeegenskaber"; +$lang_move_folder_alt = "Flyt mappe"; + +$lang_del_file_alt = "Slet fil (Y/N)"; +$lang_mod_file_alt = "Modificer filegenskaber"; +$lang_move_file_alt = "Flyt fil"; +$lang_upd_file_alt = "Opdater fil"; +$lang_get_file_alt = "download fil"; +$lang_view_file_alt = "Se fil"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "flush hanging sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "Fil Log"; +$lang_lock_file = "Lås filen: til/fra"; +// end Daphne Change +$lang_notif_subject_new = "Ny OWL Intranet Fil"; +$lang_notif_subject_upd = "En OWL Intranet Fil blev opdateret"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; +;$lang_notif_msg = "Dette er en automatiseret besked fra OWL Intranet\n\nTryk på linket nedenfor for at se den nye/opdaterede fil\n\n"; + +// Diego Bugfix +$lang_admin = "Admin"; +$lang_user = "Bruger"; +$lang_search = "Søg"; +$lang_search_results_for = "Søgeresultat for"; +$lang_score = "Point"; +$lang_ownergroup = "Ejer (Gruppe)"; +$lang_name = "Navn"; +//Diego Bugfix end +$lang_query_empty = "Tom søgestreng"; + +// Error Message Section +// +$lang_err_file_update = "Opdatering af en fil kræver at filnavnet er uændret, prøv igen med at bruge det samme filnavn"; +$lang_err_quota = "Du har ikke nok plads nok tilbage i den kvote, til at uploade denne fil: "; +$lang_err_quota_needed = " nødvendig "; +$lang_err_quota_avail = " tilgængelig."; +$lang_err_quota_exceed = "Du har overskridt over din kvote"; +$lang_err_upload = "Upload fejl"; +$lang_err_folder_exist = "Denne mappe findes allerede"; +$lang_err_folder_create = "Kunne ikke at oprette mappen"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Kunne ikke oprette Sikkerhedskopimappe"; +$lang_err_backup_file = "Fejl under oprettelse af sikkerhedskopi for eksisterende fil"; +$lang_err_file_lock = "Du kan ikke låse denne fil, da den for øjeblikket er låst af"; +// end Daphne change +$lang_err_unauthorized = "Ikke tilladt"; +$lang_err_unauth_area = "Du har ikke tilladelse til at bruge dette område"; +$lang_err_pass_wrong = "Det gamle password er forkert"; +$lang_err_pass_missmatch= "Nyt password og bekræftet password er ikke identiske"; +$lang_err_user_exists = "Brugernavn eksisterer allerede"; +$lang_err_general = "Der er opstået en fejl"; +$lang_err_lang_1 = "Sprog er blevet specifiseret, men "; +$lang_err_lang_2 = " er ikke blevet fundet"; +$lang_err_lang_notfound = "Kunne ikke finde sprog, angivet i owl.lib.php"; +$lang_err_sess_write = "Der opstod en fejl ved skriving af sessionsinformation til databasen"; +$lang_err_sess_notvalid = "Sessions id er ikke gyldig"; +$lang_err_bad_version_1 = "Owl Intranet Kræver som en minimum PHP Version"; +$lang_err_bad_version_2 = "Du kører Version"; +$lang_err_bad_version_3 = "Installer en nyere version af php og prøv igen"; + +$lang_err_folderexists = "Omdøb blev annuleret
Mappe med det samme navn eksisterer."; +$lang_err_movecancel = "Flyting blev annuleret
"; +$lang_err_email = "Beskeden kunne ikke sendes"; +$lang_err_fileexists = "Flyting blev annuleret
Fil med samme navn eksisterer allerede."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Brugernavn"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Opgrader brugere til MD5 Password"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/Deutsch/graphics/btn_add_file.gif b/locale/Deutsch/graphics/btn_add_file.gif new file mode 100755 index 0000000..e45fd6e --- /dev/null +++ b/locale/Deutsch/graphics/btn_add_file.gif diff --git a/locale/Deutsch/graphics/btn_add_folder.gif b/locale/Deutsch/graphics/btn_add_folder.gif new file mode 100755 index 0000000..94ee4e7 --- /dev/null +++ b/locale/Deutsch/graphics/btn_add_folder.gif diff --git a/locale/Deutsch/graphics/btn_add_url.gif b/locale/Deutsch/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/Deutsch/graphics/btn_add_url.gif diff --git a/locale/Deutsch/graphics/btn_browse.gif b/locale/Deutsch/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/Deutsch/graphics/btn_browse.gif diff --git a/locale/Deutsch/graphics/btn_collapse_view.gif b/locale/Deutsch/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..84eb91f --- /dev/null +++ b/locale/Deutsch/graphics/btn_collapse_view.gif diff --git a/locale/Deutsch/graphics/btn_expand_view.gif b/locale/Deutsch/graphics/btn_expand_view.gif new file mode 100755 index 0000000..ab1d12d --- /dev/null +++ b/locale/Deutsch/graphics/btn_expand_view.gif diff --git a/locale/Deutsch/graphics/btn_login.gif b/locale/Deutsch/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/Deutsch/graphics/btn_login.gif diff --git a/locale/Deutsch/graphics/btn_logout.gif b/locale/Deutsch/graphics/btn_logout.gif new file mode 100755 index 0000000..a407751 --- /dev/null +++ b/locale/Deutsch/graphics/btn_logout.gif diff --git a/locale/Deutsch/graphics/edit.gif b/locale/Deutsch/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Deutsch/graphics/edit.gif diff --git a/locale/Deutsch/graphics/email.gif b/locale/Deutsch/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Deutsch/graphics/email.gif diff --git a/locale/Deutsch/graphics/icons/bin.gif b/locale/Deutsch/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Deutsch/graphics/icons/bin.gif diff --git a/locale/Deutsch/graphics/icons/blank.gif b/locale/Deutsch/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Deutsch/graphics/icons/blank.gif diff --git a/locale/Deutsch/graphics/icons/bmp.jpg b/locale/Deutsch/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/Deutsch/graphics/icons/bmp.jpg diff --git a/locale/Deutsch/graphics/icons/doc.jpg b/locale/Deutsch/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/Deutsch/graphics/icons/doc.jpg diff --git a/locale/Deutsch/graphics/icons/file.gif b/locale/Deutsch/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/Deutsch/graphics/icons/file.gif diff --git a/locale/Deutsch/graphics/icons/folder_closed.gif b/locale/Deutsch/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Deutsch/graphics/icons/folder_closed.gif diff --git a/locale/Deutsch/graphics/icons/folder_gray.gif b/locale/Deutsch/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Deutsch/graphics/icons/folder_gray.gif diff --git a/locale/Deutsch/graphics/icons/gif.jpg b/locale/Deutsch/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/Deutsch/graphics/icons/gif.jpg diff --git a/locale/Deutsch/graphics/icons/gz.jpg b/locale/Deutsch/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Deutsch/graphics/icons/gz.jpg diff --git a/locale/Deutsch/graphics/icons/htm.jpg b/locale/Deutsch/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Deutsch/graphics/icons/htm.jpg diff --git a/locale/Deutsch/graphics/icons/html.jpg b/locale/Deutsch/graphics/icons/html.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Deutsch/graphics/icons/html.jpg diff --git a/locale/Deutsch/graphics/icons/jpg.jpg b/locale/Deutsch/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/Deutsch/graphics/icons/jpg.jpg diff --git a/locale/Deutsch/graphics/icons/link.gif b/locale/Deutsch/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Deutsch/graphics/icons/link.gif diff --git a/locale/Deutsch/graphics/icons/mag.jpg b/locale/Deutsch/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Deutsch/graphics/icons/mag.jpg diff --git a/locale/Deutsch/graphics/icons/mdb.jpg b/locale/Deutsch/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/Deutsch/graphics/icons/mdb.jpg diff --git a/locale/Deutsch/graphics/icons/move.gif b/locale/Deutsch/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Deutsch/graphics/icons/move.gif diff --git a/locale/Deutsch/graphics/icons/mp3.jpg b/locale/Deutsch/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/Deutsch/graphics/icons/mp3.jpg diff --git a/locale/Deutsch/graphics/icons/pdf.jpg b/locale/Deutsch/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/Deutsch/graphics/icons/pdf.jpg diff --git a/locale/Deutsch/graphics/icons/ppt.jpg b/locale/Deutsch/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Deutsch/graphics/icons/ppt.jpg diff --git a/locale/Deutsch/graphics/icons/tar.jpg b/locale/Deutsch/graphics/icons/tar.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Deutsch/graphics/icons/tar.jpg diff --git a/locale/Deutsch/graphics/icons/trash.gif b/locale/Deutsch/graphics/icons/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Deutsch/graphics/icons/trash.gif diff --git a/locale/Deutsch/graphics/icons/url.gif b/locale/Deutsch/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/Deutsch/graphics/icons/url.gif diff --git a/locale/Deutsch/graphics/icons/xls.jpg b/locale/Deutsch/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Deutsch/graphics/icons/xls.jpg diff --git a/locale/Deutsch/graphics/icons/zip.jpg b/locale/Deutsch/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Deutsch/graphics/icons/zip.jpg diff --git a/locale/Deutsch/graphics/lock.gif b/locale/Deutsch/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Deutsch/graphics/lock.gif diff --git a/locale/Deutsch/graphics/log.gif b/locale/Deutsch/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/Deutsch/graphics/log.gif diff --git a/locale/Deutsch/graphics/mag.jpg b/locale/Deutsch/graphics/mag.jpg new file mode 100755 index 0000000..cfd8e9e --- /dev/null +++ b/locale/Deutsch/graphics/mag.jpg diff --git a/locale/Deutsch/graphics/owl.gif b/locale/Deutsch/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/Deutsch/graphics/owl.gif diff --git a/locale/Deutsch/graphics/trash.gif b/locale/Deutsch/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Deutsch/graphics/trash.gif diff --git a/locale/Deutsch/graphics/update.gif b/locale/Deutsch/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Deutsch/graphics/update.gif diff --git a/locale/Deutsch/language.inc b/locale/Deutsch/language.inc new file mode 100755 index 0000000..3524b92 --- /dev/null +++ b/locale/Deutsch/language.inc @@ -0,0 +1,296 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +$lang_logout = ""; +//$lang_logout = "(Abmelden)"; +$lang_login = "Anmelden"; +$lang_successlogout = "Sie haben sich erfolgreich abgemeldet"; +$lang_loginfail = "Falscher Benutzername oder falsches Passwort"; +$lang_logindisabled = "Der Benutzername wurde deaktiviert, bitte kontaktieren Sie den Systemadministrator"; +$lang_sessinuse = "Diese Sitzung ist bereits auf einem anderen Computer aktiv. Zugang verweigert."; +$lang_invalidsess = "Ungültige Anmeldung. Gehen Sie bitte zur Hauptseite
"; +$lang_sesstimeout = "Zeitüberschreitung! Bitte melden Sie sich neu an
"; + +$lang_addingfolder = "Hinzufügen eines Verzeichnisses zu "; +$lang_addingfile = "Hinzufügen einer Datei zu "; +$lang_modifying = "Ändern "; +$lang_reallydelete = "Wirklich löschen"; + +$lang_title = "Titel"; +$lang_userlang = "Sprache"; +// begin Daphne change +$lang_held = "Ausgecheckt"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "Datei"; +$lang_size = "Grösse"; +$lang_postedby = "Eingestellt von"; +$lang_modified = "Verändert"; +$lang_actions = "Aktionen"; +$lang_ownership = "Eigentum"; +$lang_newpolicy = "Neue Berechtigung"; +$lang_policy = "Berechtigung"; + +// BEGIN extend Scott Tigr +$lang_folder = "Verzeichnis"; +$lang_currentdir = "aktuelles Verzeichnis"; +$lang_create_file = "Datei erstellen"; +// begin Daphne change +$lang_vertype = "Art der Überarbeitung"; // for modify.php when uploading +$lang_vermajor = "Komplette Überarbeitung"; +$lang_verminor = "Kleinere Änderungen"; +$lang_verdescription = "Beschreibung
der Änderungen"; +// end Daphne change + +// END extend Scott Tigr + +$lang_sendthisfile = "Diese Datei senden"; +$lang_sendthisurl = "Diese URL senden"; +$lang_sendfile = "Datei senden"; +$lang_keywords = "Schlüsselworte"; +$lang_permissions = "Berechtigungen"; +$lang_newpermissions = "Neue Berechtigungen"; +$lang_description = "Beschreibung"; +$lang_change = "Verändern"; +$lang_reset = "Zurücksetzen"; +$lang_create = "Anlegen"; + +$lang_everyoneread = "Jeder kann lesen/herunterladen"; +$lang_everyonewrite = "Jeder kann lesen/schreiben/herunterladen"; +$lang_everyonewrite_nod = "Jeder kann lesen/schreiben/herunterladen, aber NICHT Löschen"; +$lang_groupread = "Ihre Gruppe kann lesen/herunterladen"; +$lang_groupwrite = "Ihre Gruppe kann lesen/schreiben/herunterladen"; +$lang_groupwrite_nod = "Ihre Gruppe kann lesen/schreiben/herunterladen, aber NICHT löschen"; +$lang_onlyyou = "Nur Sie können lesen/schreiben/herunterladen"; +$lang_groupwrite_worldread = "Ihre Gruppe kann lesen/schreiben/herunterladen & jeder kann lesen"; +$lang_groupwrite_worldread_nod = "Ihre Gruppe kann lesen/schreiben/herunterladen, aber NICHT löschen & jeder kann lesen"; +$lang_ggroupwrite_worldread = "Ihre Gruppe kann Dateien hochladen und dieses Verzeichnis löschen & jeder kann den Inhalt lesen"; +$lang_ggroupwrite_worldread_nod = "Ihre Gruppe kann Dateien in dieses Verzeichnis hochladen & jeder kann den Inhalt lesen, aber NICHT löschen"; + +// BEGIN BUG FIX: #449394 add document policy bugs for admin +// Please translate and send back +// bozz@bozzit.com +$lang_everyoneread_ad = "Jeder kann lesen/herunterladen"; +$lang_everyonewrite_ad = "Jeder kann lesen/schreiben/herunterladen"; +$lang_everyonewrite_ad_nod = "Jeder kann lesen/schreiben/herunterladen, aber NICHT löschen"; +$lang_groupread_ad = "Die ausgewählte Gruppe kann lesen/herunterladen"; +$lang_groupwrite_ad = "Die ausgewählte Gruppe kann lesen/schreiben/herunterladen"; +$lang_groupwrite_ad_nod = "Die ausgewählte Gruppe kann lesen/schreiben/herunterladen, aber NICHT löschen"; +$lang_onlyyou_ad = "Nur der Eigentümer (!) kann lesen/schreiben/herunterladen"; +$lang_groupwrite_worldread_ad = "Die ausgewählte Gruppe kann lesen/schreiben/herunterladen & jeder kann lesen"; +$lang_groupwrite_worldread_ad_nod = "Die ausgewählte Gruppe kann lesen/schreiben/herunterladen, aber NICHT löschen & jeder kann lesen"; +$lang_ggroupwrite_worldread_ad = "Die ausgewählte Gruppe kann Dateien hochladen und dieses Verzeichnis löschen & jeder kann den Inhalt lesen"; +$lang_ggroupwrite_worldread_ad_nod = "Die ausgewählte Gruppe kann Dateien in dieses Verzeichnis hochladen & jeder kann den Inhalt lesen, aber NICHT löschen"; + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread_ad = "Jeder kann dieses Verzeichnis lesen"; +$lang_geveryonewrite_ad = "Jeder kann Dateien einstellen und das Verzeichnis löschen"; +$lang_geveryonewrite_ad_nod = "Jeder kann Dateien in dieses Verzeichnis speichern"; +$lang_ggroupread_ad = "Ihre Gruppe kann dieses Verzeichnis lesen"; +$lang_ggroupwrite_ad = "Ihre Gruppe kann Dateien einstellen und das Verzeichnis löschen"; +$lang_ggroupwrite_ad_nod = "Die ausgewählte Gruppe kann Dateien in dieses Verzeichnis speichern"; +$lang_gonlyyou_ad = "Nur Sie können Dateien erstellen und das Verzeichnis löschen"; + +$lang_geveryoneread = "Jeder kann dieses Verzeichnis lesen"; +$lang_geveryonewrite = "Jeder kann Dateien einstellen und das Verzeichnis löschen"; +$lang_geveryonewrite_nod = "Jeder kann Dateien in dieses Verzeichnis speichern"; +$lang_ggroupread = "Ihre Gruppe kann dieses Verzeichnis lesen"; +$lang_ggroupwrite = "Ihre Gruppe kann Dateien einstellen und das Verzeichnis löschen"; +$lang_ggroupwrite_nod = "Ihre Gruppe kann Dateien in dieses Verzeichnis speichern"; +$lang_gonlyyou = "Nur Sie können Dateien erstellen und das Verzeichnis löschen"; + +$lang_nofolderaccess = "Sie haben keinen Zugriff auf das Verzeichnis"; +$lang_nofileaccess = "Sie haben keinen Zugriff auf die Datei"; +$lang_nofilemod = "Sie haben keine Berechtigung zum Ändern dieser Datei"; +$lang_nofiledelete = "Sie haben keine Berechtigung zum Löschen dieser Datei"; +$lang_noupload = "Sie haben keine Berechtigung, Dateien in dieses Verzeichnis einzustellen"; +$lang_nosubfolder = "Sie haben hier keine Berechtigung, Unterverzeichnisse zu erstellen"; +$lang_nofoldermod = "Sie haben keine Berechtigung, dieses Verzeichnis zu verändern"; +$lang_nofolderdelete = "Sie haben keine Berechtigung, dieses Verzeichnis zu löschen"; +$lang_noemail = "Sie haben keine Berechtigung, diese Datei zu versenden"; +$lang_fileexists = "Die Datei, die Sie versuchen einzustellen, existiert bereits"; +$lang_specifyname = "Bitte gehen Sie zurück und vergeben einen Namen"; + +$lang_users = "Benutzer"; +$lang_groups = "Gruppen"; +$lang_group = "Gruppe"; +$lang_username = "Benutzername"; +$lang_password = "Passwort"; +$lang_newpassword = "Neues Passwort"; +$lang_oldpassword = "Altes Passwort"; +$lang_confpassword = "Neues Passwort bestätigen"; +$lang_email = "Email-Adresse"; +$lang_emailing = "Emailing"; +$lang_email_to = "Email an"; +$lang_email_reply_to = "Antwort an"; +$lang_email_cc = "Kopie an"; +$lang_email_subject = "Betreff"; +$lang_email_body = "Nachricht"; +$lang_notification = "Benachrichtigungen versenden"; +$lang_attach_file = "Datei anhängen"; +$lang_change = "Ändern"; +$lang_deleteuser = "Benutzer löschen"; +$lang_deletegroup = "Gruppe löschen"; +$lang_saved = "Änderungen speichern"; +$lang_add = "Hinzufügen"; +$lang_quota = "Mengenbegrenzung"; +$lang_disableuser = "Benutzer deaktivieren"; +$lang_noprefaccess = "Einstellungen deaktivieren "; +$lang_toomanysessions = "Maximale Anzahl an Sitzungen für diesen Benutzer erreicht, kontaktieren Sie den Systemadministrator"; +$lang_maxsessions = "Maximale Anzahl an Sitzungen"; +$lang_preference = "Einstellungen"; +$lang_moving = "Verschieben"; +$lang_select = "Wählen Sie ein neues Verzeichnis:"; +$lang_updating = "Aktualiseren"; +$lang_cancel_button = "Abbrechen"; +//$lang_return = "Zurück zum Dateiverzeichnis"; + + +// Bozz Change Begin +$lang_email_alt = "Datei per Email versenden"; +$lang_del_folder_alt = "Verzeichnis löschen (J/N)"; +$lang_mod_folder_alt = "Verzeichniseigenschaften ändern"; +$lang_move_folder_alt = "Verzeichnis verschieben"; + +$lang_del_file_alt = "Datei löschen (J/N)"; +$lang_mod_file_alt = "Dateieigenschaften ändern"; +$lang_move_file_alt = "Datei verschieben"; +$lang_upd_file_alt = "Datei aktualisieren"; +$lang_get_file_alt = "Datei herunterladen"; +$lang_view_file_alt = "Datei ansehen"; +$lang_newuser_alt = "Benutzer anlegen"; +$lang_newgroup_alt = "Gruppe anlegen"; +$lang_flush_sessions_alt = "hängengebliebene Sessions löschen"; +$lang_edthtml_alt = "HTML-Voreinstellungen der Site bearbeiten"; +$lang_edprefs_alt = "Features und Einstellungen der Site bearbeiten"; +$lang_backup_alt = "SQL-Datenbank sichern"; +$lang_backup_dis_alt = "Backup-Tool oder gzip nicht gefunden"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "Log-Datei"; +$lang_lock_file = "Datei aus-/einchecken"; +// end Daphne Change +$lang_notif_subject_new = "Neue OWL Intranet Datei"; +$lang_notif_subject_upd = "Eine OWL Intranet Datei wurde aktualisiert"; +$lang_notif_msg = "DIES IST EINE AUTOMATISCHE MITTEILUNG VON OWL Intranet.\n\nDie neue oder geänderte Datei ist angehängt.\n\n"; +// $lang_notif_msg = "DIESE MAIL WURDE AUTOMATISCH VON OWL Intranet GENERIERT\n\nUm die neuen/ geänderten Dateien zu sehen, klicken Sie bitte auf den Link unten.\n\n"; + +// Diego Bugfix +$lang_admin = "Administration"; +$lang_user = "Benutzer"; +$lang_search = "Suchen"; +$lang_search_results_for = "Suchergebnisse für"; +$lang_score = "Treffer"; +$lang_ownergroup = "Besitzer (Gruppe)"; +$lang_name = "Name"; +//Diego Bugfix end +$lang_query_empty = "Bitte geben Sie einen Suchbegriff ein."; + + +$lang_err_file_update = "Um eine Datei zu aktualisieren, müssen die Dateinamen übereinstimmen. Benutzen Sie bitte den in OWL Intranet gespeicherten Dateinamen"; +$lang_err_quota = "Sie haben nicht genug Speicherplatz, um die Datei hochzuladen: "; +$lang_err_quota_needed = " benötigt "; +$lang_err_quota_avail = " verfügbar."; +$lang_err_quota_exceed = "Sie haben keinen Speicherplatz mehr zur Verfügung "; +$lang_err_upload = "Fehler beim Hochladen der Datei"; +$lang_err_folder_exist = "Das Verzeichnis existiert bereits"; +$lang_err_folder_create = "Verzeichnis konnte nicht angelegt werden"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Fehler beim Erzeugen des Backup-Verzeichnisses"; +$lang_err_backup_file = "Fehler beim Erzeugen der Backup-Datei"; +$lang_err_file_lock = "Sie können diese Datei nicht auchecken, da sie bereits verwendet wird von "; +// end Daphne change +$lang_err_unauthorized = "Nicht autorisiert"; +$lang_err_unauth_area = "Sie haben keine Berechtigung für diesen Bereich"; +$lang_err_pass_wrong = "Das alte Passwort ist falsch"; +$lang_err_pass_missmatch = "Das neue und das Bestätigungspasswort stimmen nicht überein."; +$lang_err_user_exists = "Benutzername existiert bereits"; +$lang_err_general = "Ein Fehler ist aufgetreten"; +$lang_err_lang_1 = "Spracheinstellung wurde gefunden, aber "; +$lang_err_lang_2 = " wurde nicht gefunden"; +$lang_err_lang_notfound = "Konnte Spracheinstellung nicht feststellen, bitte in owl.lib.php spezifizieren"; +$lang_err_sess_write = "Konnte Sessioninformationen nicht in die Datenbank schreiben"; +$lang_err_sess_notvalid = "Sitzungs-ID ist ungültig"; +$lang_err_bad_version_1 = "Owl Intranet benötigt zumindest PHP Version"; +$lang_err_bad_version_2 = "Sie verwenden Version"; +$lang_err_bad_version_3 = "Installieren Sie eine neuere PHP Version und versuchen Sie es erneut"; + +$lang_err_folderexists = "Umbenennen abgebrochen.
Ein Verzeichnis mit diesem Namen existiert bereits!"; +$lang_err_movecancel = "Verschieben wurde abgebrochen.
"; +$lang_err_email = "Die Nachricht konnte nicht verschickt werden."; +$lang_err_fileexists = "Verschieben abgebrochen.
Eine Datei mit diesem Namen existiert bereits!"; +$lang_err_nameempty = "Der Verzeichnisname darf nicht leer sein."; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Benutzername"; +$lang_password = "Passwort"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Passwörter nach MD5 konvertieren"; +//janu's change END + +$lang_viewlog = "Zeige Log für "; +$lang_viewing = "Anzeige "; +$lang_flushed = "Die Sitzungstabelle wurde bereinigt. Der Nutzer kann sich wieder anmelden!
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Tabellengrösse:"; +$lang_ht_tbl_hd_bg = "Hintergrundfarbe des Tabellenkopfs:"; +$lang_ht_tbl_cell_bg_cl = "Erste Hintergrundfarbe der Tabellenfelder:"; +$lang_ht_tbl_cell_bg_al = "Zweite Hintergrundfarbe der Tabellenfelder:"; +$lang_ht_tbl_bg_cl = "Hintergrundfarbe der Tabelle:"; +$lang_ht_expand_width = "Breite Erweiterte Ansicht:"; +$lang_ht_collapse_width = "Breite Normalansicht:"; +$lang_ht_bd_bg_cl = "Hintergrundfarbe:"; +$lang_ht_bd_txt_cl = "Textfarbe:"; +$lang_ht_bd_lnk_cl = "Textfarbe für Links:"; +$lang_ht_bd_vlnk_cl = "Textfarbe für benutzte Links:"; +$lang_ht_main_hd_bg_cl = "Hintergrundfarbe des Kopfbereichs:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL-EINSTELLUNGEN"; +$lang_owl_email_from = "Absenderadresse:"; +$lang_owl_email_fromname = "Absendername:"; +$lang_owl_email_replyto = "Antwortadresse:"; +$lang_owl_email_server = "Email-Serveradresse:"; +$lang_owl_title_HD = "EINSTELLUNGEN FšR NEUE DATEIEN AUS DATEISYSTEM &UUML;BERNEHMEN"; +$lang_owl_lookAtHD = "Einstellungen im Dateisystem nicht beachten:"; +$lang_owl_def_file_security = "Standard-Dateisicherheit:"; +$lang_owl_def_file_group_owner = "Standardbesitzer für Dateigruppen:"; +$lang_owl_def_file_owner = "Standardbesitzer für Dateien:"; +$lang_owl_def_file_title = "Standard-Dateibezeichnung:"; +$lang_owl_def_file_meta = "Standard-Metadaten für Dateien:"; +$lang_owl_def_fold_sec = "Standard-Verzeichnissicherheit:"; +$lang_owl_def_fold_group_owner = "Standardbesitzer für Verzeichnisgruppen:"; +$lang_owl_def_fold_owner = "Standardbesitzer für Verzeichnisse:"; +$lang_owl_title_other = "ANDERE EINSTELLUNGEN"; +$lang_owl_max_filesize = "Maximale Dateigrösse für Upload:"; +$lang_owl_owl_timeout = "Session-Timeout in Sekunden:"; +$lang_owl_owl_expand = "Standardansicht(Erweitert):"; +$lang_owl_version_control = "Versionskontrolle einschalten:"; +$lang_owl_restrict_view = "Eingeschränkte Ansichten erlauben:"; +$lang_owl_title_tools = "DB BACKUP/GZIP-TOOLS"; +$lang_owl_dbdump_path = "Pfad zum DB-Dump-Tool:"; +$lang_owl_gzip_path = "Pfad zu gzip:"; +$lang_owl_tar_path = "Pfad zu tar"; +?> diff --git a/locale/Dutch/graphics/btn_add_file.gif b/locale/Dutch/graphics/btn_add_file.gif new file mode 100755 index 0000000..edfebd6 --- /dev/null +++ b/locale/Dutch/graphics/btn_add_file.gif diff --git a/locale/Dutch/graphics/btn_add_folder.gif b/locale/Dutch/graphics/btn_add_folder.gif new file mode 100755 index 0000000..3cd8ac3 --- /dev/null +++ b/locale/Dutch/graphics/btn_add_folder.gif diff --git a/locale/Dutch/graphics/btn_add_url.gif b/locale/Dutch/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/Dutch/graphics/btn_add_url.gif diff --git a/locale/Dutch/graphics/btn_browse.gif b/locale/Dutch/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/Dutch/graphics/btn_browse.gif diff --git a/locale/Dutch/graphics/btn_collapse_view.gif b/locale/Dutch/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..bf8c336 --- /dev/null +++ b/locale/Dutch/graphics/btn_collapse_view.gif diff --git a/locale/Dutch/graphics/btn_expand_view.gif b/locale/Dutch/graphics/btn_expand_view.gif new file mode 100755 index 0000000..c637e23 --- /dev/null +++ b/locale/Dutch/graphics/btn_expand_view.gif diff --git a/locale/Dutch/graphics/btn_login.gif b/locale/Dutch/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/Dutch/graphics/btn_login.gif diff --git a/locale/Dutch/graphics/btn_logout.gif b/locale/Dutch/graphics/btn_logout.gif new file mode 100755 index 0000000..ddfb3b7 --- /dev/null +++ b/locale/Dutch/graphics/btn_logout.gif diff --git a/locale/Dutch/graphics/edit.gif b/locale/Dutch/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Dutch/graphics/edit.gif diff --git a/locale/Dutch/graphics/email.gif b/locale/Dutch/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Dutch/graphics/email.gif diff --git a/locale/Dutch/graphics/icons/bin.gif b/locale/Dutch/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Dutch/graphics/icons/bin.gif diff --git a/locale/Dutch/graphics/icons/blank.gif b/locale/Dutch/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Dutch/graphics/icons/blank.gif diff --git a/locale/Dutch/graphics/icons/bmp.jpg b/locale/Dutch/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/Dutch/graphics/icons/bmp.jpg diff --git a/locale/Dutch/graphics/icons/doc.jpg b/locale/Dutch/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/Dutch/graphics/icons/doc.jpg diff --git a/locale/Dutch/graphics/icons/file.gif b/locale/Dutch/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/Dutch/graphics/icons/file.gif diff --git a/locale/Dutch/graphics/icons/folder_closed.gif b/locale/Dutch/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Dutch/graphics/icons/folder_closed.gif diff --git a/locale/Dutch/graphics/icons/folder_gray.gif b/locale/Dutch/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Dutch/graphics/icons/folder_gray.gif diff --git a/locale/Dutch/graphics/icons/gif.jpg b/locale/Dutch/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/Dutch/graphics/icons/gif.jpg diff --git a/locale/Dutch/graphics/icons/gz.jpg b/locale/Dutch/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Dutch/graphics/icons/gz.jpg diff --git a/locale/Dutch/graphics/icons/htm.jpg b/locale/Dutch/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Dutch/graphics/icons/htm.jpg diff --git a/locale/Dutch/graphics/icons/html.jpg b/locale/Dutch/graphics/icons/html.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Dutch/graphics/icons/html.jpg diff --git a/locale/Dutch/graphics/icons/jpg.jpg b/locale/Dutch/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/Dutch/graphics/icons/jpg.jpg diff --git a/locale/Dutch/graphics/icons/link.gif b/locale/Dutch/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Dutch/graphics/icons/link.gif diff --git a/locale/Dutch/graphics/icons/mag.jpg b/locale/Dutch/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Dutch/graphics/icons/mag.jpg diff --git a/locale/Dutch/graphics/icons/mdb.jpg b/locale/Dutch/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/Dutch/graphics/icons/mdb.jpg diff --git a/locale/Dutch/graphics/icons/move.gif b/locale/Dutch/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Dutch/graphics/icons/move.gif diff --git a/locale/Dutch/graphics/icons/mp3.jpg b/locale/Dutch/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/Dutch/graphics/icons/mp3.jpg diff --git a/locale/Dutch/graphics/icons/pdf.jpg b/locale/Dutch/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/Dutch/graphics/icons/pdf.jpg diff --git a/locale/Dutch/graphics/icons/ppt.jpg b/locale/Dutch/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Dutch/graphics/icons/ppt.jpg diff --git a/locale/Dutch/graphics/icons/tar.jpg b/locale/Dutch/graphics/icons/tar.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Dutch/graphics/icons/tar.jpg diff --git a/locale/Dutch/graphics/icons/url.gif b/locale/Dutch/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/Dutch/graphics/icons/url.gif diff --git a/locale/Dutch/graphics/icons/xls.jpg b/locale/Dutch/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Dutch/graphics/icons/xls.jpg diff --git a/locale/Dutch/graphics/icons/zip.jpg b/locale/Dutch/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Dutch/graphics/icons/zip.jpg diff --git a/locale/Dutch/graphics/lock.gif b/locale/Dutch/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Dutch/graphics/lock.gif diff --git a/locale/Dutch/graphics/log.gif b/locale/Dutch/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/Dutch/graphics/log.gif diff --git a/locale/Dutch/graphics/mag.jpg b/locale/Dutch/graphics/mag.jpg new file mode 100755 index 0000000..cfd8e9e --- /dev/null +++ b/locale/Dutch/graphics/mag.jpg diff --git a/locale/Dutch/graphics/owl.gif b/locale/Dutch/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/Dutch/graphics/owl.gif diff --git a/locale/Dutch/graphics/trash.gif b/locale/Dutch/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Dutch/graphics/trash.gif diff --git a/locale/Dutch/graphics/update.gif b/locale/Dutch/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Dutch/graphics/update.gif diff --git a/locale/Dutch/language.inc b/locale/Dutch/language.inc new file mode 100755 index 0000000..6a6f87e --- /dev/null +++ b/locale/Dutch/language.inc @@ -0,0 +1,297 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +$lang_logout = ""; +//$lang_logout = "(Afmelden)"; +$lang_login = "Aanmelden"; +$lang_successlogout = "U heeft zich succesvol afgemeld"; +$lang_loginfail = "Er is een fout opgetreden bij het aanmelden"; +$lang_logindisabled = "Gebruiker is GEBLOKKEERD, neem contact op met de System Adminstrator"; +$lang_sessinuse = "Deze sessie is in gebruik op een andere computer, toegang geweigerd
Aanmelden"; +$lang_invalidsess = "Verkeerde sessie, meldt u zich aan op de hoofdpagina a.u.b.
"; +$lang_sesstimeout = "Uw sessie is verlopen, meldt u zich opnieuw aan op de hoofdpagina a.u.b.
"; + +$lang_addingfolder = "Een map toevoegen aan "; +$lang_addingfile = "Een bestand toevoegen aan "; +$lang_modifying = "Wijzigen van "; +$lang_reallydelete = "Werkelijk verwijderen"; +$lang_currentdir = "Huidige directory: "; +$lang_defpass = "derf"; +$lang_resetpass = "Reset Wachtwoord"; + +$lang_title = "Titel"; +$lang_userlang = "Taal"; +// begin Daphne change +$lang_held = "Held"; // for version control +$lang_ver = "Versie"; // for version control +// end Daphne change +$lang_file = "Bestand"; +$lang_size = "Grootte"; +$lang_postedby = "Eigenaar"; +$lang_modified = "Gewijzigd"; +$lang_actions = "Acties"; +$lang_ownership = "Eigendom"; +$lang_newpolicy = "Nieuw beleid"; +$lang_policy = "Beleid"; + +$lang_folder = "Map"; + +$lang_sendthisfile = "Bestandsnaam"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Verstuur bestand"; +$lang_keywords = "Sleutelwoorden"; +$lang_permissions = "Permissies"; +$lang_newpermissions = "Nieuwe Permissies"; +$lang_description = "Beschrijving"; +$lang_change = "Wijzig"; +$lang_reset = "Reset"; +$lang_create = "Maak"; +// begin Daphne change +$lang_vertype = "Revisie type"; // for modify.php when uploading +$lang_vermajor = "Major Revisie"; +$lang_verminor = "Minor Revisie"; +$lang_verdescription = "Beschrijving van de
wijzigingen"; +// end Daphne change + +$lang_everyoneread = "Iedereen kan lezen/downloaden"; +$lang_everyonewrite = "Iedereen kan lezen/schrijven/downloaden"; +$lang_everyonewrite_nod = "Iedereen kan lezen/schrijven/downloaden, NIET VERWIJDEREN"; +$lang_groupread = "Uw groep kan lezen/downloaden"; +$lang_groupwrite = "Uw groep kan lezen/schrijven/downloaden"; +$lang_groupwrite_nod = "Uw groep kan lezen/schrijven/downloaden, NIET VERWIJDEREN"; +$lang_onlyyou = "Alleen u kan lezen/schrijven/downloaden"; +$lang_groupwrite_worldread = "Uw groep kan lezen/schrijven/downloaden & iedereen kan lezen"; +$lang_groupwrite_worldread_nod = "Uw groep kan lezen/schrijven/downloaden (NIET VERWIJDEREN) & iedereen kan lezen"; +$lang_ggroupwrite_worldread = "Uw groep kan bestanden uploaden and verwijderen deze folder & iedereen kan inhoud lezen"; +$lang_ggroupwrite_worldread_nod = "Uw groep kan bestanden uploaden naar deze folder & iedereen kan inhoud lezen, NIET VERWIJDREN"; + +// BEGIN BUG FIX: #449394 add document policy bugs for admin +// Please translate and send back +// bozz@bozzit.com + +$lang_everyoneread_ad = "Iedereen kan lezen/downloaden"; +$lang_everyonewrite_ad = "Iedereen kan lezen/schrijven/downloaden"; +$lang_everyonewrite_ad_nod = "Iedereen kan lezen/schrijven/downloaden, NIET VERWIJDEREN"; +$lang_groupread_ad = "Uw groep kan lezen/downloaden"; +$lang_groupwrite_ad = "Uw groep kan lezen/schrijven/downloaden"; +$lang_groupwrite_ad_nod = "Uw groep kan lezen/schrijven/downloaden, NIET VERWIJDEREN"; +$lang_onlyyou_ad = "Alleen u kan lezen/schrijven/downloaden"; +$lang_onlyyou_ad = "Alleen u kan lezen/schrijven/downloaden"; +$lang_groupwrite_worldread_ad = "De geselecteerde groep kan lezen/schrijven/downloaden & iedereen kan lezen"; +$lang_groupwrite_worldread_ad_nod = "De geselecteerde groep kan lezen/schrijven/downloaden (NIET VERWIJDREN) & iedereen kan lezen"; +$lang_ggroupwrite_worldread_ad = "De geselecteerde groep upload bestanden and verwijdern deze folder & iedereen kan inhoud lezen"; +$lang_ggroupwrite_worldread_ad_nod = "De geselecteerde groep kan bestanden uploaden naar deze folder & iedereen kan inhoud lezen, NIET VERWIJDREN"; + + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "Iedereen kan deze map lezen"; +$lang_geveryonewrite = "Iedereen kan bestanden toevoegen en deze map verwijderen"; +$lang_geveryonewrite_nod= "Iedereen kan bestanden toevoegen"; +$lang_ggroupread = "Uw groep kan deze map lezen"; +$lang_ggroupwrite = "Uw groep kan bestanden toevoegen en deze map verwijderen"; +$lang_ggroupwrite_nod = "Uw groep kan bestanden toevoegen in deze map"; +$lang_gonlyyou = "Alleen u kan bestanden toevoegen en deze map verwijderen"; + +$lang_geveryoneread_ad = "Iedereen kan deze map lezen"; +$lang_geveryonewrite_ad = "Iedereen kan bestanden toevoegen en deze map verwijderen"; +$lang_geveryonewrite_ad_nod = "Iedereen kan bestanden toevoegen aan de map"; +$lang_ggroupread_ad = "Uw groep kan deze map lezen"; +$lang_ggroupwrite_ad = "Uw groep kan bestanden toevoegen en deze map verwijderen"; +$lang_ggroupwrite_ad_nod = "Uw groep kan bestanden toevoegen in deze map"; +$lang_gonlyyou_ad = "Alleen u kan bestanden toevoegen en deze map verwijderen"; + +$lang_nofolderaccess = "U heeft geen toegang tot deze map"; +$lang_nofileaccess = "U heeft geen toegang tot dit bestand"; +$lang_nofilemod = "U heeft geen toegang om dit bestand te wijzigen"; +$lang_nofiledelete = "U heeft geen toegang om dit bestand te verwijderen"; +$lang_noupload = "U heeft geen toegang om bestanden toe te voegen aan deze map"; +$lang_nosubfolder = "U heeft geen toegang om hier mappen toe te voegen"; +$lang_nofoldermod = "U heeft geen toegang om deze map te wijzigen"; +$lang_nofolderdelete = "U heeft geen toegang om deze map te verwijderen"; +$lang_noemail = "U mag deze file niet emailen"; +$lang_fileexists = "Het bestand dat u probeert toe te voegen bestaat al"; +$lang_specifyname = "Ga terug en vul een naam in a.u.b."; + +$lang_users = "Gebruikers"; +$lang_groups = "Groepen"; +$lang_group = "Groep"; +$lang_username = "Gebruikersnaam"; +$lang_password = "Wachtwoord"; +$lang_newpassword = "Nieuw Wachtwoord"; +$lang_oldpassword = "Oud Wachtwoord"; +$lang_confpassword = "Nieuw Wachtwoord opnieuw"; +$lang_email = "Email Adres"; +$lang_emailing = "Versturen van:"; +$lang_email_to = "Email naar"; +$lang_email_reply_to = "Antwoord naar"; +$lang_email_cc = "CC"; +$lang_email_subject = "Onderwerp"; +$lang_email_body = "Boodschap"; +$lang_notification = "Ontvang Notificaties"; +$lang_attach_file = "Attach File"; +$lang_change = "Wijzig"; +$lang_deleteuser = "Verwijder gebruiker"; +$lang_deletegroup = "Verwijder groep"; +$lang_saved = "Wijzigingen zijn opgeslagen"; +$lang_add = "Toevoegen"; +$lang_quota = "Quotum"; +$lang_disableuser = "Disable Gebruiker"; +$lang_noprefaccess = "Disable Eigenschappen"; +$lang_toomanysessions = "Maximum sessies voor gebruiker bereikt, neem contact op met de System Administrator"; +$lang_maxsessions = "Maximum aantal Sessies"; + +$lang_groupmember = "Lid van groep"; +$lang_preference = "Eigenschappen"; +$lang_moving = "Verplaatsen van"; +$lang_select = "Geef een nieuwe folder:"; +$lang_updating = "Wijzigen"; +$lang_cancel_button = "Annuleer"; + +// Bozz Change Begin +$lang_email_alt = "Email dit bestand"; +$lang_del_folder_alt = "Verwijder Folder (J/N)"; +$lang_mod_folder_alt = "Wijzig Folder Eigenschappen"; +$lang_move_folder_alt = "Verplaats Folder"; + +$lang_del_file_alt = "Verwijder bestand (J/N)"; +$lang_mod_file_alt = "Wijzig Bestand Eigenschappen"; +$lang_move_file_alt = "Verplaats Bestand"; +$lang_upd_file_alt = "Update Bestand"; +$lang_get_file_alt = "Download Bestand"; +$lang_view_file_alt = "Bekijk Bestand"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "flush hanging sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "Bestand Log"; +$lang_lock_file = "Check file in/out"; +// end Daphne Change + +$lang_notif_subject_new = "Nieuw OWL Intranet Bestand"; +$lang_notif_subject_upd = "Een OWL Intranet Bestand is gewijzigd"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; +//$lang_notif_msg = "Dit is een automatische email van OWL Intranet\n\nClick op de link hieronder om het nieuw/gewijzigde bestand te bekijken\n\n"; +// Diego Bugfix +$lang_admin = "Administratie scherm"; +$lang_user = "Gebruiker"; +$lang_search = "Zoeken"; +$lang_search_results_for = "Zoek resultaten voor"; +$lang_score = "Score"; +$lang_ownergroup = "Groeps Eigenaar"; +$lang_name = "Naam"; +//Diego Bugfix end +$lang_query_empty = "Zoek string is leeg"; + +$lang_err_file_update = "Bij het wijzigen van een bestand moet de Bestandsnaam hetzelfde blijven, probeer opnieuw met dezelfde bestandsnaam"; +$lang_err_quota = "U heeft niet voldoende ruimte quota om dit bestand te uploaden: "; +$lang_err_quota_needed = " nodig "; +$lang_err_quota_avail = " beschikbaar."; +$lang_err_quota_exceed = "U bent boven uw gestelde quota"; +$lang_err_upload = "Er heeft zich een fout voorgedaan met het uploaden"; +$lang_err_folder_exist = "Deze map bestaat al"; +$lang_err_folder_create = "Fout bij het creeren van de Map"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Fout bij creereen vanBackup Map"; +$lang_err_backup_file = "Fout bij maken van backup van bestaand bestand"; +$lang_err_file_lock = "U kunt dit bestand niet benaderen, het wordt gebruikt door"; +// end Daphne change +$lang_err_unauthorized = "niet geauthoriseerd"; +$lang_err_unauth_area = "U bent niet geauthoriseerd om dit te gebruiken"; +$lang_err_pass_wrong = "Oude Wachtwoord is fout"; +$lang_err_pass_missmatch= "Nieuw Wachtwoord en het herhaalde wachtwoord zijn niet hetzelfde"; +$lang_err_user_exists = "Usernaam betaat al"; +$lang_err_general = "Er is een fout opgetreden"; +$lang_err_lang_1 = "Taal is gespecificeerd, maar"; +$lang_err_lang_2 = " is niet gevonden"; +$lang_err_lang_notfound = "Taal niet gevonden, specificeer owl.lib.php"; +$lang_err_sess_write = "Fout bij wegschrijven van session informatie in de database"; +$lang_err_sess_notvalid = "Session id is niet geldig"; +$lang_err_bad_version_1 = "Owl Intranet vereist een minimaal PHP Versie"; +$lang_err_bad_version_2 = "U gebruikt Versie"; +$lang_err_bad_version_3 = "Installeer een nieuwere versie van php en probeer opnieuw"; + +$lang_err_folderexists = "Rename is geannuleerd
Folder met dezelfde naam bestaat al."; +$lang_err_movecancel = "Verplaatsen is geannuleerd
"; +$lang_err_email = "Email kon niet worden verzonden"; +$lang_err_fileexists = "Move is geannuleerd
Bestand met dezelfde naam bestaat al."; +$lang_err_nameempty = "Folder naam kan niet leeg zijn"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Versie"; +$lang_username = "Usernaam"; +$lang_password = "Wachtwoord"; +$lang_owl_admin = "Owl Administratie"; +$lang_upg_MD5 = "Upgrade Gebruikers naar MD5 Wachtwoorden"; +//janu's change END + +$lang_viewlog = "Bekijk Log voor "; +$lang_viewing = "Bekijken "; +$lang_flushed = "Sessie tabel is geleegd, gebruiker kan zich weer aanmelden.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/English/graphics/btn_add_file.gif b/locale/English/graphics/btn_add_file.gif new file mode 100755 index 0000000..5eb4588 --- /dev/null +++ b/locale/English/graphics/btn_add_file.gif diff --git a/locale/English/graphics/btn_add_folder.gif b/locale/English/graphics/btn_add_folder.gif new file mode 100755 index 0000000..f6ecfe6 --- /dev/null +++ b/locale/English/graphics/btn_add_folder.gif diff --git a/locale/English/graphics/btn_add_url.gif b/locale/English/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/English/graphics/btn_add_url.gif diff --git a/locale/English/graphics/btn_browse.gif b/locale/English/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/English/graphics/btn_browse.gif diff --git a/locale/English/graphics/btn_collapse_view.gif b/locale/English/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..9a0fc76 --- /dev/null +++ b/locale/English/graphics/btn_collapse_view.gif diff --git a/locale/English/graphics/btn_expand_view.gif b/locale/English/graphics/btn_expand_view.gif new file mode 100755 index 0000000..7f71e0f --- /dev/null +++ b/locale/English/graphics/btn_expand_view.gif diff --git a/locale/English/graphics/btn_login.gif b/locale/English/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/English/graphics/btn_login.gif diff --git a/locale/English/graphics/btn_logout.gif b/locale/English/graphics/btn_logout.gif new file mode 100755 index 0000000..f7ab765 --- /dev/null +++ b/locale/English/graphics/btn_logout.gif diff --git a/locale/English/graphics/edit.gif b/locale/English/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/English/graphics/edit.gif diff --git a/locale/English/graphics/email.gif b/locale/English/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/English/graphics/email.gif diff --git a/locale/English/graphics/icons/bin.gif b/locale/English/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/English/graphics/icons/bin.gif diff --git a/locale/English/graphics/icons/blank.gif b/locale/English/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/English/graphics/icons/blank.gif diff --git a/locale/English/graphics/icons/bmp.jpg b/locale/English/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/English/graphics/icons/bmp.jpg diff --git a/locale/English/graphics/icons/doc.jpg b/locale/English/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/English/graphics/icons/doc.jpg diff --git a/locale/English/graphics/icons/file.gif b/locale/English/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/English/graphics/icons/file.gif diff --git a/locale/English/graphics/icons/folder_closed.gif b/locale/English/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/English/graphics/icons/folder_closed.gif diff --git a/locale/English/graphics/icons/folder_gray.gif b/locale/English/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/English/graphics/icons/folder_gray.gif diff --git a/locale/English/graphics/icons/gif.jpg b/locale/English/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/English/graphics/icons/gif.jpg diff --git a/locale/English/graphics/icons/gz.jpg b/locale/English/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/English/graphics/icons/gz.jpg diff --git a/locale/English/graphics/icons/htm.jpg b/locale/English/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/English/graphics/icons/htm.jpg diff --git a/locale/English/graphics/icons/html.jpg b/locale/English/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/English/graphics/icons/html.jpg diff --git a/locale/English/graphics/icons/jpg.jpg b/locale/English/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/English/graphics/icons/jpg.jpg diff --git a/locale/English/graphics/icons/link.gif b/locale/English/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/English/graphics/icons/link.gif diff --git a/locale/English/graphics/icons/mag.jpg b/locale/English/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/English/graphics/icons/mag.jpg diff --git a/locale/English/graphics/icons/mdb.jpg b/locale/English/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/English/graphics/icons/mdb.jpg diff --git a/locale/English/graphics/icons/move.gif b/locale/English/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/English/graphics/icons/move.gif diff --git a/locale/English/graphics/icons/mp3.jpg b/locale/English/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/English/graphics/icons/mp3.jpg diff --git a/locale/English/graphics/icons/pdf.jpg b/locale/English/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/English/graphics/icons/pdf.jpg diff --git a/locale/English/graphics/icons/ppt.jpg b/locale/English/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/English/graphics/icons/ppt.jpg diff --git a/locale/English/graphics/icons/tar.jpg b/locale/English/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/English/graphics/icons/tar.jpg diff --git a/locale/English/graphics/icons/url.gif b/locale/English/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/English/graphics/icons/url.gif diff --git a/locale/English/graphics/icons/xls.jpg b/locale/English/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/English/graphics/icons/xls.jpg diff --git a/locale/English/graphics/icons/zip.jpg b/locale/English/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/English/graphics/icons/zip.jpg diff --git a/locale/English/graphics/ife.gif b/locale/English/graphics/ife.gif new file mode 100755 index 0000000..e9cc12c --- /dev/null +++ b/locale/English/graphics/ife.gif diff --git a/locale/English/graphics/lock.gif b/locale/English/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/English/graphics/lock.gif diff --git a/locale/English/graphics/log.gif b/locale/English/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/English/graphics/log.gif diff --git a/locale/English/graphics/mag.jpg b/locale/English/graphics/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/English/graphics/mag.jpg diff --git a/locale/English/graphics/owl.gif b/locale/English/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/English/graphics/owl.gif diff --git a/locale/English/graphics/trash.gif b/locale/English/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/English/graphics/trash.gif diff --git a/locale/English/graphics/update.gif b/locale/English/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/English/graphics/update.gif diff --git a/locale/English/language.inc b/locale/English/language.inc new file mode 100755 index 0000000..dd45367 --- /dev/null +++ b/locale/English/language.inc @@ -0,0 +1,285 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +$lang_logout = ""; +//$lang_logout = "Logout"; +$lang_login = "Login"; +$lang_successlogout = "You have sucessfully logged out"; +$lang_loginfail = "Login failure"; +$lang_logindisabled = "Account has been DISABLED, contact the System Adminstrator"; +$lang_sessinuse = "This session is in use on another computer, access denied
Login"; +$lang_invalidsess = "Invalid session id, please login from the main page
"; +$lang_sesstimeout = "Your session has timed out, please re-login
"; + +$lang_addingfolder = "Adding a folder to "; +$lang_addingfile = "Adding a file to "; +$lang_modifying = "Modifying "; +$lang_reallydelete = "Really delete"; + +$lang_title = "Title"; +$lang_userlang = "Language"; +// begin Daphne change +$lang_held = "Held"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "File"; +$lang_size = "Size"; +$lang_postedby = "Posted by"; +$lang_modified = "Modified"; +$lang_actions = "Actions"; +$lang_ownership = "Ownership"; +$lang_newpolicy = "New policy"; +$lang_policy = "Policy"; + +$lang_sendthisfile = "Send this file"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Send File"; +$lang_keywords = "Keywords"; +$lang_newpermissions = "New Permissions"; +$lang_permissions = "Permissions"; +$lang_description = "Description"; +$lang_change = "Change"; +$lang_reset = "Reset"; +$lang_create = "Create"; +// begin Daphne change +$lang_vertype = "Revision type"; // for modify.php when uploading +$lang_vermajor = "Major Revision"; +$lang_verminor = "Minor Revision"; +$lang_verdescription = "Description
of changes"; +// end Daphne change + +$lang_everyoneread = "Everyone can read/download"; +$lang_everyonewrite = "Everyone can read/write/download"; +$lang_everyonewrite_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread = "Your group can read/download"; +$lang_groupwrite = "Your group can read/write/download"; +$lang_groupwrite_nod = "Your group can read/write/download, NO DELETE"; +$lang_onlyyou = "Only you can read/download/write"; +$lang_groupwrite_worldread = "Your group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_nod = "Your group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread = "Your group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_nod = "Your group can upload files to this folder & everyone else can view contents, NO DELETE"; +// BEGIN BUG FIX: #449394 add document policy bugs for admin + +$lang_everyoneread_ad = "Everyone can read/download"; +$lang_everyonewrite_ad = "Everyone can read/write/download"; +$lang_everyonewrite_ad_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread_ad = "The selected group can read/download"; +$lang_groupwrite_ad = "The selected group can read/write/download"; +$lang_groupwrite_ad_nod = "The selected group can read/write/download, NO DELETE"; +$lang_onlyyou_ad = "Only you can read/download/write"; +$lang_groupwrite_worldread_ad = "The selected group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_ad_nod = "The selected group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread_ad = "Selected group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_ad_nod = "Selected group can upload files to this folder & everyone else can view contents, NO DELETE"; + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "Everyone can read this folder"; +$lang_geveryonewrite = "Everyone can upload files and delete this folder"; +$lang_geveryonewrite_nod= "Everyone can upload files to this folder"; +$lang_ggroupread = "Your group can read this folder"; +$lang_ggroupwrite = "Your group can upload files and delete this folder"; +$lang_ggroupwrite_nod = "Your group can upload files to this folder"; +$lang_gonlyyou = "Only you can uploadfiles and delete this folder"; + +$lang_geveryoneread_ad = "Everyone can read this folder"; +$lang_geveryonewrite_ad = "Everyone can upload files and delete this folder"; +$lang_geveryonewrite_ad_nod = "Everyone can upload files to this folder"; +$lang_ggroupread_ad = "The selected group can read this folder"; +$lang_ggroupwrite_ad = "The selected group can upload files and delete this folder"; +$lang_ggroupwrite_ad_nod= "The selected group can upload files to this folder"; +$lang_gonlyyou_ad = "Only you can uploadfiles and delete this folder"; + +$lang_nofolderaccess = "You do not have access to this folder"; +$lang_nofileaccess = "You do not have access to this file"; +$lang_nofilemod = "You do not have access to modify this file"; +$lang_nofiledelete = "You do not have access to delete this file"; +$lang_noupload = "You do not have access to upload to this folder"; +$lang_nosubfolder = "You do not have access to create subfolders here"; +$lang_nofoldermod = "You do not have access to modify this folder"; +$lang_nofolderdelete = "You do not have access to delete this folder"; +$lang_noemail = "You do not have access to email this file"; +$lang_fileexists = "The file you are trying to upload already exists"; +$lang_specifyname = "Please go back and specify a name"; + +$lang_users = "Users"; +$lang_groups = "Groups"; +$lang_group = "Primary Group"; +$lang_groupmember = "Member Group"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_newpassword = "New Password"; +$lang_oldpassword = "Old Password"; +$lang_confpassword = "Confirm New Password"; +$lang_email = "Email Address"; +$lang_emailing = "Emailing"; +$lang_email_to = "Mail To"; +$lang_email_reply_to = "Reply To"; +$lang_email_cc = "CC"; +$lang_email_subject = "Subject"; +$lang_email_body = "Message"; +$lang_notification = "Receive Notifications"; +$lang_attach_file = "Attach File"; +$lang_change = "Change"; +$lang_deleteuser = "Delete User"; +$lang_deletegroup = "Delete Group"; +$lang_saved = "Changes Saved"; +$lang_add = "Add"; +$lang_quota = "Quota"; +$lang_disableuser = "Disable User"; +$lang_noprefaccess = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrator"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + +// Bozz Change Begin +$lang_email_alt = "Email this File"; +$lang_del_folder_alt = "Delete Folder (Y/N)"; +$lang_mod_folder_alt = "Modify Folder Properties"; +$lang_move_folder_alt = "Move Folder"; + +$lang_del_file_alt = "Delete File (Y/N)"; +$lang_mod_file_alt = "Modify File Properties"; +$lang_move_file_alt = "Move File"; +$lang_upd_file_alt = "Update File"; +$lang_get_file_alt = "Download File"; +$lang_view_file_alt = "View File"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "flush hanging sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "File Log"; +$lang_lock_file = "Check file in/out"; +// end Daphne Change +$lang_notif_subject_new = "New OWL Intranet File"; +$lang_notif_subject_upd = "An OWL Intranet File was updated"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; + +// Diego Bugfix +$lang_admin = "Admin"; +$lang_user = "User"; +$lang_search = "Search"; +$lang_search_results_for = "Search results for"; +$lang_score = "Score"; +$lang_ownergroup = "Owner (Group)"; +$lang_name = "Name"; +//Diego Bugfix end +$lang_query_empty = "Empty Search String"; + +// Error Message Section +// +$lang_err_file_update = "Updating a file requires the filename to remain the same, please try again using the same filename"; +$lang_err_quota = "You do not have enough quota space to upload this file: "; +$lang_err_quota_needed = " needed "; +$lang_err_quota_avail = " available."; +$lang_err_quota_exceed = "You have exceeded your quota"; +$lang_err_upload = "Upload error"; +$lang_err_folder_exist = "This folder already exists"; +$lang_err_folder_create = "Folder Creation error"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Backup Folder Creation error"; +$lang_err_backup_file = "Error backing up existing file"; +$lang_err_file_lock = "You cannot check this file out, it is currently held by"; +// end Daphne change +$lang_err_unauthorized = "Unauthorized"; +$lang_err_unauth_area = "You are not authorized to use this area"; +$lang_err_pass_wrong = "Old Password is wrong"; +$lang_err_pass_missmatch= "New Password and Confirm Password don't Match"; +$lang_err_user_exists = "Username exists"; +$lang_err_general = "An Error has occured"; +$lang_err_lang_1 = "Language has been spedified, but "; +$lang_err_lang_2 = " has not been found"; +$lang_err_lang_notfound = "Unable to find language, please specify in owl.lib.php"; +$lang_err_sess_write = "Error writing session information to database"; +$lang_err_sess_notvalid = "Session id is not valid"; +$lang_err_bad_version_1 = "Owl Intranet Requires as a minimum PHP Version"; +$lang_err_bad_version_2 = "You are running Version"; +$lang_err_bad_version_3 = "Install a newer version of php and try again"; + +$lang_err_folderexists = "Rename was Canceled
Folder with the same name exists."; +$lang_err_movecancel = "Move was Canceled
"; +$lang_err_email = "Message could not be sent"; +$lang_err_fileexists = "Move was Canceled
File with the same name already exists."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Upgrade Users to MD5 Passwords"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/Francais/graphics/btn.gif b/locale/Francais/graphics/btn.gif new file mode 100755 index 0000000..ebb2db2 --- /dev/null +++ b/locale/Francais/graphics/btn.gif diff --git a/locale/Francais/graphics/btn_add_file.gif b/locale/Francais/graphics/btn_add_file.gif new file mode 100755 index 0000000..d628206 --- /dev/null +++ b/locale/Francais/graphics/btn_add_file.gif diff --git a/locale/Francais/graphics/btn_add_folder.gif b/locale/Francais/graphics/btn_add_folder.gif new file mode 100755 index 0000000..2fb5ca7 --- /dev/null +++ b/locale/Francais/graphics/btn_add_folder.gif diff --git a/locale/Francais/graphics/btn_add_url.gif b/locale/Francais/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/Francais/graphics/btn_add_url.gif diff --git a/locale/Francais/graphics/btn_browse.gif b/locale/Francais/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/Francais/graphics/btn_browse.gif diff --git a/locale/Francais/graphics/btn_collapse_view.gif b/locale/Francais/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..57572e8 --- /dev/null +++ b/locale/Francais/graphics/btn_collapse_view.gif diff --git a/locale/Francais/graphics/btn_expand_view.gif b/locale/Francais/graphics/btn_expand_view.gif new file mode 100755 index 0000000..132b2f9 --- /dev/null +++ b/locale/Francais/graphics/btn_expand_view.gif diff --git a/locale/Francais/graphics/btn_login.gif b/locale/Francais/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/Francais/graphics/btn_login.gif diff --git a/locale/Francais/graphics/btn_logout.gif b/locale/Francais/graphics/btn_logout.gif new file mode 100755 index 0000000..ff232cc --- /dev/null +++ b/locale/Francais/graphics/btn_logout.gif diff --git a/locale/Francais/graphics/edit.gif b/locale/Francais/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Francais/graphics/edit.gif diff --git a/locale/Francais/graphics/email.gif b/locale/Francais/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Francais/graphics/email.gif diff --git a/locale/Francais/graphics/icons/bin.gif b/locale/Francais/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Francais/graphics/icons/bin.gif diff --git a/locale/Francais/graphics/icons/blank.gif b/locale/Francais/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Francais/graphics/icons/blank.gif diff --git a/locale/Francais/graphics/icons/bmp.jpg b/locale/Francais/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/Francais/graphics/icons/bmp.jpg diff --git a/locale/Francais/graphics/icons/doc.jpg b/locale/Francais/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/Francais/graphics/icons/doc.jpg diff --git a/locale/Francais/graphics/icons/file.gif b/locale/Francais/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/Francais/graphics/icons/file.gif diff --git a/locale/Francais/graphics/icons/folder_closed.gif b/locale/Francais/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Francais/graphics/icons/folder_closed.gif diff --git a/locale/Francais/graphics/icons/folder_gray.gif b/locale/Francais/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Francais/graphics/icons/folder_gray.gif diff --git a/locale/Francais/graphics/icons/gif.jpg b/locale/Francais/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/Francais/graphics/icons/gif.jpg diff --git a/locale/Francais/graphics/icons/gz.jpg b/locale/Francais/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Francais/graphics/icons/gz.jpg diff --git a/locale/Francais/graphics/icons/htm.jpg b/locale/Francais/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Francais/graphics/icons/htm.jpg diff --git a/locale/Francais/graphics/icons/html.jpg b/locale/Francais/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/Francais/graphics/icons/html.jpg diff --git a/locale/Francais/graphics/icons/jpg.jpg b/locale/Francais/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/Francais/graphics/icons/jpg.jpg diff --git a/locale/Francais/graphics/icons/link.gif b/locale/Francais/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Francais/graphics/icons/link.gif diff --git a/locale/Francais/graphics/icons/mag.jpg b/locale/Francais/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Francais/graphics/icons/mag.jpg diff --git a/locale/Francais/graphics/icons/mdb.jpg b/locale/Francais/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/Francais/graphics/icons/mdb.jpg diff --git a/locale/Francais/graphics/icons/move.gif b/locale/Francais/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Francais/graphics/icons/move.gif diff --git a/locale/Francais/graphics/icons/mp3.jpg b/locale/Francais/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/Francais/graphics/icons/mp3.jpg diff --git a/locale/Francais/graphics/icons/pdf.jpg b/locale/Francais/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/Francais/graphics/icons/pdf.jpg diff --git a/locale/Francais/graphics/icons/ppt.jpg b/locale/Francais/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Francais/graphics/icons/ppt.jpg diff --git a/locale/Francais/graphics/icons/tar.jpg b/locale/Francais/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/Francais/graphics/icons/tar.jpg diff --git a/locale/Francais/graphics/icons/url.gif b/locale/Francais/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/Francais/graphics/icons/url.gif diff --git a/locale/Francais/graphics/icons/xls.jpg b/locale/Francais/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Francais/graphics/icons/xls.jpg diff --git a/locale/Francais/graphics/icons/zip.jpg b/locale/Francais/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Francais/graphics/icons/zip.jpg diff --git a/locale/Francais/graphics/ife.gif b/locale/Francais/graphics/ife.gif new file mode 100755 index 0000000..e9cc12c --- /dev/null +++ b/locale/Francais/graphics/ife.gif diff --git a/locale/Francais/graphics/lock.gif b/locale/Francais/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Francais/graphics/lock.gif diff --git a/locale/Francais/graphics/log.gif b/locale/Francais/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/Francais/graphics/log.gif diff --git a/locale/Francais/graphics/mag.jpg b/locale/Francais/graphics/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Francais/graphics/mag.jpg diff --git a/locale/Francais/graphics/owl.gif b/locale/Francais/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/Francais/graphics/owl.gif diff --git a/locale/Francais/graphics/trash.gif b/locale/Francais/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Francais/graphics/trash.gif diff --git a/locale/Francais/graphics/update.gif b/locale/Francais/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Francais/graphics/update.gif diff --git a/locale/Francais/language.inc b/locale/Francais/language.inc new file mode 100755 index 0000000..383dc2d --- /dev/null +++ b/locale/Francais/language.inc @@ -0,0 +1,287 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ +//$lang_logout = ""; +$lang_logout = "(Déconnexion)"; +$lang_login = "Connexion"; +$lang_successlogout = "Vous êtes bien déconnecté"; +$lang_loginfail = "Erreur de connexion"; +$lang_logindisabled = "Account has been DISABLED, contact the System Adminstrator"; +$lang_sessinuse = "Accès refusé, ce compte est en cours d'utilisation
Connexion"; +$lang_invalidsess = "Index de session invalide, connectez vous depuis la page d'accueil
"; +$lang_sesstimeout = "Votre session s'est terminée, veuillez vous reconnecter
"; + +$lang_addingfolder = "Ajout d'un dossier à "; +$lang_addingfile = "Ajout d'un fichier à "; +$lang_modifying = "Modification "; +$lang_reallydelete = "Suppression effective"; + +$lang_title = "Titre"; +$lang_userlang = "Langue"; +// begin Daphne change +$lang_held = "Held"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "Fichier"; +$lang_size = "Taille"; +$lang_postedby = "Envoyé par"; +$lang_modified = "Modifié"; +$lang_actions = "Actions"; +$lang_ownership = "Propriétaire"; +$lang_newpolicy = "Nouveaux droits"; +$lang_policy = "Droits"; + +$lang_sendthisfile = "Envoyer ce fichier"; +$lang_sendthisurl = "Envoyer ce URL"; +$lang_sendfile = "Envoi fichier"; +$lang_keywords = "Mots Clés"; +$lang_permissions = "Permissions"; +$lang_newpermissions = "Nouvelle Permissions"; +$lang_description = "Description"; +$lang_change = "Changement"; +$lang_reset = "Initialiser"; +$lang_create = "Créer"; +// begin Daphne change +$lang_vertype = "Revision type"; // for modify.php when uploading +$lang_vermajor = "Major Revision"; +$lang_verminor = "Minor Revision"; +$lang_verdescription = "Description
of changes"; +// end Daphne change + + +$lang_everyoneread = "Lecture/Téléchargement par tous"; +$lang_everyonewrite = "Lecture/Ecriture/Téléchargement par tous"; +$lang_everyonewrite_nod = "Lecture/Ecriture/Téléchargement par tous, SANS SUPPRESSION"; +$lang_groupread = "Lecture/Téléchargement par votre groupe"; +$lang_groupwrite = "Lecture/Ecriture/Téléchargement par votre groupe"; +$lang_groupwrite_nod = "Lecture/Ecriture/Téléchargement par votre groupe, SANS SUPPRESSION"; +$lang_onlyyou = "Lecture/Ecriture/Téléchargement par vous seul"; +$lang_groupwrite_worldread = "Your group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_nod = "Your group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread = "Your group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_nod = "Your group can upload files to this folder & everyone else can view contents, NO DELETE"; + +// BEGIN BUG FIX: #449394 add document policy bugs for admin +$lang_everyoneread_ad = "Lecture/Téléchargement par tous"; +$lang_everyonewrite_ad = "Lecture/Ecriture/Téléchargement par tous"; +$lang_everyonewrite_ad_nod = "Lecture/Ecriture/Téléchargement par tous, SANS SUPPRESSION"; +$lang_groupread_ad = "Lecture/Téléchargement par le groupe sélectionné"; +$lang_groupwrite_ad = "Lecture/Ecriture/Téléchargement par le groupe sélectionné"; +$lang_groupwrite_ad_nod = "Lecture/Ecriture/Téléchargement par le groupe sélectionné, SANS SUPPRESSION"; +$lang_onlyyou_ad = "Lecture/Ecriture/Téléchargement par vous seul"; +$lang_groupwrite_worldread_ad = "The selected group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_ad_nod = "The selected group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread_ad = "Selected group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_ad_nod = "Selected group can upload files to this folder & everyone else can view contents, NO DELETE"; + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "Lecture du dossier par tous"; +$lang_geveryonewrite = "Téléchargement et suppression du dossier par tous"; +$lang_geveryonewrite_nod= "Téléchargement par tous"; +$lang_ggroupread = "Lecture du dossier par votre groupe"; +$lang_ggroupwrite = "Téléchargement et suppression du dossier par votre groupe"; +$lang_ggroupwrite_nod = "Téléchargement du dossier par votre groupe"; +$lang_gonlyyou = "Téléchargement et suppression du dossier par vous seul"; + +$lang_geveryoneread_ad = "Lecture du dossier par tous"; +$lang_geveryonewrite_ad = "Téléchargement et suppression du dossier par tous"; +$lang_geveryonewrite_ad_nod = "Téléchargement du dossier par tous"; +$lang_ggroupread_ad = "Lecture du dossier par le groupe sélectionné"; +$lang_ggroupwrite_ad = "Téléchargement et suppression du dossier par le groupe sélectionné"; +$lang_ggroupwrite_ad_nod= "Téléchargement du dossier par le groupe sélectionné"; +$lang_gonlyyou_ad = "Téléchargement et suppression du dossier par vous seul"; + +$lang_nofolderaccess = "Vous n'avez pas accès à ce dossier"; +$lang_nofileaccess = "Vous n'avez pas accès à ce fichier"; +$lang_nofilemod = "Vous n'êtes pas autorisé à modifier ce fichier"; +$lang_nofiledelete = "Vous n'êtes pas autorisé à supprimer ce fichier"; +$lang_noupload = "Vous n'êtes pas autorisé à insérer de fichier à ce dossier"; +$lang_nosubfolder = "Vous n'êtes pas autorisé à créer des sous-dossiers"; +$lang_nofoldermod = "Vous n'êtes pas autorisé à modifier ce dossier"; +$lang_nofolderdelete = "Vous n'êtes pas autorisé à supprimer ce dossier"; +$lang_noemail = "Vous n'êtes pas autorisé à envoyer ce fichier par couriel"; +$lang_fileexists = "Le fichier que vous essayez d'insérer existe déjà"; +$lang_specifyname = "Faites un retour en arrière et précisez le nom"; + +$lang_users = "Utilisateurs"; +$lang_groups = "Groupes"; +$lang_group = "Groupe Primaire"; +$lang_groupmember = "Groupe Membre"; +$lang_username = "Identifiant"; +$lang_password = "Mot de passe"; +$lang_newpassword = "Nouveau mot de passe"; +$lang_oldpassword = "Ancien mot de passe"; +$lang_confpassword = "Confirmez le nouveau mot de passe"; +$lang_email = "Couriel"; +$lang_emailing = "Emailing"; +$lang_email_to = "Mail To"; +$lang_email_reply_to = "Reply To"; +$lang_email_cc = "CC"; +$lang_email_subject = "Subject"; +$lang_email_body = "Message"; +$lang_notification = "Recevoir des notifications"; +$lang_attach_file = "Attach File"; +$lang_change = "Changer"; +$lang_deleteuser = "Supprimer un utilisateur"; +$lang_deletegroup = "Supprimer un groupe"; +$lang_saved = "Modifications sauvegardées"; +$lang_add = "Ajouter"; +$lang_quota = "Quota"; +$lang_disableuser = "Disable User"; +$lang_noprefaccess = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrator"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + + +// Bozz Change Begin +$lang_email_alt = "Envoyer par couriel"; +$lang_del_folder_alt = "Supression du dossier (Y/N)"; +$lang_mod_folder_alt = "Modifier les propriétés du dossier"; +$lang_move_folder_alt = "Déplacer le dossier"; + +$lang_del_file_alt = "Supprimer fichier (Y/N)"; +$lang_mod_file_alt = "Modifier les propriétés du fichier"; +$lang_move_file_alt = "Déplacer le fichier"; +$lang_upd_file_alt = "Mise à jour du fichier"; +$lang_get_file_alt = "Télécharger le fichier"; +$lang_view_file_alt = "Voir le fichier"; +$lang_newuser_alt = "Créer un Nouvel Utilisateur"; +$lang_newgroup_alt = "Créer un Nouveau Groupe"; +$lang_flush_sessions_alt = "Flush Hanging Sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "File Log"; +$lang_lock_file = "Check file in/out"; +// end Daphne Change +$lang_notif_subject_new = "Insertion d'un nouveau fichier sur le serveur"; +$lang_notif_subject_upd = "Mise à jour d'un fichier sur le serveur"; +$lang_notif_msg = "CECI EST UN MESSAGE AUTOMATIQUE\n\nTrouver ci joint le fichier ajouté ou mis à jour\n\n"; + +// Diego Bugfix +$lang_admin = "Administration"; +$lang_user = "Utilisateur"; +$lang_search = "Recherche"; +$lang_search_results_for = "Résultats de recherche pour"; +$lang_score = "Score"; +$lang_ownergroup = "Groupe Propriétaire"; +$lang_name = "Nom"; +//Diego Bugfix end +$lang_query_empty = "Champ de recherche est vide"; + +// Error Message Section +// +$lang_err_file_update = "La mise à jour d'un fichier nécessite le même nom de fichier"; +$lang_err_quota = "Vous n'avez pas d'espace suffisant pour insérer ce fichier: "; +$lang_err_quota_needed = " necessaire "; +$lang_err_quota_avail = " disponible."; +$lang_err_quota_exceed = "Vous avez dépassé votre quota"; +$lang_err_upload = "Erreur de téléchargement"; +$lang_err_folder_exist = "Ce dossier existe déjà"; +$lang_err_folder_create = "Erreur dans la création du dossier"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Backup Folder Creation error"; +$lang_err_backup_file = "Error backing up existing file"; +$lang_err_file_lock = "You cannot check this file out, it is currently held by"; +// end Daphne change +$lang_err_unauthorized = "Non autorisé"; +$lang_err_unauth_area = "Vous n'êtes pas autorisé à utiliser cet espace"; +$lang_err_pass_wrong = "L'ancien mot de passe est incorrect"; +$lang_err_pass_missmatch= "Les mots de passe ne correspondent pas"; +$lang_err_user_exists = "Utilisateur déjà existant"; +$lang_err_general = "Une erreur s'est produite"; +$lang_err_lang_1 = "La langue est bien spécifiée, mais "; +$lang_err_lang_2 = " n'a pas été trouvé"; +$lang_err_lang_notfound = "Langue non trouvée, complétez les paramètres dans owl.lib.php"; +$lang_err_sess_write = "Erreur d'écriture dans la base de donnée"; +$lang_err_sess_notvalid = "L'identifiant de session n'est pas valide"; +$lang_err_bad_version_1 = "Owl Intranet a besion d'une version minimum de PHP "; +$lang_err_bad_version_2 = "Votre serveur a"; +$lang_err_bad_version_3 = "L'administrateur du système doit installer une nouvelle version de PHP"; + +$lang_err_folderexists = "Rename was Canceled
Folder with the same name exists."; +$lang_err_movecancel = "Move was Canceled
"; +$lang_err_email = "Message could not be sent"; +$lang_err_fileexists = "Move was Canceled
File with the same name already exists."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Upgrade Users to MD5 Passwords"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/Hungarian/graphics/btn_add_file.gif b/locale/Hungarian/graphics/btn_add_file.gif new file mode 100755 index 0000000..69b651c --- /dev/null +++ b/locale/Hungarian/graphics/btn_add_file.gif diff --git a/locale/Hungarian/graphics/btn_add_folder.gif b/locale/Hungarian/graphics/btn_add_folder.gif new file mode 100755 index 0000000..a264877 --- /dev/null +++ b/locale/Hungarian/graphics/btn_add_folder.gif diff --git a/locale/Hungarian/graphics/btn_add_url.gif b/locale/Hungarian/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/Hungarian/graphics/btn_add_url.gif diff --git a/locale/Hungarian/graphics/btn_browse.gif b/locale/Hungarian/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/Hungarian/graphics/btn_browse.gif diff --git a/locale/Hungarian/graphics/btn_collapse_view.gif b/locale/Hungarian/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..615461c --- /dev/null +++ b/locale/Hungarian/graphics/btn_collapse_view.gif diff --git a/locale/Hungarian/graphics/btn_expand_view.gif b/locale/Hungarian/graphics/btn_expand_view.gif new file mode 100755 index 0000000..d82039e --- /dev/null +++ b/locale/Hungarian/graphics/btn_expand_view.gif diff --git a/locale/Hungarian/graphics/btn_login.gif b/locale/Hungarian/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/Hungarian/graphics/btn_login.gif diff --git a/locale/Hungarian/graphics/btn_logout.gif b/locale/Hungarian/graphics/btn_logout.gif new file mode 100755 index 0000000..44e611d --- /dev/null +++ b/locale/Hungarian/graphics/btn_logout.gif diff --git a/locale/Hungarian/graphics/btn_ures.gif b/locale/Hungarian/graphics/btn_ures.gif new file mode 100755 index 0000000..77d3c58 --- /dev/null +++ b/locale/Hungarian/graphics/btn_ures.gif diff --git a/locale/Hungarian/graphics/edit.gif b/locale/Hungarian/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Hungarian/graphics/edit.gif diff --git a/locale/Hungarian/graphics/email.gif b/locale/Hungarian/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Hungarian/graphics/email.gif diff --git a/locale/Hungarian/graphics/icons/bin.gif b/locale/Hungarian/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Hungarian/graphics/icons/bin.gif diff --git a/locale/Hungarian/graphics/icons/blank.gif b/locale/Hungarian/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Hungarian/graphics/icons/blank.gif diff --git a/locale/Hungarian/graphics/icons/bmp.jpg b/locale/Hungarian/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/Hungarian/graphics/icons/bmp.jpg diff --git a/locale/Hungarian/graphics/icons/doc.jpg b/locale/Hungarian/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/Hungarian/graphics/icons/doc.jpg diff --git a/locale/Hungarian/graphics/icons/file.gif b/locale/Hungarian/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/Hungarian/graphics/icons/file.gif diff --git a/locale/Hungarian/graphics/icons/folder_closed.gif b/locale/Hungarian/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Hungarian/graphics/icons/folder_closed.gif diff --git a/locale/Hungarian/graphics/icons/folder_gray.gif b/locale/Hungarian/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Hungarian/graphics/icons/folder_gray.gif diff --git a/locale/Hungarian/graphics/icons/gif.jpg b/locale/Hungarian/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/Hungarian/graphics/icons/gif.jpg diff --git a/locale/Hungarian/graphics/icons/gz.jpg b/locale/Hungarian/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Hungarian/graphics/icons/gz.jpg diff --git a/locale/Hungarian/graphics/icons/htm.jpg b/locale/Hungarian/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Hungarian/graphics/icons/htm.jpg diff --git a/locale/Hungarian/graphics/icons/html.jpg b/locale/Hungarian/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/Hungarian/graphics/icons/html.jpg diff --git a/locale/Hungarian/graphics/icons/jpg.jpg b/locale/Hungarian/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/Hungarian/graphics/icons/jpg.jpg diff --git a/locale/Hungarian/graphics/icons/link.gif b/locale/Hungarian/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Hungarian/graphics/icons/link.gif diff --git a/locale/Hungarian/graphics/icons/mag.jpg b/locale/Hungarian/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Hungarian/graphics/icons/mag.jpg diff --git a/locale/Hungarian/graphics/icons/mdb.jpg b/locale/Hungarian/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/Hungarian/graphics/icons/mdb.jpg diff --git a/locale/Hungarian/graphics/icons/move.gif b/locale/Hungarian/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Hungarian/graphics/icons/move.gif diff --git a/locale/Hungarian/graphics/icons/mp3.jpg b/locale/Hungarian/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/Hungarian/graphics/icons/mp3.jpg diff --git a/locale/Hungarian/graphics/icons/pdf.jpg b/locale/Hungarian/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/Hungarian/graphics/icons/pdf.jpg diff --git a/locale/Hungarian/graphics/icons/ppt.jpg b/locale/Hungarian/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Hungarian/graphics/icons/ppt.jpg diff --git a/locale/Hungarian/graphics/icons/tar.jpg b/locale/Hungarian/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/Hungarian/graphics/icons/tar.jpg diff --git a/locale/Hungarian/graphics/icons/url.gif b/locale/Hungarian/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/Hungarian/graphics/icons/url.gif diff --git a/locale/Hungarian/graphics/icons/xls.jpg b/locale/Hungarian/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Hungarian/graphics/icons/xls.jpg diff --git a/locale/Hungarian/graphics/icons/zip.jpg b/locale/Hungarian/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Hungarian/graphics/icons/zip.jpg diff --git a/locale/Hungarian/graphics/ife.gif b/locale/Hungarian/graphics/ife.gif new file mode 100755 index 0000000..e9cc12c --- /dev/null +++ b/locale/Hungarian/graphics/ife.gif diff --git a/locale/Hungarian/graphics/lock.gif b/locale/Hungarian/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Hungarian/graphics/lock.gif diff --git a/locale/Hungarian/graphics/log.gif b/locale/Hungarian/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/Hungarian/graphics/log.gif diff --git a/locale/Hungarian/graphics/mag.jpg b/locale/Hungarian/graphics/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Hungarian/graphics/mag.jpg diff --git a/locale/Hungarian/graphics/owl.gif b/locale/Hungarian/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/Hungarian/graphics/owl.gif diff --git a/locale/Hungarian/graphics/trash.gif b/locale/Hungarian/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Hungarian/graphics/trash.gif diff --git a/locale/Hungarian/graphics/update.gif b/locale/Hungarian/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Hungarian/graphics/update.gif diff --git a/locale/Hungarian/language.inc b/locale/Hungarian/language.inc new file mode 100755 index 0000000..6b55594 --- /dev/null +++ b/locale/Hungarian/language.inc @@ -0,0 +1,289 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +//$lang_logout = ""; +$lang_logout = "(Kilépés)"; +$lang_login = "Belépés"; +$lang_successlogout = "Ön kilépett"; +$lang_loginfail = "Belépési hiba"; +$lang_logindisabled = "Account has been DISABLED, contact the System Adminstrator"; +$lang_sessinuse = "Ezt a kapcsolatot már más géprõl használják
Belépés"; +$lang_invalidsess = "Tiltott kapcsolat azonosító, lépjen be a fõlapról
"; +$lang_sesstimeout = "A kapcsolat ideje lejárt, lépjen be újra
"; + +$lang_addingfolder = "Könyvtár hozzáadás: "; +$lang_addingfile = "Dokumentum hozzáadás: "; +$lang_modifying = "Módosítás "; +$lang_reallydelete = "Biztosan törli :"; + +$lang_title = "Megnevezés"; +$lang_userlang = "Language"; +// begin Daphne change +$lang_held = "Zárolás"; // for version control +$lang_ver = "Verzió"; // for version control +// end Daphne change +$lang_file = "Állomány"; +$lang_size = "Méret"; +$lang_postedby = "Postázta"; +$lang_modified = "Módosítva"; +$lang_actions = "Akciók"; +$lang_ownership = "Tulajdonos"; +$lang_newpolicy = "Új szabály"; +$lang_policy = "Szabály"; + +$lang_sendthisfile = "Küldendõ állomány"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Állomány küldés"; +$lang_keywords = "Kulcsszavak"; +$lang_permissions = "Jogok"; +$lang_newpermissions = "New Permissions"; +$lang_description = "Leírás"; +$lang_change = "Változtat"; +$lang_reset = "Alapállapotba"; +$lang_create = "Kész"; +// begin Daphne change +$lang_vertype = "A módosítás típusa"; // for modify.php when uploading +$lang_vermajor = "Alapvetõ módosítás (X.0)"; +$lang_verminor = "Kis módosítás (0.X)"; +$lang_verdescription = "A módosítás
leírása"; +// end Daphne change + +$lang_everyoneread = "Mindenki olvashatja/letöltheti"; +$lang_everyonewrite = "Mindenki olvashatja/írhatja/letöltheti"; +$lang_everyonewrite_nod = "Mindenki olvashatja/írhatja/letöltheti, NEM TÖRÖLHETÕ"; +$lang_groupread = "Az Ön csoportja olvashatja/töltheti le"; +$lang_groupwrite = "Az Ön csoportja olvashatja/írhatja/töltheti le"; +$lang_groupwrite_nod = "Az Ön csoportja olvashatja/írhatja/töltheti le, NEM TÖRÖLHETÕ"; +$lang_onlyyou = "Csak Ön olvashatja/írhatja/töltheti le"; +$lang_groupwrite_worldread = "Your group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_nod = "Your group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread = "Your group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_nod = "Your group can upload files to this folder & everyone else can view contents, NO DELETE"; + +// BEGIN BUG FIX: #449394 add document policy bugs for admin + +$lang_everyoneread_ad = "Mindenki olvashatja/letöltheti"; +$lang_everyonewrite_ad = "Mindenki olvashatja/írhatja/letöltheti"; +$lang_everyonewrite_ad_nod = "Mindenki olvashatja/írhatja/letöltheti, NEM TÖRÖLHETÕ"; +$lang_groupread_ad = "A kiválasztott csoport olvashatja/töltheti le"; +$lang_groupwrite_ad = "A kiválasztott csoport olvashatja/írhatja/töltheti le"; +$lang_groupwrite_ad_nod = "A kiválasztott csoport olvashatja/írhatja/töltheti le, NEM TÖRÖLHETÕ"; +$lang_onlyyou_ad = "Csak Ön olvashatja/írhatja/töltheti le"; +$lang_groupwrite_worldread_ad = "The selected group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_ad_nod = "The selected group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread_ad = "Selected group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_ad_nod = "Selected group can upload files to this folder & everyone else can view contents, NO DELETE"; + + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "Mindenki olvashatja ezt a könyvtárat"; +$lang_geveryonewrite = "Mindenki feltölthet és törölhet ebben a könyvtárban"; +$lang_geveryonewrite_nod= "Mindenki feltölthet ebbe a könyvtárba"; +$lang_ggroupread = "Az Ön csoportja olvashatja ezt a könyvtárat"; +$lang_ggroupwrite = "Az Ön csoportja feltölthet és törölhet ebben a könyvtárban"; +$lang_ggroupwrite_nod = "Az Ön csoportja tölhet fel ebbe a könyvtárba"; +$lang_gonlyyou = "Csak Ön tölthet fel és törölhet ebben a könyvtárban"; + +$lang_geveryoneread_ad = "Mindenki olvashatja ezt a könyvtárat"; +$lang_geveryonewrite_ad = "Mindenki feltölthet és törölhet ebben a könyvtárban"; +$lang_geveryonewrite_ad_nod = "Mindenki feltölthet ebbe a könyvtárba"; +$lang_ggroupread_ad = "A kiválasztott csoport olvashatja ezt a könyvtárat"; +$lang_ggroupwrite_ad ="A kiválasztott csoport feltölthet és törölhet ebben a könyvtárban"; +$lang_ggroupwrite_ad_nod= "A kiválasztott csoport tölhet fel ebbe a könyvtárba"; +$lang_gonlyyou_ad = "Csak Ön tölthet fel és törölhet ebben a könyvtárban"; + +$lang_nofolderaccess = "Önnek nincs joga erre erre könyvtárra"; +$lang_nofileaccess = "Önnek nincs joga erre az állományra"; +$lang_nofilemod = "Önnek nincs joga az állomány módosítására"; +$lang_nofiledelete = "Önnek nincs joga az állomány törlésére"; +$lang_noupload = "Önnek nincs joga feltölteni ebbe a könyvtárba"; +$lang_nosubfolder = "Önnek nincs joga itt alkönyvtár létrehozására"; +$lang_nofoldermod = "Önnek nincs joga ezt a könyvtárat módosítani"; +$lang_nofolderdelete = "Önnek nincs joga ezt a könyvtárat törölni"; +$lang_noemail = "You do not have access to email this file"; +$lang_fileexists = "A feltölteni kívánt állomány már létezik"; +$lang_specifyname = "Lépjen vissza, és adjon meg másik nevet"; + +$lang_users = "Felhasználók"; +$lang_groups = "Csoportok"; +$lang_group = "Elsõdleges csoport"; +$lang_groupmember = "Csoporttagság"; +$lang_username = "Felhasználó"; +$lang_password = "Jelszó"; +$lang_newpassword = "Új jelszó"; +$lang_oldpassword = "Régi jelszó"; +$lang_confpassword = "Új jelszó mégegyszer"; +$lang_email = "Email cím"; +$lang_emailing = "Emailing"; +$lang_email_to = "Mail To"; +$lang_email_reply_to = "Reply To"; +$lang_email_cc = "CC"; +$lang_email_subject = "Subject"; +$lang_email_body = "Message"; +$lang_notification = "Értesítést kap"; +$lang_attach_file = "Attach File"; +$lang_change = "Változtat"; +$lang_deleteuser = "Felhasználó törlés"; +$lang_deletegroup = "Csoport törlés"; +$lang_saved = "Változások elmentve"; +$lang_add = "Hozzáadás"; +$lang_quota = "Tárolóhely limit"; +$lang_disableuser = "Disable User"; +$lang_noprefaccess = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrators"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + + +// Bozz Change Begin +$lang_email_alt = "Email this File"; +$lang_del_folder_alt = "Könyvtár törlés (I/N)"; +$lang_mod_folder_alt = "Könyvtár tulajdonságainak módósítása"; +$lang_move_folder_alt = "Könyvtár mozgatása"; + +$lang_del_file_alt = "Állomány törlés (I/N)"; +$lang_mod_file_alt = "Állomány tulajdonságainak módósítása"; +$lang_move_file_alt = "Állomány mozgatása"; +$lang_upd_file_alt = "Állomány módosítása"; +$lang_get_file_alt = "Állomány letöltése"; +$lang_view_file_alt = "Állomány megtekintése"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "Flush Hanging Sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "Állomány napló"; +$lang_lock_file = "Zárolás BE/KI"; +// end Daphne Change +$lang_notif_subject_new = "OWL Intranet Dokumentum"; +$lang_notif_subject_upd = "Karbantartott OWL Intranet Dokumentum"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; +;;$lang_notif_msg = "EZ EGY AUTOMATIKUS ÜZENET \nAZ OWL Intranet Dokumentumkezelõtõl. \nKattintson a linkre az új/módosult állomány megtekintéséhez.\n\n"; + +// Diego Bugfix +$lang_admin = "Adminisztrátor"; +$lang_user = "Felhasználó"; +$lang_search = "Keresés"; +$lang_search_results_for= "A keresett szöveg :"; +$lang_score = "Helyezés"; +$lang_ownergroup = "Tulajdonos (Csoport)"; +$lang_name = "Név"; +//Diego Bugfix end +$lang_query_empty = "Üres a keresendõ szöveg"; + +// Error Message Section +// +$lang_err_file_update = "Az állomány neve módosítás esetén nem változtatható, próbálja újra"; +$lang_err_quota = "Tárolóhely limit túllépés miatt nem lehet feltölteni: "; +$lang_err_quota_needed = " szükséges "; +$lang_err_quota_avail = " rendelkezésre áll."; +$lang_err_quota_exceed = "Az Ön tárolóhelye elfogyott"; +$lang_err_upload = "Feltöltési hiba"; +$lang_err_folder_exist = "A könyvtár már létezik"; +$lang_err_folder_create = "Könyvtár létrehozási hiba"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Mentés könyvtár létrehozási hiba"; +$lang_err_backup_file = "Hiba az állomány mentésekor"; +$lang_err_file_lock = "Ezt az állományt már zárolták"; +// end Daphne change +$lang_err_unauthorized = "Jogtalan"; +$lang_err_unauth_area = "Ehez a területhez nincs joga"; +$lang_err_pass_wrong = "A régi jelszó helytelen"; +$lang_err_pass_missmatch = "Az új jelszó két példánya nem azonos"; +$lang_err_user_exists = "A felhasználó már létezik"; +$lang_err_general = "Hiba következett be"; +$lang_err_lang_1 = "Olyan nyelvet jelölt meg "; +$lang_err_lang_2 = " amely nem létezik"; +$lang_err_lang_notfound = "A nyelvet nem találom, módosítsa az owl.lib.php állományt"; +$lang_err_sess_write = "Hiba a kapcsolat információk adatbázisba írásakor"; +$lang_err_sess_notvalid = "Hibás kapcsolat azonosító"; +$lang_err_bad_version_1 = "Az Owl Intranethez szükséges minimális PHP verzió"; +$lang_err_bad_version_2 = "Az Ön által használt verzió"; +$lang_err_bad_version_3 = "Telepítsen egy újabb verziót, és próbálja újra"; + +$lang_err_folderexists = "Rename was Canceled
Folder with the same name exists."; +$lang_err_movecancel = "Move was Canceled
"; +$lang_err_email = "Message could not be sent"; +$lang_err_fileexists = "Move was Canceled
File with the same name already exists."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Upgrade Users to MD5 Passwords"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/Italian/graphics/btn_add_file.gif b/locale/Italian/graphics/btn_add_file.gif new file mode 100755 index 0000000..0c7a5bc --- /dev/null +++ b/locale/Italian/graphics/btn_add_file.gif diff --git a/locale/Italian/graphics/btn_add_folder.gif b/locale/Italian/graphics/btn_add_folder.gif new file mode 100755 index 0000000..d310d75 --- /dev/null +++ b/locale/Italian/graphics/btn_add_folder.gif diff --git a/locale/Italian/graphics/btn_add_url.gif b/locale/Italian/graphics/btn_add_url.gif new file mode 100644 index 0000000..4b58395 --- /dev/null +++ b/locale/Italian/graphics/btn_add_url.gif diff --git a/locale/Italian/graphics/btn_browse.gif b/locale/Italian/graphics/btn_browse.gif new file mode 100755 index 0000000..5af5b16 --- /dev/null +++ b/locale/Italian/graphics/btn_browse.gif diff --git a/locale/Italian/graphics/btn_collapse_view.gif b/locale/Italian/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..fd13acd --- /dev/null +++ b/locale/Italian/graphics/btn_collapse_view.gif diff --git a/locale/Italian/graphics/btn_expand_view.gif b/locale/Italian/graphics/btn_expand_view.gif new file mode 100755 index 0000000..81f0134 --- /dev/null +++ b/locale/Italian/graphics/btn_expand_view.gif diff --git a/locale/Italian/graphics/btn_login.gif b/locale/Italian/graphics/btn_login.gif new file mode 100755 index 0000000..db07fd9 --- /dev/null +++ b/locale/Italian/graphics/btn_login.gif diff --git a/locale/Italian/graphics/btn_logout.gif b/locale/Italian/graphics/btn_logout.gif new file mode 100755 index 0000000..5c57bce --- /dev/null +++ b/locale/Italian/graphics/btn_logout.gif diff --git a/locale/Italian/graphics/edit.gif b/locale/Italian/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Italian/graphics/edit.gif diff --git a/locale/Italian/graphics/email.gif b/locale/Italian/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Italian/graphics/email.gif diff --git a/locale/Italian/graphics/icons/bin.gif b/locale/Italian/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Italian/graphics/icons/bin.gif diff --git a/locale/Italian/graphics/icons/blank.gif b/locale/Italian/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Italian/graphics/icons/blank.gif diff --git a/locale/Italian/graphics/icons/bmp.jpg b/locale/Italian/graphics/icons/bmp.jpg new file mode 100755 index 0000000..ff0ca08 --- /dev/null +++ b/locale/Italian/graphics/icons/bmp.jpg diff --git a/locale/Italian/graphics/icons/doc.jpg b/locale/Italian/graphics/icons/doc.jpg new file mode 100755 index 0000000..2776c52 --- /dev/null +++ b/locale/Italian/graphics/icons/doc.jpg diff --git a/locale/Italian/graphics/icons/file.gif b/locale/Italian/graphics/icons/file.gif new file mode 100755 index 0000000..14f1abe --- /dev/null +++ b/locale/Italian/graphics/icons/file.gif diff --git a/locale/Italian/graphics/icons/folder_closed.gif b/locale/Italian/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Italian/graphics/icons/folder_closed.gif diff --git a/locale/Italian/graphics/icons/folder_gray.gif b/locale/Italian/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Italian/graphics/icons/folder_gray.gif diff --git a/locale/Italian/graphics/icons/gif.jpg b/locale/Italian/graphics/icons/gif.jpg new file mode 100755 index 0000000..ad5a947 --- /dev/null +++ b/locale/Italian/graphics/icons/gif.jpg diff --git a/locale/Italian/graphics/icons/gz.jpg b/locale/Italian/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Italian/graphics/icons/gz.jpg diff --git a/locale/Italian/graphics/icons/htm.jpg b/locale/Italian/graphics/icons/htm.jpg new file mode 100755 index 0000000..7612795 --- /dev/null +++ b/locale/Italian/graphics/icons/htm.jpg diff --git a/locale/Italian/graphics/icons/html.jpg b/locale/Italian/graphics/icons/html.jpg new file mode 100755 index 0000000..7612795 --- /dev/null +++ b/locale/Italian/graphics/icons/html.jpg diff --git a/locale/Italian/graphics/icons/jpg.jpg b/locale/Italian/graphics/icons/jpg.jpg new file mode 100755 index 0000000..eaaccca --- /dev/null +++ b/locale/Italian/graphics/icons/jpg.jpg diff --git a/locale/Italian/graphics/icons/link.gif b/locale/Italian/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Italian/graphics/icons/link.gif diff --git a/locale/Italian/graphics/icons/mag.jpg b/locale/Italian/graphics/icons/mag.jpg new file mode 100755 index 0000000..a572db0 --- /dev/null +++ b/locale/Italian/graphics/icons/mag.jpg diff --git a/locale/Italian/graphics/icons/mdb.jpg b/locale/Italian/graphics/icons/mdb.jpg new file mode 100755 index 0000000..27106ea --- /dev/null +++ b/locale/Italian/graphics/icons/mdb.jpg diff --git a/locale/Italian/graphics/icons/move.gif b/locale/Italian/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Italian/graphics/icons/move.gif diff --git a/locale/Italian/graphics/icons/mp3.jpg b/locale/Italian/graphics/icons/mp3.jpg new file mode 100644 index 0000000..9a6fe2d --- /dev/null +++ b/locale/Italian/graphics/icons/mp3.jpg diff --git a/locale/Italian/graphics/icons/pdf.jpg b/locale/Italian/graphics/icons/pdf.jpg new file mode 100755 index 0000000..96a982c --- /dev/null +++ b/locale/Italian/graphics/icons/pdf.jpg diff --git a/locale/Italian/graphics/icons/ppt.jpg b/locale/Italian/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Italian/graphics/icons/ppt.jpg diff --git a/locale/Italian/graphics/icons/tar.jpg b/locale/Italian/graphics/icons/tar.jpg new file mode 100755 index 0000000..29b6959 --- /dev/null +++ b/locale/Italian/graphics/icons/tar.jpg diff --git a/locale/Italian/graphics/icons/url.gif b/locale/Italian/graphics/icons/url.gif new file mode 100644 index 0000000..e3c0316 --- /dev/null +++ b/locale/Italian/graphics/icons/url.gif diff --git a/locale/Italian/graphics/icons/xls.jpg b/locale/Italian/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Italian/graphics/icons/xls.jpg diff --git a/locale/Italian/graphics/icons/zip.jpg b/locale/Italian/graphics/icons/zip.jpg new file mode 100755 index 0000000..29b6959 --- /dev/null +++ b/locale/Italian/graphics/icons/zip.jpg diff --git a/locale/Italian/graphics/lock.gif b/locale/Italian/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Italian/graphics/lock.gif diff --git a/locale/Italian/graphics/log.gif b/locale/Italian/graphics/log.gif new file mode 100755 index 0000000..14b7d56 --- /dev/null +++ b/locale/Italian/graphics/log.gif diff --git a/locale/Italian/graphics/mag.jpg b/locale/Italian/graphics/mag.jpg new file mode 100755 index 0000000..a942cb9 --- /dev/null +++ b/locale/Italian/graphics/mag.jpg diff --git a/locale/Italian/graphics/owl.gif b/locale/Italian/graphics/owl.gif new file mode 100755 index 0000000..9305614 --- /dev/null +++ b/locale/Italian/graphics/owl.gif diff --git a/locale/Italian/graphics/trash.gif b/locale/Italian/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Italian/graphics/trash.gif diff --git a/locale/Italian/graphics/update.gif b/locale/Italian/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Italian/graphics/update.gif diff --git a/locale/Italian/language.inc b/locale/Italian/language.inc new file mode 100755 index 0000000..b872d52 --- /dev/null +++ b/locale/Italian/language.inc @@ -0,0 +1,296 @@ + + Date: 2001/05/14 + to steveb@bozzit.com + Owl: Copyright Chris Vincent + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +/* LOCAL CHANGES for italian language + $lang_current_dir is used only in my italian version + (I added it into browse.php (line 40) to describe the line + showing the current directory) +*/ +$lang_currentdir = "Cartella attuale"; +// END of local changes + + +//$lang_logout = ""; +$lang_logout = "(Logout)"; +$lang_login = "Login"; +$lang_successlogout = "Logout completato"; +$lang_loginfail = "Errore di login"; +$lang_logindisabled = "Account has been DISABLED, contact the System Adminstrator"; +$lang_sessinuse = "Sessione attiva su un altro computer, accesso negato"; +$lang_invalidsess = "Sessione non valida, collegarsi dalla pagina principale
"; +$lang_sesstimeout = "Tempo scaduto, ricollegarsi ..
"; + +$lang_addingfolder = "Aggiungi cartella a "; +$lang_addingfile = "Aggiungi file a "; +$lang_modifying = "Modifica "; +$lang_reallydelete = "Conferma cancellazione"; + +$lang_title = "Titolo"; +$lang_userlang = "Language"; +// begin Daphne change +$lang_held = "Held"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "File"; +$lang_size = "Dimensione"; +$lang_postedby = "Creato da"; +$lang_modified = "Modificato"; +$lang_actions = "Azioni"; +$lang_ownership = "Proprietario"; +$lang_newpolicy = "Nuovi permessi"; +$lang_policy = "Permessi"; + +$lang_sendthisfile = "Manda questo file"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Manda file"; +$lang_keywords = "Chiavi di ricerca"; +$lang_permissions = "Permessi"; +$lang_newpermissions = "Nuovi permessi"; +$lang_description = "Descrizione"; +$lang_change = "Cambia"; +$lang_reset = "Annulla"; +$lang_create = "Crea"; +// begin Daphne change +$lang_vertype = "Revision type"; // for modify.php when uploading +$lang_vermajor = "Major Revision"; +$lang_verminor = "Minor Revision"; +$lang_verdescription = "Description
of changes"; +// end Daphne change + +$lang_everyoneread = "Tutti possono leggere/scaricare"; +$lang_everyonewrite = "Tutti possono leggere/scrivere/scaricare"; +$lang_everyonewrite_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread = "Il tuo gruppo puo' leggere/scaricare"; +$lang_groupwrite = "Il tuo gruppo puo' leggere/scrivere/scaricare"; +$lang_groupwrite_nod = "Your group can read/write/download, NO DELETE"; +$lang_onlyyou = "Personale (accesso solo al proprietario)"; +$lang_groupwrite_worldread = "Your group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_nod = "Your group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread = "Your group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_nod = "Your group can upload files to this folder & everyone else can view contents, NO DELETE"; + +$lang_geveryoneread = "Tutti possono leggere la cartella"; +$lang_geveryonewrite = "Tutti possono scrivere/cancellare files nella cartella"; +$lang_geveryonewrite_nod= "Everyone can upload files to this folder"; +$lang_ggroupread = "Gli utenti del gruppo possono leggere"; +$lang_ggroupwrite = "Gli utenti del gruppo possono scrivere/cancellare"; +$lang_ggroupwrite_nod = "Your group can upload files to this folder"; +$lang_gonlyyou = "Accesso personale (solo il proprietario)"; +$lang_groupwrite_worldread_ad = "The selected group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_ad_nod = "The selected group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread_ad = "Selected group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_ad_nod = "Selected group can upload files to this folder & everyone else can view contents, NO DELETE"; + + +// BEGIN BUG FIX: #449394 add document policy bugs for admin +// Please translate and send back +// bozz@bozzit.com + +$lang_everyoneread_ad = "Everyone can read/download"; +$lang_everyonewrite_ad = "Everyone can read/write/download"; +$lang_everyonewrite_ad_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread_ad = "The selected group can read/download"; +$lang_groupwrite_ad = "The selected group can read/write/download"; +$lang_groupwrite_ad_nod = "The selected group can read/write/download, NO DELETE"; +$lang_onlyyou_ad = "Only you can read/download/write"; + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread_ad = "Tutti possono leggere la cartella"; +$lang_geveryonewrite_ad = "Tutti possono scrivere/cancellare files nella cartella"; +$lang_geveryonewrite_ad_nod = "Everyone can upload files to this folder"; +$lang_ggroupread_ad = "Gli utenti del gruppo possono leggere"; +$lang_ggroupwrite_ad = "Gli utenti del gruppo possono scrivere/cancellare"; +$lang_ggroupwrite_ad_nod= "The selected group can upload files to this folder"; +$lang_gonlyyou_ad = "Accesso personale (solo il proprietario)"; + +$lang_nofolderaccess = "Non hai permessi di accesso alla cartella"; +$lang_nofileaccess = "Non hai permessi di accesso al file"; +$lang_nofilemod = "Non hai permessi di modifica su questo file"; +$lang_nofiledelete = "Non hai permessi di cancellazione su questo file"; +$lang_noupload = "Non hai permessi di scrittura in questa cartella"; +$lang_nosubfolder = "Non hai permessi di scrittura in questa cartella"; +$lang_nofoldermod = "Non hai permessi di modifica su questa cartella"; +$lang_nofolderdelete = "Non hai permessi di cancellazione in questa cartella"; +$lang_noemail = "You do not have access to email this file"; +$lang_fileexists = "Il file che cerchi di caricare esiste gia'"; +$lang_specifyname = "Torna indietro e specifica un nome"; + +$lang_users = "Utenti"; +$lang_groups = "Gruppi"; +$lang_group = "Gruppo"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_newpassword = "New Password"; +$lang_oldpassword = "Old Password"; +$lang_confpassword = "Confirm New Password"; +$lang_email = "Email Address"; +$lang_emailing = "Emailing"; +$lang_email_to = "Mail To"; +$lang_email_reply_to = "Reply To"; +$lang_email_cc = "CC"; +$lang_email_subject = "Subject"; +$lang_email_body = "Message"; +$lang_notification = "Receive Notifications"; +$lang_attach_file = "Attach File"; +$lang_change = "Cambia"; +$lang_deleteuser = "Cancella Utente"; +$lang_deletegroup = "Cancella Gruppo"; +$lang_saved = "Cambiamenti effettuati"; +$lang_add = "Aggiungi"; +$lang_quota = "Quota"; +$lang_disableuser = "Disable User"; +$lang_noprefaccess = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrator"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + + +// Bozz Change Begin +$lang_email_alt = "Email this File"; +$lang_del_folder_alt = "Elimina Cartella (Y/N)"; +$lang_mod_folder_alt = "Modifica proprieta' Cartella"; +$lang_move_folder_alt = "Sposta Cartella"; + +$lang_del_file_alt = "Elimina File (Y/N)"; +$lang_mod_file_alt = "Modifica proprieta' del File"; +$lang_move_file_alt = "Sposta File"; +$lang_upd_file_alt = "Aggiorna File"; +$lang_get_file_alt = "Scarica File"; +$lang_view_file_alt = "Visualizza File"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "Flush Hanging Sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "File Log"; +$lang_lock_file = "Check file in/out"; +// end Daphne Change + +$lang_notif_subject_new = "New OWL Intranet File"; +$lang_notif_subject_upd = "An OWL Intranet File was updated"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; +// Diego Bugfix +$lang_admin = "Admin"; +$lang_user = "User"; +$lang_search = "Search"; +$lang_search_results_for = "Search results for"; +$lang_score = "Score"; +$lang_ownergroup = "Owner (Group)"; +$lang_name = "Name"; +//Diego Bugfix end +$lang_query_empty = "Empty Search String"; + +$lang_err_file_update = "Updating a file requires the filename to remain the same, please try again using the same filename"; +$lang_err_quota = "You do not have enough quota space to upload this file: "; +$lang_err_quota_needed = " needed "; +$lang_err_quota_avail = " available."; +$lang_err_quota_exceed = "You have exceeded your quota"; +$lang_err_upload = "Upload error"; +$lang_err_folder_exist = "This folder already exists"; +$lang_err_folder_create = "Folder Creation error"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Backup Folder Creation error"; +$lang_err_backup_file = "Error backing up existing file"; +$lang_err_file_lock = "You cannot check this file out, it is currently held by"; +// end Daphne change +$lang_err_unauthorized = "Unauthorized"; +$lang_err_unauth_area = "You are not authorized to use this area"; +$lang_err_pass_wrong = "Old Password is wrong"; +$lang_err_pass_missmatch= "New Password and Confirm Password don't Match"; +$lang_err_user_exists = "Username exists"; +$lang_err_general = "An Error has occured"; +$lang_err_lang_1 = "Language has been spedified, but "; +$lang_err_lang_2 = " has not been found"; +$lang_err_lang_notfound = "Unable to find language, please specify in owl.lib.php"; +$lang_err_sess_write = "Error writing session information to database"; +$lang_err_sess_notvalid = "Session id is not valid"; +$lang_err_bad_version_1 = "Owl Intranet Requires as a minimum PHP Version"; +$lang_err_bad_version_2 = "You are running Version"; +$lang_err_bad_version_3 = "Install a newer version of php and try again"; + +$lang_err_folderexists = "Rename was Canceled
Folder with the same name exists."; +$lang_err_movecancel = "Move was Canceled
"; +$lang_err_email = "Message could not be sent"; +$lang_err_fileexists = "Move was Canceled
File with the same name already exists."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Upgrade Users to MD5 Passwords"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/NewEnglish/graphics/btn_add_file.gif b/locale/NewEnglish/graphics/btn_add_file.gif new file mode 100755 index 0000000..fdcbe1a --- /dev/null +++ b/locale/NewEnglish/graphics/btn_add_file.gif diff --git a/locale/NewEnglish/graphics/btn_add_folder.gif b/locale/NewEnglish/graphics/btn_add_folder.gif new file mode 100755 index 0000000..b25edfc --- /dev/null +++ b/locale/NewEnglish/graphics/btn_add_folder.gif diff --git a/locale/NewEnglish/graphics/btn_add_url.gif b/locale/NewEnglish/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/NewEnglish/graphics/btn_add_url.gif diff --git a/locale/NewEnglish/graphics/btn_admin.gif b/locale/NewEnglish/graphics/btn_admin.gif new file mode 100755 index 0000000..f50d4ca --- /dev/null +++ b/locale/NewEnglish/graphics/btn_admin.gif diff --git a/locale/NewEnglish/graphics/btn_browse.gif b/locale/NewEnglish/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/NewEnglish/graphics/btn_browse.gif diff --git a/locale/NewEnglish/graphics/btn_cancel.gif b/locale/NewEnglish/graphics/btn_cancel.gif new file mode 100755 index 0000000..2eb35cf --- /dev/null +++ b/locale/NewEnglish/graphics/btn_cancel.gif diff --git a/locale/NewEnglish/graphics/btn_collapse_view.gif b/locale/NewEnglish/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..e47b894 --- /dev/null +++ b/locale/NewEnglish/graphics/btn_collapse_view.gif diff --git a/locale/NewEnglish/graphics/btn_expand_view.gif b/locale/NewEnglish/graphics/btn_expand_view.gif new file mode 100755 index 0000000..8217e21 --- /dev/null +++ b/locale/NewEnglish/graphics/btn_expand_view.gif diff --git a/locale/NewEnglish/graphics/btn_login.gif b/locale/NewEnglish/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/NewEnglish/graphics/btn_login.gif diff --git a/locale/NewEnglish/graphics/btn_logout.gif b/locale/NewEnglish/graphics/btn_logout.gif new file mode 100755 index 0000000..1fe9ba8 --- /dev/null +++ b/locale/NewEnglish/graphics/btn_logout.gif diff --git a/locale/NewEnglish/graphics/btn_search.gif b/locale/NewEnglish/graphics/btn_search.gif new file mode 100755 index 0000000..c9bdedb --- /dev/null +++ b/locale/NewEnglish/graphics/btn_search.gif diff --git a/locale/NewEnglish/graphics/edit.gif b/locale/NewEnglish/graphics/edit.gif new file mode 100644 index 0000000..1d403e8 --- /dev/null +++ b/locale/NewEnglish/graphics/edit.gif diff --git a/locale/NewEnglish/graphics/email.gif b/locale/NewEnglish/graphics/email.gif new file mode 100644 index 0000000..087133f --- /dev/null +++ b/locale/NewEnglish/graphics/email.gif diff --git a/locale/NewEnglish/graphics/icons/bin.gif b/locale/NewEnglish/graphics/icons/bin.gif new file mode 100644 index 0000000..acbad87 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/bin.gif diff --git a/locale/NewEnglish/graphics/icons/blank.gif b/locale/NewEnglish/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/blank.gif diff --git a/locale/NewEnglish/graphics/icons/bmp.jpg b/locale/NewEnglish/graphics/icons/bmp.jpg new file mode 100755 index 0000000..3d5c3e2 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/bmp.jpg diff --git a/locale/NewEnglish/graphics/icons/doc.jpg b/locale/NewEnglish/graphics/icons/doc.jpg new file mode 100644 index 0000000..075ad67 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/doc.jpg diff --git a/locale/NewEnglish/graphics/icons/file.gif b/locale/NewEnglish/graphics/icons/file.gif new file mode 100644 index 0000000..98fb344 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/file.gif diff --git a/locale/NewEnglish/graphics/icons/folder_closed.gif b/locale/NewEnglish/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..fc9b6c4 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/folder_closed.gif diff --git a/locale/NewEnglish/graphics/icons/folder_gray.gif b/locale/NewEnglish/graphics/icons/folder_gray.gif new file mode 100644 index 0000000..2b5306a --- /dev/null +++ b/locale/NewEnglish/graphics/icons/folder_gray.gif diff --git a/locale/NewEnglish/graphics/icons/gif.jpg b/locale/NewEnglish/graphics/icons/gif.jpg new file mode 100644 index 0000000..ab618f6 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/gif.jpg diff --git a/locale/NewEnglish/graphics/icons/gz.jpg b/locale/NewEnglish/graphics/icons/gz.jpg new file mode 100644 index 0000000..ee5eebe --- /dev/null +++ b/locale/NewEnglish/graphics/icons/gz.jpg diff --git a/locale/NewEnglish/graphics/icons/htm.jpg b/locale/NewEnglish/graphics/icons/htm.jpg new file mode 100755 index 0000000..8da48ed --- /dev/null +++ b/locale/NewEnglish/graphics/icons/htm.jpg diff --git a/locale/NewEnglish/graphics/icons/html.jpg b/locale/NewEnglish/graphics/icons/html.jpg new file mode 100644 index 0000000..8da48ed --- /dev/null +++ b/locale/NewEnglish/graphics/icons/html.jpg diff --git a/locale/NewEnglish/graphics/icons/jpg.jpg b/locale/NewEnglish/graphics/icons/jpg.jpg new file mode 100644 index 0000000..db9af1f --- /dev/null +++ b/locale/NewEnglish/graphics/icons/jpg.jpg diff --git a/locale/NewEnglish/graphics/icons/link.gif b/locale/NewEnglish/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/link.gif diff --git a/locale/NewEnglish/graphics/icons/mdb.jpg b/locale/NewEnglish/graphics/icons/mdb.jpg new file mode 100755 index 0000000..e17f7b8 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/mdb.jpg diff --git a/locale/NewEnglish/graphics/icons/move.gif b/locale/NewEnglish/graphics/icons/move.gif new file mode 100644 index 0000000..c83a4ac --- /dev/null +++ b/locale/NewEnglish/graphics/icons/move.gif diff --git a/locale/NewEnglish/graphics/icons/mp3.jpg b/locale/NewEnglish/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/NewEnglish/graphics/icons/mp3.jpg diff --git a/locale/NewEnglish/graphics/icons/pdf.jpg b/locale/NewEnglish/graphics/icons/pdf.jpg new file mode 100644 index 0000000..bb7ca5f --- /dev/null +++ b/locale/NewEnglish/graphics/icons/pdf.jpg diff --git a/locale/NewEnglish/graphics/icons/ppt.jpg b/locale/NewEnglish/graphics/icons/ppt.jpg new file mode 100755 index 0000000..279c5bf --- /dev/null +++ b/locale/NewEnglish/graphics/icons/ppt.jpg diff --git a/locale/NewEnglish/graphics/icons/tar.jpg b/locale/NewEnglish/graphics/icons/tar.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/NewEnglish/graphics/icons/tar.jpg diff --git a/locale/NewEnglish/graphics/icons/tgz.jpg b/locale/NewEnglish/graphics/icons/tgz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/NewEnglish/graphics/icons/tgz.jpg diff --git a/locale/NewEnglish/graphics/icons/url.gif b/locale/NewEnglish/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/NewEnglish/graphics/icons/url.gif diff --git a/locale/NewEnglish/graphics/icons/xls.jpg b/locale/NewEnglish/graphics/icons/xls.jpg new file mode 100644 index 0000000..327afbf --- /dev/null +++ b/locale/NewEnglish/graphics/icons/xls.jpg diff --git a/locale/NewEnglish/graphics/icons/zip.jpg b/locale/NewEnglish/graphics/icons/zip.jpg new file mode 100644 index 0000000..ee5eebe --- /dev/null +++ b/locale/NewEnglish/graphics/icons/zip.jpg diff --git a/locale/NewEnglish/graphics/lock.gif b/locale/NewEnglish/graphics/lock.gif new file mode 100644 index 0000000..f684b8a --- /dev/null +++ b/locale/NewEnglish/graphics/lock.gif diff --git a/locale/NewEnglish/graphics/log.gif b/locale/NewEnglish/graphics/log.gif new file mode 100644 index 0000000..c8bf330 --- /dev/null +++ b/locale/NewEnglish/graphics/log.gif diff --git a/locale/NewEnglish/graphics/mag.gif b/locale/NewEnglish/graphics/mag.gif new file mode 100644 index 0000000..73deeb7 --- /dev/null +++ b/locale/NewEnglish/graphics/mag.gif diff --git a/locale/NewEnglish/graphics/mag.jpg b/locale/NewEnglish/graphics/mag.jpg new file mode 100755 index 0000000..af62f23 --- /dev/null +++ b/locale/NewEnglish/graphics/mag.jpg diff --git a/locale/NewEnglish/graphics/owl.gif b/locale/NewEnglish/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/NewEnglish/graphics/owl.gif diff --git a/locale/NewEnglish/graphics/ppt.jpg b/locale/NewEnglish/graphics/ppt.jpg new file mode 100644 index 0000000..4309510 --- /dev/null +++ b/locale/NewEnglish/graphics/ppt.jpg diff --git a/locale/NewEnglish/graphics/trash.gif b/locale/NewEnglish/graphics/trash.gif new file mode 100644 index 0000000..59773d0 --- /dev/null +++ b/locale/NewEnglish/graphics/trash.gif diff --git a/locale/NewEnglish/graphics/update.gif b/locale/NewEnglish/graphics/update.gif new file mode 100644 index 0000000..a19a169 --- /dev/null +++ b/locale/NewEnglish/graphics/update.gif diff --git a/locale/NewEnglish/language.inc b/locale/NewEnglish/language.inc new file mode 100755 index 0000000..2f67a94 --- /dev/null +++ b/locale/NewEnglish/language.inc @@ -0,0 +1,287 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +$lang_logout = ""; +//$lang_logout = "(Logout)"; +$lang_login = "Login"; +$lang_successlogout = "You have sucessfully logged out"; +$lang_loginfail = "Login failure"; +$lang_logindisabled = "Account has been DISABLED, contact the System Adminstrator"; +$lang_sessinuse = "This session is in use on another computer, access denied
Login"; +$lang_invalidsess = "Invalid session id, please login from the main page
"; +$lang_sesstimeout = "Your session has timed out, please re-login
"; + +$lang_addingfolder = "Adding a folder to "; +$lang_addingfile = "Adding a file to "; +$lang_modifying = "Modifying "; +$lang_reallydelete = "Really delete"; + +$lang_title = "Title"; +$lang_userlang = "Language"; +// begin Daphne change +$lang_held = "Held"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "File"; +$lang_size = "Size"; +$lang_postedby = "Posted by"; +$lang_modified = "Modified"; +$lang_actions = "Actions"; +$lang_ownership = "Ownership"; +$lang_newpolicy = "New policy"; +$lang_policy = "Policy"; + +$lang_sendthisfile = "Send this file"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Send File"; +$lang_keywords = "Keywords"; +$lang_newpermissions = "New Permissions"; +$lang_permissions = "Permissions"; +$lang_description = "Description"; +$lang_change = "Change"; +$lang_reset = "Reset"; +$lang_create = "Create"; +// begin Daphne change +$lang_vertype = "Revision type"; // for modify.php when uploading +$lang_vermajor = "Major Revision"; +$lang_verminor = "Minor Revision"; +$lang_verdescription = "Description
of changes"; +// end Daphne change + +$lang_everyoneread = "Everyone can read/download"; +$lang_everyonewrite = "Everyone can read/write/download"; +$lang_everyonewrite_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread = "Your group can read/download"; +$lang_groupwrite = "Your group can read/write/download"; +$lang_groupwrite_nod = "Your group can read/write/download, NO DELETE"; +$lang_onlyyou = "Only you can read/download/write"; +$lang_groupwrite_worldread = "Your group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_nod = "Your group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread = "Your group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_nod = "Your group can upload files to this folder & everyone else can view contents, NO DELETE"; +// BEGIN BUG FIX: #449394 add document policy bugs for admin + +$lang_everyoneread_ad = "Everyone can read/download"; +$lang_everyonewrite_ad = "Everyone can read/write/download"; +$lang_everyonewrite_ad_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread_ad = "The selected group can read/download"; +$lang_groupwrite_ad = "The selected group can read/write/download"; +$lang_groupwrite_ad_nod = "The selected group can read/write/download, NO DELETE"; +$lang_onlyyou_ad = "Only you can read/download/write"; +$lang_groupwrite_worldread_ad = "The selected group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_ad_nod = "The selected group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread_ad = "Selected group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_ad_nod = "Selected group can upload files to this folder & everyone else can view contents, NO DELETE"; + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "Everyone can read this folder"; +$lang_geveryonewrite = "Everyone can upload files and delete this folder"; +$lang_geveryonewrite_nod= "Everyone can upload files to this folder"; +$lang_ggroupread = "Your group can read this folder"; +$lang_ggroupwrite = "Your group can upload files and delete this folder"; +$lang_ggroupwrite_nod = "Your group can upload files to this folder"; +$lang_gonlyyou = "Only you can uploadfiles and delete this folder"; + +$lang_geveryoneread_ad = "Everyone can read this folder"; +$lang_geveryonewrite_ad = "Everyone can upload files and delete this folder"; +$lang_geveryonewrite_ad_nod = "Everyone can upload files to this folder"; +$lang_ggroupread_ad = "The selected group can read this folder"; +$lang_ggroupwrite_ad = "The selected group can upload files and delete this folder"; +$lang_ggroupwrite_ad_nod= "The selected group can upload files to this folder"; +$lang_gonlyyou_ad = "Only you can uploadfiles and delete this folder"; + +$lang_nofolderaccess = "You do not have access to this folder"; +$lang_nofileaccess = "You do not have access to this file"; +$lang_nofilemod = "You do not have access to modify this file"; +$lang_nofiledelete = "You do not have access to delete this file"; +$lang_noupload = "You do not have access to upload to this folder"; +$lang_nosubfolder = "You do not have access to create subfolders here"; +$lang_nofoldermod = "You do not have access to modify this folder"; +$lang_nofolderdelete = "You do not have access to delete this folder"; +$lang_noemail = "You do not have access to email this file"; +$lang_fileexists = "The file you are trying to upload already exists"; +$lang_specifyname = "Please go back and specify a name"; + +$lang_users = "Users"; +$lang_groups = "Groups"; +$lang_return = "Return to file browser"; +$lang_group = "Primary Group"; +$lang_groupmember = "Member Group"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_newpassword = "New Password"; +$lang_oldpassword = "Old Password"; +$lang_confpassword = "Confirm New Password"; +$lang_email = "Email Address"; +$lang_emailing = "Emailing"; +$lang_email_to = "Mail To"; +$lang_email_reply_to = "Reply To"; +$lang_email_cc = "CC"; +$lang_email_subject = "Subject"; +$lang_email_body = "Message"; +$lang_notification = "Receive Notifications"; +$lang_attach_file = "Attach File"; +$lang_change = "Change"; +$lang_deleteuser = "Delete User"; +$lang_deletegroup = "Delete Group"; +$lang_saved = "Changes Saved"; +$lang_add = "Add"; +$lang_quota = "Quota"; +$lang_disableuser = "Disable User"; +$lang_noprefaccess = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrator"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + +// Bozz Change Begin +$lang_email_alt = "Email this File"; +$lang_del_folder_alt = "Delete Folder (Y/N)"; +$lang_mod_folder_alt = "Modify Folder Properties"; +$lang_move_folder_alt = "Move Folder"; + +$lang_del_file_alt = "Delete File (Y/N)"; +$lang_mod_file_alt = "Modify File Properties"; +$lang_move_file_alt = "Move File"; +$lang_upd_file_alt = "Update File"; +$lang_get_file_alt = "Download File"; +$lang_view_file_alt = "View File"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "Flush Hanging Sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "File Log"; +$lang_lock_file = "Check file in/out"; +// end Daphne Change +$lang_notif_subject_new = "New OWL Intranet File"; +$lang_notif_subject_upd = "An OWL Intranet File was updated"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; + +// Diego Bugfix +//$lang_admin = "Admin"; +$lang_admin = "

"; +$lang_user = "User"; +$lang_search = "Search"; +$lang_search_results_for = "Search results for"; +$lang_score = "Score"; +$lang_ownergroup = "Owner (Group)"; +$lang_name = "Name"; +//Diego Bugfix end +$lang_query_empty = "Empty Search String"; + +// Error Message Section +// +$lang_err_file_update = "Updating a file requires the filename to remain the same, please try again using the same filename"; +$lang_err_quota = "You do not have enough quota space to upload this file: "; +$lang_err_quota_needed = " needed "; +$lang_err_quota_avail = " available."; +$lang_err_quota_exceed = "You have exceeded your quota"; +$lang_err_upload = "Upload error"; +$lang_err_folder_exist = "This folder already exists"; +$lang_err_folder_create = "Folder Creation error"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Backup Folder Creation error"; +$lang_err_backup_file = "Error backing up existing file"; +$lang_err_file_lock = "You cannot check this file out, it is currently held by"; +// end Daphne change +$lang_err_unauthorized = "Unauthorized"; +$lang_err_unauth_area = "You are not authorized to use this area"; +$lang_err_pass_wrong = "Old Password is wrong"; +$lang_err_pass_missmatch= "New Password and Confirm Password don't Match"; +$lang_err_user_exists = "Username exists"; +$lang_err_general = "An Error has occured"; +$lang_err_lang_1 = "Language has been spedified, but "; +$lang_err_lang_2 = " has not been found"; +$lang_err_lang_notfound = "Unable to find language, please specify in owl.lib.php"; +$lang_err_sess_write = "Error writing session information to database"; +$lang_err_sess_notvalid = "Session id is not valid"; +$lang_err_bad_version_1 = "Owl Intranet Requires as a minimum PHP Version"; +$lang_err_bad_version_2 = "You are running Version"; +$lang_err_bad_version_3 = "Install a newer version of php and try again"; + +$lang_err_folderexists = "Rename was Canceled
Folder with the same name exists."; +$lang_err_movecancel = "Move was Canceled
"; +$lang_err_email = "Message could not be sent"; +$lang_err_fileexists = "Move was Canceled
File with the same name already exists."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Upgrade Users to MD5 Passwords"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/Norwegian/graphics/Thumbs.db b/locale/Norwegian/graphics/Thumbs.db new file mode 100755 index 0000000..5d10c1c --- /dev/null +++ b/locale/Norwegian/graphics/Thumbs.db diff --git a/locale/Norwegian/graphics/btn_add_file.gif b/locale/Norwegian/graphics/btn_add_file.gif new file mode 100755 index 0000000..2ab7f77 --- /dev/null +++ b/locale/Norwegian/graphics/btn_add_file.gif diff --git a/locale/Norwegian/graphics/btn_add_folder.gif b/locale/Norwegian/graphics/btn_add_folder.gif new file mode 100755 index 0000000..5290e64 --- /dev/null +++ b/locale/Norwegian/graphics/btn_add_folder.gif diff --git a/locale/Norwegian/graphics/btn_add_url.gif b/locale/Norwegian/graphics/btn_add_url.gif new file mode 100644 index 0000000..4b58395 --- /dev/null +++ b/locale/Norwegian/graphics/btn_add_url.gif diff --git a/locale/Norwegian/graphics/btn_browse.gif b/locale/Norwegian/graphics/btn_browse.gif new file mode 100755 index 0000000..5af5b16 --- /dev/null +++ b/locale/Norwegian/graphics/btn_browse.gif diff --git a/locale/Norwegian/graphics/btn_collapse_view.gif b/locale/Norwegian/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..dbbb36b --- /dev/null +++ b/locale/Norwegian/graphics/btn_collapse_view.gif diff --git a/locale/Norwegian/graphics/btn_expand_view.gif b/locale/Norwegian/graphics/btn_expand_view.gif new file mode 100755 index 0000000..37652a6 --- /dev/null +++ b/locale/Norwegian/graphics/btn_expand_view.gif diff --git a/locale/Norwegian/graphics/btn_login.gif b/locale/Norwegian/graphics/btn_login.gif new file mode 100755 index 0000000..db07fd9 --- /dev/null +++ b/locale/Norwegian/graphics/btn_login.gif diff --git a/locale/Norwegian/graphics/btn_logout.gif b/locale/Norwegian/graphics/btn_logout.gif new file mode 100755 index 0000000..d9c3e48 --- /dev/null +++ b/locale/Norwegian/graphics/btn_logout.gif diff --git a/locale/Norwegian/graphics/edit.gif b/locale/Norwegian/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Norwegian/graphics/edit.gif diff --git a/locale/Norwegian/graphics/email.gif b/locale/Norwegian/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Norwegian/graphics/email.gif diff --git a/locale/Norwegian/graphics/icons/Thumbs.db b/locale/Norwegian/graphics/icons/Thumbs.db new file mode 100755 index 0000000..2065c77 --- /dev/null +++ b/locale/Norwegian/graphics/icons/Thumbs.db diff --git a/locale/Norwegian/graphics/icons/bin.gif b/locale/Norwegian/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Norwegian/graphics/icons/bin.gif diff --git a/locale/Norwegian/graphics/icons/blank.gif b/locale/Norwegian/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Norwegian/graphics/icons/blank.gif diff --git a/locale/Norwegian/graphics/icons/bmp.jpg b/locale/Norwegian/graphics/icons/bmp.jpg new file mode 100755 index 0000000..ff0ca08 --- /dev/null +++ b/locale/Norwegian/graphics/icons/bmp.jpg diff --git a/locale/Norwegian/graphics/icons/doc.jpg b/locale/Norwegian/graphics/icons/doc.jpg new file mode 100755 index 0000000..2776c52 --- /dev/null +++ b/locale/Norwegian/graphics/icons/doc.jpg diff --git a/locale/Norwegian/graphics/icons/file.gif b/locale/Norwegian/graphics/icons/file.gif new file mode 100755 index 0000000..14f1abe --- /dev/null +++ b/locale/Norwegian/graphics/icons/file.gif diff --git a/locale/Norwegian/graphics/icons/folder_closed.gif b/locale/Norwegian/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Norwegian/graphics/icons/folder_closed.gif diff --git a/locale/Norwegian/graphics/icons/folder_gray.gif b/locale/Norwegian/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Norwegian/graphics/icons/folder_gray.gif diff --git a/locale/Norwegian/graphics/icons/gif.jpg b/locale/Norwegian/graphics/icons/gif.jpg new file mode 100755 index 0000000..ad5a947 --- /dev/null +++ b/locale/Norwegian/graphics/icons/gif.jpg diff --git a/locale/Norwegian/graphics/icons/gz.jpg b/locale/Norwegian/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Norwegian/graphics/icons/gz.jpg diff --git a/locale/Norwegian/graphics/icons/htm.jpg b/locale/Norwegian/graphics/icons/htm.jpg new file mode 100755 index 0000000..7612795 --- /dev/null +++ b/locale/Norwegian/graphics/icons/htm.jpg diff --git a/locale/Norwegian/graphics/icons/html.jpg b/locale/Norwegian/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/Norwegian/graphics/icons/html.jpg diff --git a/locale/Norwegian/graphics/icons/jpg.jpg b/locale/Norwegian/graphics/icons/jpg.jpg new file mode 100755 index 0000000..eaaccca --- /dev/null +++ b/locale/Norwegian/graphics/icons/jpg.jpg diff --git a/locale/Norwegian/graphics/icons/link.gif b/locale/Norwegian/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Norwegian/graphics/icons/link.gif diff --git a/locale/Norwegian/graphics/icons/mag.jpg b/locale/Norwegian/graphics/icons/mag.jpg new file mode 100755 index 0000000..a572db0 --- /dev/null +++ b/locale/Norwegian/graphics/icons/mag.jpg diff --git a/locale/Norwegian/graphics/icons/mdb.jpg b/locale/Norwegian/graphics/icons/mdb.jpg new file mode 100755 index 0000000..27106ea --- /dev/null +++ b/locale/Norwegian/graphics/icons/mdb.jpg diff --git a/locale/Norwegian/graphics/icons/move.gif b/locale/Norwegian/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Norwegian/graphics/icons/move.gif diff --git a/locale/Norwegian/graphics/icons/mp3.jpg b/locale/Norwegian/graphics/icons/mp3.jpg new file mode 100644 index 0000000..9a6fe2d --- /dev/null +++ b/locale/Norwegian/graphics/icons/mp3.jpg diff --git a/locale/Norwegian/graphics/icons/pdf.jpg b/locale/Norwegian/graphics/icons/pdf.jpg new file mode 100755 index 0000000..96a982c --- /dev/null +++ b/locale/Norwegian/graphics/icons/pdf.jpg diff --git a/locale/Norwegian/graphics/icons/ppt.jpg b/locale/Norwegian/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Norwegian/graphics/icons/ppt.jpg diff --git a/locale/Norwegian/graphics/icons/tar.jpg b/locale/Norwegian/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/Norwegian/graphics/icons/tar.jpg diff --git a/locale/Norwegian/graphics/icons/url.gif b/locale/Norwegian/graphics/icons/url.gif new file mode 100644 index 0000000..e3c0316 --- /dev/null +++ b/locale/Norwegian/graphics/icons/url.gif diff --git a/locale/Norwegian/graphics/icons/xls.jpg b/locale/Norwegian/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Norwegian/graphics/icons/xls.jpg diff --git a/locale/Norwegian/graphics/icons/zip.jpg b/locale/Norwegian/graphics/icons/zip.jpg new file mode 100755 index 0000000..29b6959 --- /dev/null +++ b/locale/Norwegian/graphics/icons/zip.jpg diff --git a/locale/Norwegian/graphics/ife.gif b/locale/Norwegian/graphics/ife.gif new file mode 100755 index 0000000..0742317 --- /dev/null +++ b/locale/Norwegian/graphics/ife.gif diff --git a/locale/Norwegian/graphics/lock.gif b/locale/Norwegian/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Norwegian/graphics/lock.gif diff --git a/locale/Norwegian/graphics/log.gif b/locale/Norwegian/graphics/log.gif new file mode 100755 index 0000000..14b7d56 --- /dev/null +++ b/locale/Norwegian/graphics/log.gif diff --git a/locale/Norwegian/graphics/mag.jpg b/locale/Norwegian/graphics/mag.jpg new file mode 100755 index 0000000..a572db0 --- /dev/null +++ b/locale/Norwegian/graphics/mag.jpg diff --git a/locale/Norwegian/graphics/owl.gif b/locale/Norwegian/graphics/owl.gif new file mode 100755 index 0000000..9305614 --- /dev/null +++ b/locale/Norwegian/graphics/owl.gif diff --git a/locale/Norwegian/graphics/trash.gif b/locale/Norwegian/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Norwegian/graphics/trash.gif diff --git a/locale/Norwegian/graphics/update.gif b/locale/Norwegian/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Norwegian/graphics/update.gif diff --git a/locale/Norwegian/language.inc b/locale/Norwegian/language.inc new file mode 100755 index 0000000..0e00a97 --- /dev/null +++ b/locale/Norwegian/language.inc @@ -0,0 +1,287 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +//$lang_logout = ""; +$lang_logout = "(Logg ut)"; +$lang_login = "Logg inn"; +$lang_successlogout = "Du har logget deg ut"; +$lang_loginfail = "Det skjedde en feil ved innloggingen"; +$lang_logindisabled = "Kontoen har blitt DEAKTIVERT, Kontakt system administrator"; +$lang_sessinuse = "Denne sesjonen er i bruk på en annen datamaskin, ingen tilgang
Login"; +$lang_invalidsess = "Sesjons id er ikke valid, logg inn fra hovedsiden
"; +$lang_sesstimeout = "Den sesjon har gått ut på tid, logg inn på nytt
"; + +$lang_addingfolder = "Lager en mappe i "; +$lang_addingfile = "Lager en fil i "; +$lang_modifying = "Forandrer "; +$lang_reallydelete = "Er du sikker på at du vil slette?"; + +$lang_title = "Tittel"; +$lang_userlang = "Språk"; +// begin Daphne change +$lang_held = "Holdt"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "Fil"; +$lang_size = "Størrelse"; +$lang_postedby = "Lagt inn av"; +$lang_modified = "Forandret"; +$lang_actions = "Valg"; +$lang_ownership = "Eier"; +$lang_newpolicy = "Sett nye sikkerhets regler"; +$lang_policy = "Sikkerhets regler"; + +$lang_sendthisfile = "Send denne filen"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Send Fil"; +$lang_keywords = "Nøkkel ord"; +$lang_newpermissions = "Ny tillatelse"; +$lang_permissions = "Tillatelse"; +$lang_description = "Beskrivelse"; +$lang_change = "Forandre"; +$lang_reset = "Nullstill"; +$lang_create = "Lag"; +// begin Daphne change +$lang_vertype = "Revisjon type"; // for modify.php when uploading +$lang_vermajor = "Stor Revisjon"; +$lang_verminor = "Liten Revisjon"; +$lang_verdescription = "Beskrivelse
av forandringer"; +// end Daphne change + +$lang_everyoneread = "Alle kan lese/laste ned"; +$lang_everyonewrite = "Alle kan lese/skrive/laste ned"; +$lang_everyonewrite_nod = "Alle lese/skrive/laste ned, IKKE SLETTE"; +$lang_groupread = "Din gruppe kan lese/laste ned"; +$lang_groupwrite = "Din gruppe kan lese/skrive/laste ned"; +$lang_groupwrite_nod = "Din gruppe kan lese/skrive/laste ned, IKKE SLETTE"; +$lang_onlyyou = "Bare du kan lese/skrive/laste ned"; +$lang_groupwrite_worldread = "Din gruppe kan lese/skrive/laste ned og alle kan lese"; +$lang_groupwrite_worldread_nod = "Din gruppe kan lese/skrive/laste ned (IKKE SLETTE) og alle kan lese"; +$lang_ggroupwrite_worldread = "Din gruppe kan laste opp filer og slette mappen og alle kan se innholdet"; +$lang_ggroupwrite_worldread_nod = "Din gruppe kan laste opp filer til mappen og alle kan se innhold, IKKE SLETTE"; +// BEGIN BUG FIX: #449394 add document policy bugs for admin + +$lang_everyoneread_ad = "Alle kan lese/laste ned"; +$lang_everyonewrite_ad = "Alle kan lese/skrive/laste ned"; +$lang_everyonewrite_ad_nod = "Alle kan lese/skrive/laste ned, IKKE SLETTE"; +$lang_groupread_ad = "Den valgte gruppen kan lese/laste ned"; +$lang_groupwrite_ad = "Den valgte gruppen kan lese/skrive/laste ned"; +$lang_groupwrite_ad_nod = "Den valgte gruppen kan lese/skrive/laste ned, IKKE SLETTE"; +$lang_onlyyou_ad = "Bare du kan lese/skrive/laste ned"; +$lang_groupwrite_worldread_ad = "Den valgte gruppen kan lese/skrive/laste ned og alle kan lese"; +$lang_groupwrite_worldread_ad_nod = "Den valgte gruppen kan lese/skrive/laste ned,(NO DELETE) og alle kan lese"; +$lang_ggroupwrite_worldread_ad = "Den valgte gruppen kan laste opp filer og slette denne mappen og alle kan se innholdet"; +$lang_ggroupwrite_worldread_ad_nod = "Den valgte gruppen kan laste opp filer til mappen og alle kan se innholdet, IKKE SLETTE"; + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "Alle kan lese denne mappen"; +$lang_geveryonewrite = "Alle kan laste opp filer og slette denne mappen"; +$lang_geveryonewrite_nod= "Alle kan laste opp filer til denne mappen"; +$lang_ggroupread = "Din gruppe kan lese denne mappen"; +$lang_ggroupwrite = "Din gruppe kan laste opp filer og slette denne mappen"; +$lang_ggroupwrite_nod = "Din gruppe kan laste opp filer til denne mappen"; +$lang_gonlyyou = "Bare du kan laste opp filer og slette denne mappen"; + +$lang_geveryoneread_ad = "Alle kan lese denne mappen"; +$lang_geveryonewrite_ad = "Alle kan laste opp filer og slette denne mappen"; +$lang_geveryonewrite_ad_nod = "Alle kan laste opp filer til denne mappen"; +$lang_ggroupread_ad = "Den valgte gruppen kan lese filer i denne mappen"; +$lang_ggroupwrite_ad = "Den valgte gruppen kan laste opp filer og slette denne mappen"; +$lang_ggroupwrite_ad_nod= "Den valgte gruppen kan laste opp filer til denne mappen"; +$lang_gonlyyou_ad = "Bare du kan laste opp filer og slette denne mappen"; + +$lang_nofolderaccess = "Du har ikke tilgang til denne mappen"; +$lang_nofileaccess = "Du har ikke tilgang til denne filen"; +$lang_nofilemod = "Du har ikke tilgang til å modifisere denne filen"; +$lang_nofiledelete = "Du har ikke tilgang til å slette denne filen"; +$lang_noupload = "Du har ikke tilgang til å laste opp til denne mappen"; +$lang_nosubfolder = "Du har ikke tilgang til å lage undermapper her"; +$lang_nofoldermod = "Du har ikke tilgang til å modifisere denne mappen"; +$lang_nofolderdelete = "Du har ikke tilgang til å slette denne mappen"; +$lang_noemail = "Du har ikke tilgang til å sende denne filen via e-post"; +$lang_fileexists = "Filen du prøver å laste opp eksisterer allerede"; +$lang_specifyname = "Vennligst gå tilbake å spesifiser et navn"; + +$lang_users = "Brukere"; +$lang_groups = "Grupper"; +$lang_group = "Hoved gruppe"; +$lang_groupmember = "Medlems gruppe"; +$lang_username = "Brukernavn"; +$lang_password = "Passord"; +$lang_newpassword = "Nytt Passord"; +$lang_oldpassword = "Gammelt Passord"; +$lang_confpassword = "Bekreft Nytt Passord"; +$lang_email = "E-post Addresse"; +$lang_emailing = "Sender e-post"; +$lang_email_to = "Send til"; +$lang_email_reply_to = "Svar til"; +$lang_email_cc = "CC"; +$lang_email_subject = "Emne"; +$lang_email_body = "Beskjed"; +$lang_notification = "Motta varsel"; +$lang_attach_file = "Attach File"; +$lang_change = "Forandre"; +$lang_deleteuser = "Slett bruker"; +$lang_deletegroup = "Slett gruppe"; +$lang_saved = "Forandringer er lagret"; +$lang_add = "Legg til"; +$lang_quota = "Kvote"; +$lang_disableuser = "Deaktiver Bruker"; +$lang_noprefaccess = "Deaktiver Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrator"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + + +// Bozz Change Begin +$lang_email_alt = "Send denne filen via e-post"; +$lang_del_folder_alt = "Slett denne mappen (Y/N)"; +$lang_mod_folder_alt = "Modifiser mappe egenskaper"; +$lang_move_folder_alt = "Flytt mappe"; + +$lang_del_file_alt = "Slett fil (Y/N)"; +$lang_mod_file_alt = "Modifiser fil egenskaper"; +$lang_move_file_alt = "Flytt fil"; +$lang_upd_file_alt = "Oppdater fil"; +$lang_get_file_alt = "Last ned fil"; +$lang_view_file_alt = "Se fil"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "Flush Fanging Fessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "Fil Logg"; +$lang_lock_file = "Sjekk filen inn/ut"; +// end Daphne Change +$lang_notif_subject_new = "Ny OWL Intranet Fil"; +$lang_notif_subject_upd = "En OWL Intranet Fil ble oppdatert"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; +//$lang_notif_msg = "Dette er en automatisert beskjed fra OWL Intranet\n\nTrykk på linken nedenfor for å se den nye/oppdaterte filen\n\n"; + +// Diego Bugfix +$lang_admin = "Admin"; +$lang_user = "Bruker"; +$lang_search = "Søk"; +$lang_search_results_for = "Søk resultat for"; +$lang_score = "Poeng"; +$lang_ownergroup = "Eier (Gruppe)"; +$lang_name = "Navn"; +//Diego Bugfix end +$lang_query_empty = "Tom søke streng"; + +// Error Message Section +// +$lang_err_file_update = "Oppdatering av en fil krever at filnavnet er likt, prøv igjen med å bruke det samme filnavnet"; +$lang_err_quota = "Du har ikke nok igjen av plass kvoten din for å laste opp denne filen: "; +$lang_err_quota_needed = " nødvendig "; +$lang_err_quota_avail = " tilgjengelig."; +$lang_err_quota_exceed = "Du har gått over din kvote"; +$lang_err_upload = "Opplastnings feil"; +$lang_err_folder_exist = "Denne mappen finnes allerede"; +$lang_err_folder_create = "Klarte ikke å lage mappen"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Klarte ikke å lage Sikkerhetskopi mappe"; +$lang_err_backup_file = "Feil under laging av sikkerhetskopi for eksisterende fil"; +$lang_err_file_lock = "Du kan ikke sjekke ut denne filen, den er for øyeblikket holdt av"; +// end Daphne change +$lang_err_unauthorized = "Ikke tillatt"; +$lang_err_unauth_area = "Du har ikke tillatelse til å bruke dette området"; +$lang_err_pass_wrong = "Gammelt passord er feil"; +$lang_err_pass_missmatch= "Nytt passord og bekrift passord stemmer ikke overens"; +$lang_err_user_exists = "Brukernavn eksisterer allerede"; +$lang_err_general = "En feil har oppstått"; +$lang_err_lang_1 = "Språk har blitt spesifisert, men "; +$lang_err_lang_2 = " har ikke blitt funnet"; +$lang_err_lang_notfound = "Klarer ikke å finne språl, spesifiser i owl.lib.php"; +$lang_err_sess_write = "Det oppstå en feil ved skriving av sesjons informasjon til databasen"; +$lang_err_sess_notvalid = "Sesjons id er ikke valid"; +$lang_err_bad_version_1 = "Owl Intranet Krever som en minimum PHP Versjon"; +$lang_err_bad_version_2 = "Du kjører Versjon"; +$lang_err_bad_version_3 = "Installer en nyere versjon av php og prøv igjen"; + +$lang_err_folderexists = "Gi nytt navn ble kanselert
Mappe med det samme navnet eksisterer."; +$lang_err_movecancel = "Flytting ble kanselert
"; +$lang_err_email = "Beskjeden kunne ikke bli sendt"; +$lang_err_fileexists = "Flytting ble kanselert
Fil med samme navn eksisterer allerede."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Motor"; +$lang_version = "Versjon"; +$lang_username = "Brukernavn"; +$lang_password = "Passord"; +$lang_owl_admin = "Owl Administrasjon"; +$lang_upg_MD5 = "Oppgrader brukere til MD5 Passord"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/Portuguese/graphics/btn_add_file.gif b/locale/Portuguese/graphics/btn_add_file.gif new file mode 100755 index 0000000..5eb4588 --- /dev/null +++ b/locale/Portuguese/graphics/btn_add_file.gif diff --git a/locale/Portuguese/graphics/btn_add_folder.gif b/locale/Portuguese/graphics/btn_add_folder.gif new file mode 100755 index 0000000..f6ecfe6 --- /dev/null +++ b/locale/Portuguese/graphics/btn_add_folder.gif diff --git a/locale/Portuguese/graphics/btn_add_url.gif b/locale/Portuguese/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/Portuguese/graphics/btn_add_url.gif diff --git a/locale/Portuguese/graphics/btn_browse.gif b/locale/Portuguese/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/Portuguese/graphics/btn_browse.gif diff --git a/locale/Portuguese/graphics/btn_collapse_view.gif b/locale/Portuguese/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..9a0fc76 --- /dev/null +++ b/locale/Portuguese/graphics/btn_collapse_view.gif diff --git a/locale/Portuguese/graphics/btn_expand_view.gif b/locale/Portuguese/graphics/btn_expand_view.gif new file mode 100755 index 0000000..7f71e0f --- /dev/null +++ b/locale/Portuguese/graphics/btn_expand_view.gif diff --git a/locale/Portuguese/graphics/btn_login.gif b/locale/Portuguese/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/Portuguese/graphics/btn_login.gif diff --git a/locale/Portuguese/graphics/btn_logout.gif b/locale/Portuguese/graphics/btn_logout.gif new file mode 100755 index 0000000..f7ab765 --- /dev/null +++ b/locale/Portuguese/graphics/btn_logout.gif diff --git a/locale/Portuguese/graphics/edit.gif b/locale/Portuguese/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Portuguese/graphics/edit.gif diff --git a/locale/Portuguese/graphics/email.gif b/locale/Portuguese/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Portuguese/graphics/email.gif diff --git a/locale/Portuguese/graphics/icons/bin.gif b/locale/Portuguese/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Portuguese/graphics/icons/bin.gif diff --git a/locale/Portuguese/graphics/icons/blank.gif b/locale/Portuguese/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Portuguese/graphics/icons/blank.gif diff --git a/locale/Portuguese/graphics/icons/bmp.jpg b/locale/Portuguese/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/Portuguese/graphics/icons/bmp.jpg diff --git a/locale/Portuguese/graphics/icons/doc.jpg b/locale/Portuguese/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/Portuguese/graphics/icons/doc.jpg diff --git a/locale/Portuguese/graphics/icons/file.gif b/locale/Portuguese/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/Portuguese/graphics/icons/file.gif diff --git a/locale/Portuguese/graphics/icons/folder_closed.gif b/locale/Portuguese/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Portuguese/graphics/icons/folder_closed.gif diff --git a/locale/Portuguese/graphics/icons/folder_gray.gif b/locale/Portuguese/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Portuguese/graphics/icons/folder_gray.gif diff --git a/locale/Portuguese/graphics/icons/gif.jpg b/locale/Portuguese/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/Portuguese/graphics/icons/gif.jpg diff --git a/locale/Portuguese/graphics/icons/gz.jpg b/locale/Portuguese/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Portuguese/graphics/icons/gz.jpg diff --git a/locale/Portuguese/graphics/icons/htm.jpg b/locale/Portuguese/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Portuguese/graphics/icons/htm.jpg diff --git a/locale/Portuguese/graphics/icons/html.jpg b/locale/Portuguese/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/Portuguese/graphics/icons/html.jpg diff --git a/locale/Portuguese/graphics/icons/jpg.jpg b/locale/Portuguese/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/Portuguese/graphics/icons/jpg.jpg diff --git a/locale/Portuguese/graphics/icons/link.gif b/locale/Portuguese/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Portuguese/graphics/icons/link.gif diff --git a/locale/Portuguese/graphics/icons/mag.jpg b/locale/Portuguese/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Portuguese/graphics/icons/mag.jpg diff --git a/locale/Portuguese/graphics/icons/mdb.jpg b/locale/Portuguese/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/Portuguese/graphics/icons/mdb.jpg diff --git a/locale/Portuguese/graphics/icons/move.gif b/locale/Portuguese/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Portuguese/graphics/icons/move.gif diff --git a/locale/Portuguese/graphics/icons/mp3.jpg b/locale/Portuguese/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/Portuguese/graphics/icons/mp3.jpg diff --git a/locale/Portuguese/graphics/icons/pdf.jpg b/locale/Portuguese/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/Portuguese/graphics/icons/pdf.jpg diff --git a/locale/Portuguese/graphics/icons/ppt.jpg b/locale/Portuguese/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Portuguese/graphics/icons/ppt.jpg diff --git a/locale/Portuguese/graphics/icons/tar.jpg b/locale/Portuguese/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/Portuguese/graphics/icons/tar.jpg diff --git a/locale/Portuguese/graphics/icons/url.gif b/locale/Portuguese/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/Portuguese/graphics/icons/url.gif diff --git a/locale/Portuguese/graphics/icons/xls.jpg b/locale/Portuguese/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Portuguese/graphics/icons/xls.jpg diff --git a/locale/Portuguese/graphics/icons/zip.jpg b/locale/Portuguese/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Portuguese/graphics/icons/zip.jpg diff --git a/locale/Portuguese/graphics/ife.gif b/locale/Portuguese/graphics/ife.gif new file mode 100755 index 0000000..e9cc12c --- /dev/null +++ b/locale/Portuguese/graphics/ife.gif diff --git a/locale/Portuguese/graphics/lock.gif b/locale/Portuguese/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Portuguese/graphics/lock.gif diff --git a/locale/Portuguese/graphics/log.gif b/locale/Portuguese/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/Portuguese/graphics/log.gif diff --git a/locale/Portuguese/graphics/mag.jpg b/locale/Portuguese/graphics/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Portuguese/graphics/mag.jpg diff --git a/locale/Portuguese/graphics/owl.gif b/locale/Portuguese/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/Portuguese/graphics/owl.gif diff --git a/locale/Portuguese/graphics/trash.gif b/locale/Portuguese/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Portuguese/graphics/trash.gif diff --git a/locale/Portuguese/graphics/update.gif b/locale/Portuguese/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Portuguese/graphics/update.gif diff --git a/locale/Portuguese/language.inc b/locale/Portuguese/language.inc new file mode 100755 index 0000000..d933b29 --- /dev/null +++ b/locale/Portuguese/language.inc @@ -0,0 +1,285 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +//$lang_logout = ""; +$lang_logout = "(Sair)"; +$lang_login = "Acessar"; +$lang_successlogout = "Você saiu do sistema."; +$lang_loginfail = "Acesso falhou"; +$lang_logindisabled = "Account has been DISABLED, contact the System Adminstrator"; +$lang_sessinuse = "Esta sessão esta sendo acessada de outro computador. Acesso negado.
Acessar"; +$lang_invalidsess = "Sessão inválida, favor clicar em sair pela página principal.
"; +$lang_sesstimeout = "Sessão expirou, acesse o sistema novamente.
"; + +$lang_addingfolder = "Adicionando um folder a "; +$lang_addingfile = "Adicionando um arquivo a "; +$lang_modifying = "Modificando "; +$lang_reallydelete = "Deseja remover? "; + +$lang_title = "Titulo"; +$lang_userlang = "Language"; +// begin Daphne change +$lang_held = "Held"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "Arquivo"; +$lang_size = "Tamanho"; +$lang_postedby = "Adicionado por"; +$lang_modified = "Modificado"; +$lang_actions = "Ações"; +$lang_ownership = "Criador por"; +$lang_newpolicy = "Nova politica de acesso"; +$lang_policy = "Politica de acesso"; + +$lang_sendthisfile = "Enviar este arquivo"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Enviar aquivo"; +$lang_keywords = "Palavras chaves"; +$lang_permissions = "Permissões"; +$lang_newpermissions = "New Permissions"; +$lang_description = "Descrição"; +$lang_change = "Alterar"; +$lang_reset = "Reiniciar"; +$lang_create = "Criar"; +// begin Daphne change +$lang_vertype = "Revision type"; // for modify.php when uploading +$lang_vermajor = "Major Revision"; +$lang_verminor = "Minor Revision"; +$lang_verdescription = "Description
of changes"; +// end Daphne change + +$lang_everyoneread = "Todos podem ler/baixar"; +$lang_everyonewrite = "Todos podem ler/escrever/baixar"; +$lang_everyonewrite_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread = "Seu grupo pode ler/baixar"; +$lang_groupwrite = "Seu grupo pode ler/escrever/baixar"; +$lang_groupwrite_nod = "Your group can read/write/download, NO DELETE"; +$lang_onlyyou = "Apenas você pode ler/baixar/escrever"; +$lang_groupwrite_worldread = "Your group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_nod = "Your group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread = "Your group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_nod = "Your group can upload files to this folder & everyone else can view contents, NO DELETE"; + +// BEGIN BUG FIX: #449394 add document policy bugs for admin + +$lang_everyoneread_ad = "Todos podem ler/baixar"; +$lang_everyonewrite_ad = "Todos podem ler/escrever/baixar"; +$lang_everyonewrite_ad_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread_ad = "O grupo selecionado pode ler/baixar"; +$lang_groupwrite_ad = "O grupo selecionado pode ler/escrever/baixar"; +$lang_groupwrite_ad_nod = "The selected group can read/write/download, NO DELETE"; +$lang_onlyyou_ad = "Apenas você pode ler/escrever/baixar"; +$lang_groupwrite_worldread_ad = "The selected group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_ad_nod = "The selected group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread_ad = "Selected group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_ad_nod = "Selected group can upload files to this folder & everyone else can view contents, NO DELETE"; + + +// END BUG FIX: #449394 add document policy bugs for admin + +$lang_geveryoneread = "Todos podem ler esta pasta"; +$lang_geveryonewrite = "Todos pode enviar arquivos e apagar esta pasta"; +$lang_geveryonewrite_nod= "Everyone can upload files to this folder"; +$lang_ggroupread = "Seu groupo pode ler esta pasta"; +$lang_ggroupwrite = "Seu grupo pode enviar arquivos e apagar esta pasta."; +$lang_ggroupwrite_nod = "Your group can upload files to this folder"; +$lang_gonlyyou = "Apenas você pode enviar arquivos e apagar esta pasta"; + +$lang_geveryoneread_ad = "Todos podem ler esta pasta"; +$lang_geveryonewrite_ad = "Todos podem enviar arquivos e apagar esta pasta"; +$lang_geveryonewrite_ad_nod = "Everyone can upload files to this folder"; +$lang_ggroupread_ad = "O grupo selecionado pode ler esta pasta"; +$lang_ggroupwrite_ad = "O grupo selecionado pode enviar arquivos e apagar esta pasta"; +$lang_ggroupwrite_ad_nod= "The selected group can upload files to this folder"; +$lang_gonlyyou_ad = "Apenas você pode enviar arquivos e apagar esta pasta"; + +$lang_nofolderaccess = "Você não tem acesso a esta pasta"; +$lang_nofileaccess = "Você não tem acesso a este arquivo"; +$lang_nofilemod = "Você não pode modificar este arquivo"; +$lang_nofiledelete = "Você não pode apagar este arquivo"; +$lang_noupload = "Você não pode enviar arquivos para esta pasta"; +$lang_nosubfolder = "Você não pode criar sub-pastas aqui"; +$lang_nofoldermod = "Você não pode modificar esta pasta"; +$lang_nofolderdelete = "Você não pode apagar esta pasta"; +$lang_noemail = "You do not have access to email this file"; +$lang_fileexists = "O arquivo que você está tentando enviar já existe"; +$lang_specifyname = "Favor votar e epecificar um nome"; + +$lang_users = "Usuários"; +$lang_groups = "Grupos"; +$lang_group = "Grupo Primámario"; +$lang_groupmember = "Membro do Grupo"; +$lang_username = "Usuáario"; +$lang_password = "Senha"; +$lang_password = "Password"; +$lang_newpassword = "Nova Password"; +$lang_oldpassword = "Password Antiga"; +$lang_confpassword = "Confirmar Nova Password"; +$lang_email = "Email"; +$lang_emailing = "Emailing"; +$lang_email_to = "Mail To"; +$lang_email_reply_to = "Reply To"; +$lang_email_cc = "CC"; +$lang_email_subject = "Subject"; +$lang_email_body = "Message"; +$lang_notification = "Receber Alertas"; +$lang_attach_file = "Attach File"; +$lang_change = "Alterar"; +$lang_deleteuser = "Remover Usuário"; +$lang_deletegroup = "Remover Grupo"; +$lang_saved = "Alterações Salvas"; +$lang_add = "Adicionar"; +$lang_quota = "Cota"; +$lang_disableuser = "Disable User"; +$lang_noprefaccess = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrator"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + + +// Bozz Change Begin +$lang_email_alt = "Email this File"; +$lang_del_folder_alt = "Remover Pasta? (S/N)"; +$lang_mod_folder_alt = "Modificar propriedades da pasta"; +$lang_move_folder_alt = "Mover pasta"; + +$lang_del_file_alt = "Remover Arquivo (S/N)"; +$lang_mod_file_alt = "Modificar propriedades do arquivo"; +$lang_move_file_alt = "Mover arquivo"; +$lang_upd_file_alt = "Atualizar arquivo"; +$lang_get_file_alt = "Baixar arquivo"; +$lang_view_file_alt = "Ver arquivo"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "Flush Hanging Sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "File Log"; +$lang_lock_file = "Check file in/out"; +// end Daphne Change + +$lang_notif_subject_new = "Novo Arquivo"; +$lang_notif_subject_upd = "Alteração em arquivo"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; +//$lang_notif_msg = "Esta mensagem é do sistema kb.interage.com.br\n\nClick no link abaixo para ver o arquivo\n\n"; + +// Diego Bugfix +$lang_admin = "Interface Administrativa"; +$lang_user = "Usuário"; +$lang_search = "Busca"; +$lang_search_results_for = "Resultados da busca por "; +$lang_score = "Score"; +$lang_ownergroup = "Grupo"; +$lang_name = "Nome"; +//Diego Bugfix end +$lang_query_empty = "Empty Search String"; + +$lang_err_file_update = "Requer o mesmo nome de arquivo, tente novamente utilizando o mesmo nome"; +$lang_err_quota = "Insuficiente espaço em disco"; +$lang_err_quota_needed = " para gravar este arquivo "; +$lang_err_quota_avail = ""; +$lang_err_quota_exceed = "Você excedeu sua quota"; +$lang_err_upload = "Erro de envio"; +$lang_err_folder_exist = "Este folder já existe"; +$lang_err_folder_create = "Erro na criaço do folder"; +$lang_err_unauthorized = "Não autorizado"; +$lang_err_unauth_area = "Você não esta autorizado a utilizar esta área"; +$lang_err_pass_wrong = "Password antiga esta errada"; +$lang_err_pass_missmatch= "Passwords não são iguais"; +$lang_err_user_exists = "Username não existe"; +$lang_err_general = "Um erro foi encontrado"; +$lang_err_lang_1 = "Linguagem não foi especificada"; +$lang_err_lang_2 = ""; +$lang_err_lang_notfound = "Impossível determinar linguagem"; +$lang_err_sess_write = "Erro escrevendo sessão no banco de dados"; +$lang_err_sess_notvalid = "Sessão não é válida"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Backup Folder Creation error"; +$lang_err_backup_file = "Error backing up existing file"; +$lang_err_file_lock = "You cannot check this file out, it is currently held by"; + +$lang_err_folderexists = "Rename was Canceled
Folder with the same name exists."; +$lang_err_movecancel = "Move was Canceled
"; +$lang_err_email = "Message could not be sent"; +$lang_err_fileexists = "Move was Canceled
File with the same name already exists."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Upgrade Users to MD5 Passwords"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/Spanish/graphics/btn_add_file.gif b/locale/Spanish/graphics/btn_add_file.gif new file mode 100755 index 0000000..a6fc3fc --- /dev/null +++ b/locale/Spanish/graphics/btn_add_file.gif diff --git a/locale/Spanish/graphics/btn_add_folder.gif b/locale/Spanish/graphics/btn_add_folder.gif new file mode 100755 index 0000000..a52a8b5 --- /dev/null +++ b/locale/Spanish/graphics/btn_add_folder.gif diff --git a/locale/Spanish/graphics/btn_add_url.gif b/locale/Spanish/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/Spanish/graphics/btn_add_url.gif diff --git a/locale/Spanish/graphics/btn_browse.gif b/locale/Spanish/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/Spanish/graphics/btn_browse.gif diff --git a/locale/Spanish/graphics/btn_collapse_view.gif b/locale/Spanish/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..d4a1092 --- /dev/null +++ b/locale/Spanish/graphics/btn_collapse_view.gif diff --git a/locale/Spanish/graphics/btn_expand_view.gif b/locale/Spanish/graphics/btn_expand_view.gif new file mode 100755 index 0000000..883dc90 --- /dev/null +++ b/locale/Spanish/graphics/btn_expand_view.gif diff --git a/locale/Spanish/graphics/btn_login.gif b/locale/Spanish/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/Spanish/graphics/btn_login.gif diff --git a/locale/Spanish/graphics/btn_logout.gif b/locale/Spanish/graphics/btn_logout.gif new file mode 100755 index 0000000..eaeab18 --- /dev/null +++ b/locale/Spanish/graphics/btn_logout.gif diff --git a/locale/Spanish/graphics/edit.gif b/locale/Spanish/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/Spanish/graphics/edit.gif diff --git a/locale/Spanish/graphics/email.gif b/locale/Spanish/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/Spanish/graphics/email.gif diff --git a/locale/Spanish/graphics/icons/bin.gif b/locale/Spanish/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/Spanish/graphics/icons/bin.gif diff --git a/locale/Spanish/graphics/icons/blank.gif b/locale/Spanish/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/Spanish/graphics/icons/blank.gif diff --git a/locale/Spanish/graphics/icons/bmp.jpg b/locale/Spanish/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/Spanish/graphics/icons/bmp.jpg diff --git a/locale/Spanish/graphics/icons/doc.jpg b/locale/Spanish/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/Spanish/graphics/icons/doc.jpg diff --git a/locale/Spanish/graphics/icons/file.gif b/locale/Spanish/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/Spanish/graphics/icons/file.gif diff --git a/locale/Spanish/graphics/icons/folder_closed.gif b/locale/Spanish/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/Spanish/graphics/icons/folder_closed.gif diff --git a/locale/Spanish/graphics/icons/folder_gray.gif b/locale/Spanish/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/Spanish/graphics/icons/folder_gray.gif diff --git a/locale/Spanish/graphics/icons/gif.jpg b/locale/Spanish/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/Spanish/graphics/icons/gif.jpg diff --git a/locale/Spanish/graphics/icons/gz.jpg b/locale/Spanish/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/Spanish/graphics/icons/gz.jpg diff --git a/locale/Spanish/graphics/icons/htm.jpg b/locale/Spanish/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/Spanish/graphics/icons/htm.jpg diff --git a/locale/Spanish/graphics/icons/html.jpg b/locale/Spanish/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/Spanish/graphics/icons/html.jpg diff --git a/locale/Spanish/graphics/icons/jpg.jpg b/locale/Spanish/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/Spanish/graphics/icons/jpg.jpg diff --git a/locale/Spanish/graphics/icons/link.gif b/locale/Spanish/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/Spanish/graphics/icons/link.gif diff --git a/locale/Spanish/graphics/icons/mag.jpg b/locale/Spanish/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Spanish/graphics/icons/mag.jpg diff --git a/locale/Spanish/graphics/icons/mdb.jpg b/locale/Spanish/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/Spanish/graphics/icons/mdb.jpg diff --git a/locale/Spanish/graphics/icons/move.gif b/locale/Spanish/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/Spanish/graphics/icons/move.gif diff --git a/locale/Spanish/graphics/icons/mp3.jpg b/locale/Spanish/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/Spanish/graphics/icons/mp3.jpg diff --git a/locale/Spanish/graphics/icons/pdf.jpg b/locale/Spanish/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/Spanish/graphics/icons/pdf.jpg diff --git a/locale/Spanish/graphics/icons/ppt.jpg b/locale/Spanish/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/Spanish/graphics/icons/ppt.jpg diff --git a/locale/Spanish/graphics/icons/tar.jpg b/locale/Spanish/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/Spanish/graphics/icons/tar.jpg diff --git a/locale/Spanish/graphics/icons/url.gif b/locale/Spanish/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/Spanish/graphics/icons/url.gif diff --git a/locale/Spanish/graphics/icons/xls.jpg b/locale/Spanish/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/Spanish/graphics/icons/xls.jpg diff --git a/locale/Spanish/graphics/icons/zip.jpg b/locale/Spanish/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/Spanish/graphics/icons/zip.jpg diff --git a/locale/Spanish/graphics/ife.gif b/locale/Spanish/graphics/ife.gif new file mode 100755 index 0000000..e9cc12c --- /dev/null +++ b/locale/Spanish/graphics/ife.gif diff --git a/locale/Spanish/graphics/lock.gif b/locale/Spanish/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/Spanish/graphics/lock.gif diff --git a/locale/Spanish/graphics/log.gif b/locale/Spanish/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/Spanish/graphics/log.gif diff --git a/locale/Spanish/graphics/mag.jpg b/locale/Spanish/graphics/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/Spanish/graphics/mag.jpg diff --git a/locale/Spanish/graphics/owl.gif b/locale/Spanish/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/Spanish/graphics/owl.gif diff --git a/locale/Spanish/graphics/trash.gif b/locale/Spanish/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/Spanish/graphics/trash.gif diff --git a/locale/Spanish/graphics/update.gif b/locale/Spanish/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/Spanish/graphics/update.gif diff --git a/locale/Spanish/language.inc b/locale/Spanish/language.inc new file mode 100755 index 0000000..260403b --- /dev/null +++ b/locale/Spanish/language.inc @@ -0,0 +1,274 @@ + + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +//$lang_logout = ""; +$lang_logout = "(Salir)"; +$lang_login = "Ingresar"; +$lang_successlogout = "Se ha desconectado correctamente"; +$lang_loginfail = "Error al ingresar"; +$lang_logindisabled = "La cuenta ha sido DESHABILITADA, contacte con el Administrador del sistema"; +$lang_sessinuse = "La sesión esta activa en otra maquina, acceso denegado"; +$lang_invalidsess = "Identificador de sesión invalido, por favor intente acceder nuevamente en la página principal
"; +$lang_sesstimeout = "Sú sesión ha expirado, por favor acceda nuevamente
"; + +$lang_addingfolder = "Anadir la carpeta a "; +$lang_addingfile = "Añadir el archivo a "; +$lang_modifying = "Modificando "; +$lang_reallydelete = "¿Esta seguro que desea borrar"; + +$lang_title = "Título"; +$lang_userlang = "Idioma"; +// begin Daphne change +$lang_held = "Bloqueado por"; +// for version control +$lang_ver = "Ver."; +// for version control +// end Daphne change +$lang_file = "Archivo"; +$lang_size = "Tamaño"; +$lang_postedby = "Añadida por"; +$lang_modified = "Modificado"; +$lang_actions = "Acciones"; +$lang_ownership = "Propiedad de"; +$lang_newpolicy = "Nueva Politica"; +$lang_policy = "Politicas"; +$lang_sendthisfile = "Mandar este archivo"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "Mandar archivo"; +$lang_keywords = "Palabras clave"; +$lang_newpermissions = "Nuevos Permisos"; +$lang_permissions = "Permisos"; +$lang_description = "Descripción"; +$lang_change = "Actualizar"; +$lang_reset = "Restaurar"; +$lang_create = "Crear"; +// begin Daphne change +$lang_vertype = "Tipo de cambio"; +// for modify.php when uploading +$lang_vermajor = "Cambios extensivos"; +$lang_verminor = "Cambios mínimos"; +$lang_verdescription = "Descripción de cambios (Revision)"; +// end Daphne change +$lang_everyoneread = "Cualquiera puede leer/descargar"; +$lang_everyonewrite = "Cualquiera puede leer/escribir/descargar"; +$lang_everyonewrite_nod = "Cualquiera puede leer/escribir/descargar, NO BORRAR"; +$lang_groupread = "Tú grupo puede leer/descargar"; +$lang_groupwrite = "Tú grupo puede leer/escribir/descargar"; +$lang_groupwrite_nod = "Tú grupo puede leer/escribir/descargar, NO BORRAR"; +$lang_onlyyou = "Solamente tú puedes leer/escribir/descargar"; +$lang_groupwrite_worldread = "El grupo seleccionado puede leer/escribir/descargar y cualquiera puede leer"; +$lang_groupwrite_worldread_nod = "El grupo seleccionado leer/escribir/descargar (NO BORRAR) y cualquiera puede leer"; +$lang_ggroupwrite_worldread = "El grupo seleccionado puede agregar archivos y borrar esta carpeta y cualquiera puede ver sus contenidos"; +$lang_ggroupwrite_worldread_nod = "El grupo seleccionado puede agregar archivos a esta carpeta y cualquiera puede ver sus contenidos, NO BORRAR"; +// BEGIN BUG FIX: #449394 add document policy bugs for admin +$lang_everyoneread_ad = "Cualquiera puede leer/descargar"; +$lang_everyonewrite_ad = "Cualquiera puede leer/escribir/descargar"; +$lang_everyonewrite_ad_nod = "Cualquiera puede leer/escribir/descargar, NO BORRAR"; +$lang_groupread_ad = "Tú grupo puede leer/descargar"; +$lang_groupwrite_ad = "Tú grupo puede leer/escribir/descargar"; +$lang_groupwrite_ad_nod = "Tú grupo puede leer/escribir/descargar, NO BORRAR"; +$lang_onlyyou_ad = "Solamente tú puedes leer/escribir/descargar"; +$lang_groupwrite_worldread_ad = "El grupo seleccionado puede leer/escribir/descargar y cualquiera puede leer"; +$lang_groupwrite_worldread_ad_nod = "El grupo seleccionado puede leer/escribir/descargar (NO BORRAR) y cualquiera puede leer"; +$lang_ggroupwrite_worldread_ad = "El grupo seleccionado puede agregar y borrar archivos de esta carpeta y cualquiera puede ver su contenido"; +$lang_ggroupwrite_worldread_ad_nod = "El grupo seleccionado puede agregar y borrar archivos de esta carpeta y cualquiera puede ver su contenido, NO BORRAR"; +// END BUG FIX: #449394 add document policy bugs for admin +$lang_geveryoneread = "Cualquiera puede leer esta carpeta"; +$lang_geveryonewrite = "Cualquiera puede agregar archivos y borrar esta carpeta"; +$lang_geveryonewrite_nod= "Cualquiera puede agregar archivos a esta carpeta"; +$lang_ggroupread = "Tú grupo puede leer esta carpeta"; +$lang_ggroupwrite = "Tú grupo puede agregar archivos y borrar esta carpeta"; +$lang_ggroupwrite_nod = "Tú grupo puede agregar archivos a esta carpeta"; +$lang_gonlyyou = "Solamente tú puedes agregar archivos y borrar esta carpeta"; +$lang_geveryoneread_ad = "Cualquiera puede leer esta carpeta"; +$lang_geveryonewrite_ad = "Cualquiera puede agregar archivos y borrar esta carpeta"; +$lang_geveryonewrite_ad_nod = "Cualquiera puede agregar archivos a esta carpeta"; +$lang_ggroupread_ad = "El grupo seleccionado puede leer esta carpeta"; +$lang_ggroupwrite_ad = "El grupo seleccionado puede agregar archivos y borrar esta carpeta"; +$lang_ggroupwrite_ad_nod= "El grupo seleccionado puede agregar archivos a esta carpeta"; +$lang_gonlyyou_ad = "Solamente tú puedes agregar archivos y borrar esta carpeta"; +$lang_nofolderaccess = "No tienes acceso a esta carpeta"; +$lang_nofileaccess = "No tienes acceso a este archivo"; +$lang_nofilemod = "No tienes permiso para modificar este archivo"; +$lang_nofiledelete = "No tienes permiso para borrar este archivo"; +$lang_noupload = "No tienes permiso para agregar archivos a esta carpeta"; +$lang_nosubfolder = "No tienes permisos para crear carpetas subordinadas aqui"; +$lang_nofoldermod = "No tienes permiso para modificar esta carpeta"; +$lang_nofolderdelete = "No tienes permiso para borrar esta carpeta"; +$lang_noemail = "No tienes permiso para mandar por correo este archivo"; +$lang_fileexists = "El archivo que intentas agregar ya existe"; +$lang_specifyname = "Por favor vuelve a la página anterior y específica un nombre"; + +$lang_users = "Usuarios"; +$lang_groups = "Grupos"; +$lang_group = "Grupo Principal"; +$lang_groupmember = "Miembro del Grupo"; +$lang_username = "Nombre de Usuario"; +$lang_password = "Contraseña"; +$lang_newpassword = "Nueva Contraseña"; +$lang_oldpassword = "Contraseña Anterior"; +$lang_confpassword = "Confirma la Nueva Contraseña"; +$lang_email = "Dirección de Correo Electrónico"; +$lang_emailing = "Enviando Correo"; +$lang_email_to = "Para:"; +$lang_email_reply_to = "Responder a (Reply To):"; +$lang_email_cc = "CC:"; +$lang_email_subject = "Asunto:"; +$lang_email_body = "Mensaje"; +$lang_notification = "Recibir Notificaciones"; +$lang_attach_file = "Attach File"; +$lang_change = "Cambiar"; +$lang_deleteuser = "Borrar Usuario"; +$lang_deletegroup = "Borrar Grupo"; +$lang_saved = "Cambios Guardados"; +$lang_add = "Agregar"; +$lang_quota = "Cuota"; +$lang_disableuser = "Deshabilitar Usuario"; +$lang_noprefaccess = "Deshabilitar Preferencias"; +$lang_toomanysessions = "Ha alcanzado el máximo número de sesiones permitidas, por favor contacte con el Administrador del Sistema"; +$lang_maxsessions = "Máximo Num. de Sesiones"; + +// Bozz Change Begin +$lang_email_alt = "Mandar este Archivo por Correo"; +$lang_del_folder_alt = "Borrar Carpeta (S/N)"; +$lang_mod_folder_alt = "Modificación de las propiedades de la carpeta"; +$lang_move_folder_alt = "Mover la Carpeta"; +$lang_del_file_alt = "Borrar Archivo (S/N)"; +$lang_mod_file_alt = "Modificar las Propiedades del Archivo"; +$lang_move_file_alt = "Mover el Archivo"; +$lang_upd_file_alt = "Actualizar el Archivo"; +$lang_get_file_alt = "Descargar el Archivo"; +$lang_view_file_alt = "Ver el Archivo"; +$lang_newuser_alt = "Crear un nuevo usuario"; +$lang_newgroup_alt = "Crear un nuevo groupo"; +$lang_flush_sessions_alt = "Flush Fanging Fessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "Histórico del Archivo"; +$lang_lock_file = "Bloquear/Desbloquear el Archivo"; +// end Daphne Change +$lang_notif_subject_new = "Nuevo archivo en OWL Intranet"; +$lang_notif_subject_upd = "Un archivo de OWL Intranet fue actualizado"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; +//$lang_notif_msg = "ESTE ES UN MENSAJE GENERADO AUTOMATICAMENTE DESDE OWL Intranet\n\nHaz Click en el enlace para ver el archivo nuevo/actualizado.\n\n"; +// Diego Bugfix +$lang_admin = "Administrador"; +$lang_user = "Usuario"; +$lang_search = "Buscar"; +$lang_search_results_for = "Resultados de la busqueda sobre"; +$lang_score = "Relevancia"; +$lang_ownergroup = "Propietario (Grupo)"; +$lang_name = "Nombre"; +//Diego Bugfix end +$lang_query_empty = "Cadena de búsqueda vacia"; +// Error Message Section // +$lang_err_file_update = "Para actualizar un archivo es necesario usar el mismo nombre, por favor intentelo nuevamente usando el mismo nombre de archivo"; +$lang_err_quota = "No tienes suficente espacio en disco asignado para subir este archivo: "; +$lang_err_quota_needed = " Necesario "; +$lang_err_quota_avail = " Disponible."; +$lang_err_quota_exceed = "Has excedido tu cuota"; +$lang_err_upload = "Error al agregar el archivo"; +$lang_err_folder_exist = "Esta carpeta ya existe"; +$lang_err_folder_create = "Error al crear la carpeta"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Error al crear la carpeta de copias de seguridad"; +$lang_err_backup_file = "Error al crear una copia de seguridad de un archivo ya existente"; +$lang_err_file_lock = "En este momento no puede bajar este archivo, El archivo se encuentra bloqueado por"; +// end Daphne change +$lang_err_unauthorized = "Acceso no autorizado"; +$lang_err_unauth_area = "No estas autorizado para acceder a esta área"; +$lang_err_pass_wrong = "La contraseña anterior es incorrecta"; +$lang_err_pass_missmatch= "La contraseña nueva y su confirmación no coinciden"; +$lang_err_user_exists = "El usuario ya existe"; +$lang_err_general = "Ha ocurrido un error"; +$lang_err_lang_1 = "El idioma ha sido especificado, pero "; +$lang_err_lang_2 = " este no ha sido encontrado"; +$lang_err_lang_notfound = "Imposible encontrar el idioma, por favor especifiquelo en el archivo owl.lib.php"; +$lang_err_sess_write = "Error al escribir la información de la sesión en la base de datos"; +$lang_err_sess_notvalid = "Identificador de sesión no valido"; +$lang_err_bad_version_1 = "Owl Intranet requiere como mínimo la versión de PHP"; +$lang_err_bad_version_2 = "Tú ejecutas la Versión"; +$lang_err_bad_version_3 = "Instala una nueva versión de php e intentalo nuevamente"; + +$lang_err_folderexists = "El renombramiento fue cancelado Existe una carpeta con el mismo nombre."; +$lang_err_movecancel = "La operacion mover fue cancelada"; +$lang_err_email = "El mensaje no pudo ser enviado"; +$lang_err_fileexists = "La operacion mover fue cancelada Un Archivo con el mismo nombre ya existe."; +$lang_err_nameempty = "El nombre de la carpeta no puede estar en blanco"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Versión"; +$lang_username = "Usuario"; +$lang_password = "Contraseña"; +$lang_owl_admin = "Administración de Owl"; +$lang_upg_MD5 = "Actualizar los passwords de los usuarios a MD5"; +//janu's change END + +$lang_viewlog = "Mostrando el historico de "; +$lang_viewing = "Mostrando "; +$lang_flushed = "La tabla de las sessiones a sido purgada, el usuario puede volver a ingresar de nuevo.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/locale/b5/graphics/btn_add_file.gif b/locale/b5/graphics/btn_add_file.gif new file mode 100755 index 0000000..5eb4588 --- /dev/null +++ b/locale/b5/graphics/btn_add_file.gif diff --git a/locale/b5/graphics/btn_add_folder.gif b/locale/b5/graphics/btn_add_folder.gif new file mode 100755 index 0000000..f6ecfe6 --- /dev/null +++ b/locale/b5/graphics/btn_add_folder.gif diff --git a/locale/b5/graphics/btn_add_url.gif b/locale/b5/graphics/btn_add_url.gif new file mode 100644 index 0000000..ccf46ab --- /dev/null +++ b/locale/b5/graphics/btn_add_url.gif diff --git a/locale/b5/graphics/btn_browse.gif b/locale/b5/graphics/btn_browse.gif new file mode 100755 index 0000000..9a362ed --- /dev/null +++ b/locale/b5/graphics/btn_browse.gif diff --git a/locale/b5/graphics/btn_collapse_view.gif b/locale/b5/graphics/btn_collapse_view.gif new file mode 100755 index 0000000..9a0fc76 --- /dev/null +++ b/locale/b5/graphics/btn_collapse_view.gif diff --git a/locale/b5/graphics/btn_expand_view.gif b/locale/b5/graphics/btn_expand_view.gif new file mode 100755 index 0000000..7f71e0f --- /dev/null +++ b/locale/b5/graphics/btn_expand_view.gif diff --git a/locale/b5/graphics/btn_login.gif b/locale/b5/graphics/btn_login.gif new file mode 100755 index 0000000..9f5d1d1 --- /dev/null +++ b/locale/b5/graphics/btn_login.gif diff --git a/locale/b5/graphics/btn_logout.gif b/locale/b5/graphics/btn_logout.gif new file mode 100755 index 0000000..f7ab765 --- /dev/null +++ b/locale/b5/graphics/btn_logout.gif diff --git a/locale/b5/graphics/edit.gif b/locale/b5/graphics/edit.gif new file mode 100755 index 0000000..cde537b --- /dev/null +++ b/locale/b5/graphics/edit.gif diff --git a/locale/b5/graphics/email.gif b/locale/b5/graphics/email.gif new file mode 100755 index 0000000..8e7f60b --- /dev/null +++ b/locale/b5/graphics/email.gif diff --git a/locale/b5/graphics/icons/bin.gif b/locale/b5/graphics/icons/bin.gif new file mode 100755 index 0000000..110554f --- /dev/null +++ b/locale/b5/graphics/icons/bin.gif diff --git a/locale/b5/graphics/icons/blank.gif b/locale/b5/graphics/icons/blank.gif new file mode 100755 index 0000000..2a68106 --- /dev/null +++ b/locale/b5/graphics/icons/blank.gif diff --git a/locale/b5/graphics/icons/bmp.jpg b/locale/b5/graphics/icons/bmp.jpg new file mode 100755 index 0000000..d58e234 --- /dev/null +++ b/locale/b5/graphics/icons/bmp.jpg diff --git a/locale/b5/graphics/icons/doc.jpg b/locale/b5/graphics/icons/doc.jpg new file mode 100755 index 0000000..833258f --- /dev/null +++ b/locale/b5/graphics/icons/doc.jpg diff --git a/locale/b5/graphics/icons/file.gif b/locale/b5/graphics/icons/file.gif new file mode 100755 index 0000000..8e3270e --- /dev/null +++ b/locale/b5/graphics/icons/file.gif diff --git a/locale/b5/graphics/icons/folder_closed.gif b/locale/b5/graphics/icons/folder_closed.gif new file mode 100755 index 0000000..bda398d --- /dev/null +++ b/locale/b5/graphics/icons/folder_closed.gif diff --git a/locale/b5/graphics/icons/folder_gray.gif b/locale/b5/graphics/icons/folder_gray.gif new file mode 100755 index 0000000..b20480d --- /dev/null +++ b/locale/b5/graphics/icons/folder_gray.gif diff --git a/locale/b5/graphics/icons/gif.jpg b/locale/b5/graphics/icons/gif.jpg new file mode 100755 index 0000000..892a0a2 --- /dev/null +++ b/locale/b5/graphics/icons/gif.jpg diff --git a/locale/b5/graphics/icons/gz.jpg b/locale/b5/graphics/icons/gz.jpg new file mode 100755 index 0000000..ee5eebe --- /dev/null +++ b/locale/b5/graphics/icons/gz.jpg diff --git a/locale/b5/graphics/icons/htm.jpg b/locale/b5/graphics/icons/htm.jpg new file mode 100755 index 0000000..3c027fd --- /dev/null +++ b/locale/b5/graphics/icons/htm.jpg diff --git a/locale/b5/graphics/icons/html.jpg b/locale/b5/graphics/icons/html.jpg new file mode 100755 index 0000000..58daaff --- /dev/null +++ b/locale/b5/graphics/icons/html.jpg diff --git a/locale/b5/graphics/icons/jpg.jpg b/locale/b5/graphics/icons/jpg.jpg new file mode 100755 index 0000000..08c1001 --- /dev/null +++ b/locale/b5/graphics/icons/jpg.jpg diff --git a/locale/b5/graphics/icons/link.gif b/locale/b5/graphics/icons/link.gif new file mode 100755 index 0000000..fecd371 --- /dev/null +++ b/locale/b5/graphics/icons/link.gif diff --git a/locale/b5/graphics/icons/mag.jpg b/locale/b5/graphics/icons/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/b5/graphics/icons/mag.jpg diff --git a/locale/b5/graphics/icons/mdb.jpg b/locale/b5/graphics/icons/mdb.jpg new file mode 100755 index 0000000..622a686 --- /dev/null +++ b/locale/b5/graphics/icons/mdb.jpg diff --git a/locale/b5/graphics/icons/move.gif b/locale/b5/graphics/icons/move.gif new file mode 100755 index 0000000..2192af7 --- /dev/null +++ b/locale/b5/graphics/icons/move.gif diff --git a/locale/b5/graphics/icons/mp3.jpg b/locale/b5/graphics/icons/mp3.jpg new file mode 100644 index 0000000..bcd4b65 --- /dev/null +++ b/locale/b5/graphics/icons/mp3.jpg diff --git a/locale/b5/graphics/icons/pdf.jpg b/locale/b5/graphics/icons/pdf.jpg new file mode 100755 index 0000000..482bd7e --- /dev/null +++ b/locale/b5/graphics/icons/pdf.jpg diff --git a/locale/b5/graphics/icons/ppt.jpg b/locale/b5/graphics/icons/ppt.jpg new file mode 100755 index 0000000..1a2673e --- /dev/null +++ b/locale/b5/graphics/icons/ppt.jpg diff --git a/locale/b5/graphics/icons/tar.jpg b/locale/b5/graphics/icons/tar.jpg new file mode 100755 index 0000000..c631d5a --- /dev/null +++ b/locale/b5/graphics/icons/tar.jpg diff --git a/locale/b5/graphics/icons/url.gif b/locale/b5/graphics/icons/url.gif new file mode 100644 index 0000000..702ad7a --- /dev/null +++ b/locale/b5/graphics/icons/url.gif diff --git a/locale/b5/graphics/icons/xls.jpg b/locale/b5/graphics/icons/xls.jpg new file mode 100755 index 0000000..64aa28e --- /dev/null +++ b/locale/b5/graphics/icons/xls.jpg diff --git a/locale/b5/graphics/icons/zip.jpg b/locale/b5/graphics/icons/zip.jpg new file mode 100755 index 0000000..a1d02fc --- /dev/null +++ b/locale/b5/graphics/icons/zip.jpg diff --git a/locale/b5/graphics/ife.gif b/locale/b5/graphics/ife.gif new file mode 100755 index 0000000..e9cc12c --- /dev/null +++ b/locale/b5/graphics/ife.gif diff --git a/locale/b5/graphics/lock.gif b/locale/b5/graphics/lock.gif new file mode 100755 index 0000000..fade293 --- /dev/null +++ b/locale/b5/graphics/lock.gif diff --git a/locale/b5/graphics/log.gif b/locale/b5/graphics/log.gif new file mode 100755 index 0000000..38c6bb0 --- /dev/null +++ b/locale/b5/graphics/log.gif diff --git a/locale/b5/graphics/mag.jpg b/locale/b5/graphics/mag.jpg new file mode 100755 index 0000000..e1b6401 --- /dev/null +++ b/locale/b5/graphics/mag.jpg diff --git a/locale/b5/graphics/owl.gif b/locale/b5/graphics/owl.gif new file mode 100755 index 0000000..4e7d021 --- /dev/null +++ b/locale/b5/graphics/owl.gif diff --git a/locale/b5/graphics/trash.gif b/locale/b5/graphics/trash.gif new file mode 100755 index 0000000..d544b59 --- /dev/null +++ b/locale/b5/graphics/trash.gif diff --git a/locale/b5/graphics/update.gif b/locale/b5/graphics/update.gif new file mode 100755 index 0000000..aae6935 --- /dev/null +++ b/locale/b5/graphics/update.gif diff --git a/locale/b5/language.inc b/locale/b5/language.inc new file mode 100755 index 0000000..14961a7 --- /dev/null +++ b/locale/b5/language.inc @@ -0,0 +1,285 @@ + + Date: 2001/08/13 + + Owl: Copyright Chris Vincent + + You should have received a copy of the GNU Public + License along with this package; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + +*/ + +//$lang_logout = ""; +$lang_logout = "(µn¥X)"; +$lang_login = "µn¤J"; +$lang_successlogout = "±z¤w¸g¦¨¥\µn¥X"; +$lang_loginfail = "µn¤J¥¢±Ñ"; +$lang_logindisabled = "Account has been DISABLED, contact the System Adminstrator"; +$lang_sessinuse = "©Úµ´¦s¨ú¡A³o­Ó³s²{¥¿¦b³Q¥t¤@¥x¹q¸£¨Ï¥Î
Login"; +$lang_invalidsess = "µL®Äªº³s½u½s¸¹, ½Ð±q¥D­¶µn¤J
"; +$lang_sesstimeout = "³s½u¤w¸g¹O®É, ½Ð­«·sµn¤J
"; + +$lang_addingfolder = "·s¼W¤@­Ó¸ê®Æ§¨¨ì "; +$lang_addingfile = "·s¼W¤@­ÓÀɮרì "; +$lang_modifying = "­×§ï¤¤ "; +$lang_reallydelete = "¯uªº­n§R°£"; + +$lang_title = "title"; +$lang_userlang = "Language"; +// begin Daphne change +$lang_held = "Held"; // for version control +$lang_ver = "Ver."; // for version control +// end Daphne change +$lang_file = "ÀɮצWºÙ"; +$lang_size = "Àɮפj¤p"; +$lang_postedby = "µoªí¤H"; +$lang_modified = "­×§ï"; +$lang_actions = "°Ê§@"; +$lang_ownership = "¾Ö¦³ªÌ"; +$lang_newpolicy = "·sÅv­­"; +$lang_policy = "¥Ø«eÅv­­"; + +$lang_sendthisfile = "°e¥X³o­ÓÀÉ®×"; +$lang_sendthisurl = "Send this URL"; +$lang_sendfile = "°e¥X"; +$lang_keywords = "ÃöÁä¦r"; +$lang_permissions = "Åv­­"; +$lang_newpermissions = "New Permissions"; +$lang_description = "´y­z"; +$lang_change = "§ïÅÜ"; +$lang_reset = "­«³]"; +$lang_create = "³Ð³y"; +// begin Daphne change +$lang_vertype = "Revision type"; // for modify.php when uploading +$lang_vermajor = "Major Revision"; +$lang_verminor = "Minor Revision"; +$lang_verdescription = "Description
of changes"; +// end Daphne change + +$lang_everyoneread = "¨C­Ó¤H³£¥i¥HŪ/¤U¸ü"; +$lang_everyonewrite = "¨C­Ó¤H³£¥i¥HŪ/¼g/¤U¸ü"; +$lang_everyonewrite_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread = "§Aªº¸s²Õ¥i¥HŪ/¤U¸ü"; +$lang_groupwrite = "§Aªº¸s²Õ¥i¥HŪ/¼g/¤U¸ü"; +$lang_groupwrite_nod = "Your group can read/write/download, NO DELETE"; +$lang_onlyyou = "¥u¦³§A¥i¥HŪ/¼g/¤U¸ü"; +$lang_groupwrite_worldread = "Your group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_nod = "Your group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread = "Your group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_nod = "Your group can upload files to this folder & everyone else can view contents, NO DELETE"; + +$lang_everyoneread_ad = "Everyone can read/download"; +$lang_everyonewrite_ad = "Everyone can read/write/download"; +$lang_everyonewrite_ad_nod = "Everyone can read/write/download, NO DELETE"; +$lang_groupread_ad = "The selected group can read/download"; +$lang_groupwrite_ad = "The selected group can read/write/download"; +$lang_groupwrite_ad_nod = "The selected group can read/write/download, NO DELETE"; +$lang_onlyyou_ad = "Only you can read/download/write"; +$lang_groupwrite_worldread_ad = "The selected group can read/write/download & everyone else can read"; +$lang_groupwrite_worldread_ad_nod = "The selected group can read/write/download (NO DELETE) & everyone else can read"; +$lang_ggroupwrite_worldread_ad = "Selected group can upload files and delete this folder & everyone else can view contents"; +$lang_ggroupwrite_worldread_ad_nod = "Selected group can upload files to this folder & everyone else can view contents, NO DELETE"; + + +$lang_geveryoneread = "¨C­Ó¤H³£¥i¥HŪ¨ú³o­Ó¸ê®Æ§¨"; +$lang_geveryonewrite = "¨C­Ó¤H³£¥i¥H¤W¶ÇÀɮשM§R°£³o­Ó¸ê®Æ§¨"; +$lang_geveryonewrite_nod= "Everyone can upload files to this folder"; +$lang_ggroupread = "§Aªº¸s²Õ¥i¥HŪ¨ú³o­Ó¸ê®Æ§¨"; +$lang_ggroupwrite = "§Aªº¸s²Õ¥i¥H¤W¶ÇÀɮשM§R°£³o­Ó¸ê®Æ§¨"; +$lang_ggroupwrite_nod = "Your group can upload files to this folder"; +$lang_gonlyyou = "¥u¦³§A¥i¥H¤W¶ÇÀɮשM§R°£³o­Ó¸ê®Æ§¨"; + +$lang_geveryoneread_ad = "¨C­Ó¤H³£¥i¥HŪ¨ú³o­Ó¸ê®Æ§¨"; +$lang_geveryonewrite_ad = "¨C­Ó¤H³£¥i¥H¤W¶ÇÀɮשM§R°£³o­Ó¸ê®Æ§¨"; +$lang_geveryonewrite_ad_nod = "Everyone can upload files to this folder"; +$lang_ggroupread_ad = "©Ò¿ï¾Üªº¸s²Õ¥i¥HŪ¨ú³o­Ó¸ê®Æ§¨"; +$lang_ggroupwrite_ad = "©Ò¿ï¾Üªº¸s²Õ¥i¥H¤W¶ÇÀɮשM§R°£³o­Ó¸ê®Æ§¨"; +$lang_ggroupwrite_ad_nod= "The selected group can upload files to this folder"; +$lang_gonlyyou_ad = "¥u¦³§A¥i¥H¤W¶ÇÀɮשM§R°£³o­Ó¸ê®Æ§¨"; + +$lang_nofolderaccess = "§A¨S¦³Åv­­¦s¨ú³o­Ó¸ê®Æ§¨"; +$lang_nofileaccess = "§A¨S¦³Åv­­¦s¨ú³o­ÓÀÉ®×"; +$lang_nofilemod = "§A¨S¦³Åv­­¦s¨ú³o­ÓÀÉ®×"; +$lang_nofiledelete = "§A¨S¦³Åv­­§R°£³o­ÓÀÉ®×"; +$lang_noupload = "§A¨S¦³Åv­­¤W¶ÇÀɮרì³o­Ó¸ê®Æ§¨"; +$lang_nosubfolder = "§A¨S¦³Åv­­¦b³o¸Ì·s¼W¸ê®Æ§¨"; +$lang_nofoldermod = "§A¨S¦³Åv­­­×§ï³o­Ó¸ê®Æ§¨"; +$lang_nofolderdelete = "§A¨S¦³Åv­­§R°£³o­Ó¸ê®Æ§¨"; +$lang_noemail = "You do not have access to email this file"; +$lang_fileexists = "±z­n¤W¶ÇªºÀɮפw¸g¦s¦b"; +$lang_specifyname = "½Ð­«·s«ü©w¤@­Ó¦WºÙ"; + +$lang_users = "¨Ï¥ÎªÌ"; +$lang_groups = "¸s²Õ"; +$lang_group = "¥D­n¸s²Õ"; +$lang_groupmember = "¦¨­û¸s²Õ"; +$lang_username = "¨Ï¥ÎªÌ¦WºÙ"; +$lang_password = "¨Ï¥ÎªÌ±K½X"; +$lang_newpassword = "New Password"; +$lang_oldpassword = "Old Password"; +$lang_confpassword = "Confirm New Password"; +$lang_email = "Email Address"; +$lang_emailing = "Emailing"; +$lang_email_to = "Mail To"; +$lang_email_reply_to = "Reply To"; +$lang_email_cc = "CC"; +$lang_email_subject = "Subject"; +$lang_email_body = "Message"; +$lang_notification = "Receive Notifications"; +$lang_attach_file = "Attach File"; + +$lang_change = "§ó§ï"; +$lang_deleteuser = "§R°£¨Ï¥ÎªÌ"; +$lang_deletegroup = "§R°£¸s²Õ"; +$lang_saved = "Åܧó¤w¸gÀx¦s"; +$lang_add = "¼W¥["; +$lang_quota = "ºÏºÐªÅ¶¡°tÃB"; +$lang_disableuser = "Disable User"; +$lang_noaccessuser = "Disable Pref"; +$lang_toomanysessions = "Maximum sessions for user reached, contact the System Administrator"; +$lang_maxsessions = "Max No. Sessions"; +$lang_preference = "Preferences"; +$lang_moving = "Moving"; +$lang_select = "Please select new folder:"; +$lang_updating = "Updating"; +$lang_cancel_button = "Cancel"; + + +// Bozz Change Begin +$lang_email_alt = "Email this File"; +$lang_del_folder_alt = "§R°£³o­Ó¸ê®Æ§¨ (Y/N)"; +$lang_mod_folder_alt = "­×§ï¸ê®Æ§¨ÄÝ©Ê"; +$lang_move_folder_alt = "²¾°Ê¸ê®Æ§¨"; + +$lang_del_file_alt = "§R°£³o­ÓÀÉ®× (Y/N)"; +$lang_mod_file_alt = "ÅܧóÀÉ®×ÄÝ©Ê"; +$lang_move_file_alt = "²¾°ÊÀÉ®×"; +$lang_upd_file_alt = "§ó·sÀÉ®×"; +$lang_get_file_alt = "¤U¸üÀÉ®×"; +$lang_view_file_alt = "À˵øÀɮפº®e"; +$lang_newuser_alt = "Create a new user"; +$lang_newgroup_alt = "Create a new group"; +$lang_flush_sessions_alt = "flush hanging sessions"; +$lang_edthtml_alt = "Edit Site HTML Preferences"; +$lang_edprefs_alt = "Edit Site Features and Settings"; +$lang_backup_alt = "Backup SQL Database"; +$lang_backup_dis_alt = "Backup Tool or gzip was not found"; + +// Bozz Change End +// begin Daphne change +$lang_log_file = "File Log"; +$lang_lock_file = "Check file in/out"; +// end Daphne Change +$lang_notif_subject_new = "New OWL Intranet File"; +$lang_notif_subject_upd = "An OWL Intranet File was updated"; +$lang_notif_msg = "THIS IS AN AUTOMATED MESSAGE FROM OWL Intranet\n\nFind the new/updated file attached to this Email\n\n"; + +// Diego Bugfix +$lang_admin = "Admin"; +$lang_user = "User"; +$lang_search = "Search"; +$lang_search_results_for = "Search results for"; +$lang_score = "Score"; +$lang_ownergroup = "Owner (Group)"; +$lang_name = "Name"; +//Diego Bugfix end +$lang_query_empty = "Empty Search String"; + +// Error Message Section +// +$lang_err_file_update = "Updating a file requires the filename to remain the same, please try again using the same filename"; +$lang_err_quota = "You do not have enough quota space to upload this file: "; +$lang_err_quota_needed = " needed "; +$lang_err_quota_avail = " available."; +$lang_err_quota_exceed = "You have exceeded your quota"; +$lang_err_upload = "Upload error"; +$lang_err_folder_exist = "This folder already exists"; +$lang_err_folder_create = "Folder Creation error"; +//Begin Daphne Change - backup folder and file creation errors +$lang_err_backup_folder_create = "Backup Folder Creation error"; +$lang_err_backup_file = "Error backing up existing file"; +$lang_err_file_lock = "You cannot check this file out, it is currently held by"; +// end Daphne change +$lang_err_unauthorized = "Unauthorized"; +$lang_err_unauth_area = "You are not authorized to use this area"; +$lang_err_pass_wrong = "Old Password is wrong"; +$lang_err_pass_missmatch= "New Password and Confirm Password don't Match"; +$lang_err_user_exists = "Username exists"; +$lang_err_general = "An Error has occured"; +$lang_err_lang_1 = "Language has been spedified, but "; +$lang_err_lang_2 = " has not been found"; +$lang_err_lang_notfound = "Unable to find language, please specify in owl.lib.php"; +$lang_err_sess_write = "Error writing session information to database"; +$lang_err_sess_notvalid = "Session id is not valid"; +$lang_err_bad_version_1 = "Owl Intranet Requires as a minimum PHP Version"; +$lang_err_bad_version_2 = "You are running Version"; +$lang_err_bad_version_3 = "Install a newer version of php and try again"; + +$lang_err_folderexists = "Rename was Canceled
Folder with the same name exists."; +$lang_err_movecancel = "Move was Canceled
"; +$lang_err_email = "Message could not be sent"; +$lang_err_fileexists = "Move was Canceled
File with the same name already exists."; +$lang_err_nameempty = "Folder name cannot be empty"; + +//janu's change BEGIN +$lang_engine = "Owl Intranet Engine"; +$lang_version = "Version"; +$lang_username = "Username"; +$lang_password = "Password"; +$lang_owl_admin = "Owl Administration"; +$lang_upg_MD5 = "Upgrade Users to MD5 Passwords"; +//janu's change END + +$lang_viewlog = "Viewing Log For "; +$lang_viewing = "Viewing "; +$lang_flushed = "Session table flushed, user can now log in again.
"; + +// Edit HTML Properties Messages + +$lang_ht_tbl_border_sz = "Table Border Size:"; +$lang_ht_tbl_hd_bg = "Header Background:"; +$lang_ht_tbl_cell_bg_cl = "Table Cell Background Colour:"; +$lang_ht_tbl_cell_bg_al = "Table Cell Background Colour Alternate:"; +$lang_ht_tbl_bg_cl = "Table Background Colour:"; +$lang_ht_expand_width = "Expanded View Width:"; +$lang_ht_collapse_width = "Collapse View Width:"; +$lang_ht_bd_bg_cl = "Body Background Color:"; +$lang_ht_bd_txt_cl = "Body Text Colour:"; +$lang_ht_bd_lnk_cl = "Body Link Colour:"; +$lang_ht_bd_vlnk_cl = "Body Visited Link Colour:"; +$lang_ht_main_hd_bg_cl = "Main Header Background Color:"; + +// Edit Prefs Properties Messages + +$lang_owl_title_email = "EMAIL SETTINGS"; +$lang_owl_email_from = "Email From Address:"; +$lang_owl_email_fromname= "Email From Name:"; +$lang_owl_email_replyto = "Email Reply To Address:"; +$lang_owl_email_server = "Email Delivery Server Address:"; +$lang_owl_title_HD = "LOOK AT HD FOR NEW FILES SETINGS"; +$lang_owl_lookAtHD = "Disable Look at hd:"; +$lang_owl_def_file_security= "Default File Security:"; +$lang_owl_def_file_group_owner= "Default File Group Owner:"; +$lang_owl_def_file_owner= "Default File Owner:"; +$lang_owl_def_file_title= "Default File Title:"; +$lang_owl_def_file_meta = "Default File Meta Data:"; +$lang_owl_def_fold_sec = "Default Folder Security:"; +$lang_owl_def_fold_group_owner = "Default Folder Group Owner:"; +$lang_owl_def_fold_owner = "Default Folder Owner:"; +$lang_owl_title_other = "OTHER SETINGS"; +$lang_owl_max_filesize = "Maximum Upload File Size:"; +$lang_owl_owl_timeout = "Session Timeout in Seconds:"; +$lang_owl_owl_expand = "Default Browser View (Expand):"; +$lang_owl_version_control= "Enable Version Control Feature:"; +$lang_owl_restrict_view = "Enable Restricted View Feature:"; +$lang_owl_title_tools = "DB BACKUP/GZIP TOOLS"; +$lang_owl_dbdump_path = "DB Dump Tool Path:"; +$lang_owl_gzip_path = "gzip Path:"; +$lang_owl_tar_path = "tar Path:"; +?> diff --git a/log.php b/log.php new file mode 100755 index 0000000..b8776c8 --- /dev/null +++ b/log.php @@ -0,0 +1,152 @@ +table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); +?> + +"); + } + print uid_to_name($userid); + print (""); +?> + + +$lang_logout");?> + +");?> + +"); + + print("table_expand_width BORDER=$default->table_border>"); + print(""); + print("
$lang_viewlog ".gen_navbar($parent)."/".flid_to_name($id)."

table_expand_width>
$filename"); + + print ("table_expand_width border=$default->table_border cellpadding=3 cellspacing=0> + + + + "); + + $sql = new Owl_DB; + + +// SPECIFIC SQL LOG QUERY - NOT USED (problematic) +// This SQL log query is designed for repository assuming there is only 1 +// digit in major revision, and noone decides to have a "_x-" in their +// filename. +// +// Has to be changed if the naming structure changes. +// Also a problem that it didn't catch the "current" +// file because of the "_x-" matching (grr) +// +//$sql->query("select * from $default->owl_files_table where filename LIKE '$filesearch[0]\__-%$filesearch[1]' order by major_revision desc, minor_revision desc"); + +// GENERIC SQL LOG QUERY - currently used. +// prone to errors when people name a set of docs +// Blah.doc +// Blah_errors.doc +// Blah_standards.doc +// etc. and search for a log on Blah.doc (it brings up all 3 docs) + +//$sql->query("select * from $default->owl_files_table where filename LIKE '$filesearch[0]%$filesearch[1]' order by major_revision desc, minor_revision desc"); +//$SQL = "select * from $default->owl_files_table where filename LIKE '$filesearch[0]%$filesearch[1]' order by major_revision desc, minor_revision desc"; +//printError("PARENT: $parent",$SQL); + +if ($default->owl_use_fs) +{ + $sql->query("Select id from $default->owl_folders_table where name='backup' and parent='$parent'"); + while($sql->next_record()) { + $backup_parent = $sql->f("id"); + } + $sql->query("select * from $default->owl_files_table where filename LIKE '$filesearch[0]%$filesearch[1]' AND (parent = $backup_parent OR parent = $parent) order by major_revision desc, minor_revision desc"); + +} +else +{ +// name based query -- assuming that the given name for the file doesn't change... +// at some point, we should really look into creating a "revision_id" field so that all revisions can be linked. +// in the meanwhile, the code for changing the Title of the file has been altered to go back and + + $name = flid_to_name($id); + $sql->query("select * from $default->owl_files_table where name='$name' AND parent='$parent' order by major_revision desc, minor_revision desc"); +} + +//global $sess; + + + while($sql->next_record()) { + $choped = split("\.", $sql->f("filename")); + $pos = count($choped); + $ext = strtolower($choped[$pos-1]); + +print(" + + + "); +} + +// print(" + // + // + //"); + //} + print("
$lang_ver$lang_user$lang_log_file$lang_modified
".$sql->f("major_revision").".".$sql->f("minor_revision")."".uid_to_name($sql->f("creatorid")).""); + printFileIcons($sql->f("id"),$sql->f("filename"),$sql->f("checked_out"),$sql->f("url"),$default->owl_version_control,$ext); + print("  [ ".$sql->f("filename")." ]
+
".$sql->f("description")."
".$sql->f("modified")."
".$sql->f("major_revision").".".$sql->f("minor_revision")."".uid_to_name($sql->f("creatorid"))."[ ".$sql->f("filename")." ]
+ //
".$sql->f("description")."
".$sql->f("modified")."
"); + include("./lib/footer.inc"); + +?> diff --git a/modify.php b/modify.php new file mode 100755 index 0000000..db19558 --- /dev/null +++ b/modify.php @@ -0,0 +1,461 @@ +MODIFY Sess: $sess
Loginname: $loginname
Login:$login"); + +require("./config/owl.php"); +require("./lib/owl.lib.php"); +require("./config/html.php"); +require("./lib/security.lib.php"); + +include("./lib/header.inc"); +// Begin 496814 Column Sorts are not persistant +// + ADDED &order=$order&$sortorder=$sortname to +// all browse.php? header and HREF LINES + + +switch ($order) { + case "name": + $sortorder = 'sortname'; + break; + case "major_revision": + $sortorder = 'sortver'; + break; + case "filename" : + $sortorder = 'sortfilename'; + break; + case "size" : + $sortorder = 'sortsize'; + break; + case "creatorid" : + $sortorder = 'sortposted'; + break; + case "smodified" : + $sortorder = 'sortmod'; + break; + case "checked_out": + $sortorder = 'sortcheckedout'; + break; + default: + break; +} + +// END 496814 Column Sorts are not persistant + +print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); +?> +
+"); + } + //print(""); + print uid_to_name($userid); + print (""); +?> + + +$lang_logout");?> + +");?> +
+"); + +if ($action == "file_update") { + if(check_auth($id, "file_modify", $userid) == 1) { + print("
"); + $expand = 1; + print("table_expand_width BORDER=$default->table_border>"); + print(""); + print("
$lang_updating ".gen_navbar($parent)."/".flid_to_name($id)."

table_expand_width>
"); + print("
+ + + + + + + "); +// BUG FIX: #449395 expanded/collapse view bugs + print(""); +// END BUG FIX: #449395 expanded/collapse view bugs + print("table_border>"); + // begin Daphne change - version control + if ($default->owl_version_control == 1) { + print(" + "); + print(" + "); + } + // End Daphne Change + print("
table_header_bg>$lang_sendthisfile
table_header_bg valign=top>$lang_vertype
table_header_bg valign=top>$lang_verdescription +
"); + include("./lib/footer.inc"); + } else { + print($lang_noupload); + } +} + +if ($action == "file_upload") { + + if(check_auth($parent, "folder_modify", $userid) == 1) { + $expand = 1; + + /* BEGIN Bozz Change + Retrieve Group information if the user is in the + Administrator group */ + + if ( owlusergroup($userid) == 0 ) { + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_groups_table"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("id"); + $groups[$i][1] = $sql->f("name"); + $i++; + } + } + else { + $sql = new Owl_DB; + $sql->query("select userid,groupid from $default->owl_users_grpmem_table where userid = $userid "); + if ($sql->num_rows($sql) == 0) + $sql->query("SELECT u.groupid as groupid, g.name as name from $default->owl_users_table as u join $default->owl_groups_table as g where u.id = $userid and u.groupid = g.id"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("groupid"); + $groups[$i][1] = group_to_name($sql->f("groupid")); + $i++; + } + } + /* END Bozz Change */ + + print("table_expand_width BORDER=$default->table_border>"); + print(""); + print("
$lang_addingfile".gen_navbar($parent)."

table_expand_width>
"); + print("
+ + + + + + + + table_border>"); + + if ($type == "url") + print(""); + else + print(""); + + print(" + "); + + print(" +
table_header_bg>$lang_sendthisurl:
table_header_bg>$lang_sendthisfile:
table_header_bg>$lang_title:
table_header_bg>$lang_keywords:
table_header_bg>$lang_ownergroup:
table_header_bg>"); + // Daphne Change - add wrap=hard to textarea for logs + print("$lang_description:
"); + include("./lib/footer.inc"); + } else { + print($lang_noupload); + } +} + +if ($action == "file_modify") { + if(check_auth($id, "file_modify", $userid) == 1) { + $expand = 1; + + /* BEGIN Bozz Change + Retrieve Group information if the user is in the + Administrator group */ + + if ( owlusergroup($userid) == 0 ) { + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_groups_table"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("id"); + $groups[$i][1] = $sql->f("name"); + $i++; + } + $sql->query("select id,name from $default->owl_users_table"); + $i=0; + while($sql->next_record()) { + $users[$i][0] = $sql->f("id"); + $users[$i][1] = $sql->f("name"); + $i++; + } + } + else { + if (uid_to_name($userid) == fid_to_creator($id)) { + $sql = new Owl_DB; + $sql->query("select userid,groupid from $default->owl_users_grpmem_table where userid = $userid "); + if ($sql->num_rows($sql) == 0) + $sql->query("SELECT u.groupid as groupid, g.name as name from $default->owl_users_table as u join $default->owl_groups_table as g where u.id = $userid and u.groupid = g.id"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("groupid"); + $groups[$i][1] = group_to_name($sql->f("groupid")); + $i++; + } + $mygroup = owlusergroup($userid); + $sql->query("select id,name from $default->owl_users_table where groupid='$mygroup'"); + $i=0; + while($sql->next_record()) { + $users[$i][0] = $sql->f("id"); + $users[$i][1] = $sql->f("name"); + $i++; + } + } + } + + /* END Bozz Change */ + + print("table_expand_width BORDER=$default->table_border>"); + print(""); + print("
$lang_modifying".gen_navbar($parent)."/".flid_to_name($id)."

table_expand_width>
"); + $sql = new Owl_DB; $sql->query("select * from $default->owl_files_table where id = '$id'"); + while($sql->next_record()) { + print("table_border> + "); + // Bozz Change Begin + + + + $security = $sql->f("security"); + $current_groupid = owlfilegroup($id); + $current_owner = owlfilecreator($id); + + if ( owlusergroup($userid) == 0 || uid_to_name($userid) == fid_to_creator($id)) + { + print(""); + +print(""); + printfileperm($security, "security", "$lang_permissions:","admin"); + } + else + { + print(""); + print(""); + print(""); + print(""); + } + // Bozz change End + //print(" + print(" +
table_header_bg> + $lang_title:f("name")."\">
table_header_bg>$lang_file:".$sql->f("filename")." (".gen_filesize($sql->f("size")).")
table_header_bg>$lang_ownership:
table_header_bg>$lang_ownergroup:
table_header_bg>$lang_ownership:".fid_to_creator($id)." (".group_to_name(owlfilegroup($id)).")
table_header_bg>$lang_keywords:
table_header_bg VALIGN=TOP> + $lang_description: + + + + + +
+ +
"); + include("./lib/footer.inc"); + } + } else { + print("

".$lang_nofilemod); + } +} + +if ($action == "folder_create") { + if(check_auth($parent, "folder_modify", $userid) == 1) { + $expand=1; + + /* BEGIN Bozz Change + Retrieve Group information if the user is in the + Administrator group */ + + + + $sql = new Owl_DB; + if ( owlusergroup($userid) == 0 ) { + $sql->query("SELECT id,name from $default->owl_groups_table"); + } + else { + $sql->query("SELECT * from $default->owl_users_grpmem_table join $default->owl_groups_table where id = groupid and userid = $userid"); + if ($sql->num_rows($sql) == 0) + $sql->query("SELECT u.groupid as id, g.name as name from $default->owl_users_table as u join $default->owl_groups_table as g where u.id = $userid and u.groupid = g.id"); + } + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("id"); + $groups[$i][1] = $sql->f("name"); + $i++; + } + + /* END Bozz Change */ + + print("table_expand_width BORDER=$default->table_border>
$lang_addingfolder ".gen_navbar($parent)."

table_expand_width>
+ table_border> + + + + "); + + /* BEGIN Bozz Change + Display Retrieved Group information if the user is in the + Administrator group */ + print("
table_header_bg>$lang_name:
+ +
table_header_bg>$lang_ownergroup:
"); + include("./lib/footer.inc"); + } else { + print($lang_nosubfolder); + } +} + +if ($action == "folder_modify") { + if(check_auth($id, "folder_property", $userid) == 1) { + $expand=1; + + /* BEGIN Bozz Change + Retrieve Group information if the user is in the + Administrator group */ + + if ( owlusergroup($userid) == 0 ) { + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_groups_table"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("id"); + $groups[$i][1] = $sql->f("name"); + $i++; + } + } + /* END Bozz Change */ + + print("table_expand_width BORDER=$default->table_border>"); + print(""); + print("
$lang_modifying ".gen_navbar($id)."

table_expand_width>
table_border>"); + $sql = new Owl_DB; $sql->query("select * from $default->owl_folders_table where id = '$id'"); + while($sql->next_record()) { + $security = $sql->f("security"); + + print(""); + print(""); + //print(""); + print(" + + + + + "); + + /* BEGIN Bozz Change + Display Retrieved Group information if the user is in the + Administrator group */ + if ( owlusergroup($userid) == 0 ) + { + print("
table_header_bg>$lang_name:
table_header_bg>$lang_policy:$security
table_header_bg>$lang_ownership:".uid_to_name(owlfoldercreator($id))." (".group_to_name(owlfoldergroup($id)).")
table_header_bg>$lang_ownergroup:
+ "); + include("./lib/footer.inc"); + + } + } else { + print($lang_nofoldermod); + } +} + +if ($action == "file_email") { + if(check_auth($id, "file_modify", $userid) == 1) { + print("
"); + $expand = 1; + + $sql = new Owl_DB; + $sql->query("select * from $default->owl_users_table where id = '$userid'"); + $sql->next_record(); + $default_reply_to = $sql->f("email"); + + print("
"); + print(""); + + print("table_expand_width BORDER=$default->table_border>"); + print(""); + print("
$lang_emailing ".gen_navbar($parent)."/".flid_to_name($id)."

table_expand_width>
"); + print(" + + + + + + + + "); + + print(""); + print("table_border> + + + "); + print(" + "); + print("
table_header_bg>$lang_email_to
table_header_bg>$lang_email_cc
table_header_bg>$lang_email_reply_to
table_header_bg>$lang_email_subject
table_header_bg valign=top>$lang_email_body
"); + include("./lib/footer.inc"); + } else { + print($lang_noemail); + } +} + +?> diff --git a/move.php b/move.php new file mode 100755 index 0000000..17438d6 --- /dev/null +++ b/move.php @@ -0,0 +1,296 @@ +table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + + "); + } + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + + + "); ?> +

+ table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + ?> + + "); + } + print uid_to_name($userid); + print (""); + ?> + + + $lang_logout");?> + + "); ?> +

+ owl_root_url/locale/$default->owl_lang/graphics/icons/blank.gif' height=16 width=18 align=top>"; + if ($fDepth) print ""; + + $gray=0; // Work out when to gray out folders ... + if ($fid==$excludeID) $gray=1; // current parent for all moves + if (($action=="folder") && ($fid==$id)) $gray=1; // subtree for folder moves + if (check_auth($fid, "folder_modify", $userid) == 0) $gray = 1; // check for permissions + + + if ($gray) { + print ""; + print " $folder
\n"; + } else { + print " $folder
\n"; + } + + if (($action=="folder") && ($fid==$id)) return; // Don't show subtree of selected folder as target for folder move + for ($c=0; $c<$fCount; $c++) { + if ($folderList[$c][2]==$fid) { + $fDepth++; + showFoldersIn( $folderList[$c][0] , $folderList[$c][1] ); + $fDepth--; + } + } +} + +if ($action=="$lang_cancel_button") { + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); + exit(); +} + +checkForNewFolder(); +if (isset($newFolder)) { + $sql = new Owl_DB; + + $source=""; + $fID=$parent; + do { + $sql->query("select name,parent from $default->owl_folders_table where id='$fID'"); + while($sql->next_record()) { + $tName = $sql->f("name"); + $fID = $sql->f("parent"); + } + $source=$tName."/".$source; + } while ($fID != 0); + + $dest=""; + $fID=$newFolder; + do { + $sql->query("select name,parent from $default->owl_folders_table where id='$fID'"); + while($sql->next_record()) { + $tName = $sql->f("name"); + $fID = $sql->f("parent"); + } + $dest=$tName."/".$dest; + } while ($fID != 0); + + if ($action=="file") { + $sql = new Owl_DB; + $sql->query("select filename, parent from $default->owl_files_table where id = '$id'"); + while($sql->next_record()) { + $fname = $sql->f("filename"); + $parent = $sql->f("parent"); + } + } else { + $sql = new Owl_DB; + $sql->query("select name, parent from $default->owl_folders_table where id='$id'"); + while($sql->next_record()) { + $fname = $sql->f("name"); + $parent = $sql->f("parent"); + } + } + + + if($default->owl_use_fs) { + if ($type != "url") { + if (!file_exists("$default->owl_FileDir/$dest$fname")) { + if (substr(php_uname(), 0, 7) != "Windows") { + $cmd="mv \"$default->owl_FileDir/$source$fname\" \"$default->owl_FileDir/$dest\" 2>&1"; + $lines=array();$errco=0; + $result = myExec($cmd,$lines,$errco); + if ( $errco != 0 ) + printError($lang_err_movecancel, $result); + } + else { + // IF Windows just do a rename and hope for the best + rename ("$default->owl_FileDir/$source$fname", "$default->owl_FileDir/$dest/$fname"); + } + } + else + printError($lang_err_fileexists,$result); + } + } + + + if ($action=="file") { + $sql->query("update $default->owl_files_table set parent='$newFolder' where id='$id'"); + } else { + $sql->query("update $default->owl_folders_table set parent='$newFolder' where id='$id'"); + } + + + header("Location: browse.php?sess=$sess&parent=$parent&expand=$expand&order=$order&$sortorder=$sortname"); +} + + + // First time through. Generate screen for selecting target directory + +include("./lib/header.inc"); +print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); +?> +
+"); + } + print uid_to_name($userid); + print (""); +?> + + +$lang_logout");?> + +");?> +
+"); + + // Get information about file or directory we want to move + +if ($action=="file") { + $sql = new Owl_DB; + $sql->query("select filename, parent from $default->owl_files_table where id='$id'"); +} else { + $sql = new Owl_DB; + $sql->query("select name, parent from $default->owl_folders_table where id='$id'"); +} + +while($sql->next_record()) { + if($action == "file") $fname = $sql->f("filename"); + if($action == "folder") $fname = $sql->f("name"); + $parent = $sql->f("parent"); +} + +//print "

$lang_moving $action $fname. $lang_select

"; +print "

$lang_moving $fname. $lang_select

"; +?> +
+
+ + + + + + +

+query("select id,name,parent from $default->owl_folders_table order by name"); + +$i=0; +while($sql->next_record()) { + $folderList[$i][0] = $sql->f("id"); + $folderList[$i][1] = $sql->f("name"); + $folderList[$i][2] = $sql->f("parent"); + $i++; +} + +$fCount = count($folderList); + +$fDepth=0; +$excludeID=$parent; // current location should not be a offered as a target +showFoldersIn(1, fid_to_name("1")); + +?> +

+
+ + +
+
+ + diff --git a/phplib/be_sql.inc b/phplib/be_sql.inc new file mode 100755 index 0000000..6034731 --- /dev/null +++ b/phplib/be_sql.inc @@ -0,0 +1,130 @@ + +## +## $Id$ +## +## PHPLIB Blob Engine using plain sql +## depends on db_sql +## +## This is a "reference" class to be used only as an example. This should +## not be used in applications. +## +## It's also a good skeleton for writing a new Blob Engine +## +## The table used by this class must contain three fields: +## be_bid 16 chars +## be_seq 6 chars +## be_data 4096 chars + + +class BE_Sql { + ## + ## Define following parameters by overwriting or by deriving + ## your own class (recommended) + ## + var $database_class = "DB_Sql"; ## access table via this class + var $database_table = "be_table"; ## write data into this table + var $split_length = 4096; ## maximum amount of data for each row + ## this value should be safe enough + ## end of configuration + + var $db; ## Internal, object used for db connection + + function start() { + $name = $this->database_class; + $this->db = new $name; + } + + function blob_create() { + if (! is_object($this->db)) { + $this->start(); + } + $bn = false; + $count = 0; + while (! $bn && ($count++ < 10)) { + $bn = uniqid(""); + $this->db->query(sprintf("INSERT INTO %s". + " (be_bid, be_seq, be_data) ". + " VALUES ". + " ('%s', '%06d', '')", $this->database_table, $bn, 0)); + if ($this->db->affected_rows() != 1) { + $bn = ""; + } + } + return $bn; + } + + function blob_open($id) { + if (! is_object($this->db)) { + $this->start(); + } + $this->db->query("SELECT count(*) FROM ". $this->database_table. + " WHERE be_bid = '$id'"); + if ($this->db->next_record()) { + return ($this->db->f(0) > 0); + } else { + return false; + } + } + + function blob_close($id) { + return true; + } + + function blob_delete($id) { + if (! is_object($this->db)) { + $this->start(); + } + $this->db->query("DELETE FROM ". $this->database_table. + " WHERE be_bid = '$id'"); + return true; + } + + function blob_read($id) { + if (! is_object($this->db)) { + $this->start(); + } + $str = ""; + $this->db->query("SELECT be_data, be_seq FROM ". $this->database_table. + " WHERE be_bid = '$id' ORDER BY be_seq"); + while ($this->db->next_record()) { + $str .= $this->db->f(0); + } + return base64_decode($str); + } + + function blob_write($id, $data) { + if (! is_object($this->db)) { + $this->start(); + } + $this->db->query("BEGIN TRANSACTION"); + $this->db->query("DELETE FROM ". $this->database_table. + " WHERE be_bid = '$id'"); + $str = base64_encode($data); + $seq = 0; + while ($part = substr($str, 0, $this->split_length)) { + $this->db->query(sprintf("INSERT INTO %s ". + "(be_bid, be_seq, be_data) ". + " VALUES ". + "('%s', '%06d', '%s')", + $this->database_table, + $id, + $seq++, + $part)); + $str = substr($str, $this->split_length); + } + $this->db->query("END TRANSACTION"); + return true; + } + + +## function halt($s) { +## echo "$s"; +## exit; +## } + +} +?> diff --git a/phplib/ct_split_sql.inc b/phplib/ct_split_sql.inc new file mode 100755 index 0000000..6ba89dc --- /dev/null +++ b/phplib/ct_split_sql.inc @@ -0,0 +1,126 @@ +database_class; + $this->db = new $name; + } + + function ac_get_lock() { + if ( "" != $this->database_lock_semaphore ) { + while ( ! $this->db->query("SELECT get_lock('%s')", + $this->database_lock_semaphore) ) { + $t = 1 + time(); while ( $t > time() ) { ; } + } + } + } + + function ac_release_lock() { + if ( "" != $this->database_lock_semaphore ) { + $this->db->query("SELECT release_lock('%s')", + $this->database_lock_semaphore); + } + } + + function ac_gc($gc_time, $name) { + $timeout = time(); + $sqldate = date("YmdHis", $timeout - ($gc_time * 60)); + $this->db->query(sprintf("DELETE FROM %s ". + "WHERE ct_changed < '%s' AND ct_name = '%s'", + $this->database_table, + $sqldate, + addslashes($name))); + } + + function ac_store($id, $name, $str) { + $ret = true; + $str = base64_encode($str); + $name = addslashes($name); + $now = date("YmdHis", time()); + $this->db->query("BEGIN TRANSACTION"); + $this->db->query(sprintf("DELETE FROM %s WHERE ct_sid='%s' AND ct_name='%s'", + $this->database_table, + $id, + $name + )); + $count = 0; + while ($part = substr($str, 0, $this->split_length)) { + $this->db->query(sprintf("INSERT INTO %s ". + " (ct_sid, ct_name, ct_pos, ct_val, ct_changed) ". + " VALUES ". + " ('%s','%s','%06d','%s','%s')", + $this->database_table, + $id, + $name, + $count++, + $part, + $now + )); + $str = substr($str, $this->split_length); + } + $this->db->query("END TRANSACTION"); + return $ret; + } + + function ac_delete($id, $name) { + $this->db->query(sprintf("DELETE FROM %s ". + "WHERE ct_name = '%s' AND ct_sid = '%s'", + $this->database_table, + addslashes($name), + $id)); + } + + function ac_get_value($id, $name) { + $this->db->query(sprintf("SELECT ct_val, ct_pos FROM %s ". + "WHERE ct_sid = '%s' AND ct_name = '%s' ". + "ORDER BY ct_pos", + $this->database_table, + $id, + addslashes($name))); + $str=""; + while ($this->db->next_record()) { + $str .= $this->db->f("ct_val"); + } + if (! empty($str)) { + $str = base64_decode($str); + }; +## DEB echo $str; + return $str; + } + + function ac_newid($str, $name) { + return $str; + } + + function ac_halt($s) { + $this->db->halt($s); + } +} +?> diff --git a/phplib/ct_sql.inc b/phplib/ct_sql.inc new file mode 100755 index 0000000..598a5fd --- /dev/null +++ b/phplib/ct_sql.inc @@ -0,0 +1,171 @@ + +## +## $Id$ +## +## PHPLIB Data Storage Container using a SQL database +## + +class CT_Sql { + ## + ## Define these parameters by overwriting or by + ## deriving your own class from it (recommened) + ## + + var $database_table = "active_sessions"; + var $database_class = "Owl_Sql"; + var $database_lock_semaphore = ""; + + var $encoding_mode = "base64"; + + ## end of configuration + + var $db; + + function ac_start() { + $name = $this->database_class; + $this->db = new $name; + } + + function ac_get_lock() { + if ( "" != $this->database_lock_semaphore ) { + $query = sprintf("SELECT get_lock('%s')", $this->database_lock_semaphore); + while ( ! $this->db->query($query)) { + $t = 1 + time(); while ( $t > time() ) { ; } + } + } + } + + function ac_release_lock() { + if ( "" != $this->database_lock_semaphore ) { + $query = sprintf("SELECT release_lock('%s')", $this->database_lock_semaphore); + $this->db->query($query); + } + } + + function ac_gc($gc_time, $name) { + $timeout = time(); + $sqldate = date("YmdHis", $timeout - ($gc_time * 60)); + $this->db->query(sprintf("DELETE FROM %s WHERE changed < '%s' AND name = '%s'", + $this->database_table, + $sqldate, + addslashes($name))); + } + + function ac_store($id, $name, $str) { + $ret = true; + + switch ( $this->encoding_mode ) { + case "slashes": + $str = addslashes($name . ":" . $str); + break; + + case "base64": + default: + $str = base64_encode($name . ":" . $str); + }; + + $name = addslashes($name); + + ## update duration of visit + global $HTTP_REFERER, $HTTP_USER_AGENT, $REMOTE_ADDR; + + $now = date("YmdHis", time()); + $uquery = sprintf("update %s set val='%s', changed='%s' where sid='%s' and name='%s'", + $this->database_table, + $str, + $now, + $id, + $name); + $squery = sprintf("select count(*) from %s where val='%s' and changed='%s' and sid='%s' and name='%s'", + $this->database_table, + $str, + $now, + $id, + $name); + $iquery = sprintf("insert into %s ( sid, name, val, changed ) values ('%s', '%s', '%s', '%s')", + $this->database_table, + $id, + $name, + $str, + $now); + + $this->db->query($uquery); + + # FIRST test to see if any rows were affected. + # Zero rows affected could mean either there were no matching rows + # whatsoever, OR that the update statement did match a row but made + # no changes to the table data (i.e. UPDATE tbl SET col = 'x', when + # "col" is _already_ set to 'x') so then, + # SECOND, query(SELECT...) on the sid to determine if the row is in + # fact there, + # THIRD, verify that there is at least one row present, and if there + # is not, then + # FOURTH, insert the row as we've determined that it does not exist. + + if ( $this->db->affected_rows() == 0 + && $this->db->query($squery) + && $this->db->f(1) == 0 + && !$this->db->query($iquery)) { + + $ret = false; + } + return $ret; + } + + function ac_delete($id, $name) { + $this->db->query(sprintf("delete from %s where name = '%s' and sid = '%s'", + $this->database_table, + addslashes($name), + $id)); + } + + function ac_get_value($id, $name) { + $this->db->query(sprintf("select val from %s where sid = '%s' and name = '%s'", + $this->database_table, + $id, + addslashes($name))); + if ($this->db->next_record()) { + $str = $this->db->f("val"); + $str2 = base64_decode( $str ); + + if ( ereg("^".$name.":.*", $str2) ) { + $str = ereg_replace("^".$name.":", "", $str2 ); + } else { + + $str3 = stripslashes( $str ); + + if ( ereg("^".$name.":.*", $str3) ) { + $str = ereg_replace("^".$name.":", "", $str3 ); + } else { + + switch ( $this->encoding_mode ) { + case "slashes": + $str = stripslashes($str); + break; + + case "base64": + default: + $str = base64_decode($str); + } + } + }; + return $str; + }; + return ""; + } + + function ac_newid($str, $name) { + return $str; + } + + function ac_halt($s) { + $this->db->halt($s); + } +} +?> diff --git a/phplib/db_msql.inc b/phplib/db_msql.inc new file mode 100755 index 0000000..a069b55 --- /dev/null +++ b/phplib/db_msql.inc @@ -0,0 +1,157 @@ + + * + * $Id$ + * + */ + +class DB_Sql { + var $Host = ""; + var $Database = ""; + + var $Link_ID = 0; + var $Query_ID = 0; + var $Record = array(); + var $Row; + + var $Error = ""; + + var $Auto_Free = 0; ## Set this to 1 for automatic msql_free_result() + + /* public: constructor */ + function DB_Sql($query = "") { + $this->query($query); + } + + function connect() { + // Not connected? Then connect? + if ( 0 == $this->Link_ID ) { + // Check for local connect + $this->Link_ID = empty($this->Host)? + $this->Link_ID=msql_pconnect(): + $this->Link_ID=msql_pconnect($this->Host); + } + + // Still not connected? Raise error. + if ( 0 == $this->Link_ID ) { + $this->halt("Link-ID == false, pconnect failed"); + } + + // Select current database + if (!msql_select_db($this->Database, $this->Link_ID)) { + $this->halt("cannot use database ".$this->Database); + } + } + + function query($Query_String) { + + /* No empty queries, please, since PHP4 chokes on them. */ + if ($Query_String == "") + /* The empty query string is passed on from the constructor, + * when calling the class without a query, e.g. in situations + * like these: '$db = new DB_Sql_Subclass;' + */ + return 0; + + $this->connect(); + +# printf("Debug: query = %s
\n", $Query_String); + + $this->Query_ID = msql_query($Query_String,$this->Link_ID); + $this->Row = 0; + $this->Error = msql_error(); + if (!$this->Query_ID) { + $this->halt("Invalid SQL: ".$Query_String); + } + + return $this->Query_ID; + } + + function next_record() { + $this->Record = msql_fetch_array($this->Query_ID); + $this->Row += 1; + $this->Error = msql_error(); + + $stat = is_array($this->Record); + if (!$stat && $this->Auto_Free) { + msql_free_result($this->Query_ID); + $this->Query_ID = 0; + } + return $stat; + } + + function seek($pos) { + $status = msql_data_seek($this->Query_ID, $pos); + if ($status) + $this->Row = $pos; + return; + } + + function metadata($table) { + $count = 0; + $id = 0; + $res = array(); + + $this->connect(); + $id = @msql_list_fields($this->Database, $table); + if ($id < 0) { + $this->Error = msql_error(); + $this->halt("Metadata query failed."); + } + $count = msql_num_fields($id); + + for ($i=0; $i<$count; $i++) { + $res[$i]["table"] = msql_fieldtable ($id, $i); + $res[$i]["name"] = msql_fieldname ($id, $i); + $res[$i]["type"] = msql_fieldtype ($id, $i); + $res[$i]["len"] = msql_fieldlen ($id, $i); + $res[$i]["flags"] = msql_fieldflags ($id, $i); + $res["meta"][$res[$i]["name"]] = $i; + $res["num_fields"]= $count; + } + + msql_free_result($id); + return $res; + } + + function affected_rows() { + return msql_affected_rows($this->Query_ID); + } + + function num_rows() { + return msql_num_rows($this->Query_ID); + } + + function num_fields() { + return msql_num_fields($this->Query_ID); + } + + function nf() { + return $this->num_rows(); + } + + function np() { + print $this->num_rows(); + } + + function f($Name) { + return $this->Record[$Name]; + } + + function p($Name) { + print $this->Record[$Name]; + } + + function halt($msg) { + printf("Database error: %s
\n", $msg); + printf("MSQL Error: %s
\n", $this->Error); + die("Session halted."); + } +} +?> diff --git a/phplib/db_mssql.inc b/phplib/db_mssql.inc new file mode 100755 index 0000000..b497db7 --- /dev/null +++ b/phplib/db_mssql.inc @@ -0,0 +1,161 @@ +This is using the MSSQL class
"; + +class DB_Sql { + var $Host = ""; + var $Database = ""; + var $User = ""; + var $Password = ""; + + var $Link_ID = 0; + var $Query_ID = 0; + var $Record = array(); + var $Row = 0; + + var $Errno = 0; + var $Error = ""; + + var $Auto_Free = 0; ## set this to 1 to automatically free results + + + /* public: constructor */ + function DB_Sql($query = "") { + $this->query($query); + } + + function connect() { + if ( 0 == $this->Link_ID ) { + $this->Link_ID=mssql_pconnect($this->Host, $this->User, $this->Password); + if (!$this->Link_ID) + $this->halt("Link-ID == false, mssql_pconnect failed"); + else + mssql_select_db($this->Database, $this->Link_ID); + } + } + function free_result(){ + mssql_free_result($this->Query_ID); + $this->Query_ID = 0; + } + + function query($Query_String) + { + + /* No empty queries, please, since PHP4 chokes on them. */ + if ($Query_String == "") + /* The empty query string is passed on from the constructor, + * when calling the class without a query, e.g. in situations + * like these: '$db = new DB_Sql_Subclass;' + */ + return 0; + + if (!$this->Link_ID) + $this->connect(); + +# printf("
Debug: query = %s
\n", $Query_String); + + $this->Query_ID = mssql_query($Query_String, $this->Link_ID); + $this->Row = 0; + if (!$this->Query_ID) { + $this->Errno = 1; + $this->Error = "General Error (The MSSQL interface cannot return detailed error messages)."; + $this->halt("Invalid SQL: ".$Query_String); + } + return $this->Query_ID; + } + + function next_record() { + + if ($this->Record = mssql_fetch_row($this->Query_ID)) { + // add to Record[] + $count = mssql_num_fields($this->Query_ID); + for ($i=0; $i<$count; $i++){ + $fieldinfo = mssql_fetch_field($this->Query_ID,$i); + $this->Record[strtolower($fieldinfo->name)] = $this->Record[$i]; + } + $this->Row += 1; + $stat = 1; + } else { + if ($this->Auto_Free) { + $this->free_result(); + } + $stat = 0; + } + return $stat; + } + + function seek($pos) { + mssql_data_seek($this->Query_ID,$pos); + $this->Row = $pos; + } + + function metadata($table) { + $count = 0; + $id = 0; + $res = array(); + + $this->connect(); + $id = mssql_query("select * from $table", $this->Link_ID); + if (!$id) { + $this->Errno = 1; + $this->Error = "General Error (The MSSQL interface cannot return detailed error messages)."; + $this->halt("Metadata query failed."); + } + $count = mssql_num_fields($id); + + for ($i=0; $i<$count; $i++) { + $info = mssql_fetch_field($id, $i); + $res[$i]["table"] = $table; + $res[$i]["name"] = $info["name"]; + $res[$i]["len"] = $info["max_length"]; + $res[$i]["flags"] = $info["numeric"]; + } + $this->free_result(); + return $res; + } + + function affected_rows() { + return mssql_affected_rows($this->Query_ID); + } + + function num_rows() { + return mssql_num_rows($this->Query_ID); + } + + function num_fields() { + return mssql_num_fields($this->Query_ID); + } + + function nf() { + return $this->num_rows(); + } + + function np() { + print $this->num_rows(); + } + + function f($Field_Name) { + return $this->Record[strtolower($Field_Name)]; + } + + function p($Field_Name) { + print $this->f($Field_Name); + } + + function halt($msg) { + printf("Database error: %s
\n", $msg); + printf("MSSQL Error: %s (%s)
\n", + $this->Errno, + $this->Error); + die("Session halted."); + } +} +?> diff --git a/phplib/db_mysql.inc b/phplib/db_mysql.inc new file mode 100755 index 0000000..474efb5 --- /dev/null +++ b/phplib/db_mysql.inc @@ -0,0 +1,384 @@ +query($query); + } + + /* public: some trivial reporting */ + function link_id() { + return $this->Link_ID; + } + + function query_id() { + return $this->Query_ID; + } + + /* public: connection management */ + function connect($Database = "", $Host = "", $User = "", $Password = "") { + /* Handle defaults */ + if ("" == $Database) + $Database = $this->Database; + if ("" == $Host) + $Host = $this->Host; + if ("" == $User) + $User = $this->User; + if ("" == $Password) + $Password = $this->Password; + + /* establish connection, select database */ + if ( 0 == $this->Link_ID ) { + + $this->Link_ID=mysql_pconnect($Host, $User, $Password); + if (!$this->Link_ID) { + $this->halt("pconnect($Host, $User, \$Password) failed."); + return 0; + } + + if (!@mysql_select_db($Database,$this->Link_ID)) { + $this->halt("cannot use database ".$this->Database); + return 0; + } + } + + return $this->Link_ID; + } + + /* public: discard the query result */ + function free() { + @mysql_free_result($this->Query_ID); + $this->Query_ID = 0; + } + + /* public: perform a query */ + function query($Query_String) { + /* No empty queries, please, since PHP4 chokes on them. */ + if ($Query_String == "") + /* The empty query string is passed on from the constructor, + * when calling the class without a query, e.g. in situations + * like these: '$db = new DB_Sql_Subclass;' + */ + return 0; + + if (!$this->connect()) { + return 0; /* we already complained in connect() about that. */ + }; + + # New query, discard previous result. + if ($this->Query_ID) { + $this->free(); + } + + if ($this->Debug) + printf("Debug: query = %s
\n", $Query_String); + + $this->Query_ID = @mysql_query($Query_String,$this->Link_ID); + $this->Row = 0; + $this->Errno = mysql_errno(); + $this->Error = mysql_error(); + if (!$this->Query_ID) { + $this->halt("Invalid SQL: ".$Query_String); + } + + # Will return nada if it fails. That's fine. + return $this->Query_ID; + } + + // BEGIN wes addition + function insert_id() { + return mysql_insert_id($this->Link_ID); + } + // END wes addition + + /* public: walk result set */ + function next_record() { + if (!$this->Query_ID) { + $this->halt("next_record called with no query pending."); + return 0; + } + + $this->Record = @mysql_fetch_array($this->Query_ID); + $this->Row += 1; + $this->Errno = mysql_errno(); + $this->Error = mysql_error(); + + $stat = is_array($this->Record); + if (!$stat && $this->Auto_Free) { + $this->free(); + } + return $stat; + } + + /* public: position in result set */ + function seek($pos = 0) { + $status = @mysql_data_seek($this->Query_ID, $pos); + if ($status) + $this->Row = $pos; + else { + $this->halt("seek($pos) failed: result has ".$this->num_rows()." rows"); + + /* half assed attempt to save the day, + * but do not consider this documented or even + * desireable behaviour. + */ + @mysql_data_seek($this->Query_ID, $this->num_rows()); + $this->Row = $this->num_rows; + return 0; + } + + return 1; + } + + /* public: table locking */ + function lock($table, $mode="write") { + $this->connect(); + + $query="lock tables "; + if (is_array($table)) { + while (list($key,$value)=each($table)) { + if ($key=="read" && $key!=0) { + $query.="$value read, "; + } else { + $query.="$value $mode, "; + } + } + $query=substr($query,0,-2); + } else { + $query.="$table $mode"; + } + $res = @mysql_query($query, $this->Link_ID); + if (!$res) { + $this->halt("lock($table, $mode) failed."); + return 0; + } + return $res; + } + + function unlock() { + $this->connect(); + + $res = @mysql_query("unlock tables"); + if (!$res) { + $this->halt("unlock() failed."); + return 0; + } + return $res; + } + + + /* public: evaluate the result (size, width) */ + function affected_rows() { + return @mysql_affected_rows($this->Link_ID); + } + + function num_rows() { + return @mysql_num_rows($this->Query_ID); + } + + function num_fields() { + return @mysql_num_fields($this->Query_ID); + } + + /* public: shorthand notation */ + function nf() { + return $this->num_rows(); + } + + function np() { + print $this->num_rows(); + } + + function f($Name) { + return $this->Record[$Name]; + } + + function p($Name) { + print $this->Record[$Name]; + } + + /* public: sequence numbers */ + function nextid($seq_name) { + $this->connect(); + + if ($this->lock($this->Seq_Table)) { + /* get sequence number (locked) and increment */ + $q = sprintf("select nextid from %s where seq_name = '%s'", + $this->Seq_Table, + $seq_name); + $id = @mysql_query($q, $this->Link_ID); + $res = @mysql_fetch_array($id); + + /* No current value, make one */ + if (!is_array($res)) { + $currentid = 0; + $q = sprintf("insert into %s values('%s', %s)", + $this->Seq_Table, + $seq_name, + $currentid); + $id = @mysql_query($q, $this->Link_ID); + } else { + $currentid = $res["nextid"]; + } + $nextid = $currentid + 1; + $q = sprintf("update %s set nextid = '%s' where seq_name = '%s'", + $this->Seq_Table, + $nextid, + $seq_name); + $id = @mysql_query($q, $this->Link_ID); + $this->unlock(); + } else { + $this->halt("cannot lock ".$this->Seq_Table." - has it been created?"); + return 0; + } + return $nextid; + } + + /* public: return table metadata */ + function metadata($table='',$full=false) { + $count = 0; + $id = 0; + $res = array(); + + /* + * Due to compatibility problems with Table we changed the behavior + * of metadata(); + * depending on $full, metadata returns the following values: + * + * - full is false (default): + * $result[]: + * [0]["table"] table name + * [0]["name"] field name + * [0]["type"] field type + * [0]["len"] field length + * [0]["flags"] field flags + * + * - full is true + * $result[]: + * ["num_fields"] number of metadata records + * [0]["table"] table name + * [0]["name"] field name + * [0]["type"] field type + * [0]["len"] field length + * [0]["flags"] field flags + * ["meta"][field name] index of field named "field name" + * The last one is used, if you have a field name, but no index. + * Test: if (isset($result['meta']['myfield'])) { ... + */ + + // if no $table specified, assume that we are working with a query + // result + if ($table) { + $this->connect(); + $id = @mysql_list_fields($this->Database, $table); + if (!$id) + $this->halt("Metadata query failed."); + } else { + $id = $this->Query_ID; + if (!$id) + $this->halt("No query specified."); + } + + $count = @mysql_num_fields($id); + + // made this IF due to performance (one if is faster than $count if's) + if (!$full) { + for ($i=0; $i<$count; $i++) { + $res[$i]["table"] = @mysql_field_table ($id, $i); + $res[$i]["name"] = @mysql_field_name ($id, $i); + $res[$i]["type"] = @mysql_field_type ($id, $i); + $res[$i]["len"] = @mysql_field_len ($id, $i); + $res[$i]["flags"] = @mysql_field_flags ($id, $i); + } + } else { // full + $res["num_fields"]= $count; + + for ($i=0; $i<$count; $i++) { + $res[$i]["table"] = @mysql_field_table ($id, $i); + $res[$i]["name"] = @mysql_field_name ($id, $i); + $res[$i]["type"] = @mysql_field_type ($id, $i); + $res[$i]["len"] = @mysql_field_len ($id, $i); + $res[$i]["flags"] = @mysql_field_flags ($id, $i); + $res["meta"][$res[$i]["name"]] = $i; + } + } + + // free the result only if we were called on a table + if ($table) @mysql_free_result($id); + return $res; + } + + /* private: error handling */ + function halt($msg) { + $this->Error = @mysql_error($this->Link_ID); + $this->Errno = @mysql_errno($this->Link_ID); + if ($this->Halt_On_Error == "no") + return; + + $this->haltmsg($msg); + + if ($this->Halt_On_Error != "report") + die("Session halted."); + } + + function haltmsg($msg) { + printf("Database error: %s
\n", $msg); + printf("MySQL Error: %s (%s)
\n", + $this->Errno, + $this->Error); + } + + function table_names() { + $this->query("SHOW TABLES"); + $i=0; + while ($info=mysql_fetch_row($this->Query_ID)) + { + $return[$i]["table_name"]= $info[0]; + $return[$i]["tablespace_name"]=$this->Database; + $return[$i]["database"]=$this->Database; + $i++; + } + return $return; + } +} +?> diff --git a/phplib/db_oci8.inc b/phplib/db_oci8.inc new file mode 100755 index 0000000..768e72e --- /dev/null +++ b/phplib/db_oci8.inc @@ -0,0 +1,325 @@ +query($query); + } + + function connect() { + if ( 0 == $this->Link_ID ) { + if($this->Debug) { + printf("
Connecting to $this->Database...
\n"); + } + $this->Link_ID=OCIplogon + ("$this->User","$this->Password","$this->Database"); + + if (!$this->Link_ID) { + $this->halt("Link-ID == false " . + "($this->Link_ID), OCILogon failed"); + } + + if($this->Debug) { + printf("
Obtained the Link_ID: $this->Link_ID
\n"); + } + } + } + + function query($Query_String) { + + /* No empty queries, please, since PHP4 chokes on them. */ + if ($Query_String == "") + /* The empty query string is passed on from the constructor, + * when calling the class without a query, e.g. in situations + * like these: '$db = new DB_Sql_Subclass;' + */ + return 0; + + + $this->connect(); + + $this->Parse=OCIParse($this->Link_ID,$Query_String); + if(!$this->Parse) { + $this->Error=OCIError($this->Parse); + } else { OCIExecute($this->Parse); + $this->Error=OCIError($this->Parse); + } + + $this->Row=0; + + if($this->Debug) { + printf("Debug: query = %s
\n", $Query_String); + } + + if ($this->Error["code"]!=1403 && $this->Error["code"]!=0 && $this->sqoe) + echo "
".$this->Error["message"]."
Query :\"$Query_String\"
"; + return $this->Parse; + } + + function next_record() { + if(0 == OCIFetchInto($this->Parse,$result,OCI_ASSOC+OCI_RETURN_NULLS)) { + if ($this->Debug) { + printf("
ID: %d,Rows: %d
\n", + $this->Link_ID,$this->num_rows()); + } + $this->Row +=1; + + $errno=OCIError($this->Parse); + if(1403 == $errno) { # 1043 means no more records found + $this->Error=""; + $this->disconnect(); + $stat=0; + } else { + $this->Error=OCIError($this->Parse); + if($this->Debug) { + printf("
Error: %s", + $this->Error["message"]); + } + $stat=0; + } + } else { + for($ix=1;$ix<=OCINumcols($this->Parse);$ix++) { + $col=strtoupper(OCIColumnname($this->Parse,$ix)); + $colreturn=strtolower($col); + $this->Record[ "$colreturn" ] = $result["$col"]; + if($this->Debug) echo"[$col]:".$result["$col"]."
\n"; + } + $stat=1; + } + + return $stat; + } + + function seek($pos) { + $this->Row=$pos; + } + + function metadata($table,$full=false) { + $count = 0; + $id = 0; + $res = array(); + + /* + * Due to compatibility problems with Table we changed the behavior + * of metadata(); + * depending on $full, metadata returns the following values: + * + * - full is false (default): + * $result[]: + * [0]["table"] table name + * [0]["name"] field name + * [0]["type"] field type + * [0]["len"] field length + * [0]["flags"] field flags ("NOT NULL", "INDEX") + * [0]["format"] precision and scale of number (eg. "10,2") or empty + * [0]["index"] name of index (if has one) + * [0]["chars"] number of chars (if any char-type) + * + * - full is true + * $result[]: + * ["num_fields"] number of metadata records + * [0]["table"] table name + * [0]["name"] field name + * [0]["type"] field type + * [0]["len"] field length + * [0]["flags"] field flags ("NOT NULL", "INDEX") + * [0]["format"] precision and scale of number (eg. "10,2") or empty + * [0]["index"] name of index (if has one) + * [0]["chars"] number of chars (if any char-type) + * ["meta"][field name] index of field named "field name" + * The last one is used, if you have a field name, but no index. + * Test: if (isset($result['meta']['myfield'])) {} ... + */ + + $this->connect(); + + ## This is a RIGHT OUTER JOIN: "(+)", if you want to see, what + ## this query results try the following: + ## $table = new Table; $db = new my_DB_Sql; # you have to make + ## # your own class + ## $table->show_results($db->query(see query vvvvvv)) + ## + $this->query("SELECT T.table_name,T.column_name,T.data_type,". + "T.data_length,T.data_precision,T.data_scale,T.nullable,". + "T.char_col_decl_length,I.index_name". + " FROM ALL_TAB_COLUMNS T,ALL_IND_COLUMNS I". + " WHERE T.column_name=I.column_name (+)". + " AND T.table_name=I.table_name (+)". + " AND T.table_name=UPPER('$table') ORDER BY T.column_id"); + + $i=0; + while ($this->next_record()) { + $res[$i]["table"] = $this->Record[table_name]; + $res[$i]["name"] = strtolower($this->Record[column_name]); + $res[$i]["type"] = $this->Record[data_type]; + $res[$i]["len"] = $this->Record[data_length]; + if ($this->Record[index_name]) $res[$i]["flags"] = "INDEX "; + $res[$i]["flags"] .= ( $this->Record[nullable] == 'N') ? '' : 'NOT NULL'; + $res[$i]["format"]= (int)$this->Record[data_precision].",". + (int)$this->Record[data_scale]; + if ("0,0"==$res[$i]["format"]) $res[$i]["format"]=''; + $res[$i]["index"] = $this->Record[index_name]; + $res[$i]["chars"] = $this->Record[char_col_decl_length]; + if ($full) { + $j=$res[$i]["name"]; + $res["meta"][$j] = $i; + $res["meta"][strtoupper($j)] = $i; + } + if ($full) $res["meta"][$res[$i]["name"]] = $i; + $i++; + } + if ($full) $res["num_fields"]=$i; +# $this->disconnect(); + return $res; + } + + + function affected_rows() { + return $this->num_rows(); + } + + function num_rows() { + return OCIrowcount($this->Parse); + } + + function num_fields() { + return OCINumcols($this->Parse); + } + + function nf() { + return $this->num_rows(); + } + + function np() { + print $this->num_rows(); + } + + function f($Name) { + if (is_object($this->Record[$Name])) + { + return $this->Record[$Name]->load(); + } else + { + return $this->Record[$Name]; + } + } + + function p($Name) { + print $this->f($Name); + } + + function nextid($seqname) + { + $this->connect(); + + $Query_ID=@ociparse($this->Link_ID,"SELECT $seqname.NEXTVAL FROM DUAL"); + + if(!@ociexecute($Query_ID)) + { + $this->Error=@OCIError($Query_ID); + if($this->Error["code"]==2289) + { + $Query_ID=ociparse($this->Link_ID,"CREATE SEQUENCE $seqname"); + if(!ociexecute($Query_ID)) + { + $this->Error=OCIError($Query_ID); + $this->halt("
nextid() function - unable to create sequence
".$this->Error["message"]); + } else + { + $Query_ID=ociparse($this->Link_ID,"SELECT $seqname.NEXTVAL FROM DUAL"); + ociexecute($Query_ID); + } + } + } + + if (ocifetch($Query_ID)) + { + $next_id = ociresult($Query_ID,"NEXTVAL"); + } else + { + $next_id = 0; + } + ocifreestatement($Query_ID); + return $next_id; + } + + function disconnect() { + if($this->Debug) { + printf("Disconnecting...
\n"); + } + OCILogoff($this->Link_ID); + } + + function halt($msg) { + printf("Database error: %s
\n", $msg); + printf("ORACLE Error: %s
\n", + $this->Error["message"]); + die("Session halted."); + } + + function lock($table, $mode = "write") { + $this->connect(); + if ($mode == "write") { + $Parse=OCIParse($this->Link_ID,"lock table $table in row exclusive mode"); + OCIExecute($Parse); + } else { + $result = 1; + } + return $result; + } + + function unlock() { + return $this->query("commit"); + } + + function table_names() { + $this->connect(); + $this->query(" + SELECT table_name,tablespace_name + FROM user_tables"); + $i=0; + while ($this->next_record()) + { + $info[$i]["table_name"] =$this->Record["table_name"]; + $info[$i]["tablespace_name"]=$this->Record["tablespace_name"]; + $i++; + } + return $info; + } + + function add_specialcharacters($query) + { + return str_replace("'","''",$query); + } + + function split_specialcharacters($query) + { + return str_replace("''","'",$query); + } +} +?> diff --git a/phplib/db_odbc.inc b/phplib/db_odbc.inc new file mode 100755 index 0000000..840896a --- /dev/null +++ b/phplib/db_odbc.inc @@ -0,0 +1,186 @@ +query($query); + } + + function connect() { + if ( 0 == $this->Link_ID ) { + $this->Link_ID=odbc_pconnect($this->Database, $this->User, $this->Password, $this->UseODBCCursor); + if (!$this->Link_ID) { + $this->halt("Link-ID == false, odbc_pconnect failed"); + } + } + } + + function query($Query_String) { + + /* No empty queries, please, since PHP4 chokes on them. */ + if ($Query_String == "") + /* The empty query string is passed on from the constructor, + * when calling the class without a query, e.g. in situations + * like these: '$db = new DB_Sql_Subclass;' + */ + return 0; + + $this->connect(); + +# printf("
Debug: query = %s
\n", $Query_String); + +# rei@netone.com.br suggested that we use this instead of the odbc_exec(). +# He is on NT, connecting to a Unix MySQL server with ODBC. -- KK +# $this->Query_ID = odbc_prepare($this->Link_ID,$Query_String); +# $this->Query_Ok = odbc_execute($this->Query_ID); + + $this->Query_ID = odbc_exec($this->Link_ID,$Query_String); + $this->Row = 0; + odbc_binmode($this->Query_ID, 1); + odbc_longreadlen($this->Query_ID, 4096); + + if (!$this->Query_ID) { + $this->Errno = 1; + $this->Error = "General Error (The ODBC interface cannot return detailed error messages)."; + $this->halt("Invalid SQL: ".$Query_String); + } + return $this->Query_ID; + } + + function next_record() { + $this->Record = array(); + $stat = odbc_fetch_into($this->Query_ID, ++$this->Row, &$this->Record); + if (!$stat) { + if ($this->Auto_Free) { + odbc_free_result($this->Query_ID); + $this->Query_ID = 0; + }; + } else { + // add to Record[] + $count = odbc_num_fields($this->Query_ID); + for ($i=1; $i<=$count; $i++) + $this->Record[strtolower(odbc_field_name ($this->Query_ID, $i)) ] = $this->Record[ $i - 1 ]; + } + return $stat; + } + + function seek($pos) { + $this->Row = $pos; + } + + function metadata($table) { + $count = 0; + $id = 0; + $res = array(); + + $this->connect(); + $id = odbc_exec($this->Link_ID, "select * from $table"); + if (!$id) { + $this->Errno = 1; + $this->Error = "General Error (The ODBC interface cannot return detailed error messages)."; + $this->halt("Metadata query failed."); + } + $count = odbc_num_fields($id); + + for ($i=1; $i<=$count; $i++) { + $res[$i]["table"] = $table; + $name = odbc_field_name ($id, $i); + $res[$i]["name"] = $name; + $res[$i]["type"] = odbc_field_type ($id, $name); + $res[$i]["len"] = 0; // can we determine the width of this column? + $res[$i]["flags"] = ""; // any optional flags to report? + } + + odbc_free_result($id); + return $res; + } + + function affected_rows() { + return odbc_num_rows($this->Query_ID); + } + + function num_rows() { + # Many ODBC drivers don't support odbc_num_rows() on SELECT statements. + $num_rows = odbc_num_rows($this->Query_ID); + //printf ($num_rows."
"); + + # This is a workaround. It is intended to be ugly. + if ($num_rows < 0) { + $i=10; + while (odbc_fetch_row($this->Query_ID, $i)) + $i*=10; + + $j=0; + while ($i!=$j) { + $k= $j+intval(($i-$j)/2); + if (odbc_fetch_row($this->Query_ID, $k)) + $j=$k; + else + $i=$k; + if (($i-$j)==1) { + if (odbc_fetch_row($this->Query_ID, $i)) + $j=$i; + else + $i=$j; + }; + //printf("$i $j $k
"); + }; + $num_rows=$i; + } + + return $num_rows; + } + + function num_fields() { + return count($this->Record)/2; + } + + function nf() { + return $this->num_rows(); + } + + function np() { + print $this->num_rows(); + } + + function f($Field_Name) { + return $this->Record[strtolower($Field_Name)]; + } + + function p($Field_Name) { + print $this->f($Field_Name); + } + + function halt($msg) { + printf("Database error: %s
\n", $msg); + printf("ODBC Error: %s (%s)
\n", + $this->Errno, + $this->Error); + die("Session halted."); + } +} +?> diff --git a/phplib/db_oracle.inc b/phplib/db_oracle.inc new file mode 100755 index 0000000..90469ae --- /dev/null +++ b/phplib/db_oracle.inc @@ -0,0 +1,433 @@ +query($query); + } + + /* public: some trivial reporting */ + function link_id() { + return $this->Link_ID; + } + + function query_id() { + return $this->Query_ID; + } + + function connect() { + ## see above why we do this + if ($this->OraPutEnv) { + PutEnv("ORACLE_SID=$this->Database"); + PutEnv("ORACLE_HOME=$this->Home"); + } + if ( 0 == $this->Link_ID ) { + if($this->Debug) { + printf("
Connect()ing to $this->Database...
\n"); + } + if($this->Remote) { + if($this->Debug) { + printf("
connect() $this->User/******@$this->Database.world
\n"); + } + $this->Link_ID=ora_plogon + ("$this->User/$this->Password@$this->Database",""); + /************** (comment by SSilk) + this dosn't work on my system: + $this->Link_ID=ora_plogon + ("$this->User@$this->Database.world","$this->Password"); + ***************/ + } else { + if($this->Debug) { + printf("
connect() $this->User, $this->Password
\n"); + } + $this->Link_ID=ora_plogon("$this->User","$this->Password"); + /* (comment by SSilk: don't know how this could work, but I leave this untouched!) */ + } + if($this->Debug) { + printf("
connect() Link_ID: $this->Link_ID
\n"); + } + if (!$this->Link_ID) { + $this->halt("connect() Link-ID == false " . + "($this->Link_ID), ora_plogon failed"); + } else { + //echo "commit on

"; + ora_commiton($this->Link_ID); + } + if($this->Debug) { + printf("
connect() Obtained the Link_ID: $this->Link_ID
\n"); + } + } + } + + ## In order to increase the # of cursors per system/user go edit the + ## init.ora file and increase the max_open_cursors parameter. Yours is on + ## the default value, 100 per user. + ## We tried to change the behaviour of query() in a way, that it tries + ## to safe cursors, but on the other side be carefull with this, that you + ## don't use an old result. + ## + ## You can also make extensive use of ->disconnect()! + ## The unused QueryIDs will be recycled sometimes. + + function query($Query_String) { + + /* No empty queries, please, since PHP4 chokes on them. */ + if ($Query_String == "") + /* The empty query string is passed on from the constructor, + * when calling the class without a query, e.g. in situations + * like these: '$db = new DB_Sql_Subclass;' + */ + return 0; + + $this->connect(); + $this->lastQuery=$Query_String; + + if (!$this->Query_ID) { + $this->Query_ID= ora_open($this->Link_ID); + } + if($this->Debug) { + printf("Debug: query = %s
\n", $Query_String); + printf("
Debug: Query_ID: %d
\n", $this->Query_ID); + } + + if(!@ora_parse($this->Query_ID,$Query_String)) { + $this->Errno=ora_errorcode($this->Query_ID); + $this->Error=ora_error($this->Query_ID); + $this->halt("
ora_parse() failed:
$Query_String
Snap & paste this to sqlplus!"); + } elseif (!@ora_exec($this->Query_ID)) { + $this->Errno=ora_errorcode($this->Query_ID); + $this->Error=ora_error($this->Query_ID); + $this->halt("
\n$Query_String\n
Snap & paste this to sqlplus!"); + } + + $this->Row=0; + + if(!$this->Query_ID) { + $this->halt("Invalid SQL: ".$Query_String); + } + + return $this->Query_ID; + } + + function next_record() { + if (!$this->no_next_fetch && + 0 == ora_fetch($this->Query_ID)) { + if ($this->Debug) { + printf("
next_record(): ID: %d,Rows: %d
\n", + $this->Query_ID,$this->num_rows()); + } + $this->Row +=1; + + $errno=ora_errorcode($this->Query_ID); + if(1403 == $errno) { # 1043 means no more records found + $this->Errno=0; + $this->Error=""; + $this->disconnect(); + $stat=0; + } else { + $this->Error=ora_error($this->Query_ID); + $this->Errno=$errno; + if($this->Debug) { + printf("
%d Error: %s", + $this->Errno, + $this->Error); + } + $stat=0; + } + } else { + $this->no_next_fetch=false; + for($ix=0;$ixQuery_ID);$ix++) { + $col=strtolower(ora_columnname($this->Query_ID,$ix)); + $value=ora_getcolumn($this->Query_ID,$ix); + $this->Record[ "$col" ] = $value; +# echo"[$col]: $value
\n"; + } + $stat=1; + } + + return $stat; + } + + ## seek() works only for $pos - 1 and $pos + ## Perhaps I make a own implementation, but my + ## opinion is, that this should be done by PHP3 + function seek($pos) { + if ($this->Row - 1 == $pos) { + $this->no_next_fetch=true; + } elseif ($this->Row == $pos ) { + ## do nothing + } else { + $this->halt("Invalid seek(): Position is cannot be handled by API.
". + "Difference too big. Wanted: $pos Current pos: $this->Row"); + } + if ($Debug) echo "
Debug: seek = $pos
"; + $this->Row=$pos; + } + + function lock($table, $mode = "write") { + if ($mode == "write") { + $result = ora_do($this->Link_ID, "lock table $table in row exclusive mode"); + } else { + $result = 1; + } + return $result; + } + + function unlock() { + return ora_do($this->Link_ID, "commit"); + } + + function metadata($table,$full=false) { + $count = 0; + $id = 0; + $res = array(); + + /* + * Due to compatibility problems with Table we changed the behavior + * of metadata(); + * depending on $full, metadata returns the following values: + * + * - full is false (default): + * $result[]: + * [0]["table"] table name + * [0]["name"] field name + * [0]["type"] field type + * [0]["len"] field length + * [0]["flags"] field flags ("NOT NULL", "INDEX") + * [0]["format"] precision and scale of number (eg. "10,2") or empty + * [0]["index"] name of index (if has one) + * [0]["chars"] number of chars (if any char-type) + * + * - full is true + * $result[]: + * ["num_fields"] number of metadata records + * [0]["table"] table name + * [0]["name"] field name + * [0]["type"] field type + * [0]["len"] field length + * [0]["flags"] field flags ("NOT NULL", "INDEX") + * [0]["format"] precision and scale of number (eg. "10,2") or empty + * [0]["index"] name of index (if has one) + * [0]["chars"] number of chars (if any char-type) + * ["meta"][field name] index of field named "field name" + * The last one is used, if you have a field name, but no index. + * Test: if (isset($result['meta']['myfield'])) {} ... + */ + + $this->connect(); + + ## This is a RIGHT OUTER JOIN: "(+)", if you want to see, what + ## this query results try the following: + ## $table = new Table; $db = new my_DB_Sql; # you have to make + ## # your own class + ## $table->show_results($db->query(see query vvvvvv)) + ## + $this->query("SELECT T.table_name,T.column_name,T.data_type,". + "T.data_length,T.data_precision,T.data_scale,T.nullable,". + "T.char_col_decl_length,I.index_name". + " FROM ALL_TAB_COLUMNS T,ALL_IND_COLUMNS I". + " WHERE T.column_name=I.column_name (+)". + " AND T.table_name=I.table_name (+)". + " AND T.table_name=UPPER('$table') ORDER BY T.column_id"); + + $i=0; + while ($this->next_record()) { + $res[$i]["table"] = $this->Record[table_name]; + $res[$i]["name"] = strtolower($this->Record[column_name]); + $res[$i]["type"] = $this->Record[data_type]; + $res[$i]["len"] = $this->Record[data_length]; + if ($this->Record[index_name]) $res[$i]["flags"] = "INDEX "; + $res[$i]["flags"] .= ( $this->Record[nullable] == 'N') ? '' : 'NOT NULL'; + $res[$i]["format"]= (int)$this->Record[data_precision].",". + (int)$this->Record[data_scale]; + if ("0,0"==$res[$i]["format"]) $res[$i]["format"]=''; + $res[$i]["index"] = $this->Record[index_name]; + $res[$i]["chars"] = $this->Record[char_col_decl_length]; + if ($full) { + $j=$res[$i]["name"]; + $res["meta"][$j] = $i; + $res["meta"][strtoupper($j)] = $i; + } + if ($full) $res["meta"][$res[$i]["name"]] = $i; + $i++; + } + if ($full) $res["num_fields"]=$i; +# $this->disconnect(); + return $res; + } + + ## THIS FUNCTION IS UNSTESTED! + function affected_rows() { + if ($Debug) echo "
Debug: affected_rows=". ora_numrows($this->Query_ID)."
"; + return ora_numrows($this->Query_ID); + } + + ## Known bugs: It will not work for SELECT DISTINCT and any + ## other constructs which are depending on the resulting rows. + ## So you *really need* to check every query you make, if it + ## will work with it. + ## + ## Also, for a qualified replacement you need to parse the + ## selection, cause this will fail: "SELECT id, from FROM ..."). + ## "FROM" is - as far as I know a keyword in Oracle, so it can + ## only be used in this way. But you have been warned. + function num_rows() { + $curs=ora_open($this->Link_ID); + + ## this is the important part and it is also the HACK! + if (eregi("^[[:space:]]*SELECT[[:space:]]",$this->lastQuery) ) { + $from_pos = strpos(strtoupper($this->lastQuery),"FROM"); + $q = "SELECT count(*) ". substr($this->lastQuery, $from_pos); + + ORA_parse($curs,$q); + ORA_exec($curs); + ORA_fetch($curs); + if ($Debug) echo "
Debug: num_rows=". ORA_getcolumn($curs,0)."
"; + return(ORA_getcolumn($curs,0)); + } else { + $this->halt("Last Query was not a SELECT: $this->lastQuery"); + } + } + + function num_fields() { + if ($Debug) echo "
Debug: num_fields=". ora_numcols($this->Query_ID) . "
"; + return ora_numcols($this->Query_ID); + } + + function nf() { + return $this->num_rows(); + } + + function np() { + print $this->num_rows(); + } + + function f($Name) { + return $this->Record[$Name]; + } + + function p($Name) { + print $this->Record[$Name]; + } + + /* public: sequence number */ + function nextid($seq_name) + { + $this->connect(); + + /* Independent Query_ID */ + $Query_ID = ora_open($this->Link_ID); + + if(!@ora_parse($Query_ID,"SELECT $seq_name.NEXTVAL FROM DUAL")) + { + // There is no such sequence yet, then create it + if(!@ora_parse($Query_ID,"CREATE SEQUENCE $seq_name") + || + !@ora_exec($Query_ID) + ) + { + $this->halt("
nextid() function - unable to create sequence"); + return 0; + } + @ora_parse($Query_ID,"SELECT $seq_name.NEXTVAL FROM DUAL"); + } + if (!@ora_exec($Query_ID)) { + $this->halt("
ora_exec() failed:
nextID function"); + } + if (@ora_fetch($Query_ID) ) { + $next_id = ora_getcolumn($Query_ID, 0); + } + else { + $next_id = 0; + } + if ( Query_ID > 0 ) { + ora_close(Query_ID); + } + + return $next_id; + } + + function disconnect() { + if($this->Debug) { + echo "Debug: Disconnecting $this->Query_ID...
\n"; + } + if ( $this->Query_ID < 1 ) { + echo "Warning: disconnect(): Cannot free ID $this->Query_ID\n"; +# return(); + } + ora_close($this->Query_ID); + $this->Query_ID=0; + } + + /* private: error handling */ + function halt($msg) { + if ($this->Halt_On_Error == "no") + return; + + $this->haltmsg($msg); + + if ($this->Halt_On_Error != "report") + die("Session halted."); + } + + function haltmsg($msg) { + printf("Database error: %s
\n", $msg); + printf("Oracle Error: %s (%s)
\n", + $this->Errno, + $this->Error); + } + + function table_names() { + $this->connect(); + $this->query(" + SELECT table_name,tablespace_name + FROM user_tables"); + $i=0; + while ($this->next_record()) + { + $info[$i]["table_name"] =$this->Record["table_name"]; + $info[$i]["tablespace_name"]=$this->Record["tablespace_name"]; + $i++; + } + return $info; + } +} +?> diff --git a/phplib/db_pgsql.inc b/phplib/db_pgsql.inc new file mode 100755 index 0000000..039defa --- /dev/null +++ b/phplib/db_pgsql.inc @@ -0,0 +1,225 @@ +query($query); + } + + function connect() { + if ( 0 == $this->Link_ID ) { + $cstr = "dbname=".$this->Database. + $this->ifadd($this->Host, "host="). + $this->ifadd($this->Port, "port="). + $this->ifadd($this->User, "user="). + $this->ifadd($this->Password, "password="); + $this->Link_ID=pg_pconnect($cstr); + if (!$this->Link_ID) { + $this->halt("Link-ID == false, pconnect failed"); + } + } + } + + function query($Query_String) { + /* No empty queries, please, since PHP4 chokes on them. */ + if ($Query_String == "") + /* The empty query string is passed on from the constructor, + * when calling the class without a query, e.g. in situations + * like these: '$db = new DB_Sql_Subclass;' + */ + return 0; + + $this->connect(); + +# printf("
Debug: query = %s
\n", $Query_String); + + $this->Query_ID = pg_Exec($this->Link_ID, $Query_String); + $this->Row = 0; + + $this->Error = pg_ErrorMessage($this->Link_ID); + $this->Errno = ($this->Error == "")?0:1; + if (!$this->Query_ID) { + $this->halt("Invalid SQL: ".$Query_String); + } + + return $this->Query_ID; + } + + function next_record() { + $this->Record = @pg_fetch_array($this->Query_ID, $this->Row++); + + $this->Error = pg_ErrorMessage($this->Link_ID); + $this->Errno = ($this->Error == "")?0:1; + + $stat = is_array($this->Record); + if (!$stat && $this->Auto_Free) { + pg_freeresult($this->Query_ID); + $this->Query_ID = 0; + } + return $stat; + } + + function seek($pos) { + $this->Row = $pos; + } + + function lock($table, $mode = "write") { + if ($mode == "write") { + $result = pg_Exec($this->Link_ID, "lock table $table"); + } else { + $result = 1; + } + return $result; + } + + function unlock() { + return pg_Exec($this->Link_ID, "commit"); + } + + + /* public: sequence numbers */ + function nextid($seq_name) { + $this->connect(); + + if ($this->lock($this->Seq_Table)) { + /* get sequence number (locked) and increment */ + $q = sprintf("select nextid from %s where seq_name = '%s'", + $this->Seq_Table, + $seq_name); + $id = @pg_Exec($this->Link_ID, $q); + $res = @pg_Fetch_Array($id, 0); + + /* No current value, make one */ + if (!is_array($res)) { + $currentid = 0; + $q = sprintf("insert into %s values('%s', %s)", + $this->Seq_Table, + $seq_name, + $currentid); + $id = @pg_Exec($this->Link_ID, $q); + } else { + $currentid = $res["nextid"]; + } + $nextid = $currentid + 1; + $q = sprintf("update %s set nextid = '%s' where seq_name = '%s'", + $this->Seq_Table, + $nextid, + $seq_name); + $id = @pg_Exec($this->Link_ID, $q); + $this->unlock(); + } else { + $this->halt("cannot lock ".$this->Seq_Table." - has it been created?"); + return 0; + } + return $nextid; + } + + + + function metadata($table) { + $count = 0; + $id = 0; + $res = array(); + + $this->connect(); + $id = pg_exec($this->Link_ID, "select * from $table"); + if ($id < 0) { + $this->Error = pg_ErrorMessage($id); + $this->Errno = 1; + $this->halt("Metadata query failed."); + } + $count = pg_NumFields($id); + + for ($i=0; $i<$count; $i++) { + $res[$i]["table"] = $table; + $res[$i]["name"] = pg_FieldName ($id, $i); + $res[$i]["type"] = pg_FieldType ($id, $i); + $res[$i]["len"] = pg_FieldSize ($id, $i); + $res[$i]["flags"] = ""; + } + + pg_FreeResult($id); + return $res; + } + + function affected_rows() { + return pg_cmdtuples($this->Query_ID); + } + + function num_rows() { + return pg_numrows($this->Query_ID); + } + + function num_fields() { + return pg_numfields($this->Query_ID); + } + + function nf() { + return $this->num_rows(); + } + + function np() { + print $this->num_rows(); + } + + function f($Name) { + return $this->Record[$Name]; + } + + function p($Name) { + print $this->Record[$Name]; + } + + function halt($msg) { + printf("Database error: %s
\n", $msg); + printf("PostgreSQL Error: %s (%s)
\n", + $this->Errno, + $this->Error); + die("Session halted."); + } + + function table_names() { + $this->query("select relname from pg_class where relkind = 'r' and not relname like 'pg_%'"); + $i=0; + while ($this->next_record()) + { + $return[$i]["table_name"]= $this->f(0); + $return[$i]["tablespace_name"]=$this->Database; + $return[$i]["database"]=$this->Database; + $i++; + } + return $return; + } +} +?> diff --git a/phplib/db_sybase.inc b/phplib/db_sybase.inc new file mode 100755 index 0000000..63f9e15 --- /dev/null +++ b/phplib/db_sybase.inc @@ -0,0 +1,148 @@ + + * + * metadata() contributed by Adelino Monteiro + * + * $Id$ + * + */ + +class DB_Sql { + var $Host = ""; + var $Database = ""; + var $User = ""; + var $Password = ""; + + var $Link_ID = 0; + var $Query_ID = 0; + var $Record = array(); + var $Row; + + var $Auto_Free = 0; ## Set this to 1 for automatic sybase_free_result() + + /* public: constructor */ + function DB_Sql($query = "") { + $this->query($query); + } + + function connect() { + if ( 0 == $this->Link_ID ) { + $this->Link_ID=sybase_pconnect($this->Host,$this->User,$this->Password); + if (!$this->Link_ID) { + $this->halt("Link-ID == false, pconnect failed"); + } + if(!sybase_select_db($this->Database, $this->Link_ID)) { + $this->halt("cannot use database ".$this->Database); + } + } + } + + function query($Query_String) { + + + /* No empty queries, please, since PHP4 chokes on them. */ + if ($Query_String == "") + /* The empty query string is passed on from the constructor, + * when calling the class without a query, e.g. in situations + * like these: '$db = new DB_Sql_Subclass;' + */ + return 0; + + $this->connect(); + +# printf("Debug: query = %s
\n", $Query_String); + + $this->Query_ID = sybase_query($Query_String,$this->Link_ID); + $this->Row = 0; + if (!$this->Query_ID) { + $this->halt("Invalid SQL: ".$Query_String); + } + + return $this->Query_ID; + } + + function next_record() { + $this->Record = sybase_fetch_array($this->Query_ID); + $this->Row += 1; + + $stat = is_array($this->Record); + if (!$stat && $this->Auto_Free) { + sybase_free_result($this->Query_ID); + $this->Query_ID = 0; + } + return $stat; + } + + function seek($pos) { + $status = sybase_data_seek($this->Query_ID, $pos); + if ($status) + $this->Row = $pos; + return; + } + + function metadata($table) { + $count = 0; + $id = 0; + $res = array(); + + $this->connect(); + $result = $this->query("exec sp_columns $table"); + if ($result < 0) { + $this->Errno = 1; + $this->Error = "Metadata query failed"; + $this->halt("Metadata query failed."); + } + $count = sybase_num_rows($result); + + for ($i=0; $i<$count; $i++) { + $res[$i]["table"] = $table ; + $res[$i]["name"] = sybase_result ($result, $i, "COLUMN_NAME"); + $res[$i]["type"] = sybase_result ($result, $i, "TYPE_NAME"); + $res[$i]["len"] = sybase_result ($result, $i, "LENGTH"); + $res[$i]["position"] = sybase_result ($result, $i, "ORDINAL_POSITION"); + $res[$i]["flags"] = sybase_result ($result, $i, "REMARKS"); + + } + } + + function affected_rows() { + return sybase_affected_rows($this->Query_ID); + } + + function num_rows() { + return sybase_num_rows($this->Query_ID); + } + + function num_fields() { + return sybase_num_fields($this->Query_ID); + } + + function nf() { + return $this->num_rows(); + } + + function np() { + print $this->num_rows(); + } + + function f($Name) { + return $this->Record[$Name]; + } + + function p($Name) { + print $this->Record[$Name]; + } + + function halt($msg) { + printf("Database error: %s
\n", $msg); + printf("Sybase Error
\n"); + die("Session halted."); + } +} +?> diff --git a/phplib/db_usql.inc b/phplib/db_usql.inc new file mode 100755 index 0000000..3bf5987 --- /dev/null +++ b/phplib/db_usql.inc @@ -0,0 +1,76 @@ +Record)) + if (ereg("[A-Za-z][A-Za-z0-9_]*", $key)) { + $field_name = strtoupper($key); + global $$field_name; + $$field_name=$val; + }; + } + +//-------------------------------------------------------------- +// this function can be used to export all the records of +// a table on the output in the form of a call to the db_sql +// query function with an insert statement. +//-------------------------------------------------------------- + function dump_table($tablename, $filter="") { + $this->query(sprintf("select * from %s", $tablename)); + while ($this->next_record()) { + $this->dump_record($tablename, $filter); + }; + } + +//-------------------------------------------------------------- +// this function can be used to export all the records of +// a query on the output in the form of a call to the db_sql +// query function with an insert statement. +//-------------------------------------------------------------- + function dump_query($tablename, $filter="") { + //$this->query(sprintf("select * from %s", $tablename)); + while ($this->next_record()) { + $this->dump_record($tablename, $filter); + }; + } + + function dump_record($tablename, $filter="") { + $fields=""; + $values=""; + while (list($key, $val) = each($this->Record)) + if (ereg("[A-Za-z][A-Za-z0-9_]*", $key)) { + $field_name = strtoupper($key); + if (!empty($val)) + if (strstr( $filter, $field_name )=="") { + $fields.="$field_name ,"; + $val=ereg_replace("'","''",$val); + $val=ereg_replace("\"","\\\"",$val); + //addslashes($val); + $values.="'$val' ,"; + }; + } + $fields=substr($fields, 0, strlen($fields)-1); + $values=substr($values, 0, strlen($values)-1); + $insert=sprintf("insert into %s(%s) values(%s)", $tablename, $fields, $values); + echo "\$db->query(\"$insert\");\n"; + } + }; + +?> diff --git a/phplib/query_sql.inc b/phplib/query_sql.inc new file mode 100755 index 0000000..d029e94 --- /dev/null +++ b/phplib/query_sql.inc @@ -0,0 +1,742 @@ + + * I took many ideas from his SQL.inc, thanks! :-) + * The idea is of this class is based in November 1997, + * it was a collection of functions for PHP/FI and mSQL. + * + * $Id$ + * + */ + + +/* +The Query-class is an enhancement to the db_*-classes. Currently It supports +mySQL an Oracle but it is easy expandable. See down. + +It always needs the class DB_Sql! + +Query is fully upward compatible with DB_Sql. Example: + +OLD: NEW: + +require("db_mysql.inc"); require("db_mysql.inc"); +class hugobla extends DB_sql {} require("query_sql.inc"); +$db = new hugobla; class hugobla extends Query {} + $db = new hugobla; + +It just provides a number of new functions. + +The Query-class is inteded to help you with creating selects, inserts, +updates, where-clauses etc. Not just *simple* selects, but longer ones. It +is indeed a great help for tables with more than 10-20 columns. But it can +also be used for simple and small selects. The inbuilt checks help you +programming saver. + +Here is an example: + +file: insert.php3 +------------------ +query($db->insert_plain_Clause("mytable",$db->capture_vars("mytable"),ARRAY())); +echo "Values inserted"; + +?> + +file: insert2.php3 +------------------- +query($db->insert_plain_Clause("mytable",$db->capture_vars("mytable"), + ARRAY(myindex=>'NULL',mytime='func'))); +echo "Values inserted: "$db->last_insert_id(); + +?> + +This example is nice, cause you see how easy it can be used. :-) + +The best thing is, that you don't have to care, if a field is a string or a +number. The values are automatically converted into the right form. The type +of the vars are read from the table. Stringvalues are encapsulated with ' +(configurable) and escaped (the code for this is currently not good - we are +assuming, that PHP is configured not to encapsulate strings), int- +and real-values are casted. It can handle "NULL"-values, function-statements +or other values for insertion. + +You will make less errors. + +mySQL and most other DB's accept a a short form of insert-clause (INSERT +INTO bla VALUES (...)). The Query-class will always make the longer form +(INSERT INTO BLA (...) VALUES (...)). This makes it possible to use ALTER +TABLE-commands without changing the program! E.g. changing a field in a +table from NUMBER to VARCHAR(10) is fully encapsulated with this class. + +The class supports currently only mysql and oracle. I think the differences +between the DBs are encapsulated enough in the db_* classes, so it is +possible to handle the remaining small differences inside this class (this +affects mainly the function sql2phptype() ) and it could be easiely extended +(asuming, that the metadata()-function of the db_*-class works correctly). +In this case it is important, that the $type-variable in the db_*.inc-class +is correctly set. + + +TODO-list: +- A method to create querys like the LIMIT-clause in mySQL. For Oracle + this works: + + select linenum, foo, bar + from (select rownum as linenum, foo, bar from + (select foo,bar from chaos order by bar) ) + where linenum between 11 and 20; + +- cleaner escaping, handling of \ and NUL (current code is bullshit) + Some ideas? + +- Little Alta-Vista: add functions to create a where clause from a search + string with rules to handle searching for more than one word. + half automatic generating search patterns into a where-clause + simple search engine support, simple support for semi full-text-search + +- automatic configurable manipulation of values, eg. + triming of strings (delete whitespace at begin and end) + also : TOUPPER, TOLOWER etc + +- SELECT-Clause (GROUP BY, HAVING, JOIN...) + +- make new functions insert_Clause() etc. which inserts only the + fields they got from your call (the current will do "plain" insert) + +- where_Clause() - creating WHERE for select, update, exists etc. + +- serv all queries directly into db, return just the handle + (hm, how to deal with the DB-handle?) + +- Return a 2-dimensional (Table-compatible) field from select (not so important) + +- The sql2phptype() can be used to help creating automatic input forms + for a table + +DEPENDING: +- db_mysql: new function metatabledata(), which returns the table-info from + current selected table (will return multiple table-columns with a join) +- db_mysql: perhaps the function sql2phptype() should be placed there? + + +For developers of new db_*.inc: the function metadata() is very important +for the correct work of this class. T + +*/ + +class Query extends DB_Sql { + + ## DONT FORGET to set the variables from DB_Sql! See there! + + ## For debugging: if set to TRUE the Query is printed out, + ## before executing or returning + var $Q_Debug=false; + + ## set this to another value, if you want to hide it + ## in your HTML-code + ## example: var $Q_Debug_print="\n\n"; + var $Q_Debug_print="
QDebug:\n%s\n
\n"; + + ## Set this to TRUE if you only want to test, which query + ## will be created (ideal in combination with $Q_Debug) + ## This depends only functions which will make changes + var $No_Write=false; + + ## currently unused, this var is just an idea for later use. + var $Backslash_N_is_NULL = false; + + ## Metacache: see funtcion metadata_buffered() + var $meta_cache_off = false; + + ## This is the char, which will be replaced by \char. + ## PHP3 seems to be NOT binary-safe, so not quoting + ## for \0 (some ideas?) + ## we use ereg_replace to do the replacements. + ## with PHP3.0.6 you should replace this with str_replace()! + ## Quoting = 1 -> normal quoting using AddSlashes + ## 2 -> Replace \' to '' - needed eg. for sybase or oracle + var $Quoting=1; + var $Quotechar="'"; + + var $StrLengTrunc = false; + var $StrLengWarn = false; + + ########################### + ## _QDebug + function _QDebug ($str) { + if ($this->Q_Debug) { + printf($this->Q_Debug_print,$str); + } + } + + ########################### + ## Set DB-Classname + ## This is only a 3rd posibility for setting the classname + ## + function set_db_class ($db_class) { + $this->Database=$db_class; + } + + + ########################### + ## This function gets a datatype from the DB and returns an + ## equivalent datatype for PHP + ## + ## It returns also a subtype for a string + ## + function sql2phptype ($type,$format='') { + ## $this->type is currently either "mysql" or "oracle" + switch ($this->type) { + case "mysql": + switch ($type) { + case "var string": + case "string" : + case "char" : + return(Array("string","")); + break; + case "timestamp" : + case "datetime" : + case "date" : + case "time" : + return(Array("string","date")); + break; + case "blob" : + return(Array("string","blob")); + break; + case "real" : + return(Array("double","")); + break; + case "long" : + default : + return(Array("int","")); + break; + } + break; + case "oracle": + switch ($type) { + case "VARCHAR2" : + case "VARCHAR" : + case "CHAR" : + return(Array("string","")); + break; + case "DATE" : + return(Array("string","date")); + break; + case "BLOB" : + case "CLOB" : + case "BFILE" : + case "RAW" : + case "LONG" : + case "LONG RAW" : + return(Array("string","blob")); + break; + case "NUMBER" : + if ($format) { + return(Array("double","")); + } else { + return(Array("int","")); + } + break; + default : + $this->halt("sql2phptype(): Type is not a valid value: '$type'"); + break; + } + break; + default: + $this->halt("sql2phptype(): DB-type is not a valid value: ".$this->type); + break; + } + } + + + ####################################### + ## This function returns a PHP-variable depending + ## on type. E.g. a string is returned as 'string' + ## + ## The parameters mean + ## $val - the value + ## There is a special case: If value is "NULL" and + ## the type is not "string" or subtype is empty, then + ## a value "NULL" is inserted. This let you just spare + ## a little bit work with $special + ## + ## $meta - the meta information for this field (that's what + ## is returned by metadata() from DB_sql-class, but just one + ## single row, e.g. $meta[2], not hole $meta). + ## + ## $special - Overwrites the type of the var if set. Some special + ## meanings: + ## "NULL" means, that this value must be set to "NULL" + ## "func" means, that $val should be untouched - + ## e.g. to insert the value of a SQL-function + ## [ INSERT INTO bla VALUES ( time=NOW() ) ] + ## + + function convert ($val,$meta,$special="") { + list($type,$subtype)=$this->sql2phptype($meta["type"],$meta["format"]); + if (($val == "NULL" && + ($type != "string" || $type[1] != "")) || + $special == "NULL") { + $type="NULL"; + } else { + if ($special) { + $type=$special; + if ($type!="func") { + $val=$type; + $type="func"; + } + } + } + switch ($type) { + case "string" : + $val=(string)$val; + if ($this->Quoting) { + $val=AddSlashes($val); + } + if ($this->Quoting==2) { + $val=str_replace("\\'","''",$val); + } + if ($subtype!='date' && + ( $this->StrLengTrunc || $this->StrLengWarn ) ) { + if ( strlen($val) > $meta[len] ) { + if ($this->StrLengWarn) { + echo "
STRING TOO LONG: '$meta[name]'"; + if ($this->StrLengTrunc) { + echo ", TRUNCATING!"; + } + } + if ($this->StrLengTrunc) { + $val=substr($val,0,$meta[len]); + } + } + } + $val=$this->Quotechar . $val . $this->Quotechar; + break; + case "int" : + $val=(int)$val; + break; + case "double" : + $val=(double)$val; + break; + case "NULL" : + $val="NULL"; + break; + case "func" : + $val=(string)$val; + break; + default : + echo "UNKNOWN TYPE: $type
"; + } + $this->_QDebug("Val: $meta[name] => $val
"); + return(Array($val,$meta["name"])); + } + + + ## + ## Function to generate a plain INSERT-Clause + ## ("plain" means, that every field in the table will + ## be set to a value, default is '' or 0 if nothing said + ## in $special) + ## + ## $fields is an assoc. Array consisting out of + ## table_name => value-pairs + ## $special is an assoc. field which will commit special + ## handling to convert() (See there) + ## $check could be "strong" or "soft". + ## "soft" won't tell you if there were to less + ## or too much fields (good for debuging) + ## + ## returns the insert clause. It's on you to modify it + ## and send it to your DB + ## + function insert_plain_Clause ($table,$fields,$special,$check="soft") { + $meta=$this->metadata_buffered($table); + + for ($i=0; $i < $meta["num_fields"]; $i++) { + $j=$meta[$i]["name"]; + ## NOT IMPLEMENTED: SEARCHING FOR $fields[$i] + list($val["val"][$i],$val["name"][$i])= + $this->convert($fields[$j],$meta[$i],$special[$j]); + } + if (Count($fields)!=Count($val["name"]) && $check=="strong") { + echo "WARNING: insert_plain_clause(): There are not the same number of". + " fields as in table for INSERT
"; + } + $q=sprintf("INSERT INTO %s (%s) VALUES (%s)", + $table,join($val["name"],","), + join($val["val"],",")); + $this->_QDebug($q); + return($q); + } + + # Replace, a special mySQL-function, same as INSERT + function replace_plain_Clause ($table,$fields,$special,$check="soft") { + $meta=$this->metadata_buffered($table); + + for ($i=0; $i < $meta["num_fields"]; $i++) { + $j=$meta[$i]["name"]; + ## NOT IMPLEMENTED: SEARCHING FOR $fields[$i] + list($val["val"][$i],$val["name"][$i])= + $this->convert($fields[$j],$meta[$i],$special[$j]); + } + if (Count($fields)!=Count($val["name"]) && $check=="strong") { + echo "WARNING: replace_plain_Clause(): There are not the same number of". + " fields as in table for INSERT
"; + } + $q=sprintf("REPLACE %s (%s) VALUES (%s)", + $table,join($val["name"],","), + join($val["val"],",")); + $this->_QDebug($q); + return($q); + } + + ## + ## This function is nearly the same, as insert_plain_Clause, + ## The where parameter is new and should be generated by yourself + ## The check parameter knows 3 values: strong, soft and weak + ## weak enables you to sent a query without $where (enables you + ## to update the hole table) + ## + function update_plain_Clause ($table,$fields,$special,$where,$check="soft") { + $meta=$this->metadata_buffered($table); + if (!$where && $check!="weak") { + echo "ERROR: update_plain_Clause(): Parameter \$where is empty!
"; + return(false); + } + + for ($i=0; $i < $meta["num_fields"]; $i++) { + $j=$meta[$i]["name"]; + ## NOT IMPLEMENTED: SEARCHING FOR $fields[$i] + list($val["val"][$i],$val["name"][$i])= + $this->convert($fields[$j],$meta[$i],$special[$j]); +#echo "V: ".$val["name"][$i]." : ". $val["val"][$i]." - ".$fields[$j]."
"; + } + if (Count($fields)!=Count($val["name"]) && $check=="strong") { + echo "WARNING: update_plain_Clause(): There are not the same number of". + " fields for INSERT
"; + } + for ($i=0 ; $i < Count ($val["name"]); $i++ ) { + $s[]=$val["name"][$i]."=".$val["val"][$i]; + } + $q=sprintf("UPDATE %s SET %s",$table,join($s,",")); + if ($where) { + if (!eregi("^[[:space:]]*WHERE",$where)) { + ## insert "WHERE" if not set + $where="WHERE $where"; + } + $q.=" $where"; + } + $this->_QDebug($q); + return($q); + } + + + ## + ## This function is nearly the same, as insert_Clause, + ## The where parameter is new and should be generated by yourself + ## The check parameter knows 3 values: strong, soft and weak + ## weak enables you to sent a query without $where (enables you + ## to update the hole table) + ## + function update_Clause ($table,$fields,$special,$where,$check="soft") { + $meta=$this->metadata_buffered($table); + if (!$where && $check!="weak") { + echo "ERROR: update_Clause(): Parameter \$where is empty!
"; + return(false); + } + + $i=0; + for (reset($fields); list($key,$val)=each($fields); $i++) { + if ( isset($meta[meta][$key]) ) { + $j=$meta[meta][$key]; + list($v["val"][$i],$v["name"][$i])= + $this->convert($val,$meta[$j],$special[$key]); + } + } + for ($i=0 ; $i < Count ($v["name"]); $i++ ) { + $s[]=$v["name"][$i]."=".$v["val"][$i]; + } + if (Count($s)) { + $q=sprintf("UPDATE %s SET %s",$table,join($s,",")); + if ($where) { + if (!eregi("^[[:space:]]*WHERE",$where)) { + ## insert "WHERE" if not set + $where="WHERE $where"; + } + $q.=" $where"; + } + } + $this->_QDebug($q); + return($q); + } + + + + ## + ## DELETE + ## deletes the selected Table + ## $check can be "soft" and "weak". Weak let's you delete the + ## hole table, if you want + ## + function delete_Clause ($table,$where,$check="soft") { + if (!$where && $check!="weak") { + echo "ERROR: delete_Clause(): Parameter \$where is empty!
"; + return(false); + } + + $q=sprintf("DELETE FROM %s",$table); + if ($where) { + if (!eregi("^[[:space:]]*WHERE",$where)) { + ## insert "WHERE" if not set + $where="WHERE $where"; + } + $q.=" $where"; + } + $this->_QDebug($q); + return($q); + } + + + ## + ## This function checks wether in table $table a + ## field $name is set with value $val + ## + ## it returns the number of found matches or zero + ## + function exists ($table,$name,$val) { + $meta=$this->metadata_buffered($table); + $j=$meta["meta"][$name]; + list($k)=$this->convert($val,$meta[$j]); + $q=sprintf("SELECT COUNT(%s) as c FROM %s WHERE %s=%s", + $name,$table,$name,$k); + $this->_QDebugs($q); + $this->query($q); + $this->next_record(); + return($this->f("c")); + } + + ## + ## This function creates a query like exists, but returns + ## an assoc array of the first found row, or false if nothing found + ## field $name is set with value $val + ## + function getrow ($table,$name,$val) { + $meta=$this->metadata_buffered($table); + $j=$meta[meta][$name]; + list($k)=$this->convert($val,$meta[$j]); + $q=sprintf("SELECT * FROM %s WHERE %s=%s", + $table,$name,$k); + $this->_QDebug($q); + $this->query($q); + if ($this->next_record()) { + return($this->Record); + } else { + echo "
WARNING: getrow(): KEY: $name VAL: $val not found
"; + return(false); + } + } + + + + ## + ## WHERE-PLAIN-CLAUSE + ## Let you generate a WHERE-Clause with a Loop. + ## + ## Returns a where-clause beginning with " WHERE " + ## + ## This function generates a where-clause + ## $mywhere An array of simple expressions, eg. "firstname='Alex'" + ## $andor This string is printed bewtween the where-Array + ## default is 'AND'. It will handle an existing + ## $oldwhere correctly. You can set this to '', but then + ## the correct operator must be set by you in the where + ## $where an existing WHERE-clause. Default is empty. + ## $check if 'strong', it will stop, if an empty where-clause + ## will be returned, to avoid "full" selects. Default is soft + ## + function where_plain_Clause ($mywhere,$andor='AND',$where='',$check="soft") { + $meta=$this->metadata_buffered($table); + $q=''; + + for ($i=0; $i"; + } + $q=ereg_Replace("^ $andor "," WHERE ",$q); + $this->_QDebug("where_plain_Clause(): $q"); + return($q); + } + + ## + ## ANOTHER-WHERE-CLAUSE + ## + ## This function generates a where-clause beginning with " WHERE " + ## Different form where_plain_Clause() this function is fully automated + ## It can handle NULL-Values (IS NULL) in a special manner: + ## if a value of $fields is 'NULL', we are looking, if the + ## operator is '='. In this case the operator is changed into "IS" + ## in any other case it is changed into "IS NOT". + ## + ## $tables table + ## $fields Assoc name=>value-fields + ## $op Assoc name=>operator. If empty, '=' is taken. it is printed + ## *between* the name/value pairs. + ## if $op is 'func' the name is taken as function name, + ## inside the brakets is the value. + ## $special Affects the calculation of value. + ## See INSERT_CLAUSE() for more about this. + ## $andor This string is printed bewtween the name/value-pairs, + ## default is 'AND'. If $where is set, it prints + ## it directly at the end before concatenating + ## $where an existing WHERE-clause. Default is empty. + ## $check if 'strong', it will stop, if an empty where-clause + ## will be returned, to avoid "full" selects. Default is soft + ## + ## Returns a where-clause beginning with " WHERE " + ## + function where_Clause ($table,$fields,$op='',$special='', + $andor='AND',$where='',$check="soft") { + $meta=$this->metadata_buffered($table); + $q=''; + + if (!is_Array($op)) $op=ARRAY(); + if (!is_Array($special)) $op=ARRAY(); + if (!$andor) $andor='AND'; + + $i=0; + for (reset($fields); list($key,$val)=each($fields); $i++) { + list($k[val],$k[name])= + $this->convert($fields[$key],$meta[$meta[meta][$key]],$special[$key]); + if (!$op[$key]) $o='='; else $o=$op[$key]; + if ('NULL'==strval($k[val])) { + if ($o=='=' || strtoupper($o)=='IS') $o = 'IS'; + else $o = 'IS NOT'; + } + $q.=" $andor $k[name] $o $k[val]"; + } + if ($where) { + $where=eregi_Replace("^[[:space:]]*WHERE","",$where); + $q.=" $andor $where"; + } + if (!$q && $ckeck=='full') { + echo "WARNING: where_Clause(): WHERE-clause is empty!
"; + } + $q=ereg_Replace("^ $andor "," WHERE ",$q); + $this->_QDebug("where_Clause(): $q"); + return($q); + } + + + ## + ## capture-vars + ## + ## This function returns an assoc. Array consisting out of + ## name=>value-pairs needed by all the other functions. It reads + ## the name of the vars from the fields in $table and the values + ## from the $GLOBALS-var-field. + ## This has the sense, that you can name the variables in your + ## Input-Form exactly like the names in your table. This again + ## let make you less errors and less side effects. + ## + ## $table The name of the table + ## + function capture_vars ($table) { + $meta=$this->metadata_buffered($table); + $r=Array(); + for ($i=0; $i < $meta["num_fields"]; $i++) { + $j=$meta[$i]["name"]; + if (isset($GLOBALS[$j])) { + $r[$j] = $GLOBALS[$j]; + $this->_QDebug("Found $j: $r[$j]"); + } + } + return($r); + } + + ## + ## all_changed_vars + ## + ## This function returns an assoc. Array consisting out of + ## name=>value-pairs which have a different value from the value + ## currently existing in your table. This is needed by + ## update_Clause(), cause with this, the update-query can be shortened + ## to the maximum needed max. Can also be used for much other things, + ## e.g. checking if something in your form has been changed (in this + ## case it returns an empty array) + ## + ## $table The name of the table + ## $fields Your assoc value field, which you want to check for + ## $where The where-clause, which matches your row. + ## This functions writes warnings, if your where-clause + ## returns more than one row or nothing + ## + function all_changed_vars ($table,$fields,$where,$check='soft') { + $meta=$this->metadata_buffered($table); + + $q1="SELECT * FROM $table $where"; + $this->query($q1); + $r=Array(); + if ($this->next_record()) { + for ($i=0; $i < $meta["num_fields"]; $i++) { + $j=$meta[$i]["name"]; + if ($this->Record[$j]!=$fields[$j]) { + $r[$j]=$fields[$j]; + $this->_QDebug("Changed $j: ".$fields[$j]." -> ".$this->Record[$j]); + } + } + if ($this->next_record()) { + echo "ERROR: all_changed_vars(): Found more than one row!
"; + } + } elseif ($check!='soft') { + echo "
WARNING: all_changed_vars(): No row found!
"; + } + $this->_QDebug("WHERE: $where"); + return($r); + } + + ## + ## metadata_buffered (internal) + ## + ## This function calls metadata() if it won't find the buffer, + ## this speeds the Query-class strongly up, cause it is needed in nearly + ## every function + ## + ## $table the name of the table + ## + ## Returns the metadata-field + ## + function metadata_buffered($table) { + if ( !is_Array($this->meta_buf[$table]) || $this->meta_cache_off) { + return ($this->meta_buf[$table]=$this->metadata($table,true)); + } else { + return ($this->meta_buf[$table]); + } + } + + +} + +?> diff --git a/phplib/sqlquery.inc b/phplib/sqlquery.inc new file mode 100755 index 0000000..cd47158 --- /dev/null +++ b/phplib/sqlquery.inc @@ -0,0 +1,322 @@ + array( + "searchfor" => "Suchen nach:", + "and" => "und", + "or" => "oder", + "like" => "enthält", + "reset" => "Neu", + "submit" => "Ausführen", + "less" => "Weniger", + "more" => "Mehr" + ), + + "en" => array( + "searchfor" => "Search for:", + "and" => "and", + "or" => "or", + "like" => "contains", + "reset" => "Reset Query", + "submit" => "Submit Query", + "less" => "Fewer", + "more" => "More" + ) + ); + + ## SQL comparision dictionary + var $compare = array( + "like" => "like", + ">" => ">", + "<" => "<", + + ">=" => ">=", + "<=" => "<=", + "=" => "=", + "<>" => "<>" + ); + + + function start($class = "") { + } + + ## selection: + ## + ## Create a "); + + return $res; + } + + ## fieldname: + ## + ## Given a basename $base, and attribute name $att and an attribute + ## number $num, this functions returns an input field name + ## $base[$name_$num]. + ## + ## This construct can be imported into a function namespace with a + ## single global instruction and the field name can be easily + ## exploded into component names and numbers. + + function makename($base, $att, $num) { + return sprintf("%s[%s_%d]", $base, $att, $num); + } + + ## form: + ## + ## Draw SQL Query selection form. + ## + function form($base, $option, $class = "", $target = "") { + global $sess; + + ## + ## load the HTML results of this function into $res. + ## + $res = ""; + + ## A hack. We cannot do language dependent initialisation of + ## static values. + if (isset($this->compare["like"])) { + $this->compare["like"] = $this->dict[$this->lang]["like"]; + } + + ## Prepare a self-directed container form + if ($this->container) { + $res .= sprintf("\n", + ($class)?" class=$class":"", + $this->dict[$this->lang]["searchfor"]); + } else { + $res .= sprintf(" %s\n", + ($class)?" class=$class":"", + $this->selection($this->makename($base, "conj", $i), + array("and" => $this->dict[$this->lang]["and"], "or" => $this->dict[$this->lang]["or"]), + $GLOBALS[$base]["conj_".$i], + "on", + $class)); + } + + ## Build field selection + $res .= sprintf(" %s\n", + ($class)?" class=$class":"", + $this->selection( + $this->makename($base, "sel", $i), + $option, + $GLOBALS[$base]["sel_".$i], + $this->translate, + $class)); + + ## Build comparison selection + $res .= sprintf(" %s\n", + ($class)?" class=$class":"", + $this->selection( + $this->makename($base, "comp", $i), + $this->compare, + $GLOBALS[$base]["comp_".$i], + "on", + $class)); + ## Create text input field. + $res .= sprintf(" \n", + ($class)?" class=$class":"", + $this->makename($base, "input", $i), + $GLOBALS[$base]["input_".$i], + $this->input_size, + $this->input_max, + ($class)?" class=$class":""); + + $res .= sprintf(" \n"); + } + + ## Create variable size buttons + $res .= sprintf(" \n", ($class)?" class=$class":""); + $res .= sprintf("  \n", ($class)?" class=$class":""); + + if ($this->variable) { + $res .= sprintf("  ", + ($class)?" class=$class":"", + $this->makename($base, "more", 0), + $this->dict[$this->lang]["more"]); + $res .= sprintf("\n", + $this->makename($base, "less", 0), + $this->dict[$this->lang]["less"]); + } else { + $res .= sprintf("  \n", ($class)?" class=$class":""); + } + + $res .= sprintf("  \n", ($class)?" class=$class":""); + $res .= sprintf("  ", + ($class)?" class=$class":"", + $this->dict[$this->lang]["reset"]); + $res .= sprintf("\n", + $this->makename($base, "submit", 0), + $this->dict[$this->lang]["submit"]); + + $res .= sprintf(" \n"); + $res .= sprintf("
\n", + ($class)?" class=$class":"", + ($class)?" class=$class":"", + ($class)?" class=$class":""); + } + $res .= sprintf("
\n", + $this->method, + ($target)?$target:$sess->self_url()); + + ## Prepare the inner table, laying out the selection elements + $res .= sprintf("\n", ($class)?" class=$class":""); + + ## Build $this->conditions many selection elements + for ($i=1; $i<= $this->conditions; $i++) { + $res .= sprintf(" \n", ($class)?" class=$class":""); + + ## Build conjunction (first row does not have a conjunction) + if ($i == 1) { + $res .= sprintf(" %s
\n"); + + $res .= sprintf("\n"); + if ($this->container) { + $res .= sprintf("\n"); + } + $res .= sprintf("\n", $this->classname); + + return $res; + } + + ## plain_where: + ## + ## Given a base variable name, creates a condition suitable for + ## the where clause of a SQL query. + ## + function plain_where($base) { + for($i=1; $i<=$this->conditions; $i++) { + ## Only create conditions for used input fields + if ($GLOBALS[$base]["input_".$i] == "") + continue; + + ## If necessary, add conjunction + if ($q != "") + $q .= sprintf(" %s ", $GLOBALS[$base]["conj_".$i]); + + ## Handle "like" + if ($GLOBALS[$base]["comp_".$i] == "like") + $v = "%".$GLOBALS[$base]["input_".$i]."%"; + else + $v = $GLOBALS[$base]["input_".$i]; + + ## Create subcondition + $q .= sprintf("%s %s '%s'", + $GLOBALS[$base]["sel_".$i], + $GLOBALS[$base]["comp_".$i], + $v); + } + + if (!$q) { + $q = "1=0"; + } + + return "( $q )"; + } + + ## translated_plain_where: + ## + ## Given a base variable name, creates a translated version of + ## the where clause of a SQL query. + ## + function translated_plain_where($base, $field) { + for($i=1; $i<=$this->conditions; $i++) { + ## Only create conditions for used input fields + if ($GLOBALS[$base]["input_".$i] == "") + continue; + + ## If necessary, add conjunction + if ($q != "") + $q .= sprintf(" %s ", $this->dict[$this->lang][$GLOBALS[$base]["conj_".$i]]); + + ## Handle "like" + if ($GLOBALS[$base]["comp_".$i] == "like") + $c = $this->dict[$this->lang][$GLOBALS[$base]["comp_".$i]]; + else + $c = $this->compare[$GLOBALS[$base]["comp_".$i]]; + + ## Create subcondition + $q .= sprintf("%s %s '%s'", + $field[$GLOBALS[$base]["sel_".$i]], + $c, + $GLOBALS[$base]["input_".$i]); + } + + if (!$q) { + $q = "1=0"; + } + + return "( $q )"; + } + + ## where: + ## + ## Same as plain_where(), but also inspects the submit button + ## used to submit the query. Changes $this->conditions appropriately. + function where($base, $incr = 1) { + if (isset($GLOBALS[$base]["less_0"])) + $this->conditions -= $incr; + + if (isset($GLOBALS[$base]["more_0"])) + $this->conditions += $incr; + + if ($this->conditions < 1) + $this->conditions = 1; + + return $this->plain_where($base); + } +} +?> diff --git a/phpmailer/ChangeLog.txt b/phpmailer/ChangeLog.txt new file mode 100755 index 0000000..29c0497 --- /dev/null +++ b/phpmailer/ChangeLog.txt @@ -0,0 +1,136 @@ +ChangeLog + +Version 1.62 (Wed, Jun 26 2002) +* Fixed multi-attach bug +* Set proper word wrapping +* Reduced memory use with attachments +* Added more debugging +* Changed documentation to phpDocumentor format + +Version 1.60 (Sat, Mar 30 2002) +* Sendmail pipe and address patch (Christian Holtje) +* Added embedded image and read confirmation support (A. Ognio) +* Added unit tests +* Added SMTP timeout support (*nix only) +* Added possibly temporary PluginDir variable for SMTP class +* Added LE message line ending variable +* Refactored boundary and attachment code +* Eliminated SMTP class warnings +* Added SendToQueue method for future queuing support + +Version 1.54 (Wed, Dec 19 2001) +* Add some queuing support code +* Fixed a pesky multi/alt bug +* Messages are no longer forced to have "To" addresses + +Version 1.50 (Thu, Nov 08 2001) +* Fix extra lines when not using SMTP mailer +* Set WordWrap variable to int with a zero default + +Version 1.47 (Tue, Oct 16 2001) +* Fixed Received header code format +* Fixed AltBody order error +* Fixed alternate port warning + +Version 1.45 (Tue, Sep 25 2001) +* Added enhanced SMTP debug support +* Added support for multiple ports on SMTP +* Added Received header for tracing +* Fixed AddStringAttachment encoding +* Fixed possible header name quote bug +* Fixed wordwrap() trim bug +* Couple other small bug fixes + +Version 1.41 (Wed, Aug 22 2001) +* Fixed AltBody bug w/o attachments +* Fixed rfc_date() for certain mail servers + +Version 1.40 (Sun, Aug 12 2001) +* Added multipart/alternative support (AltBody) +* Documentation update +* Fixed bug in Mercury MTA + +Version 1.29 (Fri, Aug 03 2001) +* Added AddStringAttachment() method +* Added SMTP authentication support + +Version 1.28 (Mon, Jul 30 2001) +* Fixed a typo in SMTP class +* Fixed header issue with Imail (win32) SMTP server +* Made fopen() calls for attachments use "rb" to fix win32 error + +Version 1.25 (Mon, Jul 02 2001) +* Added RFC 822 date fix (Patrice) +* Added improved error handling by adding a $ErrorInfo variable +* Removed MailerDebug variable (obsolete with new error handler) + +Version 1.20 (Mon, Jun 25 2001) +* Added quoted-printable encoding (Patrice) +* Set Version as public and removed PrintVersion() +* Changed phpdoc to only display public variables and methods + +Version 1.19 (Thu, Jun 21 2001) +* Fixed MS Mail header bug +* Added fix for Bcc problem with mail(). *Does not work on Win32* + (See PHP bug report: http://www.php.net/bugs.php?id=11616) +* mail() no longer passes a fifth parameter when not needed + +Version 1.15 (Fri, Jun 15 2001) +[Note: these changes contributed by Patrice Fournier] +* Changed all remaining \n to \r\n +* Bcc: header no longer writen to message except +when sent directly to sendmail +* Added a small message to non-MIME compliant mail reader +* Added Sender variable to change the Sender email +used in -f for sendmail/mail and in 'MAIL FROM' for smtp mode +* Changed boundary setting to a place it will be set only once +* Removed transfer encoding for whole message when using multipart +* Message body now uses Encoding in multipart messages +* Can set encoding and type to attachments 7bit, 8bit +and binary attachment are sent as is, base64 are encoded +* Can set Encoding to base64 to send 8 bits body +through 7 bits servers + +Version 1.10 (Tue, Jun 12 2001) +* Fixed win32 mail header bug (printed out headers in message body) + +Version 1.09 (Fri, Jun 08 2001) +* Changed date header to work with Netscape mail programs +* Altered phpdoc documentation + +Version 1.08 (Tue, Jun 05 2001) +* Added enhanced error-checking +* Added phpdoc documentation to source + +Version 1.06 (Fri, Jun 01 2001) +* Added optional name for file attachments + +Version 1.05 (Tue, May 29 2001) +* Code cleanup +* Eliminated sendmail header warning message +* Fixed possible SMTP error + +Version 1.03 (Thu, May 24 2001) +* Fixed problem where qmail sends out duplicate messages + +Version 1.02 (Wed, May 23 2001) +* Added multiple recipient and attachment Clear* methods +* Added Sendmail public variable +* Fixed problem with loading SMTP library multiple times + +Version 0.98 (Tue, May 22 2001) +* Fixed problem with redundant mail hosts sending out multiple messages +* Added additional error handler code +* Added AddCustomHeader() function +* Added support for Microsoft mail client headers (affects priority) +* Fixed small bug with Mailer variable +* Added PrintVersion() function + +Version 0.92 (Tue, May 15 2001) +* Changed file names to class.phpmailer.php and class.smtp.php to match + current PHP class trend. +* Fixed problem where body not being printed when a message is attached +* Several small bug fixes + +Version 0.90 (Tue, April 17 2001) +* Intial public release diff --git a/phpmailer/LICENSE b/phpmailer/LICENSE new file mode 100755 index 0000000..f3f1b3b --- /dev/null +++ b/phpmailer/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/phpmailer/README b/phpmailer/README new file mode 100755 index 0000000..18f66ed --- /dev/null +++ b/phpmailer/README @@ -0,0 +1,85 @@ +phpmailer - PHP email class +============================== +http://phpmailer.sourceforge.net + +Please read LICENSE for information on this softwares availability and +distribution. + +Class Features: +- Send emails with multiple TOs, CCs, BCCs and REPLY-TOs +- Redundant SMTP servers +- Multipart/alternative emails for mail clients that do not read HTML email +- Support for 8bit, base64, binary, and quoted-printable encoding +- Uses the same methods as the very popular AspEmail active server (COM) component +- SMTP authentication +- Word wrap +- Many more... + +Why you might need it: + +Many PHP developers utilize email in their code. The only PHP function +that supports this is the mail() function. However, it does not expose +any of the popular features that many email clients use nowadays like +HTML-based emails and attachments. There are two proprietary +development tools out there that have all the functionality built into +easy to use classes: AspEmail(tm) and AspMail. Both of these +programs are COM components only available on Windows. They are also a +little pricey for smaller projects. + +Since I do Linux development I’ve missed these tools for my PHP coding. +So I built a version myself that implements the same methods (object +calls) that the Windows-based components do. It is open source and the +LGPL license allows you to place the class in your proprietary PHP +projects. + + +Installation: + +Copy class.phpmailer.php into your php.ini include_path. If you are +using the SMTP mailer then place class.smtp.php in your path as well. + +Example + +IsSMTP(); // set mailer to use SMTP +$mail->Host = "smtp1.site.com;smtp2.site.com"; // specify main and backup server +$mail->SMTPAuth = true // turn on SMTP authentication +$mail->Username = "jswan" // SMTP username +$mail->Password = "secret" // SMTP password + +$mail->From = "from@email.com"; +$mail->FromName = "Mailer"; +$mail->AddAddress("josh@site.com", "Josh Adams"); +$mail->AddAddress("ellen@site.com"); // name is optional +$mail->AddReplyTo("info@site.com", "Information"); + +$mail->WordWrap = 50; // set word wrap to 50 characters +$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments +$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name +$mail->IsHTML(true); // set email format to HTML + +$mail->Subject = "Here is the subject"; +$mail->Body = "This is the HTML message body in bold!"; +$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; + +if(!$mail->Send()) +{ + echo "Message could not be sent.

"; + echo "Mailer Error: " . $mail->ErrorInfo; + exit; +} + +echo "Message has been sent"; +?> + +CHANGELOG + +See ChangeLog.txt + +Download: http://sourceforge.net/project/showfiles.php?group_id=26031 + +Brent R. Matzelle diff --git a/phpmailer/class.phpmailer.php b/phpmailer/class.phpmailer.php new file mode 100755 index 0000000..ff2b3cb --- /dev/null +++ b/phpmailer/class.phpmailer.php @@ -0,0 +1,1636 @@ + +// +// License: LGPL, see LICENSE +//////////////////////////////////////////////////// + +/** + * phpmailer - PHP email transport class + * @author Brent R. Matzelle + */ +class phpmailer +{ + ///////////////////////////////////////////////// + // PUBLIC VARIABLES + ///////////////////////////////////////////////// + + /** + * Email priority (1 = High, 3 = Normal, 5 = low). + * @access public + * @var int + */ + var $Priority = 3; + + /** + * Sets the CharSet of the message. + * @access public + * @var string + */ + var $CharSet = "iso-8859-1"; + + /** + * Sets the Content-type of the message. + * @access public + * @var string + */ + var $ContentType = "text/plain"; + + /** + * Sets the Encoding of the message. Options for this are "8bit", + * "7bit", "binary", "base64", and "quoted-printable". + * @access public + * @var string + */ + var $Encoding = "8bit"; + + /** + * Holds the most recent mailer error message. + * @access public + * @var string + */ + var $ErrorInfo = ""; + + /** + * Sets the From email address for the message. + * @access public + * @var string + */ + var $From = "root@localhost"; + + /** + * Sets the From name of the message. + * @access public + * @var string + */ + var $FromName = "Root User"; + + /** + * Sets the Sender email of the message. If not empty, will be sent via -f to sendmail + * or as 'MAIL FROM' in smtp mode. + * @access public + * @var string + */ + var $Sender = ""; + + /** + * Sets the Subject of the message. + * @access public + * @var string + */ + var $Subject = ""; + + /** + * Sets the Body of the message. This can be either an HTML or text body. + * If HTML then run IsHTML(true). + * @access public + * @var string + */ + var $Body = ""; + + /** + * Sets the text-only body of the message. This automatically sets the + * email to multipart/alternative. This body can be read by mail + * clients that do not have HTML email capability such as mutt. Clients + * that can read HTML will view the normal Body. + * @access public + * @var string + */ + var $AltBody = ""; + + /** + * Sets word wrapping on the body of the message to a given number of + * characters. + * @access public + * @var int + */ + var $WordWrap = 0; + + /** + * Method to send mail: ("mail", "sendmail", or "smtp"). + * @access public + * @var string + */ + var $Mailer = "mail"; + + /** + * Sets the path of the sendmail program. + * @access public + * @var string + */ + var $Sendmail = "/usr/sbin/sendmail"; + + /** + * Turns Microsoft mail client headers on and off. Useful mostly + * for older clients. + * @access public + * @var bool + */ + var $UseMSMailHeaders = false; + + /** + * Path to phpmailer plugins. This is now only useful if the SMTP class + * is in a different directory than the PHP include path. + * @access public + * @var string + */ + var $PluginDir = "phpmailer/"; + + /** + * Holds phpmailer version. + * @access public + * @var string + */ + var $Version = "1.62"; + + /** + * Sets the email address that a reading confirmation will be sent. + * @access public + * @var string + */ + var $ConfirmReadingTo = ""; + + /** + * Sets the line endings of the message. + * @access public + * @var string + */ + var $LE = "\n"; + + + ///////////////////////////////////////////////// + // SMTP VARIABLES + ///////////////////////////////////////////////// + + /** + * Sets the SMTP hosts. All hosts must be separated by a + * semicolon. You can also specify a different port + * for each host by using this format: [hostname:port] + * (e.g. "smtp1.domain.com:25;smtp2.domain.com"). + * Hosts will be tried in order. + * @access public + * @var string + */ + var $Host = "localhost"; + + /** + * Sets the default SMTP server port. + * @access public + * @var int + */ + var $Port = 25; + + /** + * Sets the SMTP HELO of the message. + * @access public + * @var string + */ + var $Helo = "localhost.localdomain"; + + /** + * Sets SMTP authentication. Utilizes the Username and Password variables. + * @access public + * @var bool + */ + var $SMTPAuth = false; + + /** + * Sets SMTP username. + * @access public + * @var string + */ + var $Username = ""; + + /** + * Sets SMTP password. + * @access public + * @var string + */ + var $Password = ""; + + /** + * Sets the SMTP server timeout in seconds. This function will not + * work with the win32 version. + * @access public + * @var int + */ + var $Timeout = 10; + + /** + * Sets SMTP class debugging on or off. + * @access public + * @var bool + */ + var $SMTPDebug = false; + + + ///////////////////////////////////////////////// + // PRIVATE VARIABLES + ///////////////////////////////////////////////// + + /** + * Holds all "To" addresses. + * @access private + * @var array + */ + var $to = array(); + + /** + * Holds all "CC" addresses. + * @access private + * @var array + */ + var $cc = array(); + + /** + * Holds all "BCC" addresses. + * @access private + * @var array + */ + var $bcc = array(); + + /** + * Holds all "Reply-To" addresses. + * @var array + */ + var $ReplyTo = array(); + + /** + * Holds all string and binary attachments. + * @access private + * @var array + */ + var $attachment = array(); + + /** + * Holds all custom headers. + * @var array + */ + var $CustomHeader = array(); + + /** + * Holds the type of the message. + * @var string + */ + var $message_type = ""; + + /** + * Holds the message boundaries. + * @access private + * @var string array + */ + var $boundary = array(); + + ///////////////////////////////////////////////// + // VARIABLE METHODS + ///////////////////////////////////////////////// + + /** + * Sets message type to HTML. Returns void. + * @access public + * @return void + */ + function IsHTML($bool) { + if($bool == true) + $this->ContentType = "text/html"; + else + $this->ContentType = "text/plain"; + } + + /** + * Sets Mailer to send message using SMTP. + * Returns void. + * @access public + * @return void + */ + function IsSMTP() { + $this->Mailer = "smtp"; + } + + /** + * Sets Mailer to send message using PHP mail() function. + * Returns void. + * @access public + * @return void + */ + function IsMail() { + $this->Mailer = "mail"; + } + + /** + * Sets Mailer to send message using the $Sendmail program. + * Returns void. + * @access public + * @return void + */ + function IsSendmail() { + $this->Mailer = "sendmail"; + } + + /** + * Sets Mailer to send message using the qmail MTA. Returns void. + * @access public + * @return void + */ + function IsQmail() { + //$this->Sendmail = "/var/qmail/bin/qmail-inject"; + $this->Sendmail = "/var/qmail/bin/sendmail"; + $this->Mailer = "sendmail"; + } + + + ///////////////////////////////////////////////// + // RECIPIENT METHODS + ///////////////////////////////////////////////// + + /** + * Adds a "To" address. Returns void. + * @access public + * @return void + */ + function AddAddress($address, $name = "") { + $cur = count($this->to); + $this->to[$cur][0] = trim($address); + $this->to[$cur][1] = $name; + } + + /** + * Adds a "Cc" address. Note: this function works + * with the SMTP mailer on win32, not with the "mail" + * mailer. This is a PHP bug that has been submitted + * on http://bugs.php.net. The *NIX version of PHP + * functions correctly. Returns void. + * @access public + * @return void + */ + function AddCC($address, $name = "") { + $cur = count($this->cc); + $this->cc[$cur][0] = trim($address); + $this->cc[$cur][1] = $name; + } + + /** + * Adds a "Bcc" address. Note: this function works + * with the SMTP mailer on win32, not with the "mail" + * mailer. This is a PHP bug that has been submitted + * on http://bugs.php.net. The *NIX version of PHP + * functions correctly. + * Returns void. + * @access public + * @return void + */ + function AddBCC($address, $name = "") { + $cur = count($this->bcc); + $this->bcc[$cur][0] = trim($address); + $this->bcc[$cur][1] = $name; + } + + /** + * Adds a "Reply-to" address. Returns void. + * @access public + * @return void + */ + function AddReplyTo($address, $name = "") { + $cur = count($this->ReplyTo); + $this->ReplyTo[$cur][0] = trim($address); + $this->ReplyTo[$cur][1] = $name; + } + + + ///////////////////////////////////////////////// + // MAIL SENDING METHODS + ///////////////////////////////////////////////// + + /** + * Creates message and assigns Mailer. If the message is + * not sent successfully then it returns false. Use the ErrorInfo + * variable to view description of the error. Returns bool. + * @access public + * @return bool + */ + function Send() { + $header = ""; + $body = ""; + + if((count($this->to) + count($this->cc) + count($this->bcc)) < 1) + { + $this->error_handler("You must provide at least one recipient email address"); + return false; + } + + // Set whether the message is multipart/alternative + if(!empty($this->AltBody)) + $this->ContentType = "multipart/alternative"; + + // Attach sender information & date + $header = $this->received(); + $header .= sprintf("Date: %s%s", $this->rfc_date(), $this->LE); + $header .= $this->create_header(); + + if(!$body = $this->create_body()) + return false; + + //echo "

".$header . $body . "
"; // debugging + + // Choose the mailer + if($this->Mailer == "sendmail") + { + if(!$this->sendmail_send($header, $body)) + return false; + } + elseif($this->Mailer == "mail") + { + if(!$this->mail_send($header, $body)) + return false; + } + elseif($this->Mailer == "smtp") + { + if(!$this->smtp_send($header, $body)) + return false; + } + else + { + $this->error_handler(sprintf("%s mailer is not supported", $this->Mailer)); + return false; + } + + return true; + } + + /** + * Sends mail message to an assigned queue directory. Has an optional + * sendTime argument. This is used when the user wants the + * message to be sent from the queue at a predetermined time. + * The data must be a valid timestamp like that returned from + * the time() or strtotime() functions. Returns false on failure + * or the message file name if success. + * @access public + * @return string + */ + function SendToQueue($queue_path, $send_time = 0) { + $message = array(); + $header = ""; + $body = ""; + + // If invalid or empty just set to the current time + if($send_time == 0) + $send_time = time(); + + if(!is_dir($queue_path)) + { + $this->error_handler("The supplied queue directory does not exist"); + return false; + } + + if((count($this->to) + count($this->cc) + count($this->bcc)) < 1) + { + $this->error_handler("You must provide at least one recipient email address"); + return false; + } + + // Set whether the message is multipart/alternative + if(!empty($this->AltBody)) + $this->ContentType = "multipart/alternative"; + + $header = $this->create_header(); + if(!$body = $this->create_body()) + return false; + + // Seed randomizer + mt_srand(time()); + $msg_id = md5(uniqid(mt_rand())); + + $fp = @fopen($queue_path . $msg_id . ".pqm", "wb"); + if(!$fp) + { + $this->error_handler(sprintf("Could not write to %s directory", $queue_path)); + return false; + } + + $message[] = sprintf("----START PQM HEADER----%s", $this->LE); + $message[] = sprintf("SendTime: %s%s", $send_time, $this->LE); + $message[] = sprintf("Mailer: %s%s", $this->Mailer, $this->LE); + + // Choose the mailer + if($this->Mailer == "sendmail") + { + $message[] = sprintf("Sendmail: %s%s", $this->Sendmail, $this->LE); + $message[] = sprintf("Sender: %s%s", $this->Sender, $this->LE); + } + elseif($this->Mailer == "mail") + { + $message[] = sprintf("Sender: %s%s", $this->Sender, $this->LE); + $message[] = sprintf("Subject: %s%s", $this->Subject, $this->LE); + $message[] = sprintf("to: %s%s", $this->addr_list($this->to), $this->LE); + } + elseif($this->Mailer == "smtp") + { + $message[] = sprintf("Host: %s%s", $this->Host, $this->LE); + $message[] = sprintf("Port: %d%s", $this->Port, $this->LE); + $message[] = sprintf("Helo: %s%s", $this->Helo, $this->LE); + $message[] = sprintf("Timeout: %d%s", $this->Timeout, $this->LE); + + if($this->SMTPAuth) + $auth_no = 1; + else + $auth_no = 0; + $message[] = sprintf("SMTPAuth: %d%s", $auth_no, $this->LE); + $message[] = sprintf("Username: %s%s", $this->Username, $this->LE); + $message[] = sprintf("Password: %s%s", $this->Password, $this->LE); + $message[] = sprintf("From: %s%s", $this->From, $this->LE); + + $message[] = sprintf("to: %s%s", $this->addr_list($this->to), $this->LE); + $message[] = sprintf("cc: %s%s", $this->addr_list($this->cc), $this->LE); + $message[] = sprintf("bcc: %s%s", $this->addr_list($this->bcc), $this->LE); + } + else + { + $this->error_handler(sprintf("%s mailer is not supported", $this->Mailer)); + return false; + } + + $message[] = sprintf("----END PQM HEADER----%s", $this->LE); // end of pqm header + $message[] = $header; + $message[] = $body; + + if(fwrite($fp, join("", $message)) == -1) + { + $this->error_handler("Write to file failed"); + return false; + } + fclose($fp); + + return ($msg_id . ".pqm"); + } + + /** + * Sends mail using the $Sendmail program. Returns bool. + * @access private + * @return bool + */ + function sendmail_send($header, $body) { + if ($this->Sender != "") + $sendmail = sprintf("%s -oi -f %s -t", $this->Sendmail, $this->Sender); + else + $sendmail = sprintf("%s -oi -t", $this->Sendmail); + + if(!@$mail = popen($sendmail, "w")) + { + $this->error_handler(sprintf("Could not execute %s", $this->Sendmail)); + return false; + } + + fputs($mail, $header); + fputs($mail, $body); + + $result = pclose($mail) >> 8 & 0xFF; + if($result != 0) + { + $this->error_handler(sprintf("Could not execute %s", $this->Sendmail)); + return false; + } + + return true; + } + + /** + * Sends mail using the PHP mail() function. Returns bool. + * @access private + * @return bool + */ + function mail_send($header, $body) { + //$to = substr($this->addr_append("To", $this->to), 4, -2); + + // Cannot add Bcc's to the $to + $to = $this->to[0][0]; // no extra comma + for($i = 1; $i < count($this->to); $i++) + $to .= sprintf(",%s", $this->to[$i][0]); + + if ($this->Sender != "" && PHP_VERSION >= "4.0") + { + $old_from = ini_get("sendmail_from"); + ini_set("sendmail_from", $this->Sender); + } + + if ($this->Sender != "" && PHP_VERSION >= "4.0.5") + { + // The fifth parameter to mail is only available in PHP >= 4.0.5 + $params = sprintf("-oi -f %s", $this->Sender); + $rt = @mail($to, $this->Subject, $body, $header, $params); + } + else + { + $rt = @mail($to, $this->Subject, $body, $header); + } + + if (isset($old_from)) + ini_set("sendmail_from", $old_from); + + if(!$rt) + { + $this->error_handler("Could not instantiate mail()"); + return false; + } + + return true; + } + + /** + * Sends mail via SMTP using PhpSMTP (Author: + * Chris Ryan). Returns bool. Returns false if there is a + * bad MAIL FROM, RCPT, or DATA input. + * @access private + * @return bool + */ + function smtp_send($header, $body) { + // Include SMTP class code, but not twice + include_once($this->PluginDir . "class.smtp.php"); + + $smtp = new SMTP; + + $smtp->do_debug = $this->SMTPDebug; + + // Try to connect to all SMTP servers + $hosts = explode(";", $this->Host); + $index = 0; + $connection = false; + $smtp_from = ""; + $bad_rcpt = array(); + $e = ""; + + // Retry while there is no connection + while($index < count($hosts) && $connection == false) + { + if(strstr($hosts[$index], ":")) + list($host, $port) = explode(":", $hosts[$index]); + else + { + $host = $hosts[$index]; + $port = $this->Port; + } + + if($smtp->Connect($host, $port, $this->Timeout)) + $connection = true; + //printf("%s host could not connect
", $hosts[$index]); //debug only + $index++; + } + if(!$connection) + { + $this->error_handler("SMTP Error: could not connect to SMTP host server(s)"); + return false; + } + + // Must perform HELO before authentication + $smtp->Hello($this->Helo); + + // If user requests SMTP authentication + if($this->SMTPAuth) + { + if(!$smtp->Authenticate($this->Username, $this->Password)) + { + $this->error_handler("SMTP Error: Could not authenticate"); + return false; + } + } + + if ($this->Sender == "") + $smtp_from = $this->From; + else + $smtp_from = $this->Sender; + + if(!$smtp->Mail(sprintf("<%s>", $smtp_from))) + { + $e = sprintf("SMTP Error: From address [%s] failed", $smtp_from); + $this->error_handler($e); + return false; + } + + // Attempt to send attach all recipients + for($i = 0; $i < count($this->to); $i++) + { + if(!$smtp->Recipient(sprintf("<%s>", $this->to[$i][0]))) + $bad_rcpt[] = $this->to[$i][0]; + } + for($i = 0; $i < count($this->cc); $i++) + { + if(!$smtp->Recipient(sprintf("<%s>", $this->cc[$i][0]))) + $bad_rcpt[] = $this->cc[$i][0]; + } + for($i = 0; $i < count($this->bcc); $i++) + { + if(!$smtp->Recipient(sprintf("<%s>", $this->bcc[$i][0]))) + $bad_rcpt[] = $this->bcc[$i][0]; + } + + // Create error message + if(count($bad_rcpt) > 0) + { + for($i = 0; $i < count($bad_rcpt); $i++) + { + if($i != 0) + $e .= ", "; + $e .= $bad_rcpt[$i]; + } + $e = sprintf("SMTP Error: The following recipients failed [%s]", $e); + $this->error_handler($e); + + return false; + } + + + if(!$smtp->Data(sprintf("%s%s", $header, $body))) + { + $this->error_handler("SMTP Error: Data not accepted"); + return false; + } + $smtp->Quit(); + + return true; + } + + + ///////////////////////////////////////////////// + // MESSAGE CREATION METHODS + ///////////////////////////////////////////////// + + /** + * Creates recipient headers. Returns string. + * @access private + * @return string + */ + function addr_append($type, $addr) { + $addr_str = $type . ": "; + $addr_str .= $this->addr_format($addr[0]); + if(count($addr) > 1) + { + for($i = 1; $i < count($addr); $i++) + { + $addr_str .= sprintf(", %s", $this->addr_format($addr[$i])); + } + $addr_str .= $this->LE; + } + else + $addr_str .= $this->LE; + + return($addr_str); + } + + /** + * Creates a semicolon delimited list for use in pqm files. + * @access private + * @return string + */ + function addr_list($list_array) { + $addr_list = ""; + for($i = 0; $i < count($list_array); $i++) + { + if($i > 0) + $addr_list .= ";"; + $addr_list .= $list_array[$i][0]; + } + + return $addr_list; + } + + /** + * Formats an address correctly. + * @access private + * @return string + */ + function addr_format($addr) { + if(empty($addr[1])) + $formatted = $addr[0]; + else + $formatted = sprintf('"%s" <%s>', addslashes($addr[1]), $addr[0]); + + return $formatted; + } + + /** + * Wraps message for use with mailers that do not + * automatically perform wrapping and for quoted-printable. + * Original written by philippe. Returns string. + * @access private + * @return string + */ + function word_wrap($message, $length, $qp_mode = false) { + if ($qp_mode) + $soft_break = sprintf(" =%s", $this->LE); + else + $soft_break = $this->LE; + + $message = $this->fix_eol($message); + if (substr($message, -1) == $this->LE) + $message = substr($message, 0, -1); + + $line = explode($this->LE, $message); + $message = ""; + for ($i=0 ;$i < count($line); $i++) + { + $line_part = explode(" ", $line[$i]); + $buf = ""; + for ($e = 0; $e $length)) + { + $space_left = $length - strlen($buf) - 1; + if ($e != 0) + { + if ($space_left > 20) + { + $len = $space_left; + if (substr($word, $len - 1, 1) == "=") + $len--; + elseif (substr($word, $len - 2, 1) == "=") + $len -= 2; + $part = substr($word, 0, $len); + $word = substr($word, $len); + $buf .= " " . $part; + $message .= $buf . sprintf("=%s", $this->LE); + } + else + { + $message .= $buf . $soft_break; + } + $buf = ""; + } + while (strlen($word) > 0) + { + $len = $length; + if (substr($word, $len - 1, 1) == "=") + $len--; + elseif (substr($word, $len - 2, 1) == "=") + $len -= 2; + $part = substr($word, 0, $len); + $word = substr($word, $len); + + if (strlen($word) > 0) + $message .= $part . sprintf("=%s", $this->LE); + else + $buf = $part; + } + } + else + { + $buf_o = $buf; + if ($e == 0) + $buf .= $word; + else + $buf .= " " . $word; + if (strlen($buf) > $length and $buf_o != "") + { + $message .= $buf_o . $soft_break; + $buf = $word; + } + } + } + $message .= $buf . $this->LE; + } + + return ($message); + } + + /** + * Set the body wrapping. + * @access private + * @return void + */ + function SetWordWrap() { + if($this->WordWrap < 1) + return; + + switch($this->message_type) + { + case "alt": + case "alt_attachment": + $this->AltBody = $this->word_wrap($this->AltBody, $this->WordWrap); + break; + default: + $this->Body = $this->word_wrap($this->Body, $this->WordWrap); + break; + } + } + + /** + * Assembles message header. Returns a string if successful + * or false if unsuccessful. + * @access private + * @return string + */ + function create_header() { + $header = array(); + + // Set the boundaries + $uniq_id = md5(uniqid(time())); + $this->boundary[1] = "b1_" . $uniq_id; + $this->boundary[2] = "b2_" . $uniq_id; + + // To be created automatically by mail() + if(($this->Mailer != "mail") && (count($this->to) > 0)) + $header[] = $this->addr_append("To", $this->to); + + $header[] = sprintf("From: \"%s\" <%s>%s", addslashes($this->FromName), + trim($this->From), $this->LE); + if(count($this->cc) > 0) + $header[] = $this->addr_append("Cc", $this->cc); + + // sendmail and mail() extract Bcc from the header before sending + if((($this->Mailer == "sendmail") || ($this->Mailer == "mail")) && (count($this->bcc) > 0)) + $header[] = $this->addr_append("Bcc", $this->bcc); + + if(count($this->ReplyTo) > 0) + $header[] = $this->addr_append("Reply-to", $this->ReplyTo); + + // mail() sets the subject itself + if($this->Mailer != "mail") + $header[] = sprintf("Subject: %s%s", trim($this->Subject), $this->LE); + + $header[] = sprintf("X-Priority: %d%s", $this->Priority, $this->LE); + $header[] = sprintf("X-Mailer: phpmailer [version %s]%s", $this->Version, $this->LE); + $header[] = sprintf("Return-Path: %s%s", trim($this->From), $this->LE); + + if($this->ConfirmReadingTo != "") + $header[] = sprintf("Disposition-Notification-To: <%s>%s", + trim($this->ConfirmReadingTo), $this->LE); + + // Add custom headers + for($index = 0; $index < count($this->CustomHeader); $index++) + $header[] = sprintf("%s%s", $this->CustomHeader[$index], $this->LE); + + if($this->UseMSMailHeaders) + $header[] = $this->AddMSMailHeaders(); + + $header[] = sprintf("MIME-Version: 1.0%s", $this->LE); + + // Determine what type of message this is + if(count($this->attachment) < 1 && strlen($this->AltBody) < 1) + $this->message_type = "plain"; + else + { + if(count($this->attachment) > 0) + $this->message_type = "attachments"; + if(strlen($this->AltBody) > 0 && count($this->attachment) < 1) + $this->message_type = "alt"; + if(strlen($this->AltBody) > 0 && count($this->attachment) > 0) + $this->message_type = "alt_attachments"; + } + + switch($this->message_type) + { + case "plain": + $header[] = sprintf("Content-Transfer-Encoding: %s%s", + $this->Encoding, $this->LE); + $header[] = sprintf("Content-Type: %s; charset = \"%s\"", + $this->ContentType, $this->CharSet); + break; + case "attachments": + case "alt_attachments": + if($this->EmbeddedImageCount() > 0) + { + $header[] = sprintf("Content-Type: %s;%s\ttype=\"text/html\";%s\tboundary=\"%s\"%s", + "multipart/related", $this->LE, $this->LE, + $this->boundary[1], $this->LE); + } + else + { + $header[] = sprintf("Content-Type: %s;%s", + "multipart/mixed", $this->LE); + $header[] = sprintf("\tboundary=\"%s\"%s", $this->boundary[1], $this->LE); + } + break; + case "alt": + $header[] = sprintf("Content-Type: %s;%s", + "multipart/alternative", $this->LE); + $header[] = sprintf("\tboundary=\"%s\"%s", $this->boundary[1], $this->LE); + break; + } + + // No additional lines when using mail() function + if($this->Mailer != "mail") + $header[] = $this->LE.$this->LE; + + return(join("", $header)); + } + + /** + * Assembles the message body. Returns a string if successful + * or false if unsuccessful. + * @access private + * @return string + */ + function create_body() { + $body = array(); + + $this->SetWordWrap(); + + switch($this->message_type) + { + case "alt": + // Return text of body + $bndry = new Boundary($this->boundary[1]); + $bndry->CharSet = $this->CharSet; + $bndry->Encoding = $this->Encoding; + $body[] = $bndry->GetSource(); + + $body[] = sprintf("%s%s", $this->AltBody, $this->LE.$this->LE); + + $bndry = new Boundary($this->boundary[1]); + $bndry->CharSet = $this->CharSet; + $bndry->ContentType = "text/html"; + $bndry->Encoding = $this->Encoding; + $body[] = $bndry->GetSource(); + + $body[] = sprintf("%s%s", $this->Body, $this->LE.$this->LE); + + // End the boundary + $body[] = sprintf("%s--%s--%s", $this->LE, + $this->boundary[1], $this->LE.$this->LE); + break; + case "plain": + $body[] = $this->Body; + break; + case "attachments": + $bndry = new Boundary($this->boundary[1]); + $bndry->CharSet = $this->CharSet; + $bndry->ContentType = $this->ContentType; + $bndry->Encoding = $this->Encoding; + $body[] = sprintf("%s%s%s%s", $bndry->GetSource(false), $this->LE, + $this->Body, $this->LE); + + if(!$body[] = $this->attach_all()) + return false; + break; + case "alt_attachments": + $body[] = sprintf("--%s%s", $this->boundary[1], $this->LE); + $body[] = sprintf("Content-Type: %s;%s" . + "\tboundary=\"%s\"%s", + "multipart/alternative", $this->LE, + $this->boundary[2], $this->LE.$this->LE); + + // Create text body + $bndry = new Boundary($this->boundary[2]); + $bndry->CharSet = $this->CharSet; + $bndry->ContentType = "text/plain"; + $bndry->Encoding = $this->Encoding; + $body[] = $bndry->GetSource() . $this->LE; + + $body[] = sprintf("%s%s", $this->AltBody, $this->LE.$this->LE); + + // Create the HTML body + $bndry = new Boundary($this->boundary[2]); + $bndry->CharSet = $this->CharSet; + $bndry->ContentType = "text/html"; + $bndry->Encoding = $this->Encoding; + $body[] = $bndry->GetSource() . $this->LE; + + $body[] = sprintf("%s%s", $this->Body, $this->LE.$this->LE); + + $body[] = sprintf("%s--%s--%s", $this->LE, + $this->boundary[2], $this->LE.$this->LE); + + if(!$body[] = $this->attach_all()) + return false; + break; + } + // Add the encode string code here + $sBody = join("", $body); + $sBody = $this->encode_string($sBody, $this->Encoding); + + return $sBody; + } + + + ///////////////////////////////////////////////// + // ATTACHMENT METHODS + ///////////////////////////////////////////////// + + /** + * Adds an attachment from a path on the filesystem. + * Checks if attachment is valid and then adds + * the attachment to the list. + * Returns false if the file could not be found + * or accessed. + * @access public + * @return bool + */ + function AddAttachment($path, $name = "", $encoding = "base64", $type = "application/octet-stream") { + if(!@is_file($path)) + { + $this->error_handler(sprintf("Could not access [%s] file", $path)); + return false; + } + + $filename = basename($path); + if($name == "") + $name = $filename; + + // Append to $attachment array + $cur = count($this->attachment); + $this->attachment[$cur][0] = $path; + $this->attachment[$cur][1] = $filename; + $this->attachment[$cur][2] = $name; + $this->attachment[$cur][3] = $encoding; + $this->attachment[$cur][4] = $type; + $this->attachment[$cur][5] = false; // isStringAttachment + $this->attachment[$cur][6] = "attachment"; + $this->attachment[$cur][7] = 0; + + return true; + } + + /** + * Attaches all fs, string, and binary attachments to the message. + * Returns a string if successful or false if unsuccessful. + * @access private + * @return string + */ + function attach_all() { + // Return text of body + $mime = array(); + + // Add all attachments + for($i = 0; $i < count($this->attachment); $i++) + { + // Check for string attachment + $bString = $this->attachment[$i][5]; + if ($bString) + { + $string = $this->attachment[$i][0]; + } + else + { + $path = $this->attachment[$i][0]; + } + $filename = $this->attachment[$i][1]; + $name = $this->attachment[$i][2]; + $encoding = $this->attachment[$i][3]; + $type = $this->attachment[$i][4]; + $disposition = $this->attachment[$i][6]; + $cid = $this->attachment[$i][7]; + + $mime[] = sprintf("--%s%s", $this->boundary[1], $this->LE); + $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $name, $this->LE); + $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE); + + if($disposition == "inline") + $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE); + else + $mime[] = sprintf("Content-ID: <%s>%s", $name, $this->LE); + + $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", + $disposition, $name, $this->LE.$this->LE); + + // Encode as string attachment + if($bString) + { + if(!$mime[] = $this->encode_string($string, $encoding)) + return false; + $mime[] = $this->LE.$this->LE; + } + else + { + if(!$mime[] = $this->encode_file($path, $encoding)) + return false; + $mime[] = $this->LE.$this->LE; + } + } + + $mime[] = sprintf("--%s--%s", $this->boundary[1], $this->LE); + + return(join("", $mime)); + } + + /** + * Encodes attachment in requested format. Returns a + * string if successful or false if unsuccessful. + * @access private + * @return string + */ + function encode_file ($path, $encoding = "base64") { + if(!@$fd = fopen($path, "rb")) + { + $this->error_handler(sprintf("File Error: Could not open file %s", $path)); + return false; + } + $file_buffer = fread($fd, filesize($path)); + $file_buffer = $this->encode_string($file_buffer, $encoding); + fclose($fd); + + return $file_buffer; + } + + /** + * Encodes string to requested format. Returns a + * string if successful or false if unsuccessful. + * @access private + * @return string + */ + function encode_string ($str, $encoding = "base64") { + switch(strtolower($encoding)) { + case "base64": + // chunk_split is found in PHP >= 3.0.6 + $encoded = chunk_split(base64_encode($str)); + break; + + case "7bit": + case "8bit": + $encoded = $this->fix_eol($str); + if (substr($encoded, -2) != $this->LE) + $encoded .= $this->LE; + break; + + case "binary": + $encoded = $str; + break; + + case "quoted-printable": + $encoded = $this->encode_qp($str); + break; + + default: + $this->error_handler(sprintf("Unknown encoding: %s", $encoding)); + return false; + } + return($encoded); + } + + /** + * Encode string to quoted-printable. Returns a string. + * @access private + * @return string + */ + function encode_qp ($str) { + $encoded = $this->fix_eol($str); + if (substr($encoded, -2) != $this->LE) + $encoded .= $this->LE; + + // Replace every high ascii, control and = characters + $encoded = preg_replace("/([\001-\010\013\014\016-\037\075\177-\377])/e", + "'='.sprintf('%02X', ord('\\1'))", $encoded); + // Replace every spaces and tabs when it's the last character on a line + $encoded = preg_replace("/([\011\040])".$this->LE."/e", + "'='.sprintf('%02X', ord('\\1')).'".$this->LE."'", $encoded); + + // Maximum line length of 76 characters before CRLF (74 + space + '=') + $encoded = $this->word_wrap($encoded, 74, true); + + return $encoded; + } + + /** + * Adds a string or binary attachment (non-filesystem) to the list. + * This method can be used to attach ascii or binary data, + * such as a BLOB record from a database. + * @access public + * @return void + */ + function AddStringAttachment($string, $filename, $encoding = "base64", $type = "application/octet-stream") { + // Append to $attachment array + $cur = count($this->attachment); + $this->attachment[$cur][0] = $string; + $this->attachment[$cur][1] = $filename; + $this->attachment[$cur][2] = $filename; + $this->attachment[$cur][3] = $encoding; + $this->attachment[$cur][4] = $type; + $this->attachment[$cur][5] = true; // isString + $this->attachment[$cur][6] = "attachment"; + $this->attachment[$cur][7] = 0; + } + + /** + * Adds an embedded attachment. This can include images, sounds, and + * just about any other document. + * @param cid this is the Content Id of the attachment. Use this to identify + * the Id for accessing the image in an HTML form. + * @access public + * @return bool + */ + function AddEmbeddedImage($path, $cid, $name = "", $encoding = "base64", $type = "application/octet-stream") { + + if(!@is_file($path)) + { + $this->error_handler(sprintf("Could not access [%s] file", $path)); + return false; + } + + $filename = basename($path); + if($name == "") + $name = $filename; + + // Append to $attachment array + $cur = count($this->attachment); + $this->attachment[$cur][0] = $path; + $this->attachment[$cur][1] = $filename; + $this->attachment[$cur][2] = $name; + $this->attachment[$cur][3] = $encoding; + $this->attachment[$cur][4] = $type; + $this->attachment[$cur][5] = false; // isStringAttachment + $this->attachment[$cur][6] = "inline"; + $this->attachment[$cur][7] = $cid; + + return true; + } + + /** + * Returns the number of embedded images in an email. + * @access private + * @return int + */ + function EmbeddedImageCount() { + $ret = 0; + for($i = 0; $i < count($this->attachment); $i++) + { + if($this->attachment[$i][6] == "inline") + $ret++; + } + + return $ret; + } + + ///////////////////////////////////////////////// + // MESSAGE RESET METHODS + ///////////////////////////////////////////////// + + /** + * Clears all recipients assigned in the TO array. Returns void. + * @access public + * @return void + */ + function ClearAddresses() { + $this->to = array(); + } + + /** + * Clears all recipients assigned in the CC array. Returns void. + * @access public + * @return void + */ + function ClearCCs() { + $this->cc = array(); + } + + /** + * Clears all recipients assigned in the BCC array. Returns void. + * @access public + * @return void + */ + function ClearBCCs() { + $this->bcc = array(); + } + + /** + * Clears all recipients assigned in the ReplyTo array. Returns void. + * @access public + * @return void + */ + function ClearReplyTos() { + $this->ReplyTo = array(); + } + + /** + * Clears all recipients assigned in the TO, CC and BCC + * array. Returns void. + * @access public + * @return void + */ + function ClearAllRecipients() { + $this->to = array(); + $this->cc = array(); + $this->bcc = array(); + } + + /** + * Clears all previously set filesystem, string, and binary + * attachments. Returns void. + * @access public + * @return void + */ + function ClearAttachments() { + $this->attachment = array(); + } + + /** + * Clears all custom headers. Returns void. + * @access public + * @return void + */ + function ClearCustomHeaders() { + $this->CustomHeader = array(); + } + + + ///////////////////////////////////////////////// + // MISCELLANEOUS METHODS + ///////////////////////////////////////////////// + + /** + * Adds the error message to the error container. + * Returns void. + * @access private + * @return void + */ + function error_handler($msg) { + $this->ErrorInfo = $msg; + } + + /** + * Returns the proper RFC 822 formatted date. Returns string. + * @access private + * @return string + */ + function rfc_date() { + $tz = date("Z"); + $tzs = ($tz < 0) ? "-" : "+"; + $tz = abs($tz); + $tz = ($tz/3600)*100 + ($tz%3600)/60; + $date = sprintf("%s %s%04d", date("D, j M Y H:i:s"), $tzs, $tz); + return $date; + } + + /** + * Returns received header for message tracing. Returns string. + * @access private + * @return string + */ + function received() { + // Check for vars because they might not exist. Possibly + // write a small retrieval function (that mailer can use too!) + + $str = sprintf("Received: from phpmailer ([%s]) by %s " . + "with HTTP;%s\t %s%s", + $this->get_server_var("REMOTE_ADDR"), + $this->get_server_var("SERVER_NAME"), + $this->LE, + $this->rfc_date(), + $this->LE); + + return $str; + } + + /** + * Returns the appropriate server variable. Should work with both + * PHP 4.1.0+ as well as older versions. Returns an empty string + * if nothing is found. + * @access private + * @return mixed + */ + function get_server_var($varName) { + global $HTTP_SERVER_VARS; + global $HTTP_ENV_VARS; + + if(!isset($_SERVER)) + { + $_SERVER = $HTTP_SERVER_VARS; + if(!isset($_SERVER["REMOTE_ADDR"])) + $_SERVER = $HTTP_ENV_VARS; // must be Apache + } + + if(isset($_SERVER[$varName])) + return $_SERVER[$varName]; + else + return ""; + } + + /** + * Changes every end of line from CR or LF to CRLF. Returns string. + * @access private + * @return string + */ + function fix_eol($str) { + $str = str_replace("\r\n", "\n", $str); + $str = str_replace("\r", "\n", $str); + $str = str_replace("\n", $this->LE, $str); + return $str; + } + + /** + * Adds a custom header. Returns void. + * @access public + * @return void + */ + function AddCustomHeader($custom_header) { + $this->CustomHeader[] = $custom_header; + } + + /** + * Adds all the Microsoft message headers. Returns string. + * @access private + * @return string + */ + function AddMSMailHeaders() { + $MSHeader = ""; + if($this->Priority == 1) + $MSPriority = "High"; + elseif($this->Priority == 5) + $MSPriority = "Low"; + else + $MSPriority = "Medium"; + + $MSHeader .= sprintf("X-MSMail-Priority: %s%s", $MSPriority, $this->LE); + $MSHeader .= sprintf("Importance: %s%s", $MSPriority, $this->LE); + + return($MSHeader); + } + +} + + +/** + * Boundary - MIME message boundary class + * @author Brent R. Matzelle + */ +class Boundary +{ + /** + * Sets the boundary ID. + * @access private + * @var string + */ + var $ID = 0; + + /** + * Sets the boundary Content Type. + * @access public + * @var string + */ + var $ContentType = "text/plain"; + + /** + * Sets the Encoding. + * @access public + * @var string + */ + var $Encoding = ""; + + /** + * Sets an attachment disposition. + * @access public + * @var string + */ + var $Disposition = ""; + + /** + * Sets an attachment file name. + * @access public + * @var string + */ + var $FileName = ""; + + /** + * Sets the Char set. + * @access public + * @var string + */ + var $CharSet = ""; + + /** + * Sets the line endings of the message. Default is "\n"; + * @access public + * @var string + */ + var $LE = "\n"; + + /** + * Main constructor. + */ + function Boundary($boundary_id) { + $this->ID = $boundary_id; + } + + /** + * Returns the source of the boundary. + * @access public + * @return string + */ + function GetSource($bLineEnding = true) { + $ret = array(); + $mime[] = sprintf("--%s%s", $this->ID, $this->LE); + $mime[] = sprintf("Content-Type: %s; charset = \"%s\"%s", + $this->ContentType, $this->CharSet, $this->LE); + //$mime[] = sprintf("Content-Transfer-Encoding: %s%s", $this->Encoding, + // $this->LE); + + if(strlen($this->Disposition) > 0) + { + $mime[] = sprintf("Content-Disposition: %s;"); + if(strlen($this->FileName) > 0) + $mime[] = sprinf("filename=\"%s\"", $this->$this->FileName); + } + + if($bLineEnding) + $mime[] = $this->LE; + + return join("", $mime); + } +} + +?> diff --git a/phpmailer/class.smtp.php b/phpmailer/class.smtp.php new file mode 100755 index 0000000..da9d015 --- /dev/null +++ b/phpmailer/class.smtp.php @@ -0,0 +1,1008 @@ + + * Created: 03/26/2001 + * + * TODO: + * - Move all the duplicate code to a utility function + * Most of the functions have the first lines of + * code do the same processing. If this can be moved + * into a utility function then it would reduce the + * overall size of the code significantly. + */ + + /* + * STMP is rfc 821 compliant and implements all the rfc 821 SMTP + * commands except TURN which will always return a not implemented + * error. SMTP also provides some utility methods for sending mail + * to an SMTP server. + */ + class SMTP { + var $SMTP_PORT = 25; # the default SMTP PORT + var $CRLF = "\r\n"; # CRLF pair + + var $smtp_conn; # the socket to the server + var $error; # error if any on the last call + var $helo_rply; # the reply the server sent to us for HELO + + var $do_debug; # the level of debug to perform + + /* + * SMTP() + * + * Initialize the class so that the data is in a known state. + */ + function SMTP() { + $this->smtp_conn = 0; + $this->error = null; + $this->helo_rply = null; + + $this->do_debug = 0; + } + + /************************************************************ + * CONNECTION FUNCTIONS * + ***********************************************************/ + + /* + * Connect($host, $port=0, $tval=30) + * + * Connect to the server specified on the port specified. + * If the port is not specified use the default SMTP_PORT. + * If tval is specified then a connection will try and be + * established with the server for that number of seconds. + * If tval is not specified the default is 30 seconds to + * try on the connection. + * + * SMTP CODE SUCCESS: 220 + * SMTP CODE FAILURE: 421 + */ + function Connect($host,$port=0,$tval=30) { + # set the error val to null so there is no confusion + $this->error = null; + + # make sure we are __not__ connected + if($this->connected()) { + # ok we are connected! what should we do? + # for now we will just give an error saying we + # are already connected + $this->error = + array("error" => "Already connected to a server"); + return false; + } + + if(empty($port)) { + $port = $this->SMTP_PORT; + } + + #connect to the smtp server + $this->smtp_conn = fsockopen($host, # the host of the server + $port, # the port to use + $errno, # error number if any + $errstr, # error message if any + $tval); # give up after ? secs + # verify we connected properly + if(empty($this->smtp_conn)) { + $this->error = array("error" => "Failed to connect to server", + "errno" => $errno, + "errstr" => $errstr); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": $errstr ($errno)" . $this->CRLF; + } + return false; + } + + # sometimes the SMTP server takes a little longer to respond + # so we will give it a longer timeout for the first read + // Windows still does not have support for this timeout function + if(substr(PHP_OS, 0, 3) != "WIN") + socket_set_timeout($this->smtp_conn, 1, 0); + + # get any announcement stuff + $announce = $this->get_lines(); + + # set the timeout of any socket functions at 1/10 of a second + //if(function_exists("socket_set_timeout")) + // socket_set_timeout($this->smtp_conn, 0, 100000); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $announce; + } + + return true; + } + + /* + * Authenticate() + * + * Performs SMTP authentication. Must be run after running the + * Hello() method. Returns true if successfully authenticated. + */ + function Authenticate($username, $password) { + // Start authentication + fputs($this->smtp_conn,"AUTH LOGIN" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 334) { + $this->error = + array("error" => "AUTH not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + // Send encoded username + fputs($this->smtp_conn, base64_encode($username) . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 334) { + $this->error = + array("error" => "Username not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + // Send encoded password + fputs($this->smtp_conn, base64_encode($password) . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($code != 235) { + $this->error = + array("error" => "Password not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + return true; + } + + /* + * Connected() + * + * Returns true if connected to a server otherwise false + */ + function Connected() { + if(!empty($this->smtp_conn)) { + $sock_status = socket_get_status($this->smtp_conn); + if($sock_status["eof"]) { + # hmm this is an odd situation... the socket is + # valid but we aren't connected anymore + if($this->do_debug >= 1) { + echo "SMTP -> NOTICE:" . $this->CRLF . + "EOF caught while checking if connected"; + } + $this->Close(); + return false; + } + return true; # everything looks good + } + return false; + } + + /* + * Close() + * + * Closes the socket and cleans up the state of the class. + * It is not considered good to use this function without + * first trying to use QUIT. + */ + function Close() { + $this->error = null; # so there is no confusion + $this->helo_rply = null; + if(!empty($this->smtp_conn)) { + # close the connection and cleanup + fclose($this->smtp_conn); + $this->smtp_conn = 0; + } + } + + + /************************************************************** + * SMTP COMMANDS * + *************************************************************/ + + /* + * Data($msg_data) + * + * Issues a data command and sends the msg_data to the server + * finializing the mail transaction. $msg_data is the message + * that is to be send with the headers. Each header needs to be + * on a single line followed by a with the message headers + * and the message body being seperated by and additional . + * + * Implements rfc 821: DATA + * + * SMTP CODE INTERMEDIATE: 354 + * [data] + * . + * SMTP CODE SUCCESS: 250 + * SMTP CODE FAILURE: 552,554,451,452 + * SMTP CODE FAILURE: 451,554 + * SMTP CODE ERROR : 500,501,503,421 + */ + function Data($msg_data) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Data() without being connected"); + return false; + } + + fputs($this->smtp_conn,"DATA" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 354) { + $this->error = + array("error" => "DATA command not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + # the server is ready to accept data! + # according to rfc 821 we should not send more than 1000 + # including the CRLF + # characters on a single line so we will break the data up + # into lines by \r and/or \n then if needed we will break + # each of those into smaller lines to fit within the limit. + # in addition we will be looking for lines that start with + # a period '.' and append and additional period '.' to that + # line. NOTE: this does not count towards are limit. + + # normalize the line breaks so we know the explode works + $msg_data = str_replace("\r\n","\n",$msg_data); + $msg_data = str_replace("\r","\n",$msg_data); + $lines = explode("\n",$msg_data); + + # we need to find a good way to determine is headers are + # in the msg_data or if it is a straight msg body + # currently I'm assuming rfc 822 definitions of msg headers + # and if the first field of the first line (':' sperated) + # does not contain a space then it _should_ be a header + # and we can process all lines before a blank "" line as + # headers. + $field = substr($lines[0],0,strpos($lines[0],":")); + $in_headers = false; + if(!empty($field) && !strstr($field," ")) { + $in_headers = true; + } + + $max_line_length = 998; # used below; set here for ease in change + + while(list(,$line) = @each($lines)) { + $lines_out = null; + if($line == "" && $in_headers) { + $in_headers = false; + } + # ok we need to break this line up into several + # smaller lines + while(strlen($line) > $max_line_length) { + $pos = strrpos(substr($line,0,$max_line_length)," "); + $lines_out[] = substr($line,0,$pos); + $line = substr($line,$pos + 1); + # if we are processing headers we need to + # add a LWSP-char to the front of the new line + # rfc 822 on long msg headers + if($in_headers) { + $line = "\t" . $line; + } + } + $lines_out[] = $line; + + # now send the lines to the server + while(list(,$line_out) = @each($lines_out)) { + if(strlen($line_out) > 0) + { + if(substr($line_out, 0, 1) == ".") { + $line_out = "." . $line_out; + } + } + fputs($this->smtp_conn,$line_out . $this->CRLF); + } + } + + # ok all the message data has been sent so lets get this + # over with aleady + fputs($this->smtp_conn, $this->CRLF . "." . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "DATA not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /* + * Expand($name) + * + * Expand takes the name and asks the server to list all the + * people who are members of the _list_. Expand will return + * back and array of the result or false if an error occurs. + * Each value in the array returned has the format of: + * [ ] + * The definition of is defined in rfc 821 + * + * Implements rfc 821: EXPN + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE FAILURE: 550 + * SMTP CODE ERROR : 500,501,502,504,421 + */ + function Expand($name) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Expand() without being connected"); + return false; + } + + fputs($this->smtp_conn,"EXPN " . $name . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "EXPN not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + # parse the reply and place in our array to return to user + $entries = explode($this->CRLF,$rply); + while(list(,$l) = @each($entries)) { + $list[] = substr($l,4); + } + + return $rval; + } + + /* + * Hello($host="") + * + * Sends the HELO command to the smtp server. + * This makes sure that we and the server are in + * the same known state. + * + * Implements from rfc 821: HELO + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE ERROR : 500, 501, 504, 421 + */ + function Hello($host="") { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Hello() without being connected"); + return false; + } + + # if a hostname for the HELO wasn't specified determine + # a suitable one to send + if(empty($host)) { + # we need to determine some sort of appopiate default + # to send to the server + $host = "localhost"; + } + + fputs($this->smtp_conn,"HELO " . $host . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER: " . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "HELO not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + $this->helo_rply = $rply; + + return true; + } + + /* + * Help($keyword="") + * + * Gets help information on the keyword specified. If the keyword + * is not specified then returns generic help, ussually contianing + * A list of keywords that help is available on. This function + * returns the results back to the user. It is up to the user to + * handle the returned data. If an error occurs then false is + * returned with $this->error set appropiately. + * + * Implements rfc 821: HELP [ ] + * + * SMTP CODE SUCCESS: 211,214 + * SMTP CODE ERROR : 500,501,502,504,421 + * + */ + function Help($keyword="") { + $this->error = null; # to avoid confusion + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Help() without being connected"); + return false; + } + + $extra = ""; + if(!empty($keyword)) { + $extra = " " . $keyword; + } + + fputs($this->smtp_conn,"HELP" . $extra . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 211 && $code != 214) { + $this->error = + array("error" => "HELP not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + return $rply; + } + + /* + * Mail($from) + * + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. + * + * Implements rfc 821: MAIL FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,421 + */ + function Mail($from) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Mail() without being connected"); + return false; + } + + fputs($this->smtp_conn,"MAIL FROM:" . $from . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "MAIL not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /* + * Noop() + * + * Sends the command NOOP to the SMTP server. + * + * Implements from rfc 821: NOOP + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE ERROR : 500, 421 + */ + function Noop() { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Noop() without being connected"); + return false; + } + + fputs($this->smtp_conn,"NOOP" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "NOOP not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /* + * Quit($close_on_error=true) + * + * Sends the quit command to the server and then closes the socket + * if there is no error or the $close_on_error argument is true. + * + * Implements from rfc 821: QUIT + * + * SMTP CODE SUCCESS: 221 + * SMTP CODE ERROR : 500 + */ + function Quit($close_on_error=true) { + $this->error = null; # so there is no confusion + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Quit() without being connected"); + return false; + } + + # send the quit command to the server + fputs($this->smtp_conn,"quit" . $this->CRLF); + + # get any good-bye messages + $byemsg = $this->get_lines(); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $byemsg; + } + + $rval = true; + $e = null; + + $code = substr($byemsg,0,3); + if($code != 221) { + # use e as a tmp var cause Close will overwrite $this->error + $e = array("error" => "SMTP server rejected quit command", + "smtp_code" => $code, + "smtp_rply" => substr($byemsg,4)); + $rval = false; + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $e["error"] . ": " . + $byemsg . $this->CRLF; + } + } + + if(empty($e) || $close_on_error) { + $this->Close(); + } + + return $rval; + } + + /* + * Recipient($to) + * + * Sends the command RCPT to the SMTP server with the TO: argument of $to. + * Returns true if the recipient was accepted false if it was rejected. + * + * Implements from rfc 821: RCPT TO: + * + * SMTP CODE SUCCESS: 250,251 + * SMTP CODE FAILURE: 550,551,552,553,450,451,452 + * SMTP CODE ERROR : 500,501,503,421 + */ + function Recipient($to) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Recipient() without being connected"); + return false; + } + + fputs($this->smtp_conn,"RCPT TO:" . $to . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250 && $code != 251) { + $this->error = + array("error" => "RCPT not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /* + * Reset() + * + * Sends the RSET command to abort and transaction that is + * currently in progress. Returns true if successful false + * otherwise. + * + * Implements rfc 821: RSET + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE ERROR : 500,501,504,421 + */ + function Reset() { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Reset() without being connected"); + return false; + } + + fputs($this->smtp_conn,"RSET" . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "RSET failed", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + + return true; + } + + /* + * Send($from) + * + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. This command + * will send the message to the users terminal if they are logged + * in. + * + * Implements rfc 821: SEND FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,502,421 + */ + function Send($from) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Send() without being connected"); + return false; + } + + fputs($this->smtp_conn,"SEND FROM:" . $from . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "SEND not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /* + * SendAndMail($from) + * + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. This command + * will send the message to the users terminal if they are logged + * in and send them an email. + * + * Implements rfc 821: SAML FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,502,421 + */ + function SendAndMail($from) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called SendAndMail() without being connected"); + return false; + } + + fputs($this->smtp_conn,"SAML FROM:" . $from . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "SAML not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /* + * SendOrMail($from) + * + * Starts a mail transaction from the email address specified in + * $from. Returns true if successful or false otherwise. If True + * the mail transaction is started and then one or more Recipient + * commands may be called followed by a Data command. This command + * will send the message to the users terminal if they are logged + * in or mail it to them if they are not. + * + * Implements rfc 821: SOML FROM: + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE SUCCESS: 552,451,452 + * SMTP CODE SUCCESS: 500,501,502,421 + */ + function SendOrMail($from) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called SendOrMail() without being connected"); + return false; + } + + fputs($this->smtp_conn,"SOML FROM:" . $from . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250) { + $this->error = + array("error" => "SOML not accepted from server", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return true; + } + + /* + * Turn() + * + * This is an optional command for SMTP that this class does not + * support. This method is here to make the RFC821 Definition + * complete for this class and __may__ be implimented in the future + * + * Implements from rfc 821: TURN + * + * SMTP CODE SUCCESS: 250 + * SMTP CODE FAILURE: 502 + * SMTP CODE ERROR : 500, 503 + */ + function Turn() { + $this->error = array("error" => "This method, TURN, of the SMTP ". + "is not implemented"); + if($this->do_debug >= 1) { + echo "SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF; + } + return false; + } + + /* + * Verify($name) + * + * Verifies that the name is recognized by the server. + * Returns false if the name could not be verified otherwise + * the response from the server is returned. + * + * Implements rfc 821: VRFY + * + * SMTP CODE SUCCESS: 250,251 + * SMTP CODE FAILURE: 550,551,553 + * SMTP CODE ERROR : 500,501,502,421 + */ + function Verify($name) { + $this->error = null; # so no confusion is caused + + if(!$this->connected()) { + $this->error = array( + "error" => "Called Verify() without being connected"); + return false; + } + + fputs($this->smtp_conn,"VRFY " . $name . $this->CRLF); + + $rply = $this->get_lines(); + $code = substr($rply,0,3); + + if($this->do_debug >= 2) { + echo "SMTP -> FROM SERVER:" . $this->CRLF . $rply; + } + + if($code != 250 && $code != 251) { + $this->error = + array("error" => "VRFY failed on name '$name'", + "smtp_code" => $code, + "smtp_msg" => substr($rply,4)); + if($this->do_debug >= 1) { + echo "SMTP -> ERROR: " . $this->error["error"] . + ": " . $rply . $this->CRLF; + } + return false; + } + return $rply; + } + + /****************************************************************** + * INTERNAL FUNCTIONS * + ******************************************************************/ + + /* + * get_lines() + * + * __internal_use_only__: read in as many lines as possible + * either before eof or socket timeout occurs on the operation. + * With SMTP we can tell if we have more lines to read if the + * 4th character is '-' symbol. If it is a space then we don't + * need to read anything else. + */ + function get_lines() { + $data = ""; + while($str = fgets($this->smtp_conn,515)) { + if($this->do_debug >= 4) { + echo "SMTP -> get_lines(): \$data was \"$data\"" . + $this->CRLF; + echo "SMTP -> get_lines(): \$str is \"$str\"" . + $this->CRLF; + } + $data .= $str; + if($this->do_debug >= 4) { + echo "SMTP -> get_lines(): \$data is \"$data\"" . $this->CRLF; + } + # if the 4th character is a space then we are done reading + # so just break the loop + if(substr($str,3,1) == " ") { break; } + } + return $data; + } + + } + + + ?> diff --git a/phpmailer/docs/extending.html b/phpmailer/docs/extending.html new file mode 100755 index 0000000..25002aa --- /dev/null +++ b/phpmailer/docs/extending.html @@ -0,0 +1,148 @@ + + +Examples using phpmailer + + + + +

Examples using phpmailer

+ +

1. Advanced Example

+

+ +This demonstrates sending out multiple email messages with binary attachments +from a MySQL database with multipart/alternative support.

+ + + + +
+
+require("class.phpmailer.php");
+
+$mail = new phpmailer();
+
+$mail->From     = "list@mydomain.com";
+$mail->FromName = "List manager";
+$mail->Host     = "smtp1.site.com;smtp2.site.com";
+$mail->Mailer   = "smtp";
+
+@MYSQL_CONNECT("localhost","root","password");
+@mysql_select_db("my_company");
+$query  = "SELECT full_name, email, photo FROM employee WHERE id=$id";
+$result = @MYSQL_QUERY($query);
+
+while ($row = mysql_fetch_array ($result))
+{
+    // HTML body
+    $body  = "Hello <font size=\"4\">" . $row["full_name"] . "</font>, <p>";
+    $body .= "<i>Your</i> personal photograph to this message.<p>";
+    $body .= "Sincerely, <br>";
+    $body .= "phpmailer List manager";
+
+    // Plain text body (for mail clients that cannot read HTML)
+    $text_body  = "Hello " . $row["full_name"] . ", \n\n";
+    $text_body .= "Your personal photograph to this message.\n\n";
+    $text_body .= "Sincerely, \n";
+    $text_body .= "phpmailer List manager";
+
+    $mail->Body    = $body;
+    $mail->AltBody = $text_body;
+    $mail->AddAddress($row["email"], $row["full_name");
+    $mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");
+
+    if(!$mail->Send())
+        echo "There has been a mail error sending to " . $row["email"] . "<br>";
+
+    // Clear all addresses and attachments for next loop
+    $mail->ClearAddresses();
+    $mail->ClearAttachments();
+}
+
+
+

+ +

2. Extending phpmailer

+

+ +Extending classes with inheritance is one of the most +powerful features of object-oriented +programming. It allows you to make changes to the +original class for your +own personal use without hacking the original +classes. Plus, it is very +easy to do. I've provided an example: + +

+Here's a class that extends the phpmailer class and sets the defaults +for the particular site:
+PHP include file: mail.inc.php +

+ + + + + +
+
+require("class.phpmailer.php");
+
+class my_phpmailer extends phpmailer {
+    // Set default variables for all new objects
+    var $From     = "from@email.com";
+    var $FromName = "Mailer";
+    var $Host     = "smtp1.site.com;smtp2.site.com";
+    var $Mailer   = "smtp";                         // Alternative to IsSMTP()
+    var $WordWrap = 75;
+
+    // Replace the default error_handler
+    function error_handler($msg) {
+        print("My Site Error");
+        print("Description:");
+        printf("%s", $msg);
+        exit;
+    }
+
+    // Create an additional function
+    function do_something($something) {
+        // Place your new code here
+    }
+}
+
+
+ +Now here's a normal PHP page in the site, which will have all the defaults set +above:
+Normal PHP file: mail_test.php +

+ + + + + +
+
+require("mail.inc.php");
+
+// Instantiate your new class
+$mail = new my_phpmailer;
+
+// Now you only need to add the necessary stuff
+$mail->AddAddress("josh@site.com", "Josh Adams");
+$mail->Subject = "Here is the subject";
+$mail->Body    = "This is the message body";
+$mail->AddAttachment("c:/temp/11-10-00.zip", "new_name.zip");  // optional name
+
+if(!$mail->Send())
+{
+   echo "There was an error sending the message";
+   exit;
+}
+
+echo "Message was sent successfully";
+
+
+

+ + + diff --git a/phpmailer/docs/faq.html b/phpmailer/docs/faq.html new file mode 100755 index 0000000..91e5ea8 --- /dev/null +++ b/phpmailer/docs/faq.html @@ -0,0 +1,103 @@ + + +phpmailer FAQ + + + + +

phpmailer FAQ

+ +

Contents

+ +

+ +

+ +I am getting a "SMTP Error: The following recipients failed +[myemail@mydomain]" +
+This error usually occurs because relaying is not allowed on the SMTP +server from the IP address of the web server. Go to the configuration +of your SMTP server and turn relaying on for your IP address and try +again. +

+
+ +

+ +I'm using the SMTP mailer and I keep on getting a timeout message +well before the X seconds I set it for. What gives? +
+PHP versions 4.0.4pl1 and earlier have a bug in which sockets timeout +early. You can fix this by re-compiling PHP 4.0.4pl1 with this fix: +
timeoutfix.diff. Otherwise you can wait +for the new PHP release. +

+
+ +

+ +I am concerned that using include files will take up too much +processing time on my computer. How can I make it run faster? +
+PHP by itself is very fast. Much faster than ASP or JSP running on +the same type of server. This is because it has very little overhead compared +to its competitors and it pre-compiles all of +its code before it runs each script (in PHP4). However, all of +this compiling and re-compiling can take up a lot of valuable +computer resources. However, there are programs out there that compile +PHP code and store it in memory (or on mmaped files) to reduce the +processing immensely. Two of these:
APC +(Alternative PHP Cache), Afterburner +(Win32 +download), and PHP +Accelerator +are excellent free tools that do just this. If you have the money +you might also try Zend Cache, it is +even faster than most open source varieties. All of these tools make +your scripts run faster while also reducing the load on your server. I +have tried them myself and they are quite stable too. +

+
+ +

+ +What mailer gives me the best performance? +
+On a single machine the mail() or sendmail mailers give you the best +performance because they do not have the added overhead of SMTP. +If you have you have your mail server on a another machine then +SMTP is your only option, but you do get the benefit of redundant +mail servers. +

+
+ +

+ +When I try to attach a file with on my server I get a +"Could not find {file} on filesystem error". Why is this? +
+If you are using a Unix machine this is probably because the user +running your web server does not have read access to the directory +in question. If you are using Windows, then the problem probably is +that you have used single backslashes to denote directories ("\"). +A single backslash has a special meaning to PHP so these are not +valid. Instead use double backslashes ("\\") or a single forward +slash ("/"). +

+ + + diff --git a/phpmailer/docs/timeoutfix.diff b/phpmailer/docs/timeoutfix.diff new file mode 100755 index 0000000..63ebd43 --- /dev/null +++ b/phpmailer/docs/timeoutfix.diff @@ -0,0 +1,23 @@ +*** /usr/local/src/php-4.0.4pl1/ext/standard/fsock.c.old Mon Mar 26 13:07:40 2001 +--- /usr/local/src/php-4.0.4pl1/ext/standard/fsock.c Mon Mar 26 13:12:03 2001 +*************** +*** 559,564 **** +--- 559,565 ---- + + static void php_sockread_total(php_sockbuf *sock, size_t maxread) + { ++ sock->timeout_event = 0; + while(!sock->eof && TOREAD(sock) < maxread && !sock->timeout_event) { + php_sockread_internal(sock); + } +*************** +*** 619,624 **** +--- 620,627 ---- + } + + SEARCHCR(); ++ ++ sock->timeout_event = 0; + + if(!p) { + if(sock->is_blocked) { diff --git a/phpmailer/phpdocu/blank.html b/phpmailer/phpdocu/blank.html new file mode 100755 index 0000000..7189c3d --- /dev/null +++ b/phpmailer/phpdocu/blank.html @@ -0,0 +1,6 @@ + + +Welcome to PHPDocumentor!
+
+To begin, click a Package name in the upper left, or a class or procedural page on the lower left + \ No newline at end of file diff --git a/phpmailer/phpdocu/classtrees_default.html b/phpmailer/phpdocu/classtrees_default.html new file mode 100755 index 0000000..6e32db2 --- /dev/null +++ b/phpmailer/phpdocu/classtrees_default.html @@ -0,0 +1,41 @@ + + + + + + Class Trees for Package default + + + + + + +

+ Class Trees for Package default +

+ + + + + +
+ Boundary +
+
+ + + + + + +
+ phpmailer +
+ + + + diff --git a/phpmailer/phpdocu/default/Boundary.html b/phpmailer/phpdocu/default/Boundary.html new file mode 100755 index 0000000..fb8eeb0 --- /dev/null +++ b/phpmailer/phpdocu/default/Boundary.html @@ -0,0 +1,327 @@ + + + + + + Docs For Class Boundary + + + + + +

+ Class Boundary +

+
+Boundary
+
+

+ Classes extended from Boundary: +

+ +

+ Located in File: Program_Root/class.phpmailer.php
+

+
+ +Boundary - MIME message boundary class +
+
+
+
    + +
  • Package - default
  • + +
  • Author - Brent R. Matzelle
  • + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Class Variable Summary +
+ $CharSet +
+
Sets the Char set.
+
Default Value: -><-
+
+ $ContentType +
+
Sets the boundary Content Type.
+
Default Value: ->text/plain<-
+
+ $Disposition +
+
Sets an attachment disposition.
+
Default Value: -><-
+
+ $Encoding +
+
Sets the Encoding.
+
Default Value: -><-
+
+ $FileName +
+
Sets an attachment file name.
+
Default Value: -><-
+
+ $LE +
+
Sets the line endings of the message. Default is "\n";
+
Default Value: ->\n<-
+
+ +
+ + + + + + + + +
+ Inherited Class Variable Summary +
+ +
+ + + + + + + + +
+ Inherited Method Summary +
+ +
+ + + + + + + + + + + + + + + + + + + +
+ Method Summary +
+ void Boundary ( $boundary_id ) +
+
Main constructor.
+
+ string GetSource ( [$bLineEnding = true] ) +
+
Returns the source of the boundary.
+
+ + + + + + + + + +
+ Variable Detail +
+ + +

$CharSet

+Data type: string
+ +Sets the Char set. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$ContentType

+Data type: string
+ +Sets the boundary Content Type. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Disposition

+Data type: string
+ +Sets an attachment disposition. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Encoding

+Data type: string
+ +Sets the Encoding. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$FileName

+Data type: string
+ +Sets an attachment file name. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$LE

+Data type: string
+ +Sets the line endings of the message. Default is "\n"; +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ + +
+ + + + + + + +
+ Method Detail +
+ + +

constructor Boundary

+

void Boundary ( $boundary_id )

+

+ +Main constructor. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
+ +
+ +

GetSource

+

string GetSource ( [$bLineEnding = true] )

+

+ +Returns the source of the boundary. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ + +
+ diff --git a/phpmailer/phpdocu/default/_class_phpmailer_php.html b/phpmailer/phpdocu/default/_class_phpmailer_php.html new file mode 100755 index 0000000..772338d --- /dev/null +++ b/phpmailer/phpdocu/default/_class_phpmailer_php.html @@ -0,0 +1,118 @@ + + + + + + Docs on page _class_phpmailer_php.html + + + + +

Page: Program_Root/class.phpmailer.php

+ + +
+
+
+
    + +
+ +
+Classes defined on this page: phpmailer, Boundary
+ + + + + + +
+ Include Statements Summary +
+ + + + + + + +
INCLUDE TYPEINCLUDED FILENAMEDESCRIPTION
+
+ +
+ + + + + + +
+ Constant Summary +
+ + + + + + + +
CONSTANT NAMECONSTANT VALUEDESCRIPTION
+
+ +
+ + + + + + + + +
+ Function Summary +
+ +
+ + + + + + + +
+ Include Statements Detail +
+ + + +
+ + + + + + + +
+ Constant Detail +
+ + + +
+ + + + + + + +
+ Function Detail +
+ + + +
+ diff --git a/phpmailer/phpdocu/default/phpmailer.html b/phpmailer/phpdocu/default/phpmailer.html new file mode 100755 index 0000000..3e89189 --- /dev/null +++ b/phpmailer/phpdocu/default/phpmailer.html @@ -0,0 +1,1550 @@ + + + + + + Docs For Class phpmailer + + + + + +

+ Class phpmailer +

+
+phpmailer
+
+

+ Classes extended from phpmailer: +

+ +

+ Located in File: Program_Root/class.phpmailer.php
+

+
+ +phpmailer - PHP email transport class +
+
+
+
    + +
  • Package - default
  • + +
  • Author - Brent R. Matzelle
  • + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Class Variable Summary +
+ $AltBody +
+
Sets the text-only body of the message. This automatically sets the
+
Default Value: -><-
+
+ $Body +
+
Sets the Body of the message. This can be either an HTML or text body.
+
Default Value: -><-
+
+ $CharSet +
+
Sets the CharSet of the message.
+
Default Value: ->iso-8859-1<-
+
+ $ConfirmReadingTo +
+
Sets the email address that a reading confirmation will be sent.
+
Default Value: -><-
+
+ $ContentType +
+
Sets the Content-type of the message.
+
Default Value: ->text/plain<-
+
+ $CustomHeader +
+
Holds all custom headers.
+
Default Value: ->array()<-
+
+ $Encoding +
+
Sets the Encoding of the message. Options for this are "8bit", + "7bit", "binary", "base64", and "quoted-printable".
+
Default Value: ->8bit<-
+
+ $ErrorInfo +
+
Holds the most recent mailer error message.
+
Default Value: -><-
+
+ $From +
+
Sets the From email address for the message.
+
Default Value: ->root@localhost<-
+
+ $FromName +
+
Sets the From name of the message.
+
Default Value: ->Root User<-
+
+ $Helo +
+
Sets the SMTP HELO of the message.
+
Default Value: ->localhost.localdomain<-
+
+ $Host +
+
Sets the SMTP hosts. All hosts must be separated by a
+
Default Value: ->localhost<-
+
+ $LE +
+
Sets the line endings of the message.
+
Default Value: ->\n<-
+
+ $Mailer +
+
Method to send mail: ("mail", "sendmail", or "smtp").
+
Default Value: ->mail<-
+
+ $message_type +
+
Holds the type of the message.
+
Default Value: -><-
+
+ $Password +
+
Sets SMTP password.
+
Default Value: -><-
+
+ $PluginDir +
+
Path to phpmailer plugins. This is now only useful if the SMTP class + is in a different directory than the PHP include path.
+
Default Value: -><-
+
+ $Port +
+
Sets the default SMTP server port.
+
Default Value: ->25<-
+
+ $Priority +
+
Email priority (1 = High, 3 = Normal, 5 = low).
+
Default Value: ->3<-
+
+ $ReplyTo +
+
Holds all "Reply-To" addresses.
+
Default Value: ->array()<-
+
+ $Sender +
+
Sets the Sender email of the message. If not empty, will be sent via -f to sendmail + or as 'MAIL FROM' in smtp mode.
+
Default Value: -><-
+
+ $Sendmail +
+
Sets the path of the sendmail program.
+
Default Value: ->/usr/sbin/sendmail<-
+
+ $SMTPAuth +
+
Sets SMTP authentication. Utilizes the Username and Password variables.
+
Default Value: ->false<-
+
+ $SMTPDebug +
+
Sets SMTP class debugging on or off.
+
Default Value: ->false<-
+
+ $Subject +
+
Sets the Subject of the message.
+
Default Value: -><-
+
+ $Timeout +
+
Sets the SMTP server timeout in seconds. This function will not + work with the win32 version.
+
Default Value: ->10<-
+
+ $UseMSMailHeaders +
+
Turns Microsoft mail client headers on and off. Useful mostly + for older clients.
+
Default Value: ->false<-
+
+ $Username +
+
Sets SMTP username.
+
Default Value: -><-
+
+ $Version +
+
Holds phpmailer version.
+
Default Value: ->1.54<-
+
+ $WordWrap +
+
Sets word wrapping on the body of the message to a given number of + characters.
+
Default Value: ->0<-
+
+ +
+ + + + + + + + +
+ Inherited Class Variable Summary +
+ +
+ + + + + + + + +
+ Inherited Method Summary +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Method Summary +
+ void AddAddress ( $address, [$name = ""] ) +
+
Adds a "To" address. Returns void.
+
+ bool AddAttachment ( $path, [$name = ""], [$encoding = "base64"], [$type = "application/octet-stream"] ) +
+
Adds an attachment from a path on the filesystem.
+
+ void AddBCC ( $address, [$name = ""] ) +
+
Adds a "Bcc" address. Note: this function works
+
+ void AddCC ( $address, [$name = ""] ) +
+
Adds a "Cc" address. Note: this function works
+
+ void AddCustomHeader ( $custom_header ) +
+
Adds a custom header. Returns void.
+
+ bool AddEmbeddedImage ( $path, $cid, [$name = ""], [$encoding = "base64"], [$type = "application/octet-stream"] ) +
+
Adds an embedded attachment. This can include images, sounds, and + just about any other document.
+
+ void AddReplyTo ( $address, [$name = ""] ) +
+
Adds a "Reply-to" address. Returns void.
+
+ void AddStringAttachment ( $string, $filename, [$encoding = "base64"], [$type = "application/octet-stream"] ) +
+
Adds a string or binary attachment (non-filesystem) to the list.
+
+ void ClearAddresses ( ) +
+
Clears all recipients assigned in the TO array. Returns void.
+
+ void ClearAllRecipients ( ) +
+
Clears all recipients assigned in the TO, CC and BCC + array. Returns void.
+
+ void ClearAttachments ( ) +
+
Clears all previously set filesystem, string, and binary + attachments. Returns void.
+
+ void ClearBCCs ( ) +
+
Clears all recipients assigned in the BCC array. Returns void.
+
+ void ClearCCs ( ) +
+
Clears all recipients assigned in the CC array. Returns void.
+
+ void ClearCustomHeaders ( ) +
+
Clears all custom headers. Returns void.
+
+ void ClearReplyTos ( ) +
+
Clears all recipients assigned in the ReplyTo array. Returns void.
+
+ void IsHTML ( $bool ) +
+
Sets message type to HTML. Returns void.
+
+ void IsMail ( ) +
+
Sets Mailer to send message using PHP mail() function.
+
+ void IsQmail ( ) +
+
Sets Mailer to send message using the qmail MTA. Returns void.
+
+ void IsSendmail ( ) +
+
Sets Mailer to send message using the $Sendmail program.
+
+ void IsSMTP ( ) +
+
Sets Mailer to send message using SMTP.
+
+ bool Send ( ) +
+
Creates message and assigns Mailer. If the message is + not sent successfully then it returns false. Use the ErrorInfo + variable to view description of the error. Returns bool.
+
+ string SendToQueue ( $queue_path, $send_time ) +
+
Sends mail message to an assigned queue directory. Has an optional + sendTime argument. This is used when the user wants the + message to be sent from the queue at a predetermined time.
+
+ + + + + + + + + +
+ Variable Detail +
+ + +

$AltBody

+Data type: string
+ +Sets the text-only body of the message. This automatically sets the +
+email to multipart/alternative.  This body can be read by mail
+ clients that do not have HTML email capability such as mutt. Clients
+ that can read HTML will view the normal Body.
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Body

+Data type: string
+ +Sets the Body of the message. This can be either an HTML or text body. +
+If HTML then run IsHTML(true).
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$CharSet

+Data type: string
+ +Sets the CharSet of the message. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$ConfirmReadingTo

+Data type: string
+ +Sets the email address that a reading confirmation will be sent. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$ContentType

+Data type: string
+ +Sets the Content-type of the message. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$CustomHeader

+Data type: array
+ +Holds all custom headers. +
+
+
+
    + +
+ +
+ +

$Encoding

+Data type: string
+ +Sets the Encoding of the message. Options for this are "8bit", + "7bit", "binary", "base64", and "quoted-printable". +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$ErrorInfo

+Data type: string
+ +Holds the most recent mailer error message. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$From

+Data type: string
+ +Sets the From email address for the message. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$FromName

+Data type: string
+ +Sets the From name of the message. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Helo

+Data type: string
+ +Sets the SMTP HELO of the message. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Host

+Data type: string
+ +Sets the SMTP hosts. All hosts must be separated by a +
+semicolon.  You can also specify a different port
+  for each host by using this format: [hostname:port]
+  (e.g. "smtp1.domain.com:25;smtp2.domain.com").
+  Hosts will be tried in order.
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$LE

+Data type: string
+ +Sets the line endings of the message. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Mailer

+Data type: string
+ +Method to send mail: ("mail", "sendmail", or "smtp"). +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$message_type

+Data type: string
+ +Holds the type of the message. +
+
+
+
    + +
+ +
+ +

$Password

+Data type: string
+ +Sets SMTP password. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$PluginDir

+Data type: string
+ +Path to phpmailer plugins. This is now only useful if the SMTP class + is in a different directory than the PHP include path. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Port

+Data type: int
+ +Sets the default SMTP server port. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Priority

+Data type: int
+ +Email priority (1 = High, 3 = Normal, 5 = low). +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$ReplyTo

+Data type: array
+ +Holds all "Reply-To" addresses. +
+
+
+
    + +
+ +
+ +

$Sender

+Data type: string
+ +Sets the Sender email of the message. If not empty, will be sent via -f to sendmail + or as 'MAIL FROM' in smtp mode. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Sendmail

+Data type: string
+ +Sets the path of the sendmail program. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$SMTPAuth

+Data type: bool
+ +Sets SMTP authentication. Utilizes the Username and Password variables. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$SMTPDebug

+Data type: bool
+ +Sets SMTP class debugging on or off. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Subject

+Data type: string
+ +Sets the Subject of the message. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Timeout

+Data type: int
+ +Sets the SMTP server timeout in seconds. This function will not + work with the win32 version. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$UseMSMailHeaders

+Data type: bool
+ +Turns Microsoft mail client headers on and off. Useful mostly + for older clients. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Username

+Data type: string
+ +Sets SMTP username. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$Version

+Data type: string
+ +Holds phpmailer version. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ +

$WordWrap

+Data type: int
+ +Sets word wrapping on the body of the message to a given number of + characters. +
+
+
+
    + +
  • Access - public
  • + +
+ +
+ + +
+ + + + + + + +
+ Method Detail +
+ + +

AddAddress

+

void AddAddress ( $address, [$name = ""] )

+

+ +Adds a "To" address. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

AddAttachment

+

bool AddAttachment ( $path, [$name = ""], [$encoding = "base64"], [$type = "application/octet-stream"] )

+

+ +Adds an attachment from a path on the filesystem. +
+Checks if attachment is valid and then adds
+ the attachment to the list.
+ Returns false if the file could not be found
+ or accessed.
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

AddBCC

+

void AddBCC ( $address, [$name = ""] )

+

+ +Adds a "Bcc" address. Note: this function works +
+with the SMTP mailer on win32, not with the "mail"
+ mailer.  This is a PHP bug that has been submitted
+ on http://bugs.php.net. The *NIX version of PHP
+ functions correctly.
+ Returns void.
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

AddCC

+

void AddCC ( $address, [$name = ""] )

+

+ +Adds a "Cc" address. Note: this function works +
+with the SMTP mailer on win32, not with the "mail"
+ mailer.  This is a PHP bug that has been submitted
+ on http://bugs.php.net. The *NIX version of PHP
+ functions correctly. Returns void.
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

AddCustomHeader

+

void AddCustomHeader ( $custom_header )

+

+ +Adds a custom header. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

AddEmbeddedImage

+

bool AddEmbeddedImage ( $path, $cid, [$name = ""], [$encoding = "base64"], [$type = "application/octet-stream"] )

+

+ +Adds an embedded attachment. This can include images, sounds, and + just about any other document. +
+
+
+
+
Function Parameters:
+ +
- $path cid this is the Content Id of the attachment. Use this to identify + the Id for accessing the image in an HTML form.
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

AddReplyTo

+

void AddReplyTo ( $address, [$name = ""] )

+

+ +Adds a "Reply-to" address. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

AddStringAttachment

+

void AddStringAttachment ( $string, $filename, [$encoding = "base64"], [$type = "application/octet-stream"] )

+

+ +Adds a string or binary attachment (non-filesystem) to the list. +
+This method can be used to attach ascii or binary data,
+ such as a BLOB record from a database.
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

ClearAddresses

+

void ClearAddresses ( )

+

+ +Clears all recipients assigned in the TO array. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

ClearAllRecipients

+

void ClearAllRecipients ( )

+

+ +Clears all recipients assigned in the TO, CC and BCC + array. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

ClearAttachments

+

void ClearAttachments ( )

+

+ +Clears all previously set filesystem, string, and binary + attachments. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

ClearBCCs

+

void ClearBCCs ( )

+

+ +Clears all recipients assigned in the BCC array. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

ClearCCs

+

void ClearCCs ( )

+

+ +Clears all recipients assigned in the CC array. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

ClearCustomHeaders

+

void ClearCustomHeaders ( )

+

+ +Clears all custom headers. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

ClearReplyTos

+

void ClearReplyTos ( )

+

+ +Clears all recipients assigned in the ReplyTo array. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

IsHTML

+

void IsHTML ( $bool )

+

+ +Sets message type to HTML. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

IsMail

+

void IsMail ( )

+

+ +Sets Mailer to send message using PHP mail() function. +
+Returns void.
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

IsQmail

+

void IsQmail ( )

+

+ +Sets Mailer to send message using the qmail MTA. Returns void. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

IsSendmail

+

void IsSendmail ( )

+

+ +Sets Mailer to send message using the $Sendmail program. +
+Returns void.
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

IsSMTP

+

void IsSMTP ( )

+

+ +Sets Mailer to send message using SMTP. +
+Returns void.
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

Send

+

bool Send ( )

+

+ +Creates message and assigns Mailer. If the message is + not sent successfully then it returns false. Use the ErrorInfo + variable to view description of the error. Returns bool. +
+
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ +

SendToQueue

+

string SendToQueue ( $queue_path, $send_time )

+

+ +Sends mail message to an assigned queue directory. Has an optional + sendTime argument. This is used when the user wants the + message to be sent from the queue at a predetermined time. +
+The data must be a valid timestamp like that returned from 
+ the time() or strtotime() functions.  Returns false on failure 
+ or the message file name if success.
+
+
+
Function Parameters:
+ + +
Function Info:
+ +
Access - public
+ +
+ +
+ + +
+ diff --git a/phpmailer/phpdocu/default/stylesheet.css b/phpmailer/phpdocu/default/stylesheet.css new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/phpmailer/phpdocu/default/stylesheet.css diff --git a/phpmailer/phpdocu/elementindex.html b/phpmailer/phpdocu/elementindex.html new file mode 100755 index 0000000..69c31ae --- /dev/null +++ b/phpmailer/phpdocu/elementindex.html @@ -0,0 +1,385 @@ + + + + + + Element Index + + + + + + + +

+ Element Index +

+  +Indexes by package:
+ +default
+
+
+a b c d e f g h i l m p r s t u v w
+ +  +top
+ + + + +
+ a +
+
+ + in file class.phpmailer.php, variable phpmailer::$AltBody

+ + in file class.phpmailer.php, method phpmailer::AddAddress()

+ + in file class.phpmailer.php, method phpmailer::AddAttachment()

+ + in file class.phpmailer.php, method phpmailer::AddBCC()

+ + in file class.phpmailer.php, method phpmailer::AddCC()

+ + in file class.phpmailer.php, method phpmailer::AddCustomHeader()

+ + in file class.phpmailer.php, method phpmailer::AddEmbeddedImage()

+ + in file class.phpmailer.php, method phpmailer::AddReplyTo()

+ + in file class.phpmailer.php, method phpmailer::AddStringAttachment()

+ +
+ +  +top
+ + + + +
+ b +
+
+ + in file class.phpmailer.php, variable phpmailer::$Body

+ + in file class.phpmailer.php, method Boundary::Boundary()

+ + in file class.phpmailer.php, class Boundary

+ +
+ +  +top
+ + + + +
+ c +
+
+ + in file class.phpmailer.php, variable phpmailer::$CharSet

+ + in file class.phpmailer.php, variable Boundary::$CharSet

+ + in file class.phpmailer.php, variable phpmailer::$ConfirmReadingTo

+ + in file class.phpmailer.php, variable phpmailer::$ContentType

+ + in file class.phpmailer.php, variable Boundary::$ContentType

+ + in file class.phpmailer.php, variable phpmailer::$CustomHeader

+ + procedural page class.phpmailer.php

+ + in file class.phpmailer.php, method phpmailer::ClearAddresses()

+ + in file class.phpmailer.php, method phpmailer::ClearAllRecipients()

+ + in file class.phpmailer.php, method phpmailer::ClearAttachments()

+ + in file class.phpmailer.php, method phpmailer::ClearBCCs()

+ + in file class.phpmailer.php, method phpmailer::ClearCCs()

+ + in file class.phpmailer.php, method phpmailer::ClearCustomHeaders()

+ + in file class.phpmailer.php, method phpmailer::ClearReplyTos()

+ +
+ +  +top
+ + + + +
+ d +
+
+ + in file class.phpmailer.php, variable Boundary::$Disposition

+ +
+ +  +top
+ + + + +
+ e +
+
+ + in file class.phpmailer.php, variable phpmailer::$Encoding

+ + in file class.phpmailer.php, variable Boundary::$Encoding

+ + in file class.phpmailer.php, variable phpmailer::$ErrorInfo

+ +
+ +  +top
+ + + + +
+ f +
+
+ + in file class.phpmailer.php, variable Boundary::$FileName

+ + in file class.phpmailer.php, variable phpmailer::$From

+ + in file class.phpmailer.php, variable phpmailer::$FromName

+ +
+ +  +top
+ + + + +
+ g +
+
+ + in file class.phpmailer.php, method Boundary::GetSource()

+ +
+ +  +top
+ + + + +
+ h +
+
+ + in file class.phpmailer.php, variable phpmailer::$Helo

+ + in file class.phpmailer.php, variable phpmailer::$Host

+ +
+ +  +top
+ + + + +
+ i +
+
+ + in file class.phpmailer.php, method phpmailer::IsHTML()

+ + in file class.phpmailer.php, method phpmailer::IsMail()

+ + in file class.phpmailer.php, method phpmailer::IsQmail()

+ + in file class.phpmailer.php, method phpmailer::IsSendmail()

+ + in file class.phpmailer.php, method phpmailer::IsSMTP()

+ +
+ +  +top
+ + + + +
+ l +
+
+ + in file class.phpmailer.php, variable Boundary::$LE

+ + in file class.phpmailer.php, variable phpmailer::$LE

+ +
+ +  +top
+ + + + +
+ m +
+
+ + in file class.phpmailer.php, variable phpmailer::$Mailer

+ + in file class.phpmailer.php, variable phpmailer::$message_type

+ +
+ +  +top
+ + + + +
+ p +
+
+ + in file class.phpmailer.php, variable phpmailer::$Password

+ + in file class.phpmailer.php, variable phpmailer::$PluginDir

+ + in file class.phpmailer.php, variable phpmailer::$Port

+ + in file class.phpmailer.php, variable phpmailer::$Priority

+ + in file class.phpmailer.php, class phpmailer

+ +
+ +  +top
+ + + + +
+ r +
+
+ + in file class.phpmailer.php, variable phpmailer::$ReplyTo

+ +
+ +  +top
+ + + + +
+ s +
+
+ + in file class.phpmailer.php, variable phpmailer::$Sender

+ + in file class.phpmailer.php, variable phpmailer::$Sendmail

+ + in file class.phpmailer.php, variable phpmailer::$SMTPAuth

+ + in file class.phpmailer.php, variable phpmailer::$SMTPDebug

+ + in file class.phpmailer.php, variable phpmailer::$Subject

+ + in file class.phpmailer.php, method phpmailer::Send()

+ + in file class.phpmailer.php, method phpmailer::SendToQueue()

+ +
+ +  +top
+ + + + +
+ t +
+
+ + in file class.phpmailer.php, variable phpmailer::$Timeout

+ +
+ +  +top
+ + + + +
+ u +
+
+ + in file class.phpmailer.php, variable phpmailer::$UseMSMailHeaders

+ + in file class.phpmailer.php, variable phpmailer::$Username

+ +
+ +  +top
+ + + + +
+ v +
+
+ + in file class.phpmailer.php, variable phpmailer::$Version

+ +
+ +  +top
+ + + + +
+ w +
+
+ + in file class.phpmailer.php, variable phpmailer::$WordWrap

+ +
+ + diff --git a/phpmailer/phpdocu/elementindex_default.html b/phpmailer/phpdocu/elementindex_default.html new file mode 100755 index 0000000..311c785 --- /dev/null +++ b/phpmailer/phpdocu/elementindex_default.html @@ -0,0 +1,394 @@ + + + + + + {title} + + + + + + + +  +

+ Element Index, Package default +

+Index of all elements:
+Element Index
+Indexes by package:
+ +
+
+a b c d e f g h i l m p r s t u v w
+ + + + + +
+ Package default +
+ +  +top
+ + + + +
+ a +
+
+ + in file class.phpmailer.php, variable phpmailer::$AltBody

+ + in file class.phpmailer.php, method phpmailer::AddAddress()

+ + in file class.phpmailer.php, method phpmailer::AddAttachment()

+ + in file class.phpmailer.php, method phpmailer::AddBCC()

+ + in file class.phpmailer.php, method phpmailer::AddCC()

+ + in file class.phpmailer.php, method phpmailer::AddCustomHeader()

+ + in file class.phpmailer.php, method phpmailer::AddEmbeddedImage()

+ + in file class.phpmailer.php, method phpmailer::AddReplyTo()

+ + in file class.phpmailer.php, method phpmailer::AddStringAttachment()

+ +
+ +  +top
+ + + + +
+ b +
+
+ + in file class.phpmailer.php, variable phpmailer::$Body

+ + in file class.phpmailer.php, method Boundary::Boundary()

+ + in file class.phpmailer.php, class Boundary

+ +
+ +  +top
+ + + + +
+ c +
+
+ + in file class.phpmailer.php, variable phpmailer::$CharSet

+ + in file class.phpmailer.php, variable Boundary::$CharSet

+ + in file class.phpmailer.php, variable phpmailer::$ConfirmReadingTo

+ + in file class.phpmailer.php, variable phpmailer::$ContentType

+ + in file class.phpmailer.php, variable Boundary::$ContentType

+ + in file class.phpmailer.php, variable phpmailer::$CustomHeader

+ + procedural page class.phpmailer.php

+ + in file class.phpmailer.php, method phpmailer::ClearAddresses()

+ + in file class.phpmailer.php, method phpmailer::ClearAllRecipients()

+ + in file class.phpmailer.php, method phpmailer::ClearAttachments()

+ + in file class.phpmailer.php, method phpmailer::ClearBCCs()

+ + in file class.phpmailer.php, method phpmailer::ClearCCs()

+ + in file class.phpmailer.php, method phpmailer::ClearCustomHeaders()

+ + in file class.phpmailer.php, method phpmailer::ClearReplyTos()

+ +
+ +  +top
+ + + + +
+ d +
+
+ + in file class.phpmailer.php, variable Boundary::$Disposition

+ +
+ +  +top
+ + + + +
+ e +
+
+ + in file class.phpmailer.php, variable phpmailer::$Encoding

+ + in file class.phpmailer.php, variable Boundary::$Encoding

+ + in file class.phpmailer.php, variable phpmailer::$ErrorInfo

+ +
+ +  +top
+ + + + +
+ f +
+
+ + in file class.phpmailer.php, variable Boundary::$FileName

+ + in file class.phpmailer.php, variable phpmailer::$From

+ + in file class.phpmailer.php, variable phpmailer::$FromName

+ +
+ +  +top
+ + + + +
+ g +
+
+ + in file class.phpmailer.php, method Boundary::GetSource()

+ +
+ +  +top
+ + + + +
+ h +
+
+ + in file class.phpmailer.php, variable phpmailer::$Helo

+ + in file class.phpmailer.php, variable phpmailer::$Host

+ +
+ +  +top
+ + + + +
+ i +
+
+ + in file class.phpmailer.php, method phpmailer::IsHTML()

+ + in file class.phpmailer.php, method phpmailer::IsMail()

+ + in file class.phpmailer.php, method phpmailer::IsQmail()

+ + in file class.phpmailer.php, method phpmailer::IsSendmail()

+ + in file class.phpmailer.php, method phpmailer::IsSMTP()

+ +
+ +  +top
+ + + + +
+ l +
+
+ + in file class.phpmailer.php, variable Boundary::$LE

+ + in file class.phpmailer.php, variable phpmailer::$LE

+ +
+ +  +top
+ + + + +
+ m +
+
+ + in file class.phpmailer.php, variable phpmailer::$Mailer

+ + in file class.phpmailer.php, variable phpmailer::$message_type

+ +
+ +  +top
+ + + + +
+ p +
+
+ + in file class.phpmailer.php, variable phpmailer::$Password

+ + in file class.phpmailer.php, variable phpmailer::$PluginDir

+ + in file class.phpmailer.php, variable phpmailer::$Port

+ + in file class.phpmailer.php, variable phpmailer::$Priority

+ + in file class.phpmailer.php, class phpmailer

+ +
+ +  +top
+ + + + +
+ r +
+
+ + in file class.phpmailer.php, variable phpmailer::$ReplyTo

+ +
+ +  +top
+ + + + +
+ s +
+
+ + in file class.phpmailer.php, variable phpmailer::$Sender

+ + in file class.phpmailer.php, variable phpmailer::$Sendmail

+ + in file class.phpmailer.php, variable phpmailer::$SMTPAuth

+ + in file class.phpmailer.php, variable phpmailer::$SMTPDebug

+ + in file class.phpmailer.php, variable phpmailer::$Subject

+ + in file class.phpmailer.php, method phpmailer::Send()

+ + in file class.phpmailer.php, method phpmailer::SendToQueue()

+ +
+ +  +top
+ + + + +
+ t +
+
+ + in file class.phpmailer.php, variable phpmailer::$Timeout

+ +
+ +  +top
+ + + + +
+ u +
+
+ + in file class.phpmailer.php, variable phpmailer::$UseMSMailHeaders

+ + in file class.phpmailer.php, variable phpmailer::$Username

+ +
+ +  +top
+ + + + +
+ v +
+
+ + in file class.phpmailer.php, variable phpmailer::$Version

+ +
+ +  +top
+ + + + +
+ w +
+
+ + in file class.phpmailer.php, variable phpmailer::$WordWrap

+ +
+ + diff --git a/phpmailer/phpdocu/index.html b/phpmailer/phpdocu/index.html new file mode 100755 index 0000000..5e99cd0 --- /dev/null +++ b/phpmailer/phpdocu/index.html @@ -0,0 +1,22 @@ + + + + + + Generated Documentation + + + + + + + + + + + <H2>Frame Alert</H2> + <P>This document is designed to be viewed using the frames feature. + If you see this message, you are using a non-frame-capable web client.</P> + + + diff --git a/phpmailer/phpdocu/li_default.html b/phpmailer/phpdocu/li_default.html new file mode 100755 index 0000000..3c9bd56 --- /dev/null +++ b/phpmailer/phpdocu/li_default.html @@ -0,0 +1,33 @@ + + + + + + {title} + + + + +Package: +

default

+Class Trees
+Alphabetical Element Index
+ +
+
Files
+ +
class.phpmailer.php
+ +
Classes
+ +
Boundary
+ +
phpmailer
+ + + +
+generated by PHPDocumentor version 1.0
+PHPDocumentor website
+ + diff --git a/phpmailer/phpdocu/packages.html b/phpmailer/phpdocu/packages.html new file mode 100755 index 0000000..a3ea367 --- /dev/null +++ b/phpmailer/phpdocu/packages.html @@ -0,0 +1,18 @@ + + + + + + {title} + + + + +

Packages

+

+ + default
+ +

+ + diff --git a/phpmailer/phpdocu/stylesheet.css b/phpmailer/phpdocu/stylesheet.css new file mode 100755 index 0000000..e69de29 --- /dev/null +++ b/phpmailer/phpdocu/stylesheet.css diff --git a/prefs.php b/prefs.php new file mode 100755 index 0000000..7a4b992 --- /dev/null +++ b/prefs.php @@ -0,0 +1,132 @@ +table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); +?> + + +$lang_logout");?> + +");?> + +

+ +"); + $sql = new Owl_DB; + $sql->query("select id,name from $default->owl_groups_table"); + $i=0; + while($sql->next_record()) { + $groups[$i][0] = $sql->f("id"); + $groups[$i][1] = $sql->f("name"); + $i++; + } + $sql->query("select * from $default->owl_users_table where id = '$id'"); + while($sql->next_record()) { + print("
"); + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + print(""); + //******************************* + // Display the Language dropdown + //******************************* + print(""); + print(""); + print(""); + print(""); + print(""); + + if ( $sql->f("notify") == 1) + print(""); + else + print(""); + if ( $sql->f("attachfile") == 1) + print(""); + else + print(""); + print("
table_header_bg align=right>$lang_title
table_header_bg align=right>$lang_userlang
table_header_bg align=right>$lang_oldpassword
table_header_bg align=right>$lang_newpassword
table_header_bg align=right>$lang_confpassword
table_header_bg align=right>$lang_email
table_header_bg align=right>$lang_notification
table_header_bg align=right>$lang_notification
table_header_bg align=right>$lang_attach_file
table_header_bg align=right>$lang_attach_file

"); + print("
"); } +} + +if($action) { + if(isset($owluser)) printuser($owluser); +} else { + exit("$lang_err_general"); +} + +$expand = 0; +include("./lib/footer.inc"); + +?> diff --git a/search.php b/search.php new file mode 100755 index 0000000..5f7c24b --- /dev/null +++ b/search.php @@ -0,0 +1,220 @@ +query("select parent from $default->owl_folders_table where id = '$parent'"); + while($sql->next_record()) { + $path = fid_to_name($sql->f("parent"))."/".$path; + $parent = $sql->f("parent"); + } + } + return $path; +} + +// BEGIN patch Scott Tigr +// patch for layout +include("./lib/header.inc"); + + print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); + print(""); + print(""); + print(""); + print(""); + print(""); + print("
"); + print("
"); + print uid_to_name($userid); + print(" : $lang_logout 
"); + +print "
"; +print "
"; +if ($expand == 1) { // long view + print("\t\ttable_expand_width."\" border=\"0\">\n"); +} else { + print("\t\t
table_collapse_width>\n"); +} + + print("\t\t\t
".$lang_search.": "); + + print(gen_navbar($parent) . "
"); + +// END patch Scott Tigr + +$groupid = owlusergroup($userid); + +// first we have to find out what we can search +// we need a list of all folder that can be searched +// so we need to see which folders the user can read +$sql = new Owl_DB; +$sql->query("SELECT id,creatorid,groupid,security FROM $default->owl_folders_table"); + +// +// get all the folders that the user can read +while($sql->next_record()) { + $id = $sql->f("id"); + if(check_auth($id, "folder_view", $userid) == 1) $folders[$id] = $id; +} + +// +// get all the files in those folders that the user can read +foreach($folders as $item) { + $sql->query("SELECT * FROM $default->owl_files_table where parent = '$item'"); + while($sql->next_record()) { + $id = $sql->f("id"); + if(check_auth($id, "file_download", $userid) == 1) { + $files[$id][id] = $id; + $files[$id][n] = $sql->f("name"); + $files[$id][m] = explode(" ", $sql->f("metadata")); + $files[$id][d] = explode(" ", $sql->f("description")); + $files[$id][f] = $sql->f("filename"); + $files[$id][c] = $sql->f("checked_out"); + $files[$id][u] = $sql->f("url"); + $files[$id][p] = $sql->f("parent"); + $files[$id][score] = 0; + } + } +} + +// +// right now we have the array $files with all possible files that the user has read access to + +// BEGIN bufix Scott Tigr +// error_handler if query empty + +if (strlen(trim($query))>0) { + +// END bugfix Scott Tigr + +// +// break up our query string +$query = explode(" ", $query); + +// +// the is the meat of the matching +if(sizeof($files) > 0) { +foreach($query as $keyword) { + foreach(array_keys($files) as $key) { + // BEGIN enhancement Sunil Savkar + // if the $parent string contains a keyword to be searched, then the score is + // adjusted. This takes into account the hierarchy. + if(eregi("$keyword", find_path($files[$key][p]))) $files[$key][score] = $files[$key][score] + 4; + if(eregi("$keyword", $files[$key][n])) $files[$key][score] = $files[$key][score] + 4; + if(eregi("$keyword", $files[$key][f])) $files[$key][score] = $files[$key][score] + 3; + foreach($files[$key][m] as $metaitem) { + // add 2 to the score if we find it in metadata (key search items) + if(eregi("$keyword", $metaitem)) $files[$key][score] = $files[$key][score] + 2; + } + foreach($files[$key][d] as $descitem) { + // only add 1 for regular description matches + if(eregi("$keyword", $descitem)) $files[$key][score] = $files[$key][score] + 1; + } + } +} +} +// +// gotta find order to the scores...any better ideas? +print "$lang_search_results_for \"".implode(" ", $query)."\"



"; +$max = 30; +$hit = 1; +$CountLines = 0; +$iconfiles = array("html","htm","gif","jpg","bmp","zip","tar","doc","mdb","xls","ppt","pdf","gz","mp3","tgz"); + + +if(sizeof($files) > 0) { + while($max > 0) { + foreach(array_keys($files) as $key) { + if($files[$key][score] == $max) { + $name = find_path($files[$key][p])."/".$files[$key][n]; + $filename = $files[$key][f]; + $choped = split("\.", $filename); + $pos = count($choped); + $ext = strtolower($choped[$pos-1]); + print("table_expand_width BORDER=$default->table_border CELLSPACING=1 CELLPADDING=1>"); + + $CountLines++; + $PrintLines = $CountLines % 2; + if ($PrintLines == 0) + print(""); + else + print(""); + print ""; + print(""; + print(""); + print("
"; + //for ($i=$max; $i>0; $i--) { + + //} + $t_score = $max; + for ($c=$max; $c>=1; $c--) { + if ( $t_score >= 10) { + if ( 0 == ($c % 10)) { + print ""; + $t_score = $t_score - 10; + } + } else { + if ( (0 == ($t_score % 2)) && $t_score > 0 ) { + print ""; + } + $t_score = $t_score - 1; + } + + } + + //print "
($lang_score $max)"; + print "
"); + print "$hit. ".$name.""); + + if ($files[$key][u] == "1") + print(" "); + else { + if (preg_grep("/$ext/",$iconfiles)) + print(" "); + else + print(" "); + } + + print("  $filename"); + printFileIcons($files[$key][id],$name,$files[$key][c],$files[$key][u],$default->owl_version_control,$ext); + print("
"); + //print "
".implode(" ", $files[$key][d])."

"; + $hit++; + } + } + $max--; + } +} +print "
table_expand_width."\" ALIGN=\"center\">
"; +print "

"; + +// BEGIN bugfix Scott Tigr +// error_handler if query empty +} // end of check strlen(query) +else { // if query was empty + + + +print("

" . $lang_query_empty . "

"); + +} + +include("./lib/footer.inc"); + +// END bugfix Scott Tigr +?> diff --git a/view.php b/view.php new file mode 100755 index 0000000..4980a01 --- /dev/null +++ b/view.php @@ -0,0 +1,263 @@ +query("select parent from $default->owl_folders_table where id = '$parent'"); + while($sql->next_record()) { + $path = fid_to_name($sql->f("parent"))."/".$path; + $parent = $sql->f("parent"); + } + } + return $path; +} + +function fid_to_filename($id) { + global $default; + $sql = new Owl_DB; + $sql->query("select filename from $default->owl_files_table where id = '$id'"); + while($sql->next_record()) return $sql->f("filename"); +} + +if($action == "image_show") { + if(check_auth($id, "file_download", $userid) == 1) { + if ($default->owl_use_fs) { + $path = $default->owl_FileDir."/".find_path($parent)."/".fid_to_filename($id); + readfile("$path"); + } + else { + $sql = new Owl_DB; + $filename = fid_to_filename($id); + if ($filetype = strrchr($filename,".")) { + $filetype = substr($filetype,1); + $sql->query("select * from $default->owl_mime_table where filetype = '$filetype'"); + while($sql->next_record()) $mimeType = $sql->f("mimetype"); + } + if ($mimeType) { + header("Content-Type: $mimeType"); + $sql->query("select data,compressed from " . $default->owl_files_data_table . " where id='$id'"); + while($sql->next_record()) { + if ($sql->f("compressed")) { + $tmpfile = $default->owl_FileDir . "owltmp.$id"; + if (file_exists($tmpfile)) unlink($tmpfile); + $fp=fopen($tmpfile,"w"); + fwrite($fp, $sql->f("data")); + fclose($fp); + flush(passthru($default->gzip_path . " -dfc $tmpfile")); + unlink($tmpfile); + } else { + print $sql->f("data"); + } + } + } + } + } else { + print($lang_nofileaccess); + } + die; +} +print("table_expand_width BGCOLOR=$default->main_header_bgcolor CELLSPACING=0 CELLPADDING=0 BORDER=$default->table_border HEIGHT=30>"); +?> +
+"); + } + print uid_to_name($userid); + print (""); +?> + +$lang_logout");?> + +");?> +
+table_expand_width BORDER=$default->table_border>"); + print("".gen_navbar($parent)."/".flid_to_name($id).""); + print("
table_expand_width>
"); + $sql = new Owl_DB; $sql->query("select * from $default->owl_files_table where id = '$id'"); + while($sql->next_record()) { + $security = $sql->f("security"); + if ($security == "0") $security = $lang_everyoneread; + if ($security == "1") $security = $lang_everyonewrite; + if ($security == "2") $security = $lang_groupread; + if ($security == "3") $security = $lang_groupwrite; + if ($security == "4") $security = $lang_onlyyou; + if ($security == "5") $security = $lang_groupwrite_nod; + if ($security == "6") $security = $lang_everyonewrite_nod; + if ($security == "7") $security = $lang_groupwrite_worldread; + if ($security == "8") $security = $lang_groupwrite_worldread_nod; + + print("table_border> + + + + + +
table_header_bg> + $lang_title:".$sql->f("name")."
table_header_bg>$lang_file:".$sql->f("filename")." (".gen_filesize($sql->f("size")).")
table_header_bg>$lang_ownership:".fid_to_creator($id)." (".group_to_name(owlfilegroup($id)).")
table_header_bg>$lang_permissions:$security
table_header_bg>$lang_keywords:".$sql->f("metadata")."
table_header_bg VALIGN=TOP>$lang_description:

"); + include("./lib/footer.inc"); + } + } +} + +if($action == "image_preview") { + if(check_auth($id, "file_download", $userid) == 1) { + $path = find_path($parent)."/".fid_to_filename($id); + print("$lang_viewing". gen_navbar($parent) . "/" . fid_to_filename($id) ."


"); + print(""); + } else { + print($lang_nofileaccess); + } +} + +if($action == "zip_preview") { + if(check_auth($id, "file_download", $userid) == 1) { + $name = fid_to_filename($id); + + if ($default->owl_use_fs) { + $path = find_path($parent)."/".$name; + } else { + $path = $name; + if (file_exists($default->owl_FileDir. "/$path")) unlink($default->owl_FileDir. "/$path"); + $file = fopen($default->owl_FileDir. "/$path", 'wb'); + $sql->query("select data,compressed from $default->owl_files_data_table where id='$id'"); + while($sql->next_record()) { + if ($sql->f("compressed")) { + + $tmpfile = $default->owl_FileDir . "owltmp.$id.gz"; + $uncomptmpfile = $default->owl_FileDir . "owltmp.$id"; + if (file_exists($tmpfile)) unlink($tmpfile); + + $fp=fopen($tmpfile,"w"); + fwrite($fp, $sql->f("data")); + fclose($fp); + + system($default->gzip_path . " -df $tmpfile"); + + $fsize = filesize($uncomptmpfile); + $fd = fopen($uncomptmpfile, 'rb'); + $filedata = fread($fd, $fsize); + fclose($fd); + + fwrite($file, $filedata); + unlink($uncomptmpfile); + } else { + fwrite($file, $sql->f("data")); + } + fclose($file); + } + + } + + //$path = find_path($parent)."/".$name; + $expr = "-t"; + if(ereg("gz", $name)) $expr .= "z"; + print("$lang_viewing". gen_navbar($parent) . "/" . fid_to_filename($id) ."


"); + print("table_border CELLPADDING=0 CELLSPACING=0>
");
+		passthru("$default->tar_path $expr < $default->owl_FileDir/$path | sort");
+		unlink($default->owl_FileDir. "/$path");
+		print("
"); + } else { + print($lang_nofileaccess); + } +} + +// BEGIN wes change +if($action == "html_show" || $action == "text_show") { + if(check_auth($id, "file_download", $userid) == 1) { + if ($default->owl_use_fs) { + $path = $default->owl_FileDir."/".find_path($parent)."/".fid_to_filename($id); + print("
$lang_viewing". gen_navbar($parent) . "/" . fid_to_filename($id) ."


"); + if ($action == "text_show") print(""); + readfile("$path"); + } else { + print("$lang_viewing /".find_path($parent)."/".fid_to_filename($id)."<HR WIDTH=50%><BR><BR></CENTER>"); + if ($action == "text_show") print("<xmp>"); + + $sql->query("select data,compressed from " . $default->owl_files_data_table . " where id='$id'"); + + while($sql->next_record()) { + + if ($sql->f("compressed")) { + + $tmpfile = $default->owl_FileDir . "owltmp.$id"; + if (file_exists($tmpfile)) unlink($tmpfile); + + $fp=fopen($tmpfile,"w"); + fwrite($fp, $sql->f("data")); + fclose($fp); + flush(passthru($default->gzip_path . " -dfc $tmpfile")); + unlink($tmpfile); + } else { + print $sql->f("data"); + } + } + } + $path = find_path($parent)."/".fid_to_filename($id); + } else { + print($lang_nofileaccess); + } +} +// end wes change + +?>