From b7d5fef30a4a852444332451aeda7c5c62d5e901 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 16 Jun 2021 08:03:54 +0200 Subject: [PATCH 001/475] nachrichten wegschicken auch wenn die Sprache nicht gefunden wurde --- application/libraries/VorlageLib.php | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/application/libraries/VorlageLib.php b/application/libraries/VorlageLib.php index 9679dff1c..d8d443a41 100644 --- a/application/libraries/VorlageLib.php +++ b/application/libraries/VorlageLib.php @@ -114,7 +114,7 @@ class VorlageLib if (!hasData($vorlage)) { // Builds where clause - $where = $this->_where($vorlage_kurzbz, $orgform_kurzbz, $sprache); + $where = $this->_where($vorlage_kurzbz); $vorlage = $this->ci->organisationseinheitlib->treeSearch( 'public', @@ -134,20 +134,11 @@ class VorlageLib /** * _where */ - private function _where($vorlage_kurzbz, $orgform_kurzbz, $sprache) + private function _where($vorlage_kurzbz) { // Builds where clause $where = "vorlage_kurzbz = ".$this->ci->VorlageModel->escape($vorlage_kurzbz); - if (is_null($sprache)) - { - $where .= " AND sprache IS NULL"; - } - else - { - $where .= " AND sprache = ".$this->ci->VorlageModel->escape($sprache); - } - $where .= " AND aktiv = true"; return $where; From dc5ca70645bb92047975e3e96f2881474db1410c Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 13:55:13 +0200 Subject: [PATCH 002/475] Create zgvdoktor.rdf.php ZGV Doktor und zgv_erfuellt --- rdf/zgvdoktor.rdf.php | 79 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 rdf/zgvdoktor.rdf.php diff --git a/rdf/zgvdoktor.rdf.php b/rdf/zgvdoktor.rdf.php new file mode 100644 index 000000000..dc0b38ff7 --- /dev/null +++ b/rdf/zgvdoktor.rdf.php @@ -0,0 +1,79 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +// header fr no cache +header("Cache-Control: no-cache"); +header("Cache-Control: post-check=0, pre-check=0",false); +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Pragma: no-cache"); +// content type setzen +header("Content-type: application/xhtml+xml"); + +echo ''; +require_once('../config/vilesci.config.inc.php'); +require_once('../include/basis_db.class.php'); + +$rdf_url='http://www.technikum-wien.at/zgvdoktor'; + +?> + + + + + + + + + + -- keine Auswahl -- + -- keine Auswahl -- + + +'; +} +$qry = 'SELECT * FROM bis.tbl_zgvdoktor ORDER BY zgvdoktor_code'; +$db = new basis_db(); + +if($db->db_query($qry)) +{ + while($row = $db->db_fetch_object()) + { +?> + + + zgvdoktor_code; ?>]]> + zgvdoktor_bez; ?>]]> + zgvdoktor_kurzbz; ?>]]> + + + + + \ No newline at end of file From 713374f4d867ef1404807f79d20d2f40e53ec81c Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 13:59:16 +0200 Subject: [PATCH 003/475] ZGV Doktor und zgv_erfuellt --- rdf/student.rdf.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index 3771f7d5e..ae2016aea 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -126,14 +126,16 @@ function checkfilter($row, $filter2, $buchungstyp = null) elseif($filter2=='zgvohnedatum') { //Alle Personen die den ZGV Typ eingetragen haben aber noch kein Datum - $qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum + $qry = "SELECT zgv_code, zgvdatum, zgvmas_code, zgvmadatum,zgvdoktor_code, zgvdoktordatum FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id); if($db->db_query($qry)) { if($row_filter = $db->db_fetch_object()) { if(($row_filter->zgv_code!='' && $row_filter->zgvdatum=='') - || ($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum=='')) + || ($row_filter->zgvmas_code!='' && $row_filter->zgvmadatum=='') + || ($row_filter->zgvdoktor_code!='' && $row_filter->zgvdoktordatum=='') + ) return true; else return false; @@ -352,11 +354,18 @@ function draw_prestudent($row) convertISODate($row->zgvdatum).']]> zgvdatum.']]> zgvnation.']]> + zgv_erfuellt.']]> zgvmas_code.']]> zgvmaort.']]> convertISODate($row->zgvmadatum).']]> zgvmadatum.']]> zgvmanation.']]> + zgvmas_erfuellt.']]> + zgvdoktor_code.']]> + zgvdoktorort.']]> + convertISODate($row->zgvdoktordatum).']]> + zgvdoktordatum.']]> + zgvdoktornation.']]> zgvdoktor_erfuellt.']]> ausstellungsstaat.']]> aufnahmeschluessel.']]> facheinschlberuf?'true':'false').']]> From ced3f0f97858f6e9f168e40f1d8d4c8d1648ad58 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:04:43 +0200 Subject: [PATCH 004/475] ZGV Doktor und zgv_erfuellt --- rdf/prestudent.rdf.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rdf/prestudent.rdf.php b/rdf/prestudent.rdf.php index bc7c17036..b7b8aa6d9 100644 --- a/rdf/prestudent.rdf.php +++ b/rdf/prestudent.rdf.php @@ -68,11 +68,19 @@ if(isset($_GET['prestudent_id']) && is_numeric($_GET['prestudent_id'])) zgvdatum; ?>]]> convertISODate($prestd->zgvdatum); ?>]]> zgvnation; ?>]]> + zgv_erfuellt; ?>]]> zgvmas_code; ?>]]> zgvmaort; ?>]]> zgvmadatum; ?>]]> convertISODate($prestd->zgvmadatum); ?>]]> zgvmanation; ?>]]> + zgvmas_erfuellt; ?>]]> + zgvdoktor_code; ?>]]> + zgvdoktorort; ?>]]> + zgvdoktordatum; ?>]]> + convertISODate($prestd->zgvdoktordatum); ?>]]> + zgvdoktornation; ?>]]> + zgvdoktor_erfuellt; ?>]]> aufnahmeschluessel; ?>]]> facheinschlberuf?'true':'false'); ?>]]> reihungstest_id; ?>]]> From cf0957f8a494126561095503d1f8f618cf9b82db Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:10:37 +0200 Subject: [PATCH 005/475] ZGV Doktor und zgv_erfuellt --- content/student/studentdetailoverlay.xul.php | 64 ++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php index 18e69874e..7771c17cb 100644 --- a/content/student/studentdetailoverlay.xul.php +++ b/content/student/studentdetailoverlay.xul.php @@ -294,6 +294,8 @@ echo ''; + + @@ -332,6 +334,14 @@ echo ''; + + + + + + From 8423b3e30af659d28ef2bf45d368987e26681d46 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:21:10 +0200 Subject: [PATCH 006/475] ZGV Doktor und zgv_erfuellt --- content/student/studentoverlay.js.php | 56 ++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index f034ae473..fa142d8fa 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -1137,10 +1137,18 @@ function StudentAuswahl() zgvort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvort" )); zgvnation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvnation" )); zgvdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdatum" )); + zgv_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgv_erfuellt" )); zgvmaster_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_code" )); zgvmasterort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmaort" )); zgvmasternation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmanation" )); - zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" )); + zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" )); + zgvmas_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_erfuellt" )); + zgvdoktor_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_code" )); + zgvdoktorort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktorort" )); + zgvdoktornation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktornation" )); + zgvdoktordatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktordatum" )); + zgvdoktor_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_erfuellt" )); + aufnahmeschluessel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufnahmeschluessel" )); facheinschlberuf = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#facheinschlberuf" )); bismelden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bismelden" )); @@ -1157,10 +1165,26 @@ function StudentAuswahl() document.getElementById('student-prestudent-textbox-zgvort').value=zgvort; MenulistSelectItemOnValue('student-prestudent-menulist-zgvnation', zgvnation); document.getElementById('student-prestudent-textbox-zgvdatum').value=zgvdatum; + if(zgv_erfuellt=='t') + document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=true; + else + document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=false; document.getElementById('student-prestudent-menulist-zgvmastercode').value=zgvmaster_code; document.getElementById('student-prestudent-textbox-zgvmasterort').value=zgvmasterort; MenulistSelectItemOnValue('student-prestudent-menulist-zgvmasternation', zgvmasternation); document.getElementById('student-prestudent-textbox-zgvmasterdatum').value=zgvmasterdatum; + if(zgvmas_erfuellt=='t') + document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=true; + else + document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=false; + document.getElementById('student-prestudent-menulist-zgvdoktorcode').value=zgvdoktor_code; + document.getElementById('student-prestudent-textbox-zgvdoktorort').value=zgvdoktorort; + MenulistSelectItemOnValue('student-prestudent-menulist-zgvdoktornation', zgvdoktornation); + document.getElementById('student-prestudent-textbox-zgvdoktordatum').value=zgvdoktordatum; + if(zgvdoktor_erfuellt=='t') + document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked=true; + else + document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked=false; document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value=aufnahmeschluessel; if(facheinschlberuf=='true') document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=true; @@ -1694,10 +1718,18 @@ function StudentPrestudentDisableFields(val) document.getElementById('student-prestudent-textbox-zgvort').disabled=val; document.getElementById('student-prestudent-menulist-zgvnation').disabled=val; document.getElementById('student-prestudent-textbox-zgvdatum').disabled=val; + document.getElementById('student-prestudent-checkbox-zgverfuellt').disabled=val; document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val; document.getElementById('student-prestudent-textbox-zgvmasterort').disabled=val; document.getElementById('student-prestudent-menulist-zgvmasternation').disabled=val; document.getElementById('student-prestudent-textbox-zgvmasterdatum').disabled=val; + document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').disabled=val; + document.getElementById('student-prestudent-menulist-zgvdoktorcode').disabled=val; + document.getElementById('student-prestudent-textbox-zgvdoktorort').disabled=val; + document.getElementById('student-prestudent-menulist-zgvdoktornation').disabled=val; + document.getElementById('student-prestudent-textbox-zgvdoktordatum').disabled=val; + document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').disabled=val; + document.getElementById('student-prestudent-menulist-aufnahmeschluessel').disabled=val; document.getElementById('student-prestudent-checkbox-facheinschlberuf').disabled=val; document.getElementById('student-prestudent-checkbox-bismelden').disabled=val; @@ -1763,10 +1795,18 @@ function StudentPrestudentSave() zgvort = document.getElementById('student-prestudent-textbox-zgvort').value; zgvnation = document.getElementById('student-prestudent-menulist-zgvnation').value; zgvdatum = document.getElementById('student-prestudent-textbox-zgvdatum').value; + zgv_erfuellt = document.getElementById('student-prestudent-checkbox-zgverfuellt').checked; zgvmaster_code = document.getElementById('student-prestudent-menulist-zgvmastercode').value; zgvmasterort = document.getElementById('student-prestudent-textbox-zgvmasterort').value; zgvmasternation = document.getElementById('student-prestudent-menulist-zgvmasternation').value; zgvmasterdatum = document.getElementById('student-prestudent-textbox-zgvmasterdatum').value; + zgvmas_erfuellt = document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked; + zgvdoktor_code = document.getElementById('student-prestudent-menulist-zgvdoktorcode').value; + zgvdoktorort = document.getElementById('student-prestudent-textbox-zgvdoktorort').value; + zgvdoktornation = document.getElementById('student-prestudent-menulist-zgvdoktornation').value; + zgvdoktordatum = document.getElementById('student-prestudent-textbox-zgvdoktordatum').value; + zgvdoktor_erfuellt = document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked; + aufnahmeschluessel = document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value; facheinschlberuf = document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked; bismelden = document.getElementById('student-prestudent-checkbox-bismelden').checked; @@ -1790,7 +1830,11 @@ function StudentPrestudentSave() alert('ZGVMaster Datum ist ungueltig'); return false; } - + if(zgvdoktordatum!='' && !CheckDatum(zgvdoktordatum)) + { + alert('ZGVDoktor Datum ist ungueltig'); + return false; + } var url = 'content/student/studentDBDML.php'; var req = new phpRequest(url,'',''); @@ -1809,10 +1853,18 @@ function StudentPrestudentSave() req.add('zgvort', zgvort); req.add('zgvnation', zgvnation); req.add('zgvdatum', ConvertDateToISO(zgvdatum)); + req.add('zgv_erfuellt', zgv_erfuellt); req.add('zgvmas_code', zgvmaster_code); req.add('zgvmaort', zgvmasterort); req.add('zgvmanation', zgvmasternation); req.add('zgvmadatum', ConvertDateToISO(zgvmasterdatum)); + req.add('zgvmas_erfuellt', zgvmas_erfuellt); + req.add('zgvdoktor_code', zgvdoktor_code); + req.add('zgvdoktorort', zgvdoktorort); + req.add('zgvdoktornation', zgvdoktornation); + req.add('zgvdoktordatum', ConvertDateToISO(zgvdoktordatum)); + req.add('zgvdoktor_erfuellt', zgvdoktor_erfuellt); + req.add('aufnahmeschluessel', aufnahmeschluessel); req.add('facheinschlberuf', facheinschlberuf); req.add('bismelden', bismelden); From ed43b03e378fa057bbd5d3245a586528e147bcc7 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 14:33:03 +0200 Subject: [PATCH 007/475] ZGV Doktor und zgv_erfuellt --- content/student/studentDBDML.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 79e330c7f..6aa407c5e 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -365,6 +365,7 @@ if(!$error) $error = true; $errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang'; } + //Studentendaten speichern if(!$error) { @@ -384,7 +385,8 @@ if(!$error) $return = false; $errormsg = 'Geburtsdatum ist nicht korrekt.'; $error = true; - } + } + if(!$error) { $student->uid = $_POST['uid']; @@ -624,10 +626,17 @@ if(!$error) $prestudent->zgvort = $_POST['zgvort']; $prestudent->zgvdatum = $_POST['zgvdatum']; $prestudent->zgvnation = $_POST['zgvnation']; + $prestudent->zgv_erfuellt = $_POST['zgv_erfuellt']; $prestudent->zgvmas_code = $_POST['zgvmas_code']; $prestudent->zgvmaort = $_POST['zgvmaort']; $prestudent->zgvmadatum = $_POST['zgvmadatum']; $prestudent->zgvmanation = $_POST['zgvmanation']; + $prestudent->zgvmas_erfuellt = $_POST['zgvmas_erfuellt']; + $prestudent->zgvdoktor_code = $_POST['zgvdoktor_code']; + $prestudent->zgvdoktorort = $_POST['zgvdoktorort']; + $prestudent->zgvdoktordatum = $_POST['zgvdoktordatum']; + $prestudent->zgvdoktornation = $_POST['zgvdoktornation']; + $prestudent->zgvdoktor_erfuellt = $_POST['zgvdoktor_erfuellt']; $prestudent->aufnahmeschluessel = $_POST['aufnahmeschluessel']; $prestudent->facheinschlberuf = ($_POST['facheinschlberuf']=='true'?true:false); $prestudent->bismelden = ($_POST['bismelden']=='true'?true:false); @@ -2308,7 +2317,7 @@ if(!$error) { if ($dokument_kurzbz === 'Sonst' && $sonst !== 0) continue; - + if($dokument_kurzbz!='') { $dok = new dokument(); @@ -2321,6 +2330,7 @@ if(!$error) $dok->new = true; if ($dokument_kurzbz === 'Sonst') $sonst++; + if(!$dok->save()) { @@ -2515,7 +2525,6 @@ if(!$error) $dokumente = explode(';',$_POST['dokumente']); $errormsg = ''; $sonst = 0; - foreach ($dokumente as $dokument_kurzbz) { if ($dokument_kurzbz === 'Sonst' && $sonst !== 0) From 624b910edd9c396d47142d7508d3a2dd7783a8ac Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 15:30:37 +0200 Subject: [PATCH 008/475] ZGV Doktor und zgv_erfuellt --- include/prestudent.class.php | 76 ++++++++++++++++++++++++++++-------- 1 file changed, 59 insertions(+), 17 deletions(-) diff --git a/include/prestudent.class.php b/include/prestudent.class.php index eb8767883..8ff3a8724 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -44,10 +44,12 @@ class prestudent extends person public $zgvort; public $zgvdatum; public $zgvnation; + public $zgv_erfuellt; public $zgvmas_code; public $zgvmaort; public $zgvmadatum; public $zgvmanation; + public $zgvmas_erfuellt; public $ausstellungsstaat; public $aufnahmeschluessel; public $facheinschlberuf; @@ -68,6 +70,7 @@ class prestudent extends person public $zgvdoktorort; public $zgvdoktordatum; public $zgvdoktornation; + public $zgvdoktor_erfuellt; public $gsstudientyp_kurzbz='Intern'; public $aufnahmegruppe_kurzbz; public $priorisierung = null; @@ -137,10 +140,12 @@ class prestudent extends person $this->zgvort = $row->zgvort; $this->zgvdatum = $row->zgvdatum; $this->zgvnation = $row->zgvnation; + $this->zgv_erfuellt = $row->zgv_erfuellt; $this->zgvmas_code = $row->zgvmas_code; $this->zgvmaort = $row->zgvmaort; $this->zgvmadatum = $row->zgvmadatum; $this->zgvmanation = $row->zgvmanation; + $this->zgvmas_erfuellt = $row->zgvmas_erfuellt; $this->aufnahmeschluessel = $row->aufnahmeschluessel; $this->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf); $this->anmeldungreihungstest = $row->anmeldungreihungstest; @@ -161,6 +166,7 @@ class prestudent extends person $this->zgvdoktorort = $row->zgvdoktorort; $this->zgvdoktordatum = $row->zgvdoktordatum; $this->zgvdoktornation = $row->zgvdoktornation; + $this->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt; $this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz; $this->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; $this->priorisierung = $row->priorisierung; @@ -220,6 +226,11 @@ class prestudent extends person $this->errormsg = 'ZGV Master Ort darf nicht länger als 64 Zeichen sein.'; return false; } + if(mb_strlen($this->zgvdoktorort)>64) + { + $this->errormsg = 'ZGV Doktor Ort darf nicht länger als 64 Zeichen sein.'; + return false; + } return true; } @@ -245,12 +256,13 @@ class prestudent extends person if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE { $qry = 'BEGIN;INSERT INTO public.tbl_prestudent (aufmerksamdurch_kurzbz, person_id, - studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation, - zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, aufnahmeschluessel, facheinschlberuf, + studiengang_kz, berufstaetigkeit_code, ausbildungcode, zgv_code, zgvort, zgvdatum, zgvnation, zgv_erfuellt, + zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, zgvmas_erfuellt, zgvdoktor_code, zgvdoktorort, zgvdoktordatum, + zgvdoktornation,aufnahmeschluessel, facheinschlberuf, reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte, rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon, updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor, - gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('. + gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung,zgvdoktor_erfuellt) VALUES('. $this->db_add_param($this->aufmerksamdurch_kurzbz).",". $this->db_add_param($this->person_id).",". $this->db_add_param($this->studiengang_kz).",". @@ -260,10 +272,16 @@ class prestudent extends person $this->db_add_param($this->zgvort).",". $this->db_add_param($this->zgvdatum).",". $this->db_add_param($this->zgvnation).",". + $this->db_add_param($this->zgv_erfuellt).",". $this->db_add_param($this->zgvmas_code).",". $this->db_add_param($this->zgvmaort).",". $this->db_add_param($this->zgvmadatum).",". $this->db_add_param($this->zgvmanation).",". + $this->db_add_param($this->zgvmas_erfuellt).",". + $this->db_add_param($this->zgvdoktor_code).",". + $this->db_add_param($this->zgvdoktorort).",". + $this->db_add_param($this->zgvdoktordatum).",". + $this->db_add_param($this->zgvdoktornation).",". $this->db_add_param($this->aufnahmeschluessel).",". $this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",". $this->db_add_param($this->reihungstest_id).",". @@ -284,7 +302,8 @@ class prestudent extends person $this->db_add_param($this->mentor).",". $this->db_add_param($this->gsstudientyp_kurzbz).",". $this->db_add_param($this->aufnahmegruppe_kurzbz).",". - $this->db_add_param($this->priorisierung).");"; + $this->db_add_param($this->priorisierung).",". + $this->db_add_param($this->zgvdoktor_erfuellt).");"; } else { @@ -298,10 +317,16 @@ class prestudent extends person ' zgvort='.$this->db_add_param($this->zgvort).",". ' zgvdatum='.$this->db_add_param($this->zgvdatum).",". ' zgvnation='.$this->db_add_param($this->zgvnation).",". + ' zgv_erfuellt='.$this->db_add_param($this->zgv_erfuellt).",". ' zgvmas_code='.$this->db_add_param($this->zgvmas_code).",". ' zgvmaort='.$this->db_add_param($this->zgvmaort).",". ' zgvmadatum='.$this->db_add_param($this->zgvmadatum).",". ' zgvmanation='.$this->db_add_param($this->zgvmanation).",". + ' zgvmas_erfuellt='.$this->db_add_param($this->zgvmas_erfuellt).",". + ' zgvdoktor_code='.$this->db_add_param($this->zgvdoktor_code).",". + ' zgvdoktorort='.$this->db_add_param($this->zgvdoktorort).",". + ' zgvdoktordatum='.$this->db_add_param($this->zgvdoktordatum).",". + ' zgvdoktornation='.$this->db_add_param($this->zgvdoktornation).",". ' aufnahmeschluessel='.$this->db_add_param($this->aufnahmeschluessel).",". ' facheinschlberuf='.$this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).",". ' reihungstest_id='.$this->db_add_param($this->reihungstest_id).",". @@ -320,7 +345,8 @@ class prestudent extends person ' dual='.$this->db_add_param($this->dual, FHC_BOOLEAN).",". ' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).",". ' aufnahmegruppe_kurzbz='.$this->db_add_param($this->aufnahmegruppe_kurzbz).",". - ' priorisierung='.$this->db_add_param($this->priorisierung).' '. + ' priorisierung='.$this->db_add_param($this->priorisierung).",". + ' zgvdoktor_erfuellt='.$this->db_add_param($this->zgvdoktor_erfuellt).' '. " WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";"; } @@ -796,10 +822,12 @@ class prestudent extends person case "zgv": $stg_obj = new studiengang(); $stg_obj->load($studiengang_kz); - if($stg_obj->typ=='m') - $qry.=" AND a.rolle='Interessent' AND a.zgvmas_code is not null"; + if($stg_obj->typ=='m') + $qry.=" AND a.rolle='Interessent' AND a.zgvmas_code is not null AND a.zgvmas_erfuellt = 't'"; + elseif($stg_obj->typ=='p') + $qry.=" AND a.rolle='Interessent' AND a.zgvdoktor_code is not null AND a.zgvdoktor_erfuellt = 't'"; else - $qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null"; + $qry.=" AND a.rolle='Interessent' AND a.zgv_code is not null AND a.zgv_erfuellt = 't'"; break; case "reihungstestangemeldet": $qry.=" @@ -896,10 +924,17 @@ class prestudent extends person $ps->zgvort = $row->zgvort; $ps->zgvdatum = $row->zgvdatum; $ps->zgvnation = $row->zgvnation; + $ps->zgv_erfuellt = $row->zgv_erfuellt; $ps->zgvmas_code = $row->zgvmas_code; $ps->zgvmaort = $row->zgvmaort; $ps->zgvmadatum = $row->zgvmadatum; $ps->zgvmanation = $row->zgvmanation; + $ps->zgvmas_erfuellt = $row->zgvmas_erfuellt; + $ps->zgvdoktor_code = $row->zgvdoktor_code; + $ps->zgvdoktorort = $row->zgvdoktorort; + $ps->zgvdoktordatum = $row->zgvdoktordatum; + $ps->zgvdoktornation = $row->zgvdoktornation; + $ps->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt; $ps->ausstellungsstaat = $row->ausstellungsstaat; $ps->aufnahmeschluessel = $row->aufnahmeschluessel; $ps->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf); @@ -1418,10 +1453,12 @@ class prestudent extends person $obj->zgvort = $row->zgvort; $obj->zgvdatum = $row->zgvdatum; $obj->zgvnation = $row->zgvnation; + $obj->zgv_erfuellt = $row->zgv_erfuellt; $obj->zgvmas_code = $row->zgvmas_code; $obj->zgvmaort = $row->zgvmaort; $obj->zgvmadatum = $row->zgvmadatum; $obj->zgvmanation = $row->zgvmanation; + $obj->zgvmas_erfuellt = $row->zgvmas_erfuellt; $obj->aufnahmeschluessel = $row->aufnahmeschluessel; $obj->facheinschlberuf = $this->db_parse_bool($row->facheinschlberuf); $obj->anmeldungreihungstest = $row->anmeldungreihungstest; @@ -1441,11 +1478,12 @@ class prestudent extends person $obj->zgvdoktor_code = $row->zgvdoktor_code; $obj->zgvdoktorort = $row->zgvdoktorort; $obj->zgvdoktordatum = $row->zgvdoktordatum; - $obj->zgvdoktornation = $row->zgvdoktornation; + $obj->zgvdoktornation = $row->zgvdoktornation; $obj->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz; $obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; $obj->priorisierung = $row->priorisierung; - + $obj->zgvdoktor_erfuellt = $row->zgvdoktor_erfuellt; + $this->result[] = $obj; } return true; @@ -1468,7 +1506,7 @@ class prestudent extends person ( 'bachelor' => array(), 'master' => array(), - //'doktor' => array(), + 'doktor' => array(), ); $attribute = array ( @@ -2065,11 +2103,11 @@ class prestudent extends person $log->sql = $qry; $log->sqlundo = 'INSERT INTO public.tbl_prestudent( prestudent_id, aufmerksamdurch_kurzbz, studiengang_kz, berufstaetigkeit_code, ausbildungcode, - zgv_code, zgvort, zgvdatum, zgvnation, zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, + zgv_code, zgvort, zgvdatum, zgvnation,zgv_erfuellt, zgvmas_code, zgvmaort, zgvmadatum, zgvmanation,zgvmas_erfuellt, aufnahmeschluessel, facheinschlberuf, anmeldungreihungstest, reihungstestangetreten, reihungstest_id, punkte, rt_punkte1, rt_punkte2, rt_punkte3, bismelden, person_id, anmerkung, mentor, ext_id_prestudent, dual, ausstellungsstaat, zgvdoktor_code, zgvdoktorort, zgvdoktordatum, zgvdoktornation, - gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung) VALUES('. + gsstudientyp_kurzbz, aufnahmegruppe_kurzbz, priorisierung,zgvdoktor_erfuellt) VALUES('. $this->db_add_param($this->prestudent_id).','. $this->db_add_param($this->aufmerksamdurch_kurzbz).','. $this->db_add_param($this->studiengang_kz).','. @@ -2079,10 +2117,12 @@ class prestudent extends person $this->db_add_param($this->zgvort).','. $this->db_add_param($this->zgvdatum).','. $this->db_add_param($this->zgvnation).','. + $this->db_add_param($this->zgv_erfuellt).','. $this->db_add_param($this->zgvmas_code).','. $this->db_add_param($this->zgvmaort).','. $this->db_add_param($this->zgvmadatum).','. $this->db_add_param($this->zgvmanation).','. + $this->db_add_param($this->zgvmas_erfuellt).','. $this->db_add_param($this->aufnahmeschluessel).','. $this->db_add_param($this->facheinschlberuf, FHC_BOOLEAN).','. $this->db_add_param($this->anmeldungreihungstest).','. @@ -2105,7 +2145,8 @@ class prestudent extends person $this->db_add_param($this->zgvdoktornation).','. $this->db_add_param($this->gsstudientyp_kurzbz).','. $this->db_add_param($this->aufnahmegruppe_kurzbz).','. - $this->db_add_param($this->priorisierung).');'; + $this->db_add_param($this->priorisierung).','. + $this->db_add_param($this->zgvdoktor_erfuellt).');'; if($log->save(true)) { @@ -2216,9 +2257,9 @@ class prestudent extends person WHERE laststatus NOT IN ('Abbrecher', 'Abgewiesener', 'Absolvent') AND priorisierung <= ".$this->db_add_param($priorisierungAbsolut, FHC_INTEGER); - if ($result = $this->db_query($qry)) + if($result = $this->db_query($qry)) { - if ($row = $this->db_fetch_object($result)) + if($row = $this->db_fetch_object($result)) { return $row->prio_relativ; } @@ -2233,8 +2274,9 @@ class prestudent extends person $this->errormsg = 'Fehler beim Laden der Daten'; return false; } - } + + } /** * Prueft, ob eine Person einen aktuellen PreStudentstatus-Eintrag besitzt, der die ZGV Master ersetzt * @param int $person_id ID der zu überprüfenden Person. From a6d83ef321ed4fdb0f777a2866426a63b825d0cc Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Fri, 20 Aug 2021 15:39:36 +0200 Subject: [PATCH 009/475] ZGV Doktor und zgv_erfuellt --- system/dbupdate_3.3.php | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 7e0aefe09..ba6852747 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -2567,7 +2567,6 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung . "
Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false"; } - // Spalte Priorisierung für tbl_prestudent if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1")) { @@ -2579,6 +2578,40 @@ if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LI echo '
public.tbl_prestudent: Spalte priorisierung hinzugefuegt'; } +// Spalte zgv_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgv_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgv_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgv_erfuellt hinzugefuegt'; +} + +// Spalte zgvmas_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgvmas_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvmas_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgvmas_erfuellt hinzugefuegt'; +} + +// Spalte zgvdoktor_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgvdoktor_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgvdoktor_erfuellt hinzugefuegt'; +} + + // Spalte lieferant in tbl_firma if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1")) { @@ -5145,7 +5178,7 @@ $tabellen=array( "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"), "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"), - "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung"), + "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","zgv_erfuellt","zgvmas_erfuellt","zgvdoktor_erfuellt"), "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"), @@ -5299,4 +5332,4 @@ if (!$result=@$db->db_query($sql_query)) } if($error==false) echo '
Gegenpruefung fehlerfrei'; -?> +?> \ No newline at end of file From b7c22ac56fb254ed3fc556d70884dabffe45d1e0 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Mon, 6 Sep 2021 12:25:29 +0200 Subject: [PATCH 010/475] Fixed: Now including correctly config start- and enddate Signed-off-by: cris-technikum --- .../controllers/lehre/anrechnung/RequestAnrechnung.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php index 45a770cf5..306ce5841 100644 --- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php +++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php @@ -80,7 +80,7 @@ class requestAnrechnung extends Auth_Controller $prestudent_id = getData($result)[0]->prestudent_id; // Check if application deadline is expired - $is_expired = self::_checkAntragDeadline( + $is_expired = self::_isExpired( $this->config->item('submit_application_start'), $this->config->item('submit_application_end'), $studiensemester_kurzbz @@ -226,10 +226,10 @@ class requestAnrechnung extends Auth_Controller * @param $start Start date for application submission. * @param $ende End date for application submission. * @param $studiensemester_kurzbz - * @return bool True if today is not during the start- and ending deadlines (= if is expired) + * @return bool True if deadline is expired * @throws Exception */ - private function _checkAntragDeadline($start, $ende, $studiensemester_kurzbz) + private function _isExpired($start, $ende, $studiensemester_kurzbz) { $this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); @@ -253,8 +253,8 @@ class requestAnrechnung extends Auth_Controller $start = new DateTime($start); $ende = new DateTime($ende); - // True if today is not during the start- and ending deadlines (= if is expired) - return ($today <= $start || $today >= $ende); + // True if expired + return ($today < $start || $today > $ende); } /** From 4f46476f877ec9c851446383b4c037d117cfc846 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Mon, 6 Sep 2021 12:56:43 +0200 Subject: [PATCH 011/475] Fixed: Now entitlement checked for all STGL. Also added hasData checks. Before only the first returning STGL was checked for entitlement. Also added hasData checks to avoid using getData on NULL values. Signed-off-by: cris-technikum --- .../anrechnung/ApproveAnrechnungDetail.php | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php index d76c0d79b..209ad75b9 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php @@ -412,28 +412,31 @@ class approveAnrechnungDetail extends Auth_Controller { $result = $this->AnrechnungModel->load($anrechnung_id); - if(!$result = getData($result)[0]) + if(!hasData($result)) { show_error('Failed loading Anrechnung'); } - + $result = $this->LehrveranstaltungModel->loadWhere(array( - 'lehrveranstaltung_id' => $result->lehrveranstaltung_id + 'lehrveranstaltung_id' => getData($result)[0]->lehrveranstaltung_id )); - if(!$result = getData($result)[0]) + if(!hasData($result)) { show_error('Failed loading Lehrveranstaltung'); } // Get STGL - $result = $this->StudiengangModel->getLeitung($result->studiengang_kz); - - if($result = getData($result)[0]) + $result = $this->StudiengangModel->getLeitung(getData($result)[0]->studiengang_kz); + + if (hasData($result)) { - if ($result->uid == $this->_uid) + foreach (getData($result) as $stgl) { - return; + if ($stgl->uid == $this->_uid) + { + return; + } } } From 2d755e82b47176f2aad46db29b44c15e1b2ce269 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 7 Sep 2021 14:36:06 +0200 Subject: [PATCH 012/475] Fixed: Added DB-Update Gegenchecks for new tables / columns in DB Signed-off-by: cris-technikum --- system/dbupdate_3.3.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 2bd3afed6..b60f09de4 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5017,7 +5017,9 @@ $tabellen=array( "lehre.tbl_abschlusspruefung" => array("abschlusspruefung_id","student_uid","vorsitz","pruefer1","pruefer2","pruefer3","abschlussbeurteilung_kurzbz","akadgrad_id","pruefungstyp_kurzbz","datum","uhrzeit","sponsion","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","note","protokoll","endezeit","pruefungsantritt_kurzbz","freigabedatum"), "lehre.tbl_abschlusspruefung_antritt" => array("pruefungsantritt_kurzbz","bezeichnung","bezeichnung_english","sort"), "lehre.tbl_akadgrad" => array("akadgrad_id","akadgrad_kurzbz","studiengang_kz","titel","geschlecht"), - "lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id"), + "lehre.tbl_anrechnung" => array("anrechnung_id","prestudent_id","lehrveranstaltung_id","begruendung_id","lehrveranstaltung_id_kompatibel","genehmigt_von","insertamum","insertvon","updateamum","updatevon","ext_id", "dms_id", "studiensemester_kurzbz", "anmerkung_student", "empfehlung_anrechnung"), + "lehre.tbl_anrechnungstatus" => array("status_kurzbz", "bezeichnung_mehrsprachig"), + "lehre.tbl_anrechnung_anrechnungstatus" => array("anrechnungstatus_id", "anrechnung_id", "status_kurzbz", "datum", "insertamum", "insertvon"), "lehre.tbl_anrechnung_begruendung" => array("begruendung_id","bezeichnung"), "lehre.tbl_betreuerart" => array("betreuerart_kurzbz","beschreibung","aktiv"), "lehre.tbl_ferien" => array("bezeichnung","studiengang_kz","vondatum","bisdatum"), From 4cfad06f2d459506b1d74f57e65296bc7273ca80 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 7 Sep 2021 14:37:39 +0200 Subject: [PATCH 013/475] Fixed: Added check to only add columns if no already present Signed-off-by: cris-technikum --- system/dbupdate_3.3.php | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index b60f09de4..caf562368 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4565,19 +4565,22 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants // Change genehmigt_von and begruendung_id to be NULLABLE if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung")) { - $qry = " - ALTER TABLE lehre.tbl_anrechnung ADD COLUMN dms_id bigint; - ALTER TABLE lehre.tbl_anrechnung ADD COLUMN studiensemester_kurzbz varchar(6); - ALTER TABLE lehre.tbl_anrechnung ADD COLUMN anmerkung_student text; - ALTER TABLE lehre.tbl_anrechnung ADD COLUMN empfehlung_anrechnung boolean; - - ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; - ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_dms FOREIGN KEY (dms_id) REFERENCES campus.tbl_dms(dms_id) ON DELETE RESTRICT ON UPDATE CASCADE; - - ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN genehmigt_von DROP NOT NULL; - ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN begruendung_id DROP NOT NULL; - ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN insertamum SET DEFAULT NOW(); - "; + if($db->db_num_rows($result) == 0) + { + $qry = " + ALTER TABLE lehre.tbl_anrechnung ADD COLUMN dms_id bigint; + ALTER TABLE lehre.tbl_anrechnung ADD COLUMN studiensemester_kurzbz varchar(6); + ALTER TABLE lehre.tbl_anrechnung ADD COLUMN anmerkung_student text; + ALTER TABLE lehre.tbl_anrechnung ADD COLUMN empfehlung_anrechnung boolean; + + ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; + ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_dms FOREIGN KEY (dms_id) REFERENCES campus.tbl_dms(dms_id) ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN genehmigt_von DROP NOT NULL; + ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN begruendung_id DROP NOT NULL; + ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN insertamum SET DEFAULT NOW(); + "; + } if(!$db->db_query($qry)) From 0cf782601c7f851a1cad76702ae06004d628af4c Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 8 Sep 2021 15:40:17 +0200 Subject: [PATCH 014/475] =?UTF-8?q?Dropdown=20f=C3=BCr=20MA-Ansicht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 76 +++++++++++++++++++++++--- 1 file changed, 68 insertions(+), 8 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 2a7939e17..0fd1f8e91 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -1,5 +1,5 @@ * Gerald Raab * Alexei Karpenko + * Manuela Thamer */ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/functions.inc.php'); @@ -55,26 +56,64 @@ if (!$db = new basis_db()) $user = get_uid(); + $passuid = false; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); -//Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitaufzeichnung +$mas = new mitarbeiter(); +$mas->getUntergebene($user, true); +$untergebenen_arr = array(); +$untergebenen_arr = $mas->untergebene; + +//Wenn User Administrator ist und UID uebergeben wurde (bzw. Vorgesetzter ist und die übergebene UID von einem MA) dann die Zeitaufzeichnung //des uebergebenen Users anzeigen if(isset($_GET['uid'])) { - if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid')) + if($rechte->isBerechtigt('admin') || (in_array($_GET['uid'], $untergebenen_arr)) ) { $user = $_GET['uid']; + //$username = $_GET['uid']; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $passuid = true; + // echo "Adminview"; + // + // if(in_array($user, $untergebenen_arr)) + // { + // echo "
" . $user . " ist ein/e Mitarbeiterin"; + // } + // echo "
"; } + // if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid')) + // { + // $user = $_GET['uid']; + // $rechte = new benutzerberechtigung(); + // $rechte->getBerechtigungen($user); + // $passuid = true; + // echo "Adminview"; + // + // // if(in_array($_GET['uid'], $untergebenen_arr)) + // // { + // // echo "
" . $_GET['uid'] . " ist ein/e Mitarbeiterin"; + // // } + // // echo "
"; + // } + // elseif(($rechte->isBerechtigt('mitarbeiter')) && in_array($_GET['uid'], $untergebenen_arr)) + // { + // echo "Vorgesetztenview"; + // $user = $_GET['uid']; + // $rechte = new benutzerberechtigung(); + // $rechte->getBerechtigungen($user); + // $passuid = true; + // } else { die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte')); } } + + if($rechte->isBerechtigt('addon/casetimeGenerateXLS')) $export_xls = 'true'; else { @@ -516,7 +555,7 @@ echo ' } return true; } - + function resetProjekt() { $("#projekt").val(""); @@ -1130,8 +1169,27 @@ if($projekt->getProjekteMitarbeiter($user, true)) } echo '

'.$p->t("urlaubstool/meineZeitsperren").'

'; echo $p->t("zeitaufzeichnung/supportAnfragen"); - echo ' - + + //Dropdown timesheets Mitarbeiter + if ($untergebenen_arr) + { + $ben = new benutzer(); + echo " +

+ + "; + } + echo ' '; echo ' @@ -1499,6 +1557,7 @@ if($projekt->getProjekteMitarbeiter($user, true)) echo ''; echo '
'; echo ''; + echo '
'; echo '

'.($alle===true?$p->t('zeitaufzeichnung/alleEintraege'):$p->t('zeitaufzeichnung/xTageAnsicht', array($angezeigte_tage))).'

'; if ($alle===true) @@ -1525,6 +1584,9 @@ if($projekt->getProjekteMitarbeiter($user, true)) //var_dump($dr->result); + + + if(count($za->result)>0) { //Uebersichtstabelle @@ -1669,8 +1731,6 @@ if($projekt->getProjekteMitarbeiter($user, true)) // echo ''.$datum->formatDatum($row->datum,'D d.m.Y').' '; //} - - } // Nach jeder Woche eine Summenzeile einfuegen und eine neue Tabelle beginnen $datumwoche = $datum_obj->formatDatum($row->datum, 'W'); From 87ba21cf950a62213b2645aa4585385a0f45a627 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Thu, 9 Sep 2021 10:08:41 +0200 Subject: [PATCH 015/475] Entfernen von Buttons und Links in der Vorgesetzten- und Adminview --- cis/private/tools/zeitaufzeichnung.php | 1227 ++++++++++++------------ 1 file changed, 605 insertions(+), 622 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 0fd1f8e91..b2fad730b 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -46,17 +46,16 @@ require_once('../../../include/studiensemester.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); $sprache = getSprache(); -$p=new phrasen($sprache); +$p = new phrasen($sprache); $sprache_obj = new sprache(); $sprache_obj->load($sprache); -$sprache_index=$sprache_obj->index; +$sprache_index = $sprache_obj->index; if (!$db = new basis_db()) die($p->t("global/fehlerBeimOeffnenDerDatenbankverbindung")); $user = get_uid(); - $passuid = false; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); @@ -65,55 +64,27 @@ $mas = new mitarbeiter(); $mas->getUntergebene($user, true); $untergebenen_arr = array(); $untergebenen_arr = $mas->untergebene; +$adminView = false; -//Wenn User Administrator ist und UID uebergeben wurde (bzw. Vorgesetzter ist und die übergebene UID von einem MA) dann die Zeitaufzeichnung -//des uebergebenen Users anzeigen -if(isset($_GET['uid'])) +//Wenn User Administrator (bzw Vorgesetzter mit UID von MA) ist und UID uebergeben wurde +//dann die Zeitaufzeichnung des uebergebenen Users anzeigen +if (isset($_GET['uid'])) { - if($rechte->isBerechtigt('admin') || (in_array($_GET['uid'], $untergebenen_arr)) ) + if ($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid') || + (in_array($_GET['uid'], $untergebenen_arr))) { $user = $_GET['uid']; - //$username = $_GET['uid']; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $passuid = true; - // echo "Adminview"; - // - // if(in_array($user, $untergebenen_arr)) - // { - // echo "
" . $user . " ist ein/e Mitarbeiterin"; - // } - // echo "
"; + $adminView = true; } - // if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid')) - // { - // $user = $_GET['uid']; - // $rechte = new benutzerberechtigung(); - // $rechte->getBerechtigungen($user); - // $passuid = true; - // echo "Adminview"; - // - // // if(in_array($_GET['uid'], $untergebenen_arr)) - // // { - // // echo "
" . $_GET['uid'] . " ist ein/e Mitarbeiterin"; - // // } - // // echo "
"; - // } - // elseif(($rechte->isBerechtigt('mitarbeiter')) && in_array($_GET['uid'], $untergebenen_arr)) - // { - // echo "Vorgesetztenview"; - // $user = $_GET['uid']; - // $rechte = new benutzerberechtigung(); - // $rechte->getBerechtigungen($user); - // $passuid = true; - // } else { die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte')); } } - if($rechte->isBerechtigt('addon/casetimeGenerateXLS')) $export_xls = 'true'; else { @@ -1155,166 +1126,194 @@ if($projekt->getProjekteMitarbeiter($user, true)) echo " | ".$p->t("zeitaufzeichnung/projektexport").""; echo " "; - if ($p->t("dms_link/handbuchZeitaufzeichnung")!='') - { - // An der FHTW wird ins Moodle verlinkt - if (CAMPUS_NAME == 'FH Technikum Wien') - echo '

'.$p->t("zeitaufzeichnung/handbuchZeitaufzeichnung").'

'; - else - echo '

'.$p->t("zeitaufzeichnung/handbuchZeitaufzeichnung").'

'; - } - if ($p->t("dms_link/fiktiveNormalarbeitszeit")!='') - { - echo '

'.$p->t("zeitaufzeichnung/fiktiveNormalarbeitszeit").'

'; - } - echo '

'.$p->t("urlaubstool/meineZeitsperren").'

'; - echo $p->t("zeitaufzeichnung/supportAnfragen"); - - //Dropdown timesheets Mitarbeiter - if ($untergebenen_arr) - { - $ben = new benutzer(); - echo " -

- - "; - } - echo ' - '; - echo ' - - '; - - echo ''; + echo '\n"; - echo " \n"; - echo " \n"; + + if (!$adminView) + { + if(!isset($_GET['filter']) && ($row->uid==$user && $row->datum > $sperrdatum)) + echo ''.$p->t("global/bearbeiten").''; + } + echo "\n"; + echo " \n"; + echo " \n"; if (($tagesbeginn=='' || $datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format='Y-m-d H:i:s')) > $datum->mktime_fromtimestamp($datum->formatDatum($row->start, $format='Y-m-d H:i:s'))) && $row->aktivitaet_kurzbz != 'LehreExtern' && $row->aktivitaet_kurzbz != 'Ersatzruhe') $tagesbeginn = $row->start; From 3f90efaed2be5155fd6aab62e0bf8e515a3dc583 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Tue, 19 Oct 2021 14:54:39 +0200 Subject: [PATCH 040/475] Hinweis: Pause fehlt bei AllIn eingetragen --- cis/private/tools/zeitaufzeichnung.php | 32 ++++++++++++++++++-------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index fcf3dd811..724323f4c 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -762,7 +762,6 @@ echo ' else { $("#homeofficeBlock").hide(); - } } }); @@ -932,12 +931,8 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $verwendung->getVerwendungDatum($data[0],$vonCSV); foreach ($verwendung->result as $v) - // echo "homeoffice für Tag " . $vonCSV . " ". $v->homeoffice . " " . $v->bisverwendung_id . "
"; - if ($v->homeoffice) { - - // echo "homeoffice erlaubt
"; $zeit->homeoffice = true; } else @@ -1800,10 +1795,29 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $tagessaldo = $tagessaldo-$pausesumme; // fehlende Pausen berechnen $pausefehlt_str = ''; - if ($tagessaldo > 19800 && $pausesumme < 1800) - $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; - elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000) - $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + + //Prüfung auf azgrelevant + $azgrelevant = false; + $verwendung = new bisverwendung(); + + $verwendung->getVerwendungDatum($user, $datum->formatDatum($tag, 'Y-m-d')); + $azgrelevant = true; + foreach ($verwendung->result as $v) + { + if ($v->azgrelevant) + { + $azgrelevant = false; + } + } + + if ($tagessaldo > 19800 && $pausesumme < 1800 && !$azgrelevant) + $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + elseif ($tagessaldo > 19800 && $pausesumme < 1800 && $azgrelevant) + $pausefehlt_str = '-- Hinweis: Pause fehlt --'; + elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000 && !$azgrelevant) + $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000 && $azgrelevant) + $pausefehlt_str = '-- Hinweis: Pause fehlt --'; $tagessaldo = date('H:i', ($tagessaldo)); From 8033c12665e79aa569c27cd6a3025fc32a523308 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 21 Oct 2021 13:03:16 +0200 Subject: [PATCH 041/475] Added / Adapted tables for Zeitwunsch Gueltigkeit pro Studiensemester - Added table campus.tbl_zeitwunsch_gueltigkeit and migrated initial data - Added column zeitwunsch_id (as new primary key) and zeitwunsch_gueltigkeit_id to campus.tbl_zeitwunsch - Initially copied all Zeitwunsch entries -- The basic entries are joined with Zeitwunsch Gueltigkeit for actual Studiensemester -- The copied entries are joined with Zeitwunsch Gueltigkeit for next Studiensemester This is necessary because the actual Zeitwunschplan represent for some lectors the plan for the actual semester, and for some - who have already planned forward - for the next semester. --- system/dbupdate_3.3.php | 161 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 160 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ffdd28bc3..a454ada77 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5493,6 +5493,164 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } +// Add table campus.tbl_zeitwunsch_gueltigkeit and migrate initial data +if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_zeitwunsch_gueltigkeit LIMIT 1;")) +{ + $qry = " + CREATE TABLE campus.tbl_zeitwunsch_gueltigkeit + ( + zeitwunsch_gueltigkeit_id INTEGER NOT NULL, + mitarbeiter_uid CHARACTER VARYING(32) NOT NULL, + von DATE, + bis DATE, + insertamum TIMESTAMP WITHOUT TIME ZONE, + insertvon CHARACTER VARYING(32), + updateamum TIMESTAMP WITHOUT TIME ZONE, + updatevon CHARACTER VARYING(32) + ); + + CREATE SEQUENCE campus.seq_zeitwunsch_gueltigkeit_zeitwunsch_gueltigkeit_id + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + + -- Add Primary Key + ALTER TABLE campus.tbl_zeitwunsch_gueltigkeit ADD CONSTRAINT pk_zeitwunsch_gueltigkeit_zeitwunsch_gueltigkeit_id PRIMARY KEY (zeitwunsch_gueltigkeit_id); + ALTER TABLE campus.tbl_zeitwunsch_gueltigkeit ALTER COLUMN zeitwunsch_gueltigkeit_id SET DEFAULT nextval('campus.seq_zeitwunsch_gueltigkeit_zeitwunsch_gueltigkeit_id'); + + -- Add Permissions + GRANT SELECT, UPDATE ON SEQUENCE campus.seq_zeitwunsch_gueltigkeit_zeitwunsch_gueltigkeit_id TO vilesci; + + GRANT SELECT, INSERT, UPDATE, DELETE ON campus.tbl_zeitwunsch_gueltigkeit TO vilesci; + GRANT SELECT, INSERT, UPDATE ON campus.tbl_zeitwunsch_gueltigkeit TO web; + + -- Initial data migration + INSERT INTO campus.tbl_zeitwunsch_gueltigkeit + ( + mitarbeiter_uid, + von, + bis, + insertamum, + insertvon, + updateamum, + updatevon + ) + SELECT * FROM + ( + -- Unique Mitarbeiter from Zeitwunsch Tabelle, Start and End of actual Studiensemester + SELECT DISTINCT mitarbeiter_uid, + (SELECT start FROM public.tbl_studiensemester WHERE start <= NOW() AND ende >= NOW()), + (SELECT ende FROM public.tbl_studiensemester WHERE start <= NOW() AND ende >= NOW()), + NOW(), + 'system', + NOW(), + 'system' + FROM campus.tbl_zeitwunsch + + UNION + + -- Unique Mitarbeiter from Zeitwunsch Tabelle, Start of next Studiensemester and open end + SELECT DISTINCT mitarbeiter_uid, + (SELECT start FROM public.tbl_studiensemester WHERE ende > NOW() LIMIT 1), + NULL::DATE AS \"ende\", + NOW(), + 'system', + NOW(), + 'system' + FROM campus.tbl_zeitwunsch + ORDER BY start, mitarbeiter_uid + ) AS init_data + "; + + if(!$db->db_query($qry)) + echo 'campus.tbl_zeitwunsch_gueltigkeit: '.$db->db_last_error().'
'; + else + echo 'campus.tbl_zeitwunsch_gueltigkeit: Tabelle hinzugefuegt
'; +} + +// Add column zeitwunsch_id (as new primary key) and zeitwunsch_gueltigkeit_id to campus.tbl_zeitwunsch +if (!$result = @$db->db_query("SELECT zeitwunsch_id FROM campus.tbl_zeitwunsch LIMIT 1")) +{ + $qry = " + ALTER TABLE campus.tbl_zeitwunsch DROP CONSTRAINT IF EXISTS pk_tbl_zeitwunsch; -- Drop combined pk stunde/mitarbeiter_uid/tag + + -- Add primary key and foreign key + ALTER TABLE campus.tbl_zeitwunsch ADD COLUMN zeitwunsch_id INTEGER; + ALTER TABLE campus.tbl_zeitwunsch ADD COLUMN zeitwunsch_gueltigkeit_id INTEGER; + + -- Add comments + COMMENT ON COLUMN campus.tbl_zeitwunsch.zeitwunsch_gueltigkeit_id IS 'Ordnet die Zeitwuensche einer Gueltigkeitsdauer von-bis zu'; + COMMENT ON COLUMN campus.tbl_zeitwunsch.mitarbeiter_uid IS 'DEPRECATED'; + + CREATE SEQUENCE campus.seq_zeitwunsch_zeitwunsch_id + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + + ALTER TABLE campus.tbl_zeitwunsch ALTER COLUMN zeitwunsch_id SET DEFAULT nextval('campus.seq_zeitwunsch_zeitwunsch_id'); + UPDATE campus.tbl_zeitwunsch SET zeitwunsch_id = nextval('campus.seq_zeitwunsch_zeitwunsch_id'); + + ALTER TABLE campus.tbl_zeitwunsch ADD CONSTRAINT pk_zeitwunsch_zeitwunsch_id PRIMARY KEY (zeitwunsch_id); + ALTER TABLE campus.tbl_zeitwunsch ADD CONSTRAINT fk_zeitwunsch_zeitwunsch_gueltigkeit_id FOREIGN KEY (zeitwunsch_gueltigkeit_id) REFERENCES campus.tbl_zeitwunsch_gueltigkeit(zeitwunsch_gueltigkeit_id) ON DELETE RESTRICT ON UPDATE CASCADE; + + -- Set initial zeitwunsch_gueltigkeit_id values to Gueltigkeitszeitraum of actual Studiensemester + UPDATE campus.tbl_zeitwunsch + SET zeitwunsch_gueltigkeit_id = ( + SELECT zeitwunsch_gueltigkeit_id + FROM campus.tbl_zeitwunsch_gueltigkeit zwg + WHERE tbl_zeitwunsch.mitarbeiter_uid = zwg.mitarbeiter_uid + AND (zwg.von <= NOW() AND zwg.bis >= NOW()) + ); + + -- Duplicate existing data and set initial zeitwunsch_gueltigkeit_id values to Gueltigkeitszeitraum of next Studiensemester + INSERT INTO campus.tbl_zeitwunsch + ( + stunde, + mitarbeiter_uid, + tag, + gewicht, + updateamum, + updatevon, + insertamum, + insertvon, + zeitwunsch_gueltigkeit_id + ) + SELECT * FROM + ( + SELECT + stunde, + mitarbeiter_uid, + tag, + gewicht, + NOW(), + 'system', + NOW(), + 'system', + ( + SELECT zeitwunsch_gueltigkeit_id + FROM campus.tbl_zeitwunsch_gueltigkeit zwg + WHERE campus.tbl_zeitwunsch.mitarbeiter_uid = zwg.mitarbeiter_uid + AND bis IS NULL + ) AS \"zeitwunsch_gueltigkeit_id\" + FROM campus.tbl_zeitwunsch + ) AS basic_zeitwunsch_data; + + -- Set primary key and foreign key NOT NULL + ALTER TABLE campus.tbl_zeitwunsch ALTER COLUMN zeitwunsch_id SET NOT NULL; + ALTER TABLE campus.tbl_zeitwunsch ALTER COLUMN zeitwunsch_gueltigkeit_id SET NOT NULL; + + -- Set permissions + GRANT SELECT, UPDATE ON SEQUENCE campus.seq_zeitwunsch_zeitwunsch_id TO vilesci; + "; + + if(!$db->db_query($qry)) + echo 'campus.tbl_zeitwunsch: '.$db->db_last_error().'
'; + else + echo '
campus.tbl_zeitwunsch: Neue Spalte zeitwunsch_id hinzugefuegt.'; +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -5585,7 +5743,8 @@ $tabellen=array( "campus.tbl_zeitaufzeichnung_gd" => array("zeitaufzeichnung_gd_id","uid","studiensemester_kurzbz","selbstverwaltete_pause","insertamum","insertvon","updateamum","updatevon"), "campus.tbl_zeitsperre" => array("zeitsperre_id","zeitsperretyp_kurzbz","mitarbeiter_uid","bezeichnung","vondatum","vonstunde","bisdatum","bisstunde","vertretung_uid","updateamum","updatevon","insertamum","insertvon","erreichbarkeit_kurzbz","freigabeamum","freigabevon"), "campus.tbl_zeitsperretyp" => array("zeitsperretyp_kurzbz","beschreibung","farbe"), - "campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon"), + "campus.tbl_zeitwunsch" => array("stunde","mitarbeiter_uid","tag","gewicht","updateamum","updatevon","insertamum","insertvon", "zeitwunsch_id", "zeitwunsch_gueltigkeit_id"), + "campus.tbl_zeitwunsch_gueltigkeit" => array("zeitwunsch_gueltigkeit_id","mitarbeiter_uid","von","bis","insertamum","insertvon", "updateamum","updatevon"), "fue.tbl_aktivitaet" => array("aktivitaet_kurzbz","beschreibung","sort"), "fue.tbl_aufwandstyp" => array("aufwandstyp_kurzbz","bezeichnung"), "fue.tbl_projekt" => array("projekt_kurzbz","nummer","titel","beschreibung","beginn","ende","oe_kurzbz","budget","farbe","aufwandstyp_kurzbz","ressource_id","anzahl_ma","aufwand_pt","projekt_id","projekttyp_kurzbz"), From 4fb4b72b26c0cee617c9a856c0d36932a47c3c63 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 22 Oct 2021 10:39:48 +0200 Subject: [PATCH 042/475] =?UTF-8?q?Hinweis-=20und=20Warnsymbol=20f=C3=BCr?= =?UTF-8?q?=20Pause=20fehlt=20erg=C3=A4nzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 1d4bb418d..cfa2105cf 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -1846,6 +1846,8 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $verwendung->getVerwendungDatum($user, $datum->formatDatum($tag, 'Y-m-d')); $azgrelevant = true; + $linkExclamation = APP_ROOT. 'skin/images/exclamation.png'; + $linkInformation = APP_ROOT. 'skin/images/information.png'; foreach ($verwendung->result as $v) { if ($v->azgrelevant) @@ -1855,14 +1857,13 @@ if ($projekt->getProjekteMitarbeiter($user, true)) } if ($tagessaldo > 19800 && $pausesumme < 1800 && !$azgrelevant) - $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + $pausefehlt_str = ' -- Pause fehlt oder zu kurz --'; elseif ($tagessaldo > 19800 && $pausesumme < 1800 && $azgrelevant) - $pausefehlt_str = '-- Hinweis: Pause fehlt --'; + $pausefehlt_str = ' -- Pause fehlt --'; elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000 && !$azgrelevant) - $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + $pausefehlt_str = ' -- Pause fehlt oder zu kurz --'; elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000 && $azgrelevant) - $pausefehlt_str = '-- Hinweis: Pause fehlt --'; - + $pausefehlt_str = ' -- Pause fehlt --'; $tagessaldo = date('H:i', ($tagessaldo)); $colspan = ($za_simple)?6:8; From e6ba6f9beabc74c3b8a3115653b0fbf7a1e48b80 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Fri, 22 Oct 2021 10:44:54 +0200 Subject: [PATCH 043/475] dropdown im fas angepasst --- content/student/studentprojektarbeit.js.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index 66f52f15c..c30f7ea1c 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -652,11 +652,11 @@ function StudentProjektarbeitNeu() StudentProjektarbeitResetFields(); StudentProjektarbeitDetailDisableFields(false); StudentProjektbetreuerDisableFields(true); - var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value; + var student_uid = document.getElementById('student-detail-textbox-uid').value; //Lehrveranstaltung DropDown laden var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung'); - url='rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&projektarbeit=true&"+gettimestamp(); + url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&"+gettimestamp(); //Alte DS entfernen var oldDatasources = LvDropDown.database.GetDataSources(); From 4e9eb12a71dccafce527114c6759bffe630cd29b Mon Sep 17 00:00:00 2001 From: ma0068 Date: Sat, 23 Oct 2021 10:40:05 +0200 Subject: [PATCH 044/475] =?UTF-8?q?Detailsicht:=20Parameteruebergabe=20uid?= =?UTF-8?q?=20f=C3=BCr=20Projekt-=20und=20Projekt=C3=BCbersichtexport?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 20 +++++++++++-------- .../tools/zeitaufzeichnung_projektliste.php | 11 +++++++--- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index cfa2105cf..10d2efdd7 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -182,7 +182,7 @@ if(isset($_POST['export'])) } //CSV export für Übersicht zugeteilter Projekte - Konflikt mit normalen HTML headern deshalb weiter vorne -if(isset($_POST['projektübersichtexport'])) +if(isset($_GET['projektübersichtexport'])) { exportProjectOverviewAsCSV($user, ','); } @@ -1275,13 +1275,19 @@ if ($projekt->getProjekteMitarbeiter($user, true)) echo "
'; - echo ''; - if (isset($_GET['projektexport'])) - { - $projektexpurl = dirname($_SERVER["PHP_SELF"]) .'/zeitaufzeichnung_projektliste.php'; - $aktjahr = intval(date("Y")); - $aktmonat = intval(date("m")) - 1; - $jahreanz = 3; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - if ($passuid) - echo ''; - echo ''; - echo ''; - echo ''; - } - - //Formular - echo '
'; - -/* echo '

'.$p->t('zeitaufzeichnung/projektexport').''.$p->t('zeitaufzeichnung/monat').' '.$p->t('zeitaufzeichnung/jahr').'

- - +
'; - echo '';*/ - if (isset($_GET['csvimport'])) - { - echo ''; - echo ''; - echo ''; - echo ''; - } + if ($p->t("dms_link/handbuchZeitaufzeichnung")!='') + { + // An der FHTW wird ins Moodle verlinkt + if (CAMPUS_NAME == 'FH Technikum Wien') + echo '

'.$p->t("zeitaufzeichnung/handbuchZeitaufzeichnung").'

'; else - echo ''; + echo '

'.$p->t("zeitaufzeichnung/handbuchZeitaufzeichnung").'

'; + } + if ($p->t("dms_link/fiktiveNormalarbeitszeit")!='') + { + echo '

'.$p->t("zeitaufzeichnung/fiktiveNormalarbeitszeit").'

'; + } + echo '

'.$p->t("urlaubstool/meineZeitsperren").'

'; + echo $p->t("zeitaufzeichnung/supportAnfragen"); - if (isset($_GET['csvexport'])) + //Dropdown timesheets Mitarbeiter + if ($untergebenen_arr) + { + $ben = new benutzer(); + echo " +

+ + '; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - } - - if (isset($_GET['projektübersichtexport'])) - { - - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - } - - //Aktivitaet - echo ''; - echo ''; - - - if($za_simple >= 0) + echo ""; + echo ""; + } + echo ' +

CSV-Import
Informationen zum Format der CSV-Datei s. Leitfaden Arbeitszeitaufzeichnung


CSV-Export'.$p->t('zeitaufzeichnung/startdatum').' '.$p->t('zeitaufzeichnung/enddatum').'


CSV-Export

'.$p->t("zeitaufzeichnung/aktivitaet").''; - //if ($za_simple == 1) - $qry = "SELECT * FROM fue.tbl_aktivitaet where aktivitaet_kurzbz in (".$activities_str.") ORDER by sort,beschreibung"; - //else - // $qry = "SELECT * FROM fue.tbl_aktivitaet where sort != 5 or sort is null ORDER by sort,beschreibung"; - if($result = $db->db_query($qry)) - { - echo ''; } - echo '
'; + echo ' + + '; - if (!$za_simple) - { - echo ''; - } - echo ''; - if (!$za_simple) - { - echo ' - '; - } - echo ' - - - - - '; + if (!$za_simple) + { + echo ''; + } + echo ''; + if (!$za_simple) + { + echo ' + '; + } + echo ' + + + + + '; } /** From ab4c7ee19480e89a97f6a564fd813e6f8602ab9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 15 Sep 2021 18:24:42 +0200 Subject: [PATCH 016/475] =?UTF-8?q?Limit=20beim=20Pr=C3=BCfen=20der=20Spal?= =?UTF-8?q?tenverf=C3=BCgbarkeit=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/dbupdate_3.3.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index caf562368..a12729383 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4563,7 +4563,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants // Add column dms_id, studiensemester_kurzbz, anmerkung_student und empfehlung_anrechnung // Change genehmigt_von and begruendung_id to be NULLABLE -if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung")) +if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung LIMIT 1")) { if($db->db_num_rows($result) == 0) { @@ -4572,10 +4572,10 @@ if(!$result = @$db->db_query("SELECT dms_id FROM lehre.tbl_anrechnung")) ALTER TABLE lehre.tbl_anrechnung ADD COLUMN studiensemester_kurzbz varchar(6); ALTER TABLE lehre.tbl_anrechnung ADD COLUMN anmerkung_student text; ALTER TABLE lehre.tbl_anrechnung ADD COLUMN empfehlung_anrechnung boolean; - + ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_studiensemester FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE lehre.tbl_anrechnung ADD CONSTRAINT fk_anrechnung_dms FOREIGN KEY (dms_id) REFERENCES campus.tbl_dms(dms_id) ON DELETE RESTRICT ON UPDATE CASCADE; - + ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN genehmigt_von DROP NOT NULL; ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN begruendung_id DROP NOT NULL; ALTER TABLE lehre.tbl_anrechnung ALTER COLUMN insertamum SET DEFAULT NOW(); From 9d59fcbfbfda3c01a8c31381db29b1bba9f3cf1a Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 10:34:06 +0200 Subject: [PATCH 017/475] change of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) --- system/dbupdate_3.3.php | 246 ++++++++++++++++++++++++++-------------- 1 file changed, 158 insertions(+), 88 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ba6852747..1f7fff366 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,6 +504,38 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { @@ -532,6 +564,46 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'ue' } } +// Note "intern angerechnet" hinzufügen +if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'iar' AND (bezeichnung = 'intern angerechnet' OR bezeichnung = 'Intern angerechnet');")) +{ + if($db->db_num_rows($result) == 0) + { + $qry = " + INSERT INTO + lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar) + VALUES( + (SELECT max(note)+1 FROM lehre.tbl_note),'intern angerechnet', 'iar', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"intern angerechnet\",\"internally credited\"}', FALSE + ); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note: '.$db->db_last_error().'
'; + else + echo '
lehre.tbl_note: Note intern angerechnet hinzugefuegt!
'; + } +} + +// Note "nicht zugelassen" hinzufügen +if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'nz' AND (bezeichnung = 'nicht zugelassen' OR bezeichnung = 'Nicht zugelassen');")) +{ + if($db->db_num_rows($result) == 0) + { + $qry = " + INSERT INTO + lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar) + VALUES( + (SELECT max(note)+1 FROM lehre.tbl_note), 'nicht zugelassen', 'nz', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"nicht zugelassen\",\"not admitted\"}', FALSE + ); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note: '.$db->db_last_error().'
'; + else + echo '
lehre.tbl_note: Note nicht zugelassen hinzugefuegt!
'; + } +} + // Spalte offiziell in lehre.tbl_note if(!$result = @$db->db_query("SELECT offiziell FROM lehre.tbl_note LIMIT 1;")) { @@ -1315,7 +1387,7 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_verarbeitungstaetigkeit" } // system.tbl_log.taetigkeit_kurzbz -if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log")) +if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log LIMIT 1")) { $qry = " ALTER TABLE system.tbl_log ADD COLUMN taetigkeit_kurzbz varchar(32); @@ -2567,6 +2639,7 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung . "
Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false"; } + // Spalte Priorisierung für tbl_prestudent if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1")) { @@ -2578,40 +2651,6 @@ if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LI echo '
public.tbl_prestudent: Spalte priorisierung hinzugefuegt'; } -// Spalte zgv_erfuellt für tbl_prestudent -if(!$result = @$db->db_query("SELECT zgv_erfuellt FROM public.tbl_prestudent LIMIT 1")) -{ - $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgv_erfuellt boolean default false;"; - - if(!$db->db_query($qry)) - echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; - else - echo '
public.tbl_prestudent: Spalte zgv_erfuellt hinzugefuegt'; -} - -// Spalte zgvmas_erfuellt für tbl_prestudent -if(!$result = @$db->db_query("SELECT zgvmas_erfuellt FROM public.tbl_prestudent LIMIT 1")) -{ - $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvmas_erfuellt boolean default false;"; - - if(!$db->db_query($qry)) - echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; - else - echo '
public.tbl_prestudent: Spalte zgvmas_erfuellt hinzugefuegt'; -} - -// Spalte zgvdoktor_erfuellt für tbl_prestudent -if(!$result = @$db->db_query("SELECT zgvdoktor_erfuellt FROM public.tbl_prestudent LIMIT 1")) -{ - $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_erfuellt boolean default false;"; - - if(!$db->db_query($qry)) - echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; - else - echo '
public.tbl_prestudent: Spalte zgvdoktor_erfuellt hinzugefuegt'; -} - - // Spalte lieferant in tbl_firma if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1")) { @@ -4670,7 +4709,7 @@ if ($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie_gruppe WHER } } -// Add table anrechnung_status +// Add table anrechnungstatus if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnungstatus LIMIT 1;")) { $qry = " @@ -4698,42 +4737,6 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnungstatus LIMIT 1;" echo ' lehre.tbl_anrechnungstatus: Tabelle hinzugefuegt
'; } -// GRANT INSERT, UPDATE, DELETE ON TABLE lehre.tbl_anrechnungstatus TO web; -$qry = 'GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE lehre.tbl_anrechnungstatus TO web;'; -if (!$db->db_query($qry)) - echo 'lehre.tbl_anrechnungstatus '.$db->db_last_error().'
'; -else - echo '
Granted privileges to web on lehre.tbl_anrechnungstatus'; - - -// SEQUENCE seq_anrechnungstatus_status_kurzbz -if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'seq_anrechnungstatus_status_kurzbz'")) -{ - if ($db->db_num_rows($result) == 0) - { - $qry = ' - CREATE SEQUENCE lehre.seq_anrechnungstatus_status_kurzbz - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - '; - - if(!$db->db_query($qry)) - echo 'lehre.seq_anrechnungstatus_status_kurzbz '.$db->db_last_error().'
'; - else - echo '
Created sequence: lehre.seq_anrechnungstatus_status_kurzbz'; - - // GRANT SELECT, UPDATE ON SEQUENCE lehre.tbl_anrechnungstatus_status_kurzbz_seq to web; - $qry = 'GRANT SELECT, UPDATE ON SEQUENCE lehre.seq_anrechnungstatus_status_kurzbz TO web;'; - if (!$db->db_query($qry)) - echo 'lehre.seq_anrechnungstatus_status_kurzbz '.$db->db_last_error().'
'; - else - echo '
Granted privileges to vilesci on lehre.seq_anrechnungstatus_status_kurzbz'; - } -} - // Add table anrechnung_anrechnungstatus // Für bestehende genehmigte Anrechnungsanträge wird ein Eintrag mit dem Status 'approved' angelegt if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatus LIMIT 1;")) @@ -4763,9 +4766,10 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatu INSERT INTO lehre.tbl_anrechnung_anrechnungstatus(anrechnung_id, status_kurzbz) SELECT anrechnung_id, 'approved' as status_kurzbz FROM lehre.tbl_anrechnung WHERE genehmigt_von is not null; - GRANT SELECT ON lehre.tbl_anrechnung_anrechnungstatus TO web; + GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnung_anrechnungstatus TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnung_anrechnungstatus TO vilesci; GRANT SELECT, UPDATE ON lehre.seq_anrechnung_anrechnungstatus_anrechnungstatus_id TO vilesci; + GRANT SELECT, UPDATE ON lehre.seq_anrechnung_anrechnungstatus_anrechnungstatus_id TO web; "; if(!$db->db_query($qry)) @@ -4829,6 +4833,19 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } +// Add permission to create Anrechnung +if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'lehre/anrechnung_anlegen';")) +{ + if($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/anrechnung_anlegen', 'Anrechnung anlegen');"; + + if(!$db->db_query($qry)) + echo 'system.tbl_berechtigung '.$db->db_last_error().'
'; + else + echo ' system.tbl_berechtigung: Added permission for lehre/anrechnung_anlegen
'; + } +} // INSERT,DELETE,UPDATE Berechtigung für tbl_dokumentprestudent hinzufügen if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_dokumentprestudent' AND table_schema='public' AND grantee='web' AND privilege_type in ('INSERT','DELETE','UPDATE')")) @@ -4853,13 +4870,11 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus LIMIT 1 status_kurzbz character varying(32), bezeichnung character varying(256) ); - ALTER TABLE public.tbl_zgvpruefungstatus ADD CONSTRAINT status_kurzbz PRIMARY KEY (status_kurzbz); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('pruefung_stg', 'Wird vom Studiengang geprüft'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('rejected', 'Vom Studiengang abgelehnt'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted', 'Vom Studiengang akzeptiert'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted_pruefung', 'Vom Studiengang akzeptiert mit Prüfung'); - GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus TO web; "; @@ -4883,8 +4898,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) updateamum timestamp without time zone, updatevon character varying(32) ); - - CREATE SEQUENCE public.tbl_zgvpruefung_id_seq + CREATE SEQUENCE public.tbl_zgvpruefung_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE @@ -4892,11 +4906,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT pk_tbl_zgvpruefung PRIMARY KEY (zgvpruefung_id); ALTER TABLE public.tbl_zgvpruefung ALTER COLUMN zgvpruefung_id SET DEFAULT nextval('public.tbl_zgvpruefung_id_seq'); ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT fk_tbl_zgvpruefung_student FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE; - GRANT SELECT, UPDATE ON public.tbl_zgvpruefung_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefung TO vilesci; GRANT SELECT ON public.tbl_zgvpruefung TO web; - "; if(!$db->db_query($qry)) @@ -4916,18 +4928,15 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status status character varying(32), datum timestamp without time zone DEFAULT now() ); - - CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq + CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; - ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT pk_tbl_zgvpruefungstatus_status PRIMARY KEY (zgv_pruefung_status_id); ALTER TABLE public.tbl_zgvpruefungstatus_status ALTER COLUMN zgv_pruefung_status_id SET DEFAULT nextval('tbl_zgvpruefungstatus_status_id_seq'); ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_zgvpruefung FOREIGN KEY (zgvpruefung_id) REFERENCES public.tbl_zgvpruefung (zgvpruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_status FOREIGN KEY (status) REFERENCES public.tbl_zgvpruefungstatus (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; - GRANT SELECT, UPDATE ON public.tbl_zgvpruefungstatus_status_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus_status TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus_status TO web; @@ -4939,8 +4948,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt
'; } - -// Add index to system.tbl_log +// Add index to lehre.tbl_pruefung if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'")) { if ($db->db_num_rows($result) == 0) @@ -4966,6 +4974,67 @@ if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchung echo ' public.tbl_buchungstyp: Added buchungstyp "ZuschussIO"
'; } } +//Add Column statusgrund_kurzbz to public.tbl_status_grund +if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_status_grund ADD COLUMN statusgrund_kurzbz varchar(32); + ALTER TABLE public.tbl_status_grund ADD CONSTRAINT uk_tbl_statusgrund_kurzbz UNIQUE (statusgrund_kurzbz); + "; + + if(!$db->db_query($qry)) + echo 'public.tbl_status_grund '.$db->db_last_error().'
'; + else + echo '
Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt'; +} + +// INDEX idx_anrechnung_anrechnung_status_anrechnung_id +if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechnung_anrechnung_status_anrechnung_id'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = 'CREATE INDEX idx_anrechnung_anrechnung_status_anrechnung_id ON lehre.tbl_anrechnung_anrechnungstatus USING btree (anrechnung_id)'; + if (!$db->db_query($qry)) + echo 'idx_anrechnung_anrechnung_status_anrechnung_id '.$db->db_last_error().'
'; + else + echo '
Created Index idx_anrechnung_anrechnung_status_anrechnung_id'; + } +} + +// Add Table lehre.tbl_lehrmodus +if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrmodus LIMIT 1;")) +{ + $qry = " + CREATE TABLE lehre.tbl_lehrmodus + ( + lehrmodus_kurzbz varchar(32) NOT NULL, + bezeichnung_mehrsprachig varchar(255)[], + aktiv boolean DEFAULT true + ); + ALTER TABLE lehre.tbl_lehrmodus ADD CONSTRAINT pk_lehrmodus PRIMARY KEY (lehrmodus_kurzbz); + INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('regulaer', '{\"regulaer\",\"regular\"}'); + INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('standardisiert', '{\"standardisiert\",\"standardized\"}'); + GRANT SELECT ON lehre.tbl_lehrmodus TO web; + GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrmodus TO vilesci; + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_lehrmodus: '.$db->db_last_error().'
'; + else + echo ' lehre.tbl_lehrmodus: Tabelle hinzugefuegt
'; +} + +//Add Column lehrmodus_kurzbz to lehre.tbl_lehrveranstaltung +if(!@$db->db_query("SELECT lehrmodus_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1")) +{ + $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrmodus_kurzbz varchar(32); + ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrmodus FOREIGN KEY (lehrmodus_kurzbz) REFERENCES lehre.tbl_lehrmodus(lehrmodus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_lehrveranstaltung '.$db->db_last_error().'
'; + else + echo '
Spalte lehrmodus_kurzbz in lehre.tbl_lehrveranstaltung hinzugefügt'; +} // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -5084,8 +5153,9 @@ $tabellen=array( "lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"), "lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"), "lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"), + "lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"), "lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"), - "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"), + "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz"), "lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"), "lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"), "lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"), @@ -5178,7 +5248,7 @@ $tabellen=array( "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"), "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"), - "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","zgv_erfuellt","zgvmas_erfuellt","zgvdoktor_erfuellt"), + "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung"), "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"), @@ -5186,7 +5256,7 @@ $tabellen=array( "public.tbl_rt_person" => array("rt_person_id","person_id","rt_id","studienplan_id","anmeldedatum","teilgenommen","ort_kurzbz","punkte","insertamum","insertvon","updateamum","updatevon"), "public.tbl_rt_studienplan" => array("reihungstest_id","studienplan_id"), "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"), - "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung"), + "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung","statusgrund_kurzbz"), "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"), "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id","design_uid","betrieb_uid","operativ_uid","servicekategorie_kurzbz"), "public.tbl_servicekategorie" => array("servicekategorie_kurzbz", "bezeichnung","sort"), From bfa0f722ae4fdca5a2a2ed1cce711cf02e840e6e Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 10:46:28 +0200 Subject: [PATCH 018/475] change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) --- system/dbupdate_3.3.php | 230 +++++++++++++++------------------------- 1 file changed, 88 insertions(+), 142 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1f7fff366..1d4f33d36 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -520,22 +520,6 @@ if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE } } -// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) -if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) -{ - if($db->db_num_rows($result)>0) - { - $qry = " - ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note '.$db->db_last_error().'
'; - else - echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; - } -} - // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { @@ -564,46 +548,6 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'ue' } } -// Note "intern angerechnet" hinzufügen -if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'iar' AND (bezeichnung = 'intern angerechnet' OR bezeichnung = 'Intern angerechnet');")) -{ - if($db->db_num_rows($result) == 0) - { - $qry = " - INSERT INTO - lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar) - VALUES( - (SELECT max(note)+1 FROM lehre.tbl_note),'intern angerechnet', 'iar', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"intern angerechnet\",\"internally credited\"}', FALSE - ); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note: '.$db->db_last_error().'
'; - else - echo '
lehre.tbl_note: Note intern angerechnet hinzugefuegt!
'; - } -} - -// Note "nicht zugelassen" hinzufügen -if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'nz' AND (bezeichnung = 'nicht zugelassen' OR bezeichnung = 'Nicht zugelassen');")) -{ - if($db->db_num_rows($result) == 0) - { - $qry = " - INSERT INTO - lehre.tbl_note(note, bezeichnung, anmerkung, farbe, positiv, notenwert, aktiv, lehre, offiziell, bezeichnung_mehrsprachig, lkt_ueberschreibbar) - VALUES( - (SELECT max(note)+1 FROM lehre.tbl_note), 'nicht zugelassen', 'nz', NULL, TRUE, NULL, TRUE, FALSE, FALSE, '{\"nicht zugelassen\",\"not admitted\"}', FALSE - ); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note: '.$db->db_last_error().'
'; - else - echo '
lehre.tbl_note: Note nicht zugelassen hinzugefuegt!
'; - } -} - // Spalte offiziell in lehre.tbl_note if(!$result = @$db->db_query("SELECT offiziell FROM lehre.tbl_note LIMIT 1;")) { @@ -1387,7 +1331,7 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_verarbeitungstaetigkeit" } // system.tbl_log.taetigkeit_kurzbz -if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log LIMIT 1")) +if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log")) { $qry = " ALTER TABLE system.tbl_log ADD COLUMN taetigkeit_kurzbz varchar(32); @@ -2639,7 +2583,6 @@ if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung . "
Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false"; } - // Spalte Priorisierung für tbl_prestudent if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1")) { @@ -2651,6 +2594,40 @@ if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LI echo '
public.tbl_prestudent: Spalte priorisierung hinzugefuegt'; } +// Spalte zgv_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgv_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgv_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgv_erfuellt hinzugefuegt'; +} + +// Spalte zgvmas_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgvmas_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvmas_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgvmas_erfuellt hinzugefuegt'; +} + +// Spalte zgvdoktor_erfuellt für tbl_prestudent +if(!$result = @$db->db_query("SELECT zgvdoktor_erfuellt FROM public.tbl_prestudent LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN zgvdoktor_erfuellt boolean default false;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_prestudent: '.$db->db_last_error().'
'; + else + echo '
public.tbl_prestudent: Spalte zgvdoktor_erfuellt hinzugefuegt'; +} + + // Spalte lieferant in tbl_firma if(!$result = @$db->db_query("SELECT lieferant FROM public.tbl_firma LIMIT 1")) { @@ -4709,7 +4686,7 @@ if ($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie_gruppe WHER } } -// Add table anrechnungstatus +// Add table anrechnung_status if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnungstatus LIMIT 1;")) { $qry = " @@ -4737,6 +4714,42 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnungstatus LIMIT 1;" echo ' lehre.tbl_anrechnungstatus: Tabelle hinzugefuegt
'; } +// GRANT INSERT, UPDATE, DELETE ON TABLE lehre.tbl_anrechnungstatus TO web; +$qry = 'GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE lehre.tbl_anrechnungstatus TO web;'; +if (!$db->db_query($qry)) + echo 'lehre.tbl_anrechnungstatus '.$db->db_last_error().'
'; +else + echo '
Granted privileges to web on lehre.tbl_anrechnungstatus'; + + +// SEQUENCE seq_anrechnungstatus_status_kurzbz +if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'seq_anrechnungstatus_status_kurzbz'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = ' + CREATE SEQUENCE lehre.seq_anrechnungstatus_status_kurzbz + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + '; + + if(!$db->db_query($qry)) + echo 'lehre.seq_anrechnungstatus_status_kurzbz '.$db->db_last_error().'
'; + else + echo '
Created sequence: lehre.seq_anrechnungstatus_status_kurzbz'; + + // GRANT SELECT, UPDATE ON SEQUENCE lehre.tbl_anrechnungstatus_status_kurzbz_seq to web; + $qry = 'GRANT SELECT, UPDATE ON SEQUENCE lehre.seq_anrechnungstatus_status_kurzbz TO web;'; + if (!$db->db_query($qry)) + echo 'lehre.seq_anrechnungstatus_status_kurzbz '.$db->db_last_error().'
'; + else + echo '
Granted privileges to vilesci on lehre.seq_anrechnungstatus_status_kurzbz'; + } +} + // Add table anrechnung_anrechnungstatus // Für bestehende genehmigte Anrechnungsanträge wird ein Eintrag mit dem Status 'approved' angelegt if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatus LIMIT 1;")) @@ -4766,10 +4779,9 @@ if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_anrechnung_anrechnungstatu INSERT INTO lehre.tbl_anrechnung_anrechnungstatus(anrechnung_id, status_kurzbz) SELECT anrechnung_id, 'approved' as status_kurzbz FROM lehre.tbl_anrechnung WHERE genehmigt_von is not null; - GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnung_anrechnungstatus TO web; + GRANT SELECT ON lehre.tbl_anrechnung_anrechnungstatus TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnung_anrechnungstatus TO vilesci; GRANT SELECT, UPDATE ON lehre.seq_anrechnung_anrechnungstatus_anrechnungstatus_id TO vilesci; - GRANT SELECT, UPDATE ON lehre.seq_anrechnung_anrechnungstatus_anrechnungstatus_id TO web; "; if(!$db->db_query($qry)) @@ -4833,19 +4845,6 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } -// Add permission to create Anrechnung -if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'lehre/anrechnung_anlegen';")) -{ - if($db->db_num_rows($result) == 0) - { - $qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/anrechnung_anlegen', 'Anrechnung anlegen');"; - - if(!$db->db_query($qry)) - echo 'system.tbl_berechtigung '.$db->db_last_error().'
'; - else - echo ' system.tbl_berechtigung: Added permission for lehre/anrechnung_anlegen
'; - } -} // INSERT,DELETE,UPDATE Berechtigung für tbl_dokumentprestudent hinzufügen if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_dokumentprestudent' AND table_schema='public' AND grantee='web' AND privilege_type in ('INSERT','DELETE','UPDATE')")) @@ -4870,11 +4869,13 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus LIMIT 1 status_kurzbz character varying(32), bezeichnung character varying(256) ); + ALTER TABLE public.tbl_zgvpruefungstatus ADD CONSTRAINT status_kurzbz PRIMARY KEY (status_kurzbz); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('pruefung_stg', 'Wird vom Studiengang geprüft'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('rejected', 'Vom Studiengang abgelehnt'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted', 'Vom Studiengang akzeptiert'); INSERT INTO public.tbl_zgvpruefungstatus(status_kurzbz, bezeichnung) VALUES('accepted_pruefung', 'Vom Studiengang akzeptiert mit Prüfung'); + GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus TO web; "; @@ -4898,7 +4899,8 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) updateamum timestamp without time zone, updatevon character varying(32) ); - CREATE SEQUENCE public.tbl_zgvpruefung_id_seq + + CREATE SEQUENCE public.tbl_zgvpruefung_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE @@ -4906,9 +4908,11 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefung LIMIT 1;")) ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT pk_tbl_zgvpruefung PRIMARY KEY (zgvpruefung_id); ALTER TABLE public.tbl_zgvpruefung ALTER COLUMN zgvpruefung_id SET DEFAULT nextval('public.tbl_zgvpruefung_id_seq'); ALTER TABLE public.tbl_zgvpruefung ADD CONSTRAINT fk_tbl_zgvpruefung_student FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE; + GRANT SELECT, UPDATE ON public.tbl_zgvpruefung_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefung TO vilesci; GRANT SELECT ON public.tbl_zgvpruefung TO web; + "; if(!$db->db_query($qry)) @@ -4928,15 +4932,18 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status status character varying(32), datum timestamp without time zone DEFAULT now() ); - CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq + + CREATE SEQUENCE public.tbl_zgvpruefungstatus_status_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; + ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT pk_tbl_zgvpruefungstatus_status PRIMARY KEY (zgv_pruefung_status_id); ALTER TABLE public.tbl_zgvpruefungstatus_status ALTER COLUMN zgv_pruefung_status_id SET DEFAULT nextval('tbl_zgvpruefungstatus_status_id_seq'); ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_zgvpruefung FOREIGN KEY (zgvpruefung_id) REFERENCES public.tbl_zgvpruefung (zgvpruefung_id) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE public.tbl_zgvpruefungstatus_status ADD CONSTRAINT fk_tbl_zgvpruefung_status FOREIGN KEY (status) REFERENCES public.tbl_zgvpruefungstatus (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE; + GRANT SELECT, UPDATE ON public.tbl_zgvpruefungstatus_status_id_seq TO vilesci; GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_zgvpruefungstatus_status TO vilesci; GRANT SELECT ON public.tbl_zgvpruefungstatus_status TO web; @@ -4948,7 +4955,8 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt
'; } -// Add index to lehre.tbl_pruefung + +// Add index to system.tbl_log if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'")) { if ($db->db_num_rows($result) == 0) @@ -4974,67 +4982,6 @@ if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchung echo ' public.tbl_buchungstyp: Added buchungstyp "ZuschussIO"
'; } } -//Add Column statusgrund_kurzbz to public.tbl_status_grund -if(!@$db->db_query("SELECT statusgrund_kurzbz FROM public.tbl_status_grund LIMIT 1")) -{ - $qry = "ALTER TABLE public.tbl_status_grund ADD COLUMN statusgrund_kurzbz varchar(32); - ALTER TABLE public.tbl_status_grund ADD CONSTRAINT uk_tbl_statusgrund_kurzbz UNIQUE (statusgrund_kurzbz); - "; - - if(!$db->db_query($qry)) - echo 'public.tbl_status_grund '.$db->db_last_error().'
'; - else - echo '
Neue Spalte statusgrund_kurzbz zu Tabelle public.tbl_status_grund hinzugefügt'; -} - -// INDEX idx_anrechnung_anrechnung_status_anrechnung_id -if ($result = $db->db_query("SELECT 0 FROM pg_class WHERE relname = 'idx_anrechnung_anrechnung_status_anrechnung_id'")) -{ - if ($db->db_num_rows($result) == 0) - { - $qry = 'CREATE INDEX idx_anrechnung_anrechnung_status_anrechnung_id ON lehre.tbl_anrechnung_anrechnungstatus USING btree (anrechnung_id)'; - if (!$db->db_query($qry)) - echo 'idx_anrechnung_anrechnung_status_anrechnung_id '.$db->db_last_error().'
'; - else - echo '
Created Index idx_anrechnung_anrechnung_status_anrechnung_id'; - } -} - -// Add Table lehre.tbl_lehrmodus -if(!$result = @$db->db_query("SELECT 1 FROM lehre.tbl_lehrmodus LIMIT 1;")) -{ - $qry = " - CREATE TABLE lehre.tbl_lehrmodus - ( - lehrmodus_kurzbz varchar(32) NOT NULL, - bezeichnung_mehrsprachig varchar(255)[], - aktiv boolean DEFAULT true - ); - ALTER TABLE lehre.tbl_lehrmodus ADD CONSTRAINT pk_lehrmodus PRIMARY KEY (lehrmodus_kurzbz); - INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('regulaer', '{\"regulaer\",\"regular\"}'); - INSERT INTO lehre.tbl_lehrmodus(lehrmodus_kurzbz, bezeichnung_mehrsprachig) VALUES('standardisiert', '{\"standardisiert\",\"standardized\"}'); - GRANT SELECT ON lehre.tbl_lehrmodus TO web; - GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_lehrmodus TO vilesci; - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_lehrmodus: '.$db->db_last_error().'
'; - else - echo ' lehre.tbl_lehrmodus: Tabelle hinzugefuegt
'; -} - -//Add Column lehrmodus_kurzbz to lehre.tbl_lehrveranstaltung -if(!@$db->db_query("SELECT lehrmodus_kurzbz FROM lehre.tbl_lehrveranstaltung LIMIT 1")) -{ - $qry = "ALTER TABLE lehre.tbl_lehrveranstaltung ADD COLUMN lehrmodus_kurzbz varchar(32); - ALTER TABLE lehre.tbl_lehrveranstaltung ADD CONSTRAINT fk_lehrveranstaltung_lehrmodus FOREIGN KEY (lehrmodus_kurzbz) REFERENCES lehre.tbl_lehrmodus(lehrmodus_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_lehrveranstaltung '.$db->db_last_error().'
'; - else - echo '
Spalte lehrmodus_kurzbz in lehre.tbl_lehrveranstaltung hinzugefügt'; -} // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -5153,9 +5100,8 @@ $tabellen=array( "lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen","bezeichnung_kurz","bezeichnung_lang"), "lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"), "lehre.tbl_lehrmittel" => array("lehrmittel_kurzbz","beschreibung","ort_kurzbz"), - "lehre.tbl_lehrmodus" => array("lehrmodus_kurzbz","bezeichnung_mehrsprachig","aktiv"), "lehre.tbl_lehrtyp" => array("lehrtyp_kurzbz","bezeichnung"), - "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag","lehrmodus_kurzbz"), + "lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming","lehrtyp_kurzbz","oe_kurzbz","raumtyp_kurzbz","anzahlsemester","semesterwochen","lvnr","farbe","semester_alternativ","old_lehrfach_id","sws","lvs","alvs","lvps","las","benotung","lvinfo","lehrauftrag"), "lehre.tbl_lehrveranstaltung_kompatibel" => array("lehrveranstaltung_id","lehrveranstaltung_id_kompatibel"), "lehre.tbl_lvangebot" => array("lvangebot_id","lehrveranstaltung_id","studiensemester_kurzbz","gruppe_kurzbz","incomingplaetze","gesamtplaetze","anmeldefenster_start","anmeldefenster_ende","insertamum","insertvon","updateamum","updatevon"), "lehre.tbl_lvregel" => array("lvregel_id","lvregeltyp_kurzbz","operator","parameter","lvregel_id_parent","lehrveranstaltung_id","studienplan_lehrveranstaltung_id","insertamum","insertvon","updateamum","updatevon"), @@ -5248,7 +5194,7 @@ $tabellen=array( "public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"), "public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"), - "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung"), + "public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz","aufnahmegruppe_kurzbz","udf_values","priorisierung","zgv_erfuellt","zgvmas_erfuellt","zgvdoktor_erfuellt"), "public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum","rt_stufe","statusgrund_id"), "public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"), "public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz","aufnahmegruppe_kurzbz","stufe","anmeldefrist"), @@ -5256,7 +5202,7 @@ $tabellen=array( "public.tbl_rt_person" => array("rt_person_id","person_id","rt_id","studienplan_id","anmeldedatum","teilgenommen","ort_kurzbz","punkte","insertamum","insertvon","updateamum","updatevon"), "public.tbl_rt_studienplan" => array("reihungstest_id","studienplan_id"), "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"), - "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung","statusgrund_kurzbz"), + "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung"), "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"), "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id","design_uid","betrieb_uid","operativ_uid","servicekategorie_kurzbz"), "public.tbl_servicekategorie" => array("servicekategorie_kurzbz", "bezeichnung","sort"), From ad95088abd4b258ef3e669859dfccfb938bc2440 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 10:53:51 +0200 Subject: [PATCH 019/475] Update dbupdate_3.3.php --- system/dbupdate_3.3.php | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1d4f33d36..ba6852747 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,22 +504,6 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } -// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) -if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) -{ - if($db->db_num_rows($result)>0) - { - $qry = " - ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note '.$db->db_last_error().'
'; - else - echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; - } -} - // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From 3acf5ba45e769bbe38a8175279c0c454a724f95c Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:03:25 +0200 Subject: [PATCH 020/475] change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) --- system/dbupdate_3.3.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ba6852747..1d4f33d36 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,6 +504,22 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From a20d947b377bd3f5c02b9fc48b46e112a31587b9 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:19:48 +0200 Subject: [PATCH 021/475] Update dbupdate_3.3.php --- system/dbupdate_3.3.php | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1d4f33d36..ba6852747 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,22 +504,6 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } -// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) -if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) -{ - if($db->db_num_rows($result)>0) - { - $qry = " - ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note '.$db->db_last_error().'
'; - else - echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; - } -} - // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From d704e09e822705a0ae64614af71bd3b732bf08b8 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:29:36 +0200 Subject: [PATCH 022/475] Revert "Update dbupdate_3.3.php" This reverts commit a20d947b377bd3f5c02b9fc48b46e112a31587b9. --- system/dbupdate_3.3.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ba6852747..1d4f33d36 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,6 +504,22 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From 9493d6a99b3eb0362411aee4eab8b5aa8086d988 Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:35:17 +0200 Subject: [PATCH 023/475] Revert "change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64)" This reverts commit 3acf5ba45e769bbe38a8175279c0c454a724f95c. --- system/dbupdate_3.3.php | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1d4f33d36..ba6852747 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,22 +504,6 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } -// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) -if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) -{ - if($db->db_num_rows($result)>0) - { - $qry = " - ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); - "; - - if(!$db->db_query($qry)) - echo 'lehre.tbl_note '.$db->db_last_error().'
'; - else - echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; - } -} - // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From 6cb8987fb429662304db478b3380ecd29203239a Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Wed, 22 Sep 2021 11:41:03 +0200 Subject: [PATCH 024/475] change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) --- system/dbupdate_3.3.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index ba6852747..1d4f33d36 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -504,6 +504,22 @@ if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefung } } +// change Datatype of lehre.tbl_note.bezeichnung from varchar(32) to varchar(64) +if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='lehre' AND TABLE_NAME='tbl_note' AND COLUMN_NAME = 'bezeichnung' AND character_maximum_length < 64")) +{ + if($db->db_num_rows($result)>0) + { + $qry = " + ALTER TABLE lehre.tbl_note ALTER COLUMN bezeichnung TYPE varchar(64); + "; + + if(!$db->db_query($qry)) + echo 'lehre.tbl_note '.$db->db_last_error().'
'; + else + echo '
Spalte bezeichnung in lehre.tbl_note von kleiner varchar(64) auf varchar(64) geändert
'; + } +} + // Note "entschuldigt" hinzufügen if($result = @$db->db_query("SELECT 1 FROM lehre.tbl_note WHERE anmerkung = 'en' AND (bezeichnung = 'entschuldigt' OR bezeichnung = 'Entschuldigt');")) { From bd90876277b3571b279d3177aae3c6d4227f6a6e Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Thu, 23 Sep 2021 12:34:58 +0200 Subject: [PATCH 025/475] Fixed: Now sending mails to ALL STGLs of the concerning STG Before it was sending only to first in array. Now sending to all. Signed-off-by: cris-technikum --- .../controllers/jobs/AnrechnungJob.php | 49 +++++++++++-------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/application/controllers/jobs/AnrechnungJob.php b/application/controllers/jobs/AnrechnungJob.php index f92410dbc..f32a8268a 100644 --- a/application/controllers/jobs/AnrechnungJob.php +++ b/application/controllers/jobs/AnrechnungJob.php @@ -188,7 +188,7 @@ class AnrechnungJob extends JOB_Controller $studiengang_bezeichnung = $this->StudiengangModel->load($studiengang_kz)->retval[0]->stg_bezeichnung; // Get STGL mail address - list ($to, $vorname) = self::_getSTGLMailAddress($studiengang_kz); + $stglMailReceiver_arr = self::_getSTGLMailAddress($studiengang_kz); // Get HTML table with new Anrechnungen of that STG plus amount of them list ($anrechnungen_amount, $anrechnungen_table) = self::_getSTGLMailDataTable($studiengang_kz, $anrechnungen); @@ -199,22 +199,25 @@ class AnrechnungJob extends JOB_Controller CIS_ROOT. 'cis/menu.php?content_id=&content='. CIS_ROOT. index_page(). self::APPROVE_ANRECHNUNG_URI; + foreach ($stglMailReceiver_arr as $stgl) + { // Prepare mail content - $body_fields = array( - 'vorname' => $vorname, - 'studiengang' => $studiengang_bezeichnung, - 'anzahl' => $anrechnungen_amount, - 'datentabelle' => $anrechnungen_table, - 'link' => anchor($url, 'Anrechnungsanträge Übersicht') - ); - - // Send mail - sendSanchoMail( - 'AnrechnungAntragStellen', - $body_fields, - $to, - 'Anerkennung nachgewiesener Kenntnisse: Neuer Antrag wurde gestellt' - ); + $body_fields = array( + 'vorname' => $stgl['vorname'], + 'studiengang' => $studiengang_bezeichnung, + 'anzahl' => $anrechnungen_amount, + 'datentabelle' => $anrechnungen_table, + 'link' => anchor($url, 'Anrechnungsanträge Übersicht') + ); + + // Send mail + sendSanchoMail( + 'AnrechnungAntragStellen', + $body_fields, + $stgl['to'], + 'Anerkennung nachgewiesener Kenntnisse: Neuer Antrag wurde gestellt' + ); + } } $this->logInfo('SUCCEDED: Sending emails to STGL about yesterdays new Anrechnungen succeded.'); @@ -342,15 +345,21 @@ html; // Get STGL mail address private function _getSTGLMailAddress($studiengang_kz) { + $stglMailAdress_arr = array(); $result = $this->StudiengangModel->getLeitung($studiengang_kz); // Get STGL mail address if (hasData($result)) { - return array( - $result->retval[0]->uid. '@'. DOMAIN, - $result->retval[0]->vorname - ); + foreach (getData($result) as $stgl) + { + $stglMailAdress_arr[]= array( + 'to' => $stgl->uid. '@'. DOMAIN, + 'vorname' => $stgl->vorname + ); + } + + return $stglMailAdress_arr; } // If not available, get assistance mail address else From 72868f4207e428c4b0e6f42f4b38b741ca81ba55 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Thu, 23 Sep 2021 12:47:05 +0200 Subject: [PATCH 026/475] Fixed: Now downloading documents is possible for ALL STGLs of the concerning STG Before it was possible only for first in array. Now sending to all. Signed-off-by: cris-technikum --- .../lehre/anrechnung/ApproveAnrechnungUebersicht.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php index d59d97514..70fae2b57 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php @@ -285,11 +285,14 @@ class approveAnrechnungUebersicht extends Auth_Controller // Get STGL $result = $this->StudiengangModel->getLeitung($result->studiengang_kz); - if($result = getData($result)[0]) + if (hasData($result)) { - if ($result->uid == $this->_uid) + foreach (getData($result) as $stgl) { - return; + if ($stgl->uid == $this->_uid) + { + return; + } } } From 072d1437e6a0ad7512bf6f89204933e3436b5510 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 27 Sep 2021 13:31:01 +0200 Subject: [PATCH 027/475] Bugfix: nun werden nach jedem Fehler die Projektphasen neu geladen --- cis/private/tools/zeitaufzeichnung.php | 44 +++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 824c0ba3c..626150dac 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -853,11 +853,11 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) if($data[0] == $user){ if(!empty($data[6]) && !in_array($data[6], $project_kurzbz_array) && empty($data[7])) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da Sie folgendem Projekt entweder nicht zugewiesen sind oder das Projekt schon abgeschlossen wurde: ('.$data[6].')
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da Sie folgendem Projekt entweder nicht zugewiesen sind oder das Projekt schon abgeschlossen wurde: ('.$data[6].')
'; } elseif(!empty($data[7]) && !in_array($data[7], $projectphasen_kurzbz_array)) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da Sie folgender Projektphase entweder nicht zugewiesen sind oder die Projektphase schon abgeschlossen wurde: ('.$data[7].')
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da Sie folgender Projektphase entweder nicht zugewiesen sind oder die Projektphase schon abgeschlossen wurde: ('.$data[7].')
'; } else { @@ -875,24 +875,24 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) if (!isset($data[8])) $data[8] = NULL; if ($datum->formatDatum($data[2], $format='Y-m-d H:i:s') < $sperrdatum) - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum ('.$data[2].')
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum ('.$data[2].')
'; elseif ($datum->formatDatum($data[2], $format='Y-m-d H:i:s') > $limitdatum) - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da ('.$data[2].') zu weit in der Zukunft liegt.
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da ('.$data[2].') zu weit in der Zukunft liegt.
'; elseif ($dateVonCSV!=$dateBisCSV && $data[1]!="DienstreiseMT") { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).
'; } elseif (empty($data[7]) && !empty($data[6]) && !$projects_of_user->checkProjectInCorrectTime($data[6], $data[2], $data[3])) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt: ('.$data[2].') ('.$data[3].')
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt: ('.$data[2].') ('.$data[3].')
'; } elseif (!empty($data[7]) && !$projektph_of_user ->checkProjectphaseInCorrectTime($data[7], $data[2], $data[3])) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektphasenzeitrahmen fällt: ('.$data[2].') ('.$data[3].')
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektphasenzeitrahmen fällt: ('.$data[2].') ('.$data[3].')
'; } elseif (checkVals($data[5],$data[6],$data[7],$data[8])) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Fehlerhafte Werte ('.$data[2].')
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Fehlerhafte Werte ('.$data[2].')
'; } else { @@ -982,7 +982,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $pause->homeoffice = $homeoffice; if(!$pause->save()) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg.'
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg.'
'; } } } @@ -999,7 +999,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) */ if(!$zeit->save()) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'('.$zeit->start.')
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'('.$zeit->start.')
'; } else $anzahl++; @@ -1012,7 +1012,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) } else if (strpos($data[0],'#') === false) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Falsche UID nicht importiert ('.$data[0].')
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Falsche UID nicht importiert ('.$data[0].')
'; } } if($anzahl>0) @@ -1030,7 +1030,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) } } else if ($datum->formatDatum($von, $format='Y-m-d H:i:s') < $sperrdatum) - echo '' .$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum'; + echo '' .$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum'; else if (isset($_POST['save']) || isset($_POST['edit'])) { @@ -1066,12 +1066,12 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) if (!$projects_of_user->checkProjectInCorrectTime($projekt_kurzbz, $datum->formatDatum($von, $format='Y-m-d'), $datum->formatDatum($bis, $format='Y-m-d'))) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt.
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt.
'; $saveerror = 1; } elseif ($datum->formatDatum($von, $format='Y-m-d') > $limitdatum || $datum->formatDatum($bis, $format='Y-m-d') > $limitdatum) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs oder Enddatum zu weit in der Zukunft liegt.
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs oder Enddatum zu weit in der Zukunft liegt.
'; $saveerror = 1; } elseif (!$projectphase->checkProjectphaseInCorrectTime($projektphase_id, $datum->formatDatum($von, $format='Y-m-d'), $datum->formatDatum($bis, $format='Y-m-d'))) @@ -1083,7 +1083,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) } elseif (abs($von-$bis)>0 && $aktivitaet_kurzbz!="DienstreiseMT") { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).
'; $saveerror = 1; } elseif (isset($_POST['genPause']) && (isset($_POST['save']) || isset($_POST['edit']))) @@ -1095,13 +1095,13 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) // checken ob Pause innerhalb der Arbeitszeit ist if ($zeit->start > $p_start || $zeit->ende < $p_end) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Pause außerhalb der Arbeitszeit
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Pause außerhalb der Arbeitszeit
'; $saveerror = 1; } elseif ($p_start > $p_end) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Fehlerhafte Pausenzeiten
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Fehlerhafte Pausenzeiten
'; $saveerror = 1; } else @@ -1110,7 +1110,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $zeit->ende = $datum->formatDatum($von_pause, $format='Y-m-d H:i:s'); if(!$zeit->save()) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'
'; $saveerror = 1; } //Eintrag für die Pause @@ -1128,7 +1128,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $pause->beschreibung = ''; if(!$pause->save()) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg.'
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$pause->errormsg.'
'; $saveerror = 1; } // Eintrag Arbeit ab der Pause @@ -1143,7 +1143,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $zeit->ende = $datum->formatDatum($bis, $format='Y-m-d H:i:s'); if(!$zeit->save()) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'
'; $saveerror = 1; } } @@ -1152,7 +1152,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) { if(!$zeit->save()) { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.''; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.''; $saveerror = 1; } } @@ -1189,7 +1189,7 @@ if(isset($_GET['type']) && $_GET['type']=='delete') { if ($zeit->start < $sperrdatum) - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich da vor dem Sperrdatum'; else { if($zeit->uid==$user) From ddfee4499a760cd9d1aba1ba1b31db16b5581de1 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 27 Sep 2021 13:35:13 +0200 Subject: [PATCH 028/475] correct typo --- cis/private/tools/zeitaufzeichnung.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 626150dac..85156b1a0 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -1,5 +1,5 @@ Date: Mon, 4 Oct 2021 09:55:21 +0200 Subject: [PATCH 029/475] neuer adresstyp fuer homeoffice und dynmaischen adressentyp im FAS --- cis/private/profile/index.php | 29 +-------------- content/adressedialog.xul.php | 12 ++++--- include/adresse.class.php | 34 ++++++++++++++++-- rdf/adressentyp.rdf.php | 67 +++++++++++++++++++++++++++++++++++ system/dbupdate_3.3.php | 37 +++++++++++++++++++ 5 files changed, 143 insertions(+), 36 deletions(-) create mode 100644 rdf/adressentyp.rdf.php diff --git a/cis/private/profile/index.php b/cis/private/profile/index.php index 80062a932..1f1330839 100644 --- a/cis/private/profile/index.php +++ b/cis/private/profile/index.php @@ -293,36 +293,9 @@ if (!$ansicht) $adresse = new adresse(); $adresse->load_pers($user->person_id); - function sortAdresse($a , $b) - { - if ($a->typ === $b->typ) - return 0; - - return ($a->typ < $b->typ) ? -1 : 1; - } - usort($adresse->result, "sortAdresse"); foreach($adresse->result as $a) { - if ($a->zustelladresse) - { - switch ($a->typ) - { - case "h": - $typ = $p->t("global/hauptwohnsitz"); - break; - case "n": - $typ = $p->t("global/nebenwohnsitz"); - break; - default: - $typ = NULL; - break; - } - if ($typ !== NULL) - { - echo "".$typ.":
"; - echo $a->strasse."
".$a->plz." ".$a->ort."

"; - } - } + echo $a->strasse . " (" . $a->bezeichnung_mehrsprachig[$sprache] .") " . "
".$a->plz." ".$a->ort."

"; } } diff --git a/content/adressedialog.xul.php b/content/adressedialog.xul.php index f4f530bf0..50fb92b00 100644 --- a/content/adressedialog.xul.php +++ b/content/adressedialog.xul.php @@ -70,13 +70,15 @@ else diff --git a/include/adresse.class.php b/include/adresse.class.php index ffdb08582..801a95650 100644 --- a/include/adresse.class.php +++ b/include/adresse.class.php @@ -53,6 +53,9 @@ class adresse extends basis_db public $rechnungsadresse=false; // boolean public $anmerkung; // string public $co_name; + public $adressentyp; + public $bezeichnung; + public $bezeichnung_mehrsprachig; /** * Konstruktor @@ -133,10 +136,10 @@ class adresse extends basis_db $this->errormsg = 'person_id muss eine gültige Zahl sein'; return false; } - + $sprache = new sprache(); //Lesen der Daten aus der Datenbank - $qry = "SELECT * FROM public.tbl_adresse WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false); - $qry.=" ORDER BY zustelladresse DESC"; + $qry = "SELECT *, ". $sprache->getSprachQuery('bezeichnung_mehrsprachig') ." FROM public.tbl_adresse JOIN public.tbl_adressentyp ON typ = adressentyp_kurzbz WHERE person_id=".$this->db_add_param($pers_id, FHC_INTEGER, false); + $qry.=" ORDER BY zustelladresse DESC, sort"; if(!$this->db_query($qry)) { @@ -167,6 +170,7 @@ class adresse extends basis_db $adr_obj->co_name = $row->co_name; $adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse); $adr_obj->anmerkung = $row->anmerkung; + $adr_obj->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row); $this->result[] = $adr_obj; } @@ -519,5 +523,29 @@ class adresse extends basis_db } return true; } + + public function getAdressentyp() + { + $qry = "SELECT * FROM public.tbl_adressentyp ORDER BY sort;"; + + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $obj = new adresse(); + + $obj->adressentyp = $row->adressentyp_kurzbz; + $obj->bezeichnung = $row->bezeichnung; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } ?> diff --git a/rdf/adressentyp.rdf.php b/rdf/adressentyp.rdf.php new file mode 100644 index 000000000..b34a96cc6 --- /dev/null +++ b/rdf/adressentyp.rdf.php @@ -0,0 +1,67 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +// header für no cache +header("Cache-Control: no-cache"); +header("Cache-Control: post-check=0, pre-check=0",false); +header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); +header("Pragma: no-cache"); +// content type setzen +header("Content-type: application/xhtml+xml"); +// xml +echo ''; +// DAO +require_once('../config/vilesci.config.inc.php'); +require_once('../include/adresse.class.php'); + +$adresse = new adresse(); + +$rdf_url='http://www.technikum-wien.at/adressentyp'; +echo ' + + + +'; + +if ($adresse->getAdressentyp()) +{ + foreach ($adresse->result as $row) + { + echo ' + + + adressentyp.']]> + bezeichnung.']]> + + + '; + } +} +else +{ + echo $adresse->errormsg; +} +?> + + diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 45c9e9e42..7d16dad1b 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4916,6 +4916,42 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_zgvpruefungstatus_status echo ' public.tbl_zgvpruefungstatus_status: Tabelle hinzugefuegt
'; } +// Add table adressentyp +if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_adressentyp LIMIT 1;")) +{ + $qry = " + CREATE TABLE public.tbl_adressentyp + ( + adressentyp_kurzbz varchar(32), + bezeichnung varchar(256), + bezeichnung_mehrsprachig varchar(256)[], + sort smallint + ); + + COMMENT ON TABLE public.tbl_adressentyp IS 'Types of Addresses'; + ALTER TABLE public.tbl_adressentyp ADD CONSTRAINT pk_tbl_adressentyp PRIMARY KEY (adressentyp_kurzbz); + + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('h', 'Hauptwohnsitz', '{\"Hauptwohnsitz\", \"Principal residence\"}', 1); + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('n', 'Nebenwohnsitz', '{\"Nebenwohnsitz\", \"Secondary residence\"}', 2); + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('ho', 'Homeoffice', '{\"Homeoffice\", \"Homeoffice\"}', 3); + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('r', 'Rechnungsadresse', '{\"Rechnungsadresse\", \"Billing address\"}', 4); + INSERT INTO public.tbl_adressentyp(adressentyp_kurzbz, bezeichnung, bezeichnung_mehrsprachig, sort) VALUES ('f', 'Firma', '{\"Firma\", \"Company\"}', 5); + + UPDATE public.tbl_adresse SET typ = 'f' WHERE person_id IS NULL AND (typ IS NULL OR typ = ''); + UPDATE public.tbl_adresse SET typ = 'h' WHERE person_id IS NOT NULL AND typ IS NULL; + + ALTER TABLE public.tbl_adresse ADD CONSTRAINT fk_tbl_adresse_adressentyp FOREIGN KEY (typ) REFERENCES public.tbl_adressentyp (adressentyp_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + + GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_adressentyp TO vilesci; + GRANT SELECT ON public.tbl_adressentyp TO web; + "; + + if(!$db->db_query($qry)) + echo 'public.tbl_adressentyp: '.$db->db_last_error().'
'; + else + echo ' public.tbl_adressentyp: Tabelle hinzugefuegt
'; +} + // Add index to lehre.tbl_pruefung if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_pruefung_student_uid'")) { @@ -5181,6 +5217,7 @@ $tabellen=array( "lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"), "public.ci_apikey" => array("apikey_id","key","level","ignore_limits","date_created"), "public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id","rechnungsadresse","anmerkung", "co_name"), + "public.tbl_adressentyp" => array("adressentyp_kurzbz", "bezeichnung", "bezeichnung_mehrsprachig", "sort"), "public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern","nachgereicht_am","ausstellungsnation","formal_geprueft_amum","archiv","signiert","stud_selfservice","akzeptiertamum"), "public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email","verpflichtend","buttontext"), "public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"), From 79d7f91794892954366f48a05d0d6fdcc0352379 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 4 Oct 2021 09:57:51 +0200 Subject: [PATCH 030/475] deleted ; --- include/adresse.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/adresse.class.php b/include/adresse.class.php index 801a95650..0d4e6a7ca 100644 --- a/include/adresse.class.php +++ b/include/adresse.class.php @@ -526,7 +526,7 @@ class adresse extends basis_db public function getAdressentyp() { - $qry = "SELECT * FROM public.tbl_adressentyp ORDER BY sort;"; + $qry = "SELECT * FROM public.tbl_adressentyp ORDER BY sort"; if($this->db_query($qry)) { From 3ff3353aae398d9dc910b4bd5ee5490d217752ec Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 8 Oct 2021 10:24:46 +0200 Subject: [PATCH 031/475] Aufnahme von hacek-Sonderzeichen in Funktion covertProblemChars --- content/mitarbeiter/mitarbeiteroverlay.js.php | 13 ++++ include/functions.inc.php | 64 +++++++++++-------- 2 files changed, 49 insertions(+), 28 deletions(-) diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php index b87a309f8..13a6d011c 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.js.php +++ b/content/mitarbeiter/mitarbeiteroverlay.js.php @@ -2010,3 +2010,16 @@ function MitarbeiterUDFIFrameLoad() } catch(e) {} } + +// **** +// * Validierung Alias auf Sonderzeichen (analog zu checkWunschUid, außerdem . und _ erlaubt) +// **** +function checkAlias() +{ + var alias = document.getElementById('mitarbeiter-detail-textbox-alias').value; + + if (/^[a-z0-9 . _]*$/i.test(alias) === false) + { + alert('Der Alias darf keine Sonderzeichen enthalten'); + } +} diff --git a/include/functions.inc.php b/include/functions.inc.php index 587860982..8109a2035 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -455,42 +455,50 @@ function intersect($str1, $str2) * Konvertiert Problematische Sonderzeichen in Strings fuer * Accountnamen und EMail-Aliase * - * @param $str - * @return bereinigter String + * @param string $str Inputparameter. + * @return string bereinigter String. */ function convertProblemChars($str) { $enc = 'UTF-8'; $acentos = array( - 'A' => '/À|Á|Â|Ã|Å/', - 'Ae' => '/Ä/', - 'a' => '/à|á|â|ã|å/', - 'ae'=> '/ä/', - 'C' => '/Ç/', - 'c' => '/ç/', - 'E' => '/È|É|Ê|Ë/', - 'e' => '/è|é|ê|ë/', - 'I' => '/Ì|Í|Î|Ï/', - 'i' => '/ì|í|î|ï/', - 'N' => '/Ñ/', - 'n' => '/ñ/', - 'O' => '/Ò|Ó|Ô|Õ/', - 'Oe' => '/Ö/', - 'o' => '/ò|ó|ô|õ/', - 'oe' => '/ö/', - 'U' => '/Ù|Ú|Û/', - 'Ue' => '/Ü/', - 'u' => '/ù|ú|û/', - 'ue' => '/ü/', - 'Y' => '/Ý/', - 'y' => '/ý|ÿ/', - 'a.' => '/ª/', - 'o.' => '/º/', - 'ss' => '/ß/' + 'A' => '/À|Á|Â|Ã|Å|Ă|Ǎ/', + 'Ae' => '/Ä/', + 'a' => '/à|á|â|ã|å|ă|ǎ/', + 'ae' => '/ä/', + 'C' => '/Ç|Č/', + 'c' => '/ç|č/', + 'E' => '/È|É|Ê|Ë/', + 'e' => '/è|é|ê|ë/', + 'I' => '/Ì|Í|Î|Ï|Ǐ/', + 'i' => '/ì|í|î|ï|ǐ/', + 'N' => '/Ñ|Ň|ň/', + 'n' => '/ñ/', + 'O' => '/Ò|Ó|Ô|Õ|Ǒ/', + 'Oe' => '/Ö/', + 'o' => '/ò|ó|ô|õ|ǒ/', + 'oe' => '/ö/', + 'R' => '/Ř/', + 'r' => '/ř/', + 'S' => '/Š/', + 's' => '/š/', + 'T' => '/Ť/', + 't' => '/ť/', + 'U' => '/Ù|Ú|Û|Ŭ|Ǔ/', + 'Ue' => '/Ü/', + 'u' => '/ù|ú|û|ŭ|ǔ/', + 'ue' => '/ü/', + 'Y' => '/Ý/', + 'y' => '/ý|ÿ/', + 'Z' => '/Ž/', + 'z' => '/ž/', + 'a.' => '/ª/', + 'o.' => '/º/', + 'ss' => '/ß/' ); - return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc)); + return preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc)); } //Ersetzt alle Problemzeichen in einem String bevor dieser als xml oder rdf ausgegeben wird From 4f0b34137b3a943067094beba2785c7e6bb93f5a Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 11 Oct 2021 18:48:25 +0200 Subject: [PATCH 032/475] replacement of hatschek letters added in hlp_common_helper.php to be the same as in function.inc.php --- application/helpers/hlp_common_helper.php | 34 ++++++++++++++--------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/application/helpers/hlp_common_helper.php b/application/helpers/hlp_common_helper.php index a7eda8827..7b937d73d 100644 --- a/application/helpers/hlp_common_helper.php +++ b/application/helpers/hlp_common_helper.php @@ -314,32 +314,40 @@ function sanitizeProblemChars($str) $enc = 'UTF-8'; $acentos = array( - 'A' => '/À|Á|Â|Ã|Å/', + 'A' => '/À|Á|Â|Ã|Å|Ă|Ǎ/', 'Ae' => '/Ä/', - 'a' => '/à|á|â|ã|å/', - 'ae'=> '/ä/', - 'C' => '/Ç/', - 'c' => '/ç/', + 'a' => '/à|á|â|ã|å|ă|ǎ/', + 'ae' => '/ä/', + 'C' => '/Ç|Č/', + 'c' => '/ç|č/', 'E' => '/È|É|Ê|Ë/', 'e' => '/è|é|ê|ë/', - 'I' => '/Ì|Í|Î|Ï/', - 'i' => '/ì|í|î|ï/', - 'N' => '/Ñ/', + 'I' => '/Ì|Í|Î|Ï|Ǐ/', + 'i' => '/ì|í|î|ï|ǐ/', + 'N' => '/Ñ|Ň|ň/', 'n' => '/ñ/', - 'O' => '/Ò|Ó|Ô|Õ/', + 'O' => '/Ò|Ó|Ô|Õ|Ǒ/', 'Oe' => '/Ö/', - 'o' => '/ò|ó|ô|õ/', + 'o' => '/ò|ó|ô|õ|ǒ/', 'oe' => '/ö/', - 'U' => '/Ù|Ú|Û/', + 'R' => '/Ř/', + 'r' => '/ř/', + 'S' => '/Š/', + 's' => '/š/', + 'T' => '/Ť/', + 't' => '/ť/', + 'U' => '/Ù|Ú|Û|Ŭ|Ǔ/', 'Ue' => '/Ü/', - 'u' => '/ù|ú|û/', + 'u' => '/ù|ú|û|ŭ|ǔ/', 'ue' => '/ü/', 'Y' => '/Ý/', 'y' => '/ý|ÿ/', + 'Z' => '/Ž/', + 'z' => '/ž/', 'a.' => '/ª/', 'o.' => '/º/', 'ss' => '/ß/' ); - return preg_replace($acentos, array_keys($acentos), htmlentities($str,ENT_NOQUOTES, $enc)); + return preg_replace($acentos, array_keys($acentos), htmlentities($str, ENT_NOQUOTES | ENT_HTML5, $enc)); } From 35cdac0438dc7399028c2b500a5b0e64bd981295 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 12 Oct 2021 10:51:10 +0200 Subject: [PATCH 033/475] Small Code Enhencement Signed-off-by: cris-technikum --- .../lehre/anrechnung/ApproveAnrechnungUebersicht.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php index 70fae2b57..25c802caf 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php @@ -379,23 +379,24 @@ class approveAnrechnungUebersicht extends Auth_Controller $this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel'); $result = $this->LehrveranstaltungModel->getLecturersByLv($anrechnung['studiensemester_kurzbz'], $anrechnung['lehrveranstaltung_id']); - if (!$result = getData($result)) + if (!hasData($result)) { show_error('Failed retrieving lectors of Lehrveranstaltung'); } + $lecturersByLv = getData($result); + // Check if lv has LV-Leitung - $key = array_search(true, array_column($result, 'lvleiter')); - + $key = array_search(true, array_column($lecturersByLv, 'lvleiter')); // If lv has LV-Leitung, keep only the one if ($key !== false) { - $lector_arr[]= $result[$key]; + $lector_arr[]= $lecturersByLv[$key]; } // ...otherwise keep all lectors else { - $lector_arr = array_merge($lector_arr, $result); + $lector_arr = array_merge($lector_arr, $lecturersByLv); } } From 8677cbf6dc9dd4b1c878cf8ba404534ff2e90d8b Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 12 Oct 2021 12:11:06 +0200 Subject: [PATCH 034/475] Fixed requesting Anrechnungsantrag although grade is a blocking grade Blocking grades (eg angerechnet), that should not allow the student to request for Anrechnung, were not fully blocking. This is fixed now. Signed-off-by: cris-technikum --- .../controllers/lehre/anrechnung/RequestAnrechnung.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php index 306ce5841..bc886a876 100644 --- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php +++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php @@ -324,8 +324,8 @@ class requestAnrechnung extends Auth_Controller private function _LVhasBlockingGrades($studiensemester_kurzbz, $lehrveranstaltung_id) { // Get Note of Lehrveranstaltung - $this->load->model('education/Lvgesamtnote_model', 'LvgesamtnoteModel'); - $result = $this->LvgesamtnoteModel->load(array( + $this->load->model('education/Zeugnisnote_model', 'ZeugnisnoteModel'); + $result = $this->ZeugnisnoteModel->load(array( 'student_uid' => $this->_uid, 'studiensemester_kurzbz' => $studiensemester_kurzbz, 'lehrveranstaltung_id' => $lehrveranstaltung_id From f82315cfe748aaa25bdf1241eddf6aa9969df3aa Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 13 Oct 2021 10:46:05 +0200 Subject: [PATCH 035/475] ermoeglicht das einloggen wenn 2 Reihungstests am selben Tag sind --- cis/testtool/login.php | 5 +++-- include/reihungstest.class.php | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cis/testtool/login.php b/cis/testtool/login.php index a738c0a88..f10d4928a 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -132,7 +132,7 @@ if (isset($_REQUEST['prestudent'])) } else { - if ($rt->getReihungstestPersonDatum($ps->prestudent_id, date('Y-m-d'))) + if ($rt->getReihungstestPersonDatum($ps->prestudent_id, $ps->studiengang_kz, date('Y-m-d'))) { // TODO Was ist wenn da mehrere Zurueckkommen?! if (isset($rt->result[0])) @@ -149,6 +149,7 @@ if (isset($_REQUEST['prestudent'])) } if ($reihungstest_id != '' && $rt->load($reihungstest_id)) { + if ($rt->freigeschaltet) { // regenerate Session ID after Login @@ -699,7 +700,7 @@ else // LOGIN Site (vor Login) else $selected=''; echo ' - \n'; + \n'; } // An der FHTW gibt es 3 Testuser für den Camus International if (CAMPUS_NAME == 'FH Technikum Wien') diff --git a/include/reihungstest.class.php b/include/reihungstest.class.php index f5cd72b4a..138c6996e 100644 --- a/include/reihungstest.class.php +++ b/include/reihungstest.class.php @@ -1245,7 +1245,7 @@ class reihungstest extends basis_db * @param date $datum Datum an dem der Reihugnstest stattfindet. * @return boolean true wenn erfolgreich geladen, false im Fehlerfall */ - public function getReihungstestPersonDatum($prestudent_id, $datum) + public function getReihungstestPersonDatum($prestudent_id, $studiengang_kz,$datum) { $qry = "SELECT tbl_rt_person.* @@ -1255,6 +1255,7 @@ class reihungstest extends basis_db JOIN public.tbl_reihungstest ON(tbl_reihungstest.reihungstest_id=tbl_rt_person.rt_id) WHERE tbl_prestudent.prestudent_id = ".$this->db_add_param($prestudent_id)." + AND tbl_reihungstest.studiengang_kz = ". $this->db_add_param($studiengang_kz) ." AND tbl_reihungstest.datum=".$this->db_add_param($datum); if ($result = $this->db_query($qry)) { From 9d08d0067653e3321d499acbecbfaaad59034a73 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 14 Oct 2021 15:37:15 +0200 Subject: [PATCH 036/475] tbl_adresse typ von char auf varchar geaendert --- system/dbupdate_3.3.php | 1 + 1 file changed, 1 insertion(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 7d16dad1b..b857c7c64 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4941,6 +4941,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_adressentyp LIMIT 1;")) UPDATE public.tbl_adresse SET typ = 'h' WHERE person_id IS NOT NULL AND typ IS NULL; ALTER TABLE public.tbl_adresse ADD CONSTRAINT fk_tbl_adresse_adressentyp FOREIGN KEY (typ) REFERENCES public.tbl_adressentyp (adressentyp_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE public.tbl_adresse ALTER COLUMN typ TYPE varchar(32); GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_adressentyp TO vilesci; GRANT SELECT ON public.tbl_adressentyp TO web; From 269f3542d7b28bd4f485ef877c8b69a43d751fd8 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Thu, 14 Oct 2021 15:39:17 +0200 Subject: [PATCH 037/475] Zeiterfassung: keine Bis-Buchungen 00:00:00 bzw. 24:00:00 erlaubt --- cis/private/tools/zeitaufzeichnung.php | 27 +++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index fcf3dd811..92f32d114 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -861,10 +861,11 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) } else { - $vonCSV = $datum->formatDatum($data[2], $format='Y-m-d'); - $bisCSV = $datum->formatDatum($data[3], $format='Y-m-d'); + $vonCSV = $datum->formatDatum($data[2], $format = 'Y-m-d'); + $bisCSV = $datum->formatDatum($data[3], $format = 'Y-m-d'); $dateVonCSV = new DateTime($vonCSV); $dateBisCSV = new DateTime($bisCSV); + $extractHourBis = $datum->formatDatum($data[3], $format = 'H:i:s'); if (!isset($data[5])) $data[5] = NULL; @@ -882,6 +883,10 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) { echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).
'; } + elseif ($extractHourBis == '00:00:00') + { + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Bitte Arbeitszeiten gemäß Arbeitsaufzeichnung Leitfaden tagesgenau abgrenzen: Nur Eingaben von 00:00 bis 23:59 erlaubt!
'; + } elseif (empty($data[7]) && !empty($data[6]) && !$projects_of_user->checkProjectInCorrectTime($data[6], $data[2], $data[3])) { echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektzeitrahmen fällt: ('.$data[2].') ('.$data[3].')
'; @@ -932,18 +937,13 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $verwendung->getVerwendungDatum($data[0],$vonCSV); foreach ($verwendung->result as $v) - // echo "homeoffice für Tag " . $vonCSV . " ". $v->homeoffice . " " . $v->bisverwendung_id . "
"; - if ($v->homeoffice) { - - // echo "homeoffice erlaubt
"; $zeit->homeoffice = true; } else { echo ''.$p->t("zeitaufzeichnung/homeofficeNichtErlaubt", ($vonCSV)) .'
'; - $zeit->homeoffice = false; } } @@ -1050,8 +1050,8 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $zeit->uid = $user; $zeit->aktivitaet_kurzbz = $aktivitaet_kurzbz; - $zeit->start = $datum->formatDatum($von, $format='Y-m-d H:i:s'); - $zeit->ende = $datum->formatDatum($bis, $format='Y-m-d H:i:s'); + $zeit->start = $datum->formatDatum($von, $format = 'Y-m-d H:i:s'); + $zeit->ende = $datum->formatDatum($bis, $format = 'Y-m-d H:i:s'); $zeit->beschreibung = $beschreibung; $zeit->oe_kurzbz_1 = $oe_kurzbz_1; $zeit->oe_kurzbz_2 = $oe_kurzbz_2; @@ -1063,6 +1063,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $zeit->service_id = $service_id; $zeit->kunde_uid = $kunde_uid; $saveerror = 0; + $extractTimeBis = $datum->formatDatum($bis, $format = 'H:i:s'); if (!$projects_of_user->checkProjectInCorrectTime($projekt_kurzbz, $datum->formatDatum($von, $format='Y-m-d'), $datum->formatDatum($bis, $format='Y-m-d'))) { @@ -1081,11 +1082,16 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $saveerror = 1; } - elseif (abs($von-$bis)>0 && $aktivitaet_kurzbz!="DienstreiseMT") + elseif (abs($von-$bis)>0 && $aktivitaet_kurzbz!="DienstreiseMT" && $extractTimeBis != '00:00:00') { echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).
'; $saveerror = 1; } + elseif ($extractTimeBis == '00:00:00') + { + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Bitte Arbeitszeiten gemäß Arbeitsaufzeichnung Leitfaden tagesgenau abgrenzen: Nur Eingaben von 00:00 bis 23:59 erlaubt!
'; + $saveerror = 1; + } elseif (isset($_POST['genPause']) && (isset($_POST['save']) || isset($_POST['edit']))) { @@ -1765,7 +1771,6 @@ if ($projekt->getProjekteMitarbeiter($user, true)) } else $zeitsperre_text = ''; - //var_dump($zs->result); if (isset($_GET["von_datum"]) && $datum->formatDatum($tag, 'd.m.Y') == $_GET["von_datum"]) $style = 'style="border-top: 3px solid #8DBDD8; border-bottom: 3px solid #8DBDD8"'; From aa3a52f201ad0ead1dbf4f561a99d45fb148fade Mon Sep 17 00:00:00 2001 From: ma0068 Date: Fri, 15 Oct 2021 11:36:15 +0200 Subject: [PATCH 038/475] =?UTF-8?q?Aufnahme=20PhasenReset=20f=C3=BCr=20neu?= =?UTF-8?q?e=20Validierung=20Zeitabgrenzung=2000:00:00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index b938b3cb1..8171262b4 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -1089,7 +1089,7 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) } elseif ($extractTimeBis == '00:00:00') { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Bitte Arbeitszeiten gemäß Arbeitsaufzeichnung Leitfaden tagesgenau abgrenzen: Nur Eingaben von 00:00 bis 23:59 erlaubt!
'; + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Bitte Arbeitszeiten gemäß Arbeitsaufzeichnung Leitfaden tagesgenau abgrenzen: Nur Eingaben von 00:00 bis 23:59 erlaubt!
'; $saveerror = 1; } elseif (isset($_POST['genPause']) && (isset($_POST['save']) || isset($_POST['edit']))) From b6b347ff8b0274568cf823b97e0499977f765817 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 18 Oct 2021 11:10:13 +0200 Subject: [PATCH 039/475] Merge Detailsicht Vorgesetzte --- cis/private/tools/zeitaufzeichnung.php | 99 ++++++++++++++++++-------- 1 file changed, 71 insertions(+), 28 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index fcf3dd811..e4cfbf892 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -61,16 +61,24 @@ $passuid = false; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); +$mas = new mitarbeiter(); +$mas->getUntergebene($user, true); +$untergebenen_arr = array(); +$untergebenen_arr = $mas->untergebene; +$adminView = false; + //Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitaufzeichnung //des uebergebenen Users anzeigen if(isset($_GET['uid'])) { - if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid')) + if ($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid') || + (in_array($_GET['uid'], $untergebenen_arr))) { $user = $_GET['uid']; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $passuid = true; + $adminView = true; } else { @@ -1287,13 +1295,33 @@ if ($projekt->getProjekteMitarbeiter($user, true)) } echo '

'.$p->t("urlaubstool/meineZeitsperren").'

'; echo $p->t("zeitaufzeichnung/supportAnfragen"); - echo ' - -
'; + echo ''; + if (isset($_GET['projektexport'])) + { + $projektexpurl = dirname($_SERVER["PHP_SELF"]) .'/zeitaufzeichnung_projektliste.php'; + $aktjahr = intval(date("Y")); + $aktmonat = intval(date("m")) - 1; + $jahreanz = 3; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + if ($passuid) + echo ''; + echo ''; + echo ''; + echo ''; + } - //OE_KURZBZ_1 - echo ' - '; + echo '

'.$p->t('zeitaufzeichnung/projektexport').''.$p->t('zeitaufzeichnung/monat').' '.$p->t('zeitaufzeichnung/jahr').'

'.$p->t("zeitaufzeichnung/organisationseinheiten").' + + '; + if (!$adminView) + { + echo '
'; + } + echo ''; + echo '
'; - echo '
'; + echo '';*/ + if (isset($_GET['csvimport'])) + { + echo ''; + echo ''; + echo ''; + echo ''; + } + else + echo ''; + + if (isset($_GET['csvexport'])) + { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + } + + if (isset($_GET['projektübersichtexport'])) + { + + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + } + + //Aktivitaet + echo ''; + echo ''; + + + if($za_simple >= 0) + { + $oestyle = ''; + if($za_simple == 0) + $oestyle = 'style="width:200px;"'; + + //OE_KURZBZ_1 + echo ' + '; + echo ''; } + echo ''; + } - //Projekte werden nicht angezeigt wenn es keine gibt - if($anzprojekte > 0) + //Projekte werden nicht angezeigt wenn es keine gibt + if($anzprojekte > 0) + { + //Projekt + echo ' + + - - '; + echo ''; } + echo ''; + } - if ($za_simple == 0) + if ($za_simple == 0) + { + // Service + echo ' + + - - - '; - - // person für Kundenvoransicht laden - $kunde_name = ''; - if($kunde_uid != '') - { - $user_kunde = new benutzer(); - - if($user_kunde->load($kunde_uid)) - $kunde_name=$user_kunde->vorname.' '.$user_kunde->nachname; - } - echo ' - - - + echo ''; + } + echo ''; - echo ''; - } - //Start/Ende - $von_ts = $datum->mktime_fromtimestamp($datum->formatDatum($von, $format='Y-m-d H:i:s')); - $bis_ts = $datum->mktime_fromtimestamp($datum->formatDatum($bis, $format='Y-m-d H:i:s')); - $diff = $bis_ts - $von_ts; + // person für Kundenvoransicht laden + $kunde_name = ''; + if($kunde_uid != '') + { + $user_kunde = new benutzer(); + + if($user_kunde->load($kunde_uid)) + $kunde_name=$user_kunde->vorname.' '.$user_kunde->nachname; + } echo ' - - + + '; + echo ''; + } + + //Start/Ende + $von_ts = $datum->mktime_fromtimestamp($datum->formatDatum($von, $format='Y-m-d H:i:s')); + $bis_ts = $datum->mktime_fromtimestamp($datum->formatDatum($bis, $format='Y-m-d H:i:s')); + $diff = $bis_ts - $von_ts; + echo ' + + + '; + if ($za_simple == 0 || $anzprojekte > 0) + { + echo ' + '; - if ($za_simple == 0 || $anzprojekte > 0) - { - echo ' - '; + } + echo ' + + '; + echo ' + + + + + '; -   + - - min. - -   - - '; - } - else - { - echo ''; - } - echo ' - - '; - echo ' - - - - - '; + if (!$adminView) + { //Beschreibung echo ''; echo ''; else { @@ -1514,91 +1488,93 @@ if($projekt->getProjekteMitarbeiter($user, true)) echo '  '; echo ''; } + } echo '

CSV-Import
Informationen zum Format der CSV-Datei s. Leitfaden Arbeitszeitaufzeichnung


CSV-Export'.$p->t('zeitaufzeichnung/startdatum').' '.$p->t('zeitaufzeichnung/enddatum').'


CSV-Export

'.$p->t("zeitaufzeichnung/aktivitaet").''; + //if ($za_simple == 1) + $qry = "SELECT * FROM fue.tbl_aktivitaet where aktivitaet_kurzbz in (".$activities_str.") ORDER by sort,beschreibung"; + //else + // $qry = "SELECT * FROM fue.tbl_aktivitaet where sort != 5 or sort is null ORDER by sort,beschreibung"; + if($result = $db->db_query($qry)) + { + echo ''; + } + echo '
'.$p->t("zeitaufzeichnung/organisationseinheiten").'     '; + if($za_simple == 0) + { + //OE_KURZBZ_2 + echo '     '; - if($za_simple == 0) - { - //OE_KURZBZ_2 - echo ''; - } - echo '
'.$p->t("zeitaufzeichnung/projekt").'
'.$p->t("zeitaufzeichnung/projekt").''; + + //Projektphase + $showprojphases = isset($projektphasen) && is_array($projektphasen) && count($projektphasen) > 0 && $projektfound; + $hiddentext = $showprojphases ? "" : " style='display:none'"; + + echo + '    '. + $p->t("zeitaufzeichnung/projektphase").' + '; - - //Projektphase - $showprojphases = isset($projektphasen) && is_array($projektphasen) && count($projektphasen) > 0 && $projektfound; - $hiddentext = $showprojphases ? "" : " style='display:none'"; - - echo - '    '. - $p->t("zeitaufzeichnung/projektphase").' - '; - } - echo '
'.$p->t('zeitaufzeichnung/service').'
'.$p->t('zeitaufzeichnung/service').'
'.$p->t("zeitaufzeichnung/kunde").' '.$p->t("zeitaufzeichnung/oderKartennummerOptional").' -
 
'.$p->t("global/von").' - '.$p->t("global/bis").' - - + '.$p->t("zeitaufzeichnung/kunde").' '.$p->t("zeitaufzeichnung/oderKartennummerOptional").' +
 
'.$p->t("global/von").' - '.$p->t("global/bis").' + + + +   + + +   + + + min. + +   + -   - + } + else + { + echo ' -  + + +
  + + '.$p->t("zeitaufzeichnung/pauseEinfuegen").' - + +
 -  - - -
  - - '.$p->t("zeitaufzeichnung/pauseEinfuegen").' - - -
'.$p->t("global/beschreibung").'
'; //SpeichernButton - if($zeitaufzeichnung_id=='') + if($zeitaufzeichnung_id == '') echo '
'; + echo '


'; - echo '


'; - echo '
'; + // Summen Lehre anzeigen + $bv = new bisverwendung(); + $bv->getLastAktVerwendung($user); + $lehre_inkludiert = $bv->inkludierte_lehre; + if (!$lehre_inkludiert) + $lehre_inkludiert = 0; - // Summen Lehre anzeigen - $bv = new bisverwendung(); - $bv->getLastAktVerwendung($user); - $lehre_inkludiert = $bv->inkludierte_lehre; - if (!$lehre_inkludiert) - $lehre_inkludiert = 0; - - $stsem = new studiensemester(); - $sem_akt = $stsem->getakt(); - $lehre = new zeitaufzeichnung(); - $l_arr = $lehre->getLehreForUser($user, $sem_akt); - if ($l_arr["LehreAuftraege"]>0 || $l_arr["Lehre"] > 0 || $l_arr["LehreExtern"] > 0) + $stsem = new studiensemester(); + $sem_akt = $stsem->getakt(); + $lehre = new zeitaufzeichnung(); + $l_arr = $lehre->getLehreForUser($user, $sem_akt); + if ($l_arr["LehreAuftraege"]>0 || $l_arr["Lehre"] > 0 || $l_arr["LehreExtern"] > 0) + { + if ($lehre_inkludiert == -1) { - if ($lehre_inkludiert == -1) - { - $l_extern_soll = 0; - $lehre_inkludiert = $l_arr["LehreAuftraege"]; - } - else - $l_extern_soll = $l_arr["LehreAuftraege"]-$lehre_inkludiert; - $l_extern_soll_norm = $l_extern_soll/4*3; - $lehre_inkludiert_norm = $lehre_inkludiert/4*3; - echo ''; - echo ''; - echo ''; - echo ''; - if ($lehre_inkludiert > 0 || $l_arr["Lehre"] > 0) - echo ''; - if ($l_extern_soll > 0 || $l_arr["LehreExtern"] > 0) - echo ''; - - echo '

Übersicht Lehre '.$sem_akt.'

(in Stunden)
beauftragt (LE)gebucht
Lehre:'.$lehre_inkludiert_norm.' ('.$lehre_inkludiert.')'.$l_arr["Lehre"].'
LehreExtern:'.$l_extern_soll_norm.' ('.$l_extern_soll.')'.$l_arr["LehreExtern"].'
'; + $l_extern_soll = 0; + $lehre_inkludiert = $l_arr["LehreAuftraege"]; } - - echo '
'; - echo ''; - - echo '
'; - echo '

'.($alle===true?$p->t('zeitaufzeichnung/alleEintraege'):$p->t('zeitaufzeichnung/xTageAnsicht', array($angezeigte_tage))).'

'; - if ($alle===true) - echo ''; else - echo ''; - //echo ''; + $l_extern_soll = $l_arr["LehreAuftraege"]-$lehre_inkludiert; + $l_extern_soll_norm = $l_extern_soll/4*3; + $lehre_inkludiert_norm = $lehre_inkludiert/4*3; + echo ''; + echo ''; + echo ''; + echo ''; + if ($lehre_inkludiert > 0 || $l_arr["Lehre"] > 0) + echo ''; + if ($l_extern_soll > 0 || $l_arr["LehreExtern"] > 0) + echo ''; - $za = new zeitaufzeichnung(); - if(isset($_GET['filter'])) - $za->getListeProjekt($_GET['filter']); - else - { - if ($alle==true) - $za->getListeUserFull($user, ''); - else - $za->getListeUserFull($user, $angezeigte_tage); - } + echo '

Übersicht Lehre '.$sem_akt.'

(in Stunden)
beauftragt (LE)gebucht
Lehre:'.$lehre_inkludiert_norm.' ('.$lehre_inkludiert.')'.$l_arr["Lehre"].'
LehreExtern:'.$l_extern_soll_norm.' ('.$l_extern_soll.')'.$l_arr["LehreExtern"].'
'; + } - $summe=0; - $dr = new zeitaufzeichnung(); - $dr->getDienstreisenUser($user, 180); - $dr_arr = $dr->result; + echo '
'; + echo ''; - //var_dump($dr->result); + echo '
'; + echo '

'.($alle===true?$p->t('zeitaufzeichnung/alleEintraege'):$p->t('zeitaufzeichnung/xTageAnsicht', array($angezeigte_tage))).'

'; + if ($alle===true) + echo ''; + else + echo ''; + //echo ''; + $za = new zeitaufzeichnung(); + if(isset($_GET['filter'])) + $za->getListeProjekt($_GET['filter']); + else + { + if ($alle==true) + $za->getListeUserFull($user, ''); + else + $za->getListeUserFull($user, $angezeigte_tage); + } + $summe=0; + $dr = new zeitaufzeichnung(); + $dr->getDienstreisenUser($user, 180); + $dr_arr = $dr->result; + //var_dump($dr->result); - if(count($za->result)>0) - { - //Uebersichtstabelle - $woche=date('W'); - $colspan=($za_simple)?12:14; - echo ' - + if(count($za->result)>0) + { + //Uebersichtstabelle + $woche=date('W'); + $colspan=($za_simple)?12:14; + echo ' +
- - - '; - printTableHeadings($fieldheadings, $za_simple); + + + '; + printTableHeadings($fieldheadings, $za_simple); $tag=null; @@ -1618,196 +1594,196 @@ if($projekt->getProjekteMitarbeiter($user, true)) $pflichtpause = false; - foreach($za->result as $row) + foreach($za->result as $row) + { + $datumtag = $datum_obj->formatDatum($row->datum, 'Y-m-d'); + + // Nach jedem Tag eine Summenzeile einfuegen + if(is_null($tag)) + $tag = $datumtag; + if($tag!=$datumtag) { - $datumtag = $datum_obj->formatDatum($row->datum, 'Y-m-d'); - // Nach jedem Tag eine Summenzeile einfuegen - if(is_null($tag)) - $tag = $datumtag; - if($tag!=$datumtag) + //if ($row->uid) + //{ + if ($datum->formatDatum($tag,'N') == '6' || $datum->formatDatum($tag,'N') == '7') + $style = 'style="background-color:#eeeeee; font-size: 8pt;"'; + else + $style = 'style="background-color:#DCE4EF; font-size: 8pt;"'; + + // zeitsperren anzeigen + if (array_key_exists($datum->formatDatum($tag,'Y-m-d'), $zeitsperren)) { - - //if ($row->uid) - //{ - if ($datum->formatDatum($tag,'N') == '6' || $datum->formatDatum($tag,'N') == '7') - $style = 'style="background-color:#eeeeee; font-size: 8pt;"'; - else - $style = 'style="background-color:#DCE4EF; font-size: 8pt;"'; - - // zeitsperren anzeigen - if (array_key_exists($datum->formatDatum($tag,'Y-m-d'), $zeitsperren)) - { - $zeitsperre_text = " -- ".$zeitsperren[$datum->formatDatum($tag,'Y-m-d')]." -- "; - $style = 'style="background-color:#cccccc; font-size: 8pt;"'; - } - else - $zeitsperre_text = ''; - //var_dump($zs->result); - if (isset($_GET["von_datum"]) && $datum->formatDatum($tag, 'd.m.Y') == $_GET["von_datum"]) - $style = 'style="border-top: 3px solid #8DBDD8; border-bottom: 3px solid #8DBDD8"'; - - list($h1, $m1) = explode(':', $pausesumme); - $pausesumme = $h1*3600+$m1*60; - $tagessaldo = $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format='Y-m-d H:i:s'))-$datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format='Y-m-d H:i:s'))-3600; - foreach($extlehrearr as $el) - { - if ($el["start"] > $tagesbeginn && $el["ende"] < $tagesende) - $elsumme = $datum_obj->sumZeit($elsumme, $el["diff"]); - } - list($h2, $m2) = explode(':', $elsumme); - $elsumme = $h2*3600+$m2*60; - if ($datum->formatDatum($tag, 'Y-m-d') >= '2019-11-06') - { - $pausesumme = $pausesumme; - } - else if ($tagessaldo > 18000 && $tagessaldo < 19800 && $pflichtpause==false && $elsumme == 0) - { - $pausesumme = $tagessaldo-18000; - } - else if ($tagessaldo>18000 && $pflichtpause==false && $elsumme == 0) - { - $pausesumme = $pausesumme+1800; - } - - if ($elsumme > 0){ - $pausesumme = $pausesumme + $elsumme; - $pflichtpause = true; - } - - $tagessaldo = $tagessaldo-$pausesumme; - // fehlende Pausen berechnen - $pausefehlt_str = ''; - if ($tagessaldo > 19800 && $pausesumme < 1800) - $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; - elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000) - $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; - - $tagessaldo = date('H:i', ($tagessaldo)); - $colspan = ($za_simple)?6:8; - echo ' - - - '; - - - - $tag=$datumtag; - $tagessumme='00:00'; - $pausesumme='00:00'; - $elsumme='00:00'; - $ersumme = '00:00'; - $extlehrearr = array(); - $tagesbeginn = ''; - $tagesende = ''; - $pflichtpause = false; - $wochensaldo = $datum_obj->sumZeit($wochensaldo,$tagessaldo ); - //} - //else - //{ - // echo ''; - //} - + $zeitsperre_text = " -- ".$zeitsperren[$datum->formatDatum($tag,'Y-m-d')]." -- "; + $style = 'style="background-color:#cccccc; font-size: 8pt;"'; } - // Nach jeder Woche eine Summenzeile einfuegen und eine neue Tabelle beginnen - $datumwoche = $datum_obj->formatDatum($row->datum, 'W'); - if(is_null($woche)) - $woche = $datumwoche; - if($woche!=$datumwoche) + else + $zeitsperre_text = ''; + //var_dump($zs->result); + if (isset($_GET["von_datum"]) && $datum->formatDatum($tag, 'd.m.Y') == $_GET["von_datum"]) + $style = 'style="border-top: 3px solid #8DBDD8; border-bottom: 3px solid #8DBDD8"'; + + list($h1, $m1) = explode(':', $pausesumme); + $pausesumme = $h1*3600+$m1*60; + $tagessaldo = $datum->mktime_fromtimestamp($datum->formatDatum($tagesende, $format='Y-m-d H:i:s'))-$datum->mktime_fromtimestamp($datum->formatDatum($tagesbeginn, $format='Y-m-d H:i:s'))-3600; + foreach($extlehrearr as $el) { - if ($ersumme_woche != '00:00') - $erstr = ' (+ '.$ersumme_woche.')'; - else - { - $erstr = ''; - } - echo ' - - - - - - - - - - - '; - - $colspan=($za_simple)?12:14; - echo ' - - - - - - '; - printTableHeadings($fieldheadings, $za_simple); - - $woche=$datumwoche; - $wochensumme='00:00'; - $tagessumme='00:00'; - $pausesumme='00:00'; - $wochensaldo = '00:00'; - $ersumme = '00:00'; - $ersumme_woche = '00:00'; + if ($el["start"] > $tagesbeginn && $el["ende"] < $tagesende) + $elsumme = $datum_obj->sumZeit($elsumme, $el["diff"]); + } + list($h2, $m2) = explode(':', $elsumme); + $elsumme = $h2*3600+$m2*60; + if ($datum->formatDatum($tag, 'Y-m-d') >= '2019-11-06') + { + $pausesumme = $pausesumme; + } + else if ($tagessaldo > 18000 && $tagessaldo < 19800 && $pflichtpause==false && $elsumme == 0) + { + $pausesumme = $tagessaldo-18000; + } + else if ($tagessaldo>18000 && $pflichtpause==false && $elsumme == 0) + { + $pausesumme = $pausesumme+1800; } - // Diestreisen NEU - if (array_key_exists($datumtag, $dr_arr)) + if ($elsumme > 0){ + $pausesumme = $pausesumme + $elsumme; + $pflichtpause = true; + } + + $tagessaldo = $tagessaldo-$pausesumme; + // fehlende Pausen berechnen + $pausefehlt_str = ''; + if ($tagessaldo > 19800 && $pausesumme < 1800) + $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + elseif ($tagessaldo > 18000 && $tagessaldo < 19800 && $pausesumme < $tagessaldo - 18000) + $pausefehlt_str = '-- Pause fehlt oder zu kurz --'; + + $tagessaldo = date('H:i', ($tagessaldo)); + $colspan = ($za_simple)?6:8; + echo ''; - echo ''; - echo ''; - echo ' + + + '; + + + + $tag=$datumtag; + $tagessumme='00:00'; + $pausesumme='00:00'; + $elsumme='00:00'; + $ersumme = '00:00'; + $extlehrearr = array(); + $tagesbeginn = ''; + $tagesende = ''; + $pflichtpause = false; + $wochensaldo = $datum_obj->sumZeit($wochensaldo,$tagessaldo ); + //} + //else + //{ + // echo ''; + //} + + } + // Nach jeder Woche eine Summenzeile einfuegen und eine neue Tabelle beginnen + $datumwoche = $datum_obj->formatDatum($row->datum, 'W'); + if(is_null($woche)) + $woche = $datumwoche; + if($woche!=$datumwoche) + { + if ($ersumme_woche != '00:00') + $erstr = ' (+ '.$ersumme_woche.')'; + else + { + $erstr = ''; + } + echo ' + + + + + + + + + + + '; + + $colspan=($za_simple)?12:14; + echo ' + + + + + + '; + printTableHeadings($fieldheadings, $za_simple); + + $woche=$datumwoche; + $wochensumme='00:00'; + $tagessumme='00:00'; + $pausesumme='00:00'; + $wochensaldo = '00:00'; + $ersumme = '00:00'; + $ersumme_woche = '00:00'; + } + + // Diestreisen NEU + if (array_key_exists($datumtag, $dr_arr)) + { + $colspan=($za_simple)?6:8; + echo ''; + echo ''; + echo ''; + echo '\n"; - echo "\n"; - echo ''; - unset($dr_arr[$datumtag]); - } + echo "\n"; + echo "\n"; + echo ''; + unset($dr_arr[$datumtag]); + } - if ($row->uid) - { + if ($row->uid) + { $wochensumme = $datum_obj->sumZeit($wochensumme, $row->diff); if ($row->aktivitaet_kurzbz=='Pause') { @@ -1855,12 +1831,20 @@ if($projekt->getProjekteMitarbeiter($user, true)) \n"; echo " \n"; echo " \n"; @@ -1871,23 +1855,22 @@ if($projekt->getProjekteMitarbeiter($user, true)) $tagesende = $row->ende; if ($row->aktivitaet_kurzbz == 'LehreExtern') $extlehrearr[] = array("start"=>$row->start, "ende"=>$row->ende, "diff"=>$row->diff); - } - - } - echo ''; - - - if ($alle===false) - { - echo ' - - - - '; } - //echo $p->t("zeitaufzeichnung/gesamtdauer").": ".$db->convert_html_chars($summe); Aukommentiert. Irrelevant + } + echo ''; + + if ($alle===false) + { + echo ' + + + + '; } + + //echo $p->t("zeitaufzeichnung/gesamtdauer").": ".$db->convert_html_chars($summe); Aukommentiert. Irrelevant + } echo '
'.$p->t("eventkalender/kw").' '.$woche.'
'.$p->t("eventkalender/kw").' '.$woche.'
'; - - // Zusaetzlicher span fuer Addon Informationen - - $lang = getSprache(); - if ($lang == 'German') - $langindex = 1; - else - $langindex = 2; - echo ''.$tagbez[$langindex][$datum->formatDatum($tag,'N')].' '.$datum->formatDatum($tag,'d.m.Y').''.$zeitsperre_text.''.$pausefehlt_str; - if ($ersumme != '00:00') - $erstr = ' (+ '.$ersumme.' ER)'; - else - { - $erstr = ''; - } - echo ' - '.$p->t("zeitaufzeichnung/arbeitszeit").': '.$datum->formatDatum($tagesbeginn, $format='H:i').'-'.$datum->formatDatum($tagesende, $format='H:i').' '.$p->t("eventkalender/uhr").'
- '.$p->t("zeitaufzeichnung/pause").': -
'.$tagessaldo.$erstr.'
'.date('H:i', ($pausesumme-3600)).'
'; - if ($tag > $sperrdatum) - echo '<-'; - - echo '
'.$datum->formatDatum($row->datum,'D d.m.Y').'
'.$p->t("zeitaufzeichnung/wochensummeArbeitszeit").':'.$wochensaldo.$erstr.'
 
'.$p->t("eventkalender/kw").' '.$datumwoche.'
'; + + // Zusaetzlicher span fuer Addon Informationen + + $lang = getSprache(); + if ($lang == 'German') + $langindex = 1; + else + $langindex = 2; + echo ''.$tagbez[$langindex][$datum->formatDatum($tag,'N')].' '.$datum->formatDatum($tag,'d.m.Y').''.$zeitsperre_text.''.$pausefehlt_str; + if ($ersumme != '00:00') + $erstr = ' (+ '.$ersumme.' ER)'; + else { - $colspan=($za_simple)?6:8; - echo '
'.$p->t('zeitaufzeichnung/dienstreise'); - if (array_key_exists('start', $dr_arr[$datumtag]) && !array_key_exists('ende', $dr_arr[$datumtag])) - echo ' '.$p->t('global/beginn'); - if (array_key_exists('ende', $dr_arr[$datumtag]) && !array_key_exists('start', $dr_arr[$datumtag])) - echo ' '.$p->t('global/ende'); - echo ''; - if (array_key_exists('start', $dr_arr[$datumtag])) - echo $dr_arr[$datumtag]['start']; - echo ''; - if (array_key_exists('ende', $dr_arr[$datumtag])) - echo $dr_arr[$datumtag]['ende']; - echo ''; + $erstr = ''; + } + echo ' + '.$p->t("zeitaufzeichnung/arbeitszeit").': '.$datum->formatDatum($tagesbeginn, $format='H:i').'-'.$datum->formatDatum($tagesende, $format='H:i').' '.$p->t("eventkalender/uhr").'
+ '.$p->t("zeitaufzeichnung/pause").': +
'.$tagessaldo.$erstr.'
'.date('H:i', ($pausesumme-3600)).'
'; + if ($tag > $sperrdatum) + echo '<-'; + + echo '
'.$datum->formatDatum($row->datum,'D d.m.Y').'
'.$p->t("zeitaufzeichnung/wochensummeArbeitszeit").':'.$wochensaldo.$erstr.'
 
'.$p->t("eventkalender/kw").' '.$datumwoche.'
'.$p->t('zeitaufzeichnung/dienstreise'); + if (array_key_exists('start', $dr_arr[$datumtag]) && !array_key_exists('ende', $dr_arr[$datumtag])) + echo ' '.$p->t('global/beginn'); + if (array_key_exists('ende', $dr_arr[$datumtag]) && !array_key_exists('start', $dr_arr[$datumtag])) + echo ' '.$p->t('global/ende'); + echo ''; + if (array_key_exists('start', $dr_arr[$datumtag])) + echo $dr_arr[$datumtag]['start']; + echo ''; + if (array_key_exists('ende', $dr_arr[$datumtag])) + echo $dr_arr[$datumtag]['ende']; + echo ''; // if(!isset($_GET['filter']) && ($datumtag > $sperrdatum)) // echo ''.$p->t("global/bearbeiten").''; - echo ""; - if(!isset($_GET['filter']) && ($datumtag > $sperrdatum)) - echo ''.$p->t("global/loeschen").''; - echo "
"; + if(!isset($_GET['filter']) && ($datumtag > $sperrdatum)) + echo ''.$p->t("global/loeschen").''; + echo "
'.$db->convert_html_chars($row->diff).' beschreibung)).'">'.StringCut($db->convert_html_chars($row->beschreibung),20,null,'...').' '; - if(!isset($_GET['filter']) && ($row->uid==$user && $row->datum > $sperrdatum)) - echo ''.$p->t("global/bearbeiten").''; + + if (!$adminView) + { + if(!isset($_GET['filter']) && ($row->uid==$user && $row->datum > $sperrdatum)) + echo ''.$p->t("global/bearbeiten").''; + } echo ""; - if(!isset($_GET['filter']) && ($row->uid==$user && $row->start > $sperrdatum)) - echo ''.$p->t("global/loeschen").''; + + if (!$adminView) + { + if(!isset($_GET['filter']) && ($row->uid==$user && $row->start > $sperrdatum)) + echo ''.$p->t("global/loeschen").''; + } echo "
'.$p->t('zeitaufzeichnung/endeXTageAnsicht', array($angezeigte_tage)).'
'.$p->t('zeitaufzeichnung/endeXTageAnsicht', array($angezeigte_tage)).'
'; /* } @@ -1921,22 +1904,22 @@ function printTableHeadings($fieldheadings, $za_simple = false){
'.$fieldheadings['projekt'].' '.$fieldheadings['ap'].' '.$fieldheadings['oe1'].''.$fieldheadings['oe2'].''.$fieldheadings['aktivitaet'].' '.$fieldheadings['service'].''.$fieldheadings['start'].''.$fieldheadings['ende'].''.$fieldheadings['dauer'].''.$fieldheadings['beschreibung'].''.$fieldheadings['aktion'].'
'.$fieldheadings['oe2'].''.$fieldheadings['aktivitaet'].' '.$fieldheadings['service'].''.$fieldheadings['start'].''.$fieldheadings['ende'].''.$fieldheadings['dauer'].''.$fieldheadings['beschreibung'].''.$fieldheadings['aktion'].'
'; + + //Dropdown timesheets Mitarbeiter + if ($untergebenen_arr) + { + $ben = new benutzer(); + echo " +

+ + "; + } + echo '
'; echo ''; + echo ''; + else + { + echo ''; + echo '  '; + echo ''; + } + } + echo '
'; echo ''; + if (isset($_GET['projektexport'])) { $projektexpurl = dirname($_SERVER["PHP_SELF"]) .'/zeitaufzeichnung_projektliste.php'; @@ -1628,23 +1656,30 @@ if ($projekt->getProjekteMitarbeiter($user, true)) '; - //Beschreibung - echo ''; - echo ''; - else - { - echo ''; - echo '  '; - echo ''; - } - echo '
'.$p->t("global/beschreibung").'
'; - //SpeichernButton - if($zeitaufzeichnung_id=='') - echo '
'; + if (!$adminView) + { + //Beschreibung + echo '
'.$p->t("global/beschreibung").'
'; + //SpeichernButton + if($zeitaufzeichnung_id == '') + echo '
'; + echo '


'; - echo '


'; + if (!$adminView) + { + echo '
'; + } + echo '
'; // Summen Lehre anzeigen $bv = new bisverwendung(); @@ -1985,14 +2020,22 @@ if ($projekt->getProjekteMitarbeiter($user, true)) '.$db->convert_html_chars($row->diff).' beschreibung)).'">'.StringCut($db->convert_html_chars($row->beschreibung),20,null,'...').' '; - if(!isset($_GET['filter']) && ($row->uid==$user && $row->datum > $sperrdatum)) - echo ''.$p->t("global/bearbeiten").''; - echo ""; - if(!isset($_GET['filter']) && ($row->uid==$user && $row->start > $sperrdatum)) - echo ''.$p->t("global/loeschen").''; - echo "
"; + + if (!$adminView) + { + if(!isset($_GET['filter']) && ($row->uid==$user && $row->start > $sperrdatum)) + echo ''.$p->t("global/loeschen").''; + } + echo "
@@ -1389,13 +1395,11 @@ if ($projekt->getProjekteMitarbeiter($user, true)) if (isset($_GET['projektübersichtexport'])) { - echo ''; echo ''; echo ''; echo ''; echo ''; - } //Aktivitaet @@ -1960,7 +1964,7 @@ if ($projekt->getProjekteMitarbeiter($user, true)) $ersumme_woche = '00:00'; } - // Diestreisen NEU + // Dienstreisen NEU if (array_key_exists($datumtag, $dr_arr)) { $colspan=($za_simple)?6:8; diff --git a/cis/private/tools/zeitaufzeichnung_projektliste.php b/cis/private/tools/zeitaufzeichnung_projektliste.php index 177f1f8aa..468405a06 100644 --- a/cis/private/tools/zeitaufzeichnung_projektliste.php +++ b/cis/private/tools/zeitaufzeichnung_projektliste.php @@ -46,7 +46,12 @@ $sprache_obj = new sprache(); $sprache_obj->load($sprache); $sprache_index = $sprache_obj->index; -$uid = get_uid(); +echo $uid = get_uid(); + +$mitarbeiter = new mitarbeiter(); +$mitarbeiter->getUntergebene($uid, true); +$untergebenen_arr = array(); +$untergebenen_arr = $mitarbeiter->untergebene; //Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitaufzeichnung //des uebergebenen Users anzeigen @@ -55,7 +60,7 @@ if (isset($_GET['uid'])) $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); - if ($rechte->isBerechtigt('admin')) + if ($rechte->isBerechtigt('admin') || (in_array($_GET['uid'], $untergebenen_arr))) { $uid = $_GET['uid']; } @@ -74,9 +79,9 @@ $year = $_GET['projexpjahr']; $monthtext = $monatsname[$sprache_index][$month - 1]; $username = $benutzer->vorname." ".$benutzer->nachname; -$mitarbeiter = new mitarbeiter(); $mitarbeiter->load($uid); $persnr = $mitarbeiter->personalnummer; +$persnr; $daysinmonth = cal_days_in_month(CAL_GREGORIAN, $month, $year); $date = new datum(); From 15ba3602f738fd7a7c6a5fac5f5431b3a51b544b Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 25 Oct 2021 13:22:44 +0200 Subject: [PATCH 045/475] job fixed --- application/models/crm/Prestudent_model.php | 58 +++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index 2d8ac4a7e..b4692c864 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -665,4 +665,62 @@ class Prestudent_model extends DB_Model return $this->execQuery($query, array($prestudent_id)); } + + public function getSchool($semester, $studiengang_typ) + { + if (!$this->udfsExistAndDefined()) + return error('No UDF definition'); + + $query = 'SELECT DISTINCT p.person_id, + ps.prestudent_id, + ps.udf_values, + ( + SELECT ssps.udf_values->>\'udf_schule\' + FROM public.tbl_prestudent ssps + WHERE ssps.person_id = p.person_id AND ssps.udf_values->>\'udf_schule\' IS NOT NULL + LIMIT 1 + ) AS "Schule" + FROM + public.tbl_person p + JOIN public.tbl_prestudent ps USING (person_id) + JOIN public.tbl_prestudentstatus pss USING (prestudent_id) + JOIN public.tbl_studiengang sg ON ps.studiengang_kz = sg.studiengang_kz + WHERE + EXISTS ( + SELECT 1 + FROM public.tbl_prestudentstatus spss + JOIN public.tbl_prestudent sps ON spss.prestudent_id = sps.prestudent_id + JOIN public.tbl_studiengang ssg ON sps.studiengang_kz = ssg.studiengang_kz + WHERE sps.person_id = p.person_id + AND ssg.typ = \'' . $studiengang_typ . '\' + AND spss.studiensemester_kurzbz IN (' . $semester . ') + AND sps.udf_values->>\'udf_schule\' IS NOT NULL + LIMIT 1 + ) + AND sg.typ = \''. $studiengang_typ .'\' + AND pss.studiensemester_kurzbz IN (' . $semester . ') + AND ps.udf_values->>\'udf_schule\' IS NULL + AND \'Abgewiesener\' != ( + SELECT sspss.status_kurzbz + FROM public.tbl_prestudentstatus sspss + WHERE sspss.prestudent_id = ps.prestudent_id + ORDER BY sspss.datum DESC, sspss.insertamum DESC, sspss.ext_id DESC + LIMIT 1 + ) + ORDER BY p.person_id'; + + return $this->execQuery($query); + } + + public function updateSchool($udf, $prestudent) + { + if (!$this->udfsExistAndDefined()) + return error('No UDF definition'); + + $query = 'UPDATE public.tbl_prestudent + SET udf_values = \'' . $udf . '\' + WHERE prestudent_id = ' . $prestudent; + + return $this->execQuery($query); + } } From d269fd003d544222a5bc015501c7a60602a7b393 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 25 Oct 2021 14:03:30 +0200 Subject: [PATCH 046/475] added new log to logdataname --- application/views/system/infocenter/infocenterData.php | 2 +- .../views/system/infocenter/infocenterFreigegebenData.php | 2 +- .../system/infocenter/infocenterReihungstestAbsolviertData.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index c49a1c6cc..3ee4db220 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -6,7 +6,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\', \'Attempt to register with existing mailadress\''; $LOGDATA_NAME_PARKED = '\'Parked\''; $LOGDATA_NAME_ONHOLD = '\'Onhold\''; $LOGTYPE_KURZBZ = '\'Processstate\''; diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 9078c13db..e649fe54a 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -5,7 +5,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\''; $REJECTED_STATUS = '\'Abgewiesener\''; $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\''; diff --git a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php index 5aa664a97..dbc0124bc 100644 --- a/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php +++ b/application/views/system/infocenter/infocenterReihungstestAbsolviertData.php @@ -5,7 +5,7 @@ $INTERESSENT_STATUS = '\'Interessent\''; $STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\''; $TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\''; - $LOGDATA_NAME = '\'Login with code\', \'Login with user\''; + $LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\''; $ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz'); $STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\''; $ORG_NAME = '\'InfoCenter\''; From 9c193442ae1032f573aa11025349f0577fb6fc63 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 25 Oct 2021 14:54:45 +0200 Subject: [PATCH 047/475] archivieren von lv zeugnissen und zertifikaten --- content/pdfExport.php | 8 ++ content/student/studentnotenoverlay.xul.php | 3 + content/student/studentoverlay.js.php | 55 ++++++++-- system/dbupdate_3.3.php | 112 ++++++++++++++++++++ 4 files changed, 171 insertions(+), 7 deletions(-) diff --git a/content/pdfExport.php b/content/pdfExport.php index a85ebb345..1597284f6 100644 --- a/content/pdfExport.php +++ b/content/pdfExport.php @@ -47,6 +47,7 @@ require_once('../include/studienordnung.class.php'); require_once('../include/dokument_export.class.php'); require_once('../include/dokument.class.php'); require_once('../include/pdf.class.php'); +require_once('../include/lehrveranstaltung.class.php'); $user = get_uid(); $db = new basis_db(); @@ -520,6 +521,13 @@ else { $bezeichnung = mb_substr($vorlage->bezeichnung." ".$studiengang->kuerzel, 0, 64); } + elseif ($xsl === 'LVZeugnisEng' || $xsl === 'LVZeugnis' || $xsl === 'Zertifikat') + { + $lehrveranstaltung = new lehrveranstaltung($_GET['lvid']); + $vorlage->dokument_kurzbz = $xsl; + $bezeichnung = mb_substr($xsl." ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$semester.". Semester".' '.$ss . ' '. $lehrveranstaltung->bezeichnung, 0, 64); + $titel = mb_substr($xsl."_".strtoupper($row->typ).strtoupper($row->kurzbz)."_".$semester.'_'.$ss. '_' . str_replace(' ', '_', $lehrveranstaltung->bezeichnung), 0, 60); + } else { $bezeichnung = mb_substr($xsl." ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$semester.". Semester".' '.$ss, 0, 64); diff --git a/content/student/studentnotenoverlay.xul.php b/content/student/studentnotenoverlay.xul.php index 498651581..395667bd7 100644 --- a/content/student/studentnotenoverlay.xul.php +++ b/content/student/studentnotenoverlay.xul.php @@ -47,8 +47,11 @@ echo " @@ -1672,7 +1701,7 @@ if ($projekt->getProjekteMitarbeiter($user, true)) echo ''; + echo ''; else { echo ''; diff --git a/cis/private/tools/zeitaufzeichnung_zeitsperren.php b/cis/private/tools/zeitaufzeichnung_zeitsperren.php new file mode 100644 index 000000000..2ab602c29 --- /dev/null +++ b/cis/private/tools/zeitaufzeichnung_zeitsperren.php @@ -0,0 +1,59 @@ + + */ +/** + * Checks, if there is a zeitsperre for a certain date. It should not be possible + * to add a zeitaufzeichnung with a holiday (or else) entry on the same day. + */ + + +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/globals.inc.php'); +require_once('../../../include/phrasen.class.php'); +require_once('../../../include/datum.class.php'); +require_once('../../../include/Excel/excel.php'); +require_once('../../../include/benutzer.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/mitarbeiter.class.php'); +require_once('../../../include/zeitaufzeichnung.class.php'); +require_once('../../../include/projekt.class.php'); +require_once('../../../include/zeitsperre.class.php'); + + +$sprache = getSprache(); +$p = new phrasen($sprache); + +if ((isset($_GET['uid'])) && (isset($_GET['day']))) +{ + $uid = $_GET['uid']; + $day = $_GET['day']; + + $zs = new zeitsperre(); + $zs->getZeitsperrenForZeitaufzeichnung($uid, '180'); + $zeitsperren = $zs->result; + + if (array_key_exists($day, $zeitsperren)) + { + echo ''.$p->t('zeitaufzeichnung/zeitsperreVorhanden', [$day, $zeitsperren[$day]]).'
'; + } + else + { + echo ""; + } +} From 6d4e5238fdb5dfeada84e8a352b932ea07190c9a Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 27 Oct 2021 11:19:59 +0200 Subject: [PATCH 050/475] merge feature-11468/ZeitsperrenBeruecksichtigen into featuresZeiterfassung/Sprint177 --- cis/private/tools/zeitaufzeichnung.php | 1 + 1 file changed, 1 insertion(+) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index f17f9eb06..9360d03f8 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -304,6 +304,7 @@ echo ' Jahr=Datum.substring(6,10); var day = Jahr + "-" + Monat + "-" + Tag; checkBisverwendung(day,uid); + checkZeitsperre(day,uid); } ) From 2b9d688ff7aab0c63710c4671377690ab85bc323 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Wed, 27 Oct 2021 13:07:21 +0200 Subject: [PATCH 051/475] =?UTF-8?q?Adaptierung=20ZE:Fix=20Bug=20Eingabe=20?= =?UTF-8?q?gr=C3=B6=C3=9Fer=2024:00?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 9360d03f8..1fdf71330 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -1098,6 +1098,8 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) $zeit->kunde_uid = $kunde_uid; $saveerror = 0; $extractTimeBis = $datum->formatDatum($bis, $format = 'H:i:s'); + $extractVon = $datum->formatDatum($von, $format = 'Y-m-d'); + $extractBis = $datum->formatDatum($bis, $format = 'Y-m-d'); if (!$projects_of_user->checkProjectInCorrectTime($projekt_kurzbz, $datum->formatDatum($von, $format='Y-m-d'), $datum->formatDatum($bis, $format='Y-m-d'))) { @@ -1114,9 +1116,8 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) echo '

'.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da angegebenes Anfangs und Enddatum nicht in den Projektphasenzeitrahmen fällt.


'; $saveerror = 1; - } - elseif (abs($von-$bis)>0 && $aktivitaet_kurzbz!="DienstreiseMT" && $extractTimeBis != '00:00:00') + elseif ((abs($von - $bis) > 0 || $extractVon != $extractBis) && $aktivitaet_kurzbz!="DienstreiseMT" && $extractTimeBis != '00:00:00') { echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': Eingabe nicht möglich, da keine Zeitaufzeichnung über mehrere Tage erlaubt ist (ausgenommen Dienstreisen).
'; $saveerror = 1; From a31d33bcf9dd4b40baf4c69e785e46c174f9d13a Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 27 Oct 2021 17:59:52 +0200 Subject: [PATCH 052/475] in eigenes model --- application/models/crm/Prestudent_model.php | 57 --------------------- 1 file changed, 57 deletions(-) diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index b4692c864..5db9a98f1 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -666,61 +666,4 @@ class Prestudent_model extends DB_Model return $this->execQuery($query, array($prestudent_id)); } - public function getSchool($semester, $studiengang_typ) - { - if (!$this->udfsExistAndDefined()) - return error('No UDF definition'); - - $query = 'SELECT DISTINCT p.person_id, - ps.prestudent_id, - ps.udf_values, - ( - SELECT ssps.udf_values->>\'udf_schule\' - FROM public.tbl_prestudent ssps - WHERE ssps.person_id = p.person_id AND ssps.udf_values->>\'udf_schule\' IS NOT NULL - LIMIT 1 - ) AS "Schule" - FROM - public.tbl_person p - JOIN public.tbl_prestudent ps USING (person_id) - JOIN public.tbl_prestudentstatus pss USING (prestudent_id) - JOIN public.tbl_studiengang sg ON ps.studiengang_kz = sg.studiengang_kz - WHERE - EXISTS ( - SELECT 1 - FROM public.tbl_prestudentstatus spss - JOIN public.tbl_prestudent sps ON spss.prestudent_id = sps.prestudent_id - JOIN public.tbl_studiengang ssg ON sps.studiengang_kz = ssg.studiengang_kz - WHERE sps.person_id = p.person_id - AND ssg.typ = \'' . $studiengang_typ . '\' - AND spss.studiensemester_kurzbz IN (' . $semester . ') - AND sps.udf_values->>\'udf_schule\' IS NOT NULL - LIMIT 1 - ) - AND sg.typ = \''. $studiengang_typ .'\' - AND pss.studiensemester_kurzbz IN (' . $semester . ') - AND ps.udf_values->>\'udf_schule\' IS NULL - AND \'Abgewiesener\' != ( - SELECT sspss.status_kurzbz - FROM public.tbl_prestudentstatus sspss - WHERE sspss.prestudent_id = ps.prestudent_id - ORDER BY sspss.datum DESC, sspss.insertamum DESC, sspss.ext_id DESC - LIMIT 1 - ) - ORDER BY p.person_id'; - - return $this->execQuery($query); - } - - public function updateSchool($udf, $prestudent) - { - if (!$this->udfsExistAndDefined()) - return error('No UDF definition'); - - $query = 'UPDATE public.tbl_prestudent - SET udf_values = \'' . $udf . '\' - WHERE prestudent_id = ' . $prestudent; - - return $this->execQuery($query); - } } From 203397b1359bcb3dcba4f2d37566f8e33f772941 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 28 Oct 2021 08:01:04 +0200 Subject: [PATCH 053/475] fas adressen anzeige nicht mehr hartcodiert --- rdf/adresse.rdf.php | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/rdf/adresse.rdf.php b/rdf/adresse.rdf.php index 6da4c3a6a..ac557fb98 100644 --- a/rdf/adresse.rdf.php +++ b/rdf/adresse.rdf.php @@ -76,15 +76,6 @@ function draw_rdf($row) global $rdf_url; $db = new basis_db(); - $typ=''; - switch ($row->typ) - { - case 'h': $typ='Hauptwohnsitz'; break; - case 'n': $typ='Nebenwohnsitz'; break; - case 'f': $typ='Firma'; break; - case 'r': $typ='Rechnungsadresse'; break; - } - $firma_name=''; if($row->firma_id!='') { @@ -109,7 +100,7 @@ function draw_rdf($row) gemeinde.']]> nation.']]> typ.']]> - + bezeichnung_mehrsprachig[DEFAULT_LANGUAGE].']]> heimatadresse?'Ja':'Nein').']]> zustelladresse?'Ja':'Nein').']]> co_name.']]> From 2a1a068ee2d495fe5060653b6daf3c22d588ee3e Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 3 Nov 2021 10:51:40 +0100 Subject: [PATCH 054/475] datum fuers parken nun auf semesterende + 3 monate --- public/js/infocenter/infocenterDetails.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/js/infocenter/infocenterDetails.js b/public/js/infocenter/infocenterDetails.js index 79129f3e2..7a8849f71 100644 --- a/public/js/infocenter/infocenterDetails.js +++ b/public/js/infocenter/infocenterDetails.js @@ -378,6 +378,11 @@ var InfocenterDetails = { if (FHC_AjaxClient.hasData(data)) { var engdate = $.datepicker.parseDate("yy-mm-dd", FHC_AjaxClient.getData(data)[0]); + + if (engdate.getDate() === 31) + engdate.setDate(engdate.getDate() - 1); + engdate.setMonth(engdate.getMonth() + 3); + var gerdate = $.datepicker.formatDate("dd.mm.yy", engdate); $("#postponedate").val(gerdate); } From 8cb8c4da6485e1625b1c0648f14d5101e0a9ca20 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Thu, 4 Nov 2021 10:27:21 +0100 Subject: [PATCH 055/475] Erweiterung Funktion checkKontostand() --- include/konto.class.php | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/include/konto.class.php b/include/konto.class.php index 09afa5303..f5de5b439 100644 --- a/include/konto.class.php +++ b/include/konto.class.php @@ -553,31 +553,38 @@ class konto extends basis_db /** * Überprüft, ob das Konto einer Person ausgeglichen ist, oder ob noch Zahlungen offen sind - * @param $person_id ID der Person, die geprüft werden soll - * @return true wenn ausgeglichen, false wenn Zahlungen offen, false mit errormsg wenn ein Fehler aufgetreten ist + * @param int $person_id ID der Person, die geprüft werden soll. + * @param bool $aktuelleBuchungenOnly True, wenn nur Zahlungen mit Buchungsdatum <= aktuelles Datum berücksichtigt werden sollen. + * @return boolean true wenn ausgeglichen, false wenn Zahlungen offen, false mit errormsg wenn ein Fehler aufgetreten ist */ - public function checkKontostand($person_id) + public function checkKontostand($person_id, $aktuelleBuchungenOnly = false) { - $qry="SELECT sum(betrag) as summe FROM public.tbl_konto WHERE person_id=".$this->db_add_param($person_id); - if($result=$this->db_query($qry)) + $qry = "SELECT sum(betrag) as summe + FROM public.tbl_konto + WHERE person_id=".$this->db_add_param($person_id); + + if($aktuelleBuchungenOnly) + $qry .= " AND buchungsdatum <= now()"; + + if ($result = $this->db_query($qry)) { - if($row=$this->db_fetch_object()) + if ($row = $this->db_fetch_object()) { - if($row->summe>=0) + if ($row->summe >= 0) return true; else return false; } else { + $this->errormsg = "Fehler beim Holen der Daten"; return false; - $this->errormsg="Fehler beim Holen der Daten"; } } else { + $this->errormsg = "Fehler bei der Datenbankabfrage"; return false; - $this->errormsg="Fehler bei der Datenbankabfrage"; } } From 1844140e6d958359f2dc8fd9c9a43cd5dc850657 Mon Sep 17 00:00:00 2001 From: FHBGLD <33415881+FHBGLD@users.noreply.github.com> Date: Thu, 4 Nov 2021 12:55:45 +0100 Subject: [PATCH 056/475] BIS - studentenmeldung MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit neuer Standort für FHB und die bpk wurde wieder hinzugefügt --- vilesci/bis/studentenmeldung.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 901181a24..9abeed0b4 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -145,7 +145,7 @@ derzeit fuer alle Studierende der gleiche Standort ToDo: Standort sollte pro Student konfigurierbar sein. */ $standortcode='22'; -if(in_array($stg_kz,array('265','268','761','760','266','267','764','269','400','794','795','786','859'))) +if(in_array($stg_kz,array('265','268','761','760','266','267','764','269','400','794','795','786','859','871'))) $standortcode='14'; // Pinkafeld elseif(in_array($stg_kz,array('639','640','263','743','364','635','402','401','725','264','271','781'))) $standortcode='3'; // Eisenstadt @@ -845,7 +845,7 @@ function GenerateXMLStudentBlock($row) { $error_log.=(!empty($error_log)?', ':'')."Heimat-Nation ('".$nation."')"; } - /*if($row->bpk == '' || $row->bpk == null) + if($row->bpk == '' || $row->bpk == null) { $error_log .= (!empty($error_log) ? ', ' : '') . "bPK fehlt"; } @@ -860,7 +860,7 @@ function GenerateXMLStudentBlock($row) { $error_log.=(!empty($error_log) ? ', ' : ''). "bPK ist nicht 28 Zeichen lang"; } - }*/ + } if (!$ausserordentlich && !$incoming) { if ($zustell_plz == '' || $zustell_plz == null) @@ -1294,9 +1294,9 @@ function GenerateXMLStudentBlock($row) " . $row->ersatzkennzeichen . ""; } - /*$datei .= " + $datei .= " " . $row->bpk . " - ";*/ + "; $datei .= " " . $row->staatsbuergerschaft . " From 0c6f43f36ee4a98c0053336c4a01a24db489703e Mon Sep 17 00:00:00 2001 From: ma0068 Date: Thu, 4 Nov 2021 15:43:05 +0100 Subject: [PATCH 057/475] =?UTF-8?q?Check=20Alias=20auf=20Sonderzeichen=20b?= =?UTF-8?q?ei=20=C3=84nderung=20Alias?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/functions.js.php | 14 ++++++++++++++ .../mitarbeiter/mitarbeiterdetailoverlay.xul.php | 2 +- content/mitarbeiter/mitarbeiteroverlay.js.php | 13 ++++++++++--- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/content/functions.js.php b/content/functions.js.php index 55eed5414..f81fd26ec 100644 --- a/content/functions.js.php +++ b/content/functions.js.php @@ -419,3 +419,17 @@ function setVariable(variable, wert) return true; } } + +// **** +// * Validierung Alias auf Sonderzeichen (analog zu checkWunschUid, außerdem . und _ erlaubt) +// **** +function checkAlias(alias) +{ + + if (/^[a-z0-9 . _]*$/i.test(alias) === false) + { + return false; + } + else + return true; +} diff --git a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php index 1cc8fb34e..c99a35c27 100644 --- a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php +++ b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php @@ -269,7 +269,7 @@ echo '';
- ".$p->t("zeitaufzeichnung/neu")." | + ".$p->t("zeitaufzeichnung/neu")." | "; - CSV Import | + if (!$adminView) + { + echo + " + CSV Import | - CSV Export | + CSV Export | + "; + } - Projektübersichtexport"; + echo " Projektübersichtexport"; if($anzprojekte > 0) echo " | ".$p->t("zeitaufzeichnung/projektexport").""; echo "

CSV-Export

'; //SpeichernButton if($zeitaufzeichnung_id == '') - echo '
+
@@ -212,10 +413,10 @@ if (isset($_GET['selbstverwaltete-pause']) && !empty($_GET['submit'])) t('zeitwunsch/geteilteArbeitszeit'); $gd = new zeitaufzeichnung_gd(); - $gd->load($uid, $current_ss); + $gd->load($uid, $akt_ss->studiensemester_kurzbz); if ( ! $gd->uid ) { - echo '

Zustimmung für '.$current_ss.': '; + echo '

Zustimmung für '.$akt_ss->studiensemester_kurzbz.': '; echo 'ja'; echo 'nein'; echo '




'; @@ -223,13 +424,13 @@ if (isset($_GET['selbstverwaltete-pause']) && !empty($_GET['submit'])) else { $zustimmung = ($gd->selbstverwaltete_pause) ? ' erteilt' : 'abgelehnt'; - echo '

Zustimmung für '.$current_ss.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'

'; + echo '

Zustimmung für '.$akt_ss->studiensemester_kurzbz.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'

'; } $gd = new zeitaufzeichnung_gd(); - $gd->load($uid, $next_ss); + $gd->load($uid, $next_ss->studiensemester_kurzbz); if ( ! $gd->uid ) { - echo '

Zustimmung für '.$next_ss.': '; + echo '

Zustimmung für '.$next_ss->studiensemester_kurzbz.': '; echo 'ja'; echo 'nein'; echo '




'; @@ -237,7 +438,7 @@ if (isset($_GET['selbstverwaltete-pause']) && !empty($_GET['submit'])) else { $zustimmung = ($gd->selbstverwaltete_pause) ? ' erteilt' : 'abgelehnt'; - echo '

Zustimmung für '.$next_ss.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'

'; + echo '

Zustimmung für '.$next_ss->studiensemester_kurzbz.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'

'; } //var_dump($gd); ?> @@ -250,125 +451,197 @@ if (isset($_GET['selbstverwaltete-pause']) && !empty($_GET['submit'])) - -
-

t('zeitwunsch/zeitwunsch');?>

- ".$p->t('zeitwunsch/zeitwunschVon')." $person->titelpre $person->vorname $person->nachname $person->titelpost
"; - echo $p->t('zeitwunsch/tragenSieInDiesesNormwochenraster')."

"; - echo '
- - '; - echo ''; - for ($i=0;$i<$num_rows_stunde; $i++) - { - $beginn=$db->db_result($result_stunde,$i,'"beginn"'); - $beginn=substr($beginn,0,5); - $ende=$db->db_result($result_stunde,$i,'"ende"'); - $ende=substr($ende,0,5); - $stunde=$db->db_result($result_stunde,$i,'"stunde"'); - echo ""; - } + // FORM Begin + echo ''; + echo ''; - echo ''; + // Mein Zeitwunsch-Semesterplan Dropdown, Default = naechstes Studiensemester + $next_ss_selected = $next_ss->studiensemester_kurzbz == $selected_ss ? 'selected' : ''; + $akt_ss_selected = $akt_ss->studiensemester_kurzbz == $selected_ss ? 'selected' : ''; - for ($j=1; $j<7; $j++) - { - echo ''; - for ($i=0;$i<$num_rows_stunde;$i++) - { - if (isset($wunsch[$j][$i+1])) - $index=$wunsch[$j][$i+1]; - else - $index=1; - //$id='bgcolor'; - //$id.=$index+3; - $bgcolor=$cfgStdBgcolor[$index+3]; - echo ''; - } - echo ''; - } + echo '

Mein Zeitwunsch gültig im: '; + echo ''; + echo '


'; - echo ' -
'.$p->t('global/stunde').'
'.$p->t('global/beginn').'
'.$p->t('global/ende').'
$stunde
$beginn
$ende
'.$tagbez[$lang->index][$j].'

- - - '; + // Tabelle Zeitwunsch-Semesterplan + echo ''; + // Tabelle Kopfzeile + echo ''; + echo ''; + for ($i=0;$i<$num_rows_stunde; $i++) + { + $beginn=$db->db_result($result_stunde,$i,'"beginn"'); + $beginn=substr($beginn,0,5); + $ende=$db->db_result($result_stunde,$i,'"ende"'); + $ende=substr($ende,0,5); + $stunde=$db->db_result($result_stunde,$i,'"stunde"'); + echo ""; + } + echo ''; + // Tabelle Zellen + for ($j=1; $j<7; $j++) + { + echo ''; + for ($i=0;$i<$num_rows_stunde;$i++) + { + if (isset($wunsch[$j][$i+1])) + $index=$wunsch[$j][$i+1]; + else + $index=1; // Defaultwert, wenn kein Zeitwunsch vorhanden - if($zw->updateamum!='') - { - echo ''.$p->t('zeitwunsch/letzteAenderung').': '.$datum_obj->formatDatum($zw->updateamum,'d.m.Y H:i:s').' '.$p->t('zeitwunsch/von').' '.$zw->updatevon.''; - } - ?> + $bgcolor=$cfgStdBgcolor[$index+3]; + echo ''; + } + echo ''; + } + echo '
'.$p->t('global/stunde').'
'.$p->t('global/beginn').'
'.$p->t('global/ende').'
$stunde
$beginn
$ende
'.$tagbez[$lang->index][$j].'
'; -
+ // Zeitwunsch aendern / kopieren + echo '
'; + echo '
'; + echo 'Sie können Ihren Zeitwunsch direkt in der Tabelle bearbeiten oder einen Zeitwunsch eines vergangenen Studiensemester kopieren.
+ Solange Sie keine Änderungen vornehmen, wird Ihr Zeitwunsch immer ins nächste Studiensemester übernommen.


'; -
+ // Radiobuttons aendern / kopieren + $radioChangeChecked = is_null($selected_past_ss) ? 'checked' : ''; + $radioCopyChecked = !is_null($selected_past_ss) ? 'checked' : ''; -

t('zeitwunsch/erklärung');?>:

+ echo '
'; + echo 'Zeitwunsch für '. $selected_ss. ' '; + echo ''; + echo ''; + echo '
'; - "; - echo $p->t('zeitwunsch/formularZumEintragenDerZeitsperren', array($href)); - ?> - -

t('zeitwunsch/kontrollierenSieIhreZeitwuensche');?>!

-

- - - - - - - - - - - - - - - - - - - - - - -
t('zeitwunsch/wert');?> -
t('zeitwunsch/bedeutung');?>
-
-
2
-
  t('zeitwunsch/hierMoechteIchUnterrichten');?>
-
1
-
  t('zeitwunsch/hierKannIchUnterrichten');?>
-
-1
-
  t('zeitwunsch/nurInNotfaellen');?>
-
-2
-
  t('zeitwunsch/hierAufGarKeinenFall');?>
-

t('zeitwunsch/folgendePunkteSindZuBeachten');?>:

-
    -
  1. t('zeitwunsch/verwendenSieDenWertNur');?>
  2. -
  3. t('zeitwunsch/sperrenSieNurTermine');?>
  4. -
  5. t('zeitwunsch/esSolltenFuerJedeStunde');?>
  6. -
-

t('lvplan/fehlerUndFeedback');?> t('lvplan/lvKoordinationsstelle');?>.

-
- + echo ''; // end col-xs-12 + echo ''; // end row + + echo '
'; + + $divChangeHidden = !is_null($selected_past_ss) ? 'hidden' : ''; + $divCopyHidden = is_null($selected_past_ss) ? 'hidden' : ''; + + echo '
'; + echo '
'; + echo '' . $p->t('zeitwunsch/tragenSieInDiesesNormwochenraster') .' Klicken Sie danach auf \'Speichern\''; + echo '
'; // end col + echo '
'; + // BLANK + echo '
'; // end col + echo '
'; // end divChangeZWG + + echo '
'; + echo '
'; + echo 'Wählen Sie das gewünschte Studiensemester aus dem rechten Dropdown aus. + Der Zeitwunsch wird dann automatisch in die Tabelle übernommen.
+ Nehmen Sie gegebenenfalls Änderungen vor und klicken Sie dann auf \'Speichern\'.
'; + echo '
'; // end col + + $studiensemester = new Studiensemester(); + $tmp_ss = $selected_ss == $akt_ss->studiensemester_kurzbz ? $studiensemester->getPrevious() : $akt_ss->studiensemester_kurzbz; + $studiensemester->load($tmp_ss); + + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->getByUID($uid, 4, true, $studiensemester->ende); + $past_zwg_arr = $zwg->result; + echo '
'; + echo ''; + echo '
'; // end col + echo '
'; // end divCopyZWG + + // Speichern - Button + echo '
'; + echo ''; + echo '
'; + + echo '
'; // end row + echo '
'; + ?> + + + +
+
+ t('zeitwunsch/folgendePunkteSindZuBeachten');?>: +
    +
  • t('zeitwunsch/verwendenSieDenWertNur');?>
  • +
  • t('zeitwunsch/sperrenSieNurTermine');?>
  • +
  • t('zeitwunsch/esSolltenFuerJedeStunde');?>
  • +

+

t('lvplan/fehlerUndFeedback');?> t('lvplan/lvKoordinationsstelle');?>.


+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
t('zeitwunsch/wert');?> +
t('zeitwunsch/bedeutung');?>
+
+
2
+
  t('zeitwunsch/hierMoechteIchUnterrichten');?>
+
1
+
  t('zeitwunsch/hierKannIchUnterrichten');?>
+
-1
+
  t('zeitwunsch/nurInNotfaellen');?>
+
-2
+
  t('zeitwunsch/hierAufGarKeinenFall');?>
+
+
+ + +
+
+

t('zeitsperre/zeitsperren');?>:

+ "; + echo $p->t('zeitwunsch/formularZumEintragenDerZeitsperren', array($href)); + ?> +
+
+ + + + + diff --git a/locale/de-AT/zeitwunsch.php b/locale/de-AT/zeitwunsch.php index a84da2b0e..31424f8f9 100644 --- a/locale/de-AT/zeitwunsch.php +++ b/locale/de-AT/zeitwunsch.php @@ -9,6 +9,7 @@ $this->phrasen['zeitwunsch/von']='von'; $this->phrasen['zeitwunsch/formularZumEintragenDerZeitsperren']='Das Formular zum Eintragen der Zeitsperren finden Sie %s hier'; $this->phrasen['zeitwunsch/erklärung']='Erklärung'; $this->phrasen['zeitwunsch/kontrollierenSieIhreZeitwuensche']='Bitte kontrollieren/ändern Sie Ihre Zeitwünsche und klicken Sie anschließend auf "Speichern"'; +$this->phrasen['zeitwunsch/erstellenSieIhreZeitwuensche']='Bitte erstellen / ändern Sie Ihre Zeitwünsche und klicken Sie anschließend auf "Speichern"'; $this->phrasen['zeitwunsch/wert']='Wert'; $this->phrasen['zeitwunsch/bedeutung']='Bedeutung'; $this->phrasen['zeitwunsch/hierMoechteIchUnterrichten']='Hier möchte ich unterrichten'; diff --git a/locale/en-US/zeitwunsch.php b/locale/en-US/zeitwunsch.php index dd9abdc3e..1a4a93378 100644 --- a/locale/en-US/zeitwunsch.php +++ b/locale/en-US/zeitwunsch.php @@ -9,6 +9,7 @@ $this->phrasen['zeitwunsch/von']='from'; $this->phrasen['zeitwunsch/formularZumEintragenDerZeitsperren']='The form for entering times when you are unavailable to teach can be found %s here'; $this->phrasen['zeitwunsch/erklärung']='Explanation'; $this->phrasen['zeitwunsch/kontrollierenSieIhreZeitwuensche']='Please check/change your preferred teaching times and click "Save"'; +$this->phrasen['zeitwunsch/erstellenSieIhreZeitwuensche']='Please enter / change your preferred teaching times and click "Save"'; $this->phrasen['zeitwunsch/wert']='Value'; $this->phrasen['zeitwunsch/bedeutung']='Meaning'; $this->phrasen['zeitwunsch/hierMoechteIchUnterrichten']='I would like to teach at this time'; From beb850ebe376cda8c64cc46f40acdb61a568781b Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 24 Nov 2021 09:33:25 +0100 Subject: [PATCH 071/475] Adapted Zeitwunsch zu geteilte Dienste to Bootstrap Style --- cis/private/profile/zeitwunsch.php | 56 +++++++++++++++++++++++------- 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 6e1f800b4..8c28be587 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -406,46 +406,78 @@ function updateZWG($uid, $zwg_id, $bis) -

Zustimmung zur Verplanung in geteilter Arbeitszeit

+

Zustimmung zur Verplanung in geteilter Arbeitszeit

t('zeitwunsch/geteilteArbeitszeit'); + echo '

'; $gd = new zeitaufzeichnung_gd(); $gd->load($uid, $akt_ss->studiensemester_kurzbz); if ( ! $gd->uid ) { - echo '

Zustimmung für '.$akt_ss->studiensemester_kurzbz.': '; - echo 'ja'; - echo 'nein'; - echo '




'; + echo '
'; + echo '
'; + echo '
'; + echo 'Zustimmung für '.$akt_ss->studiensemester_kurzbz.': '; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + echo '
'; + echo '
'; + + echo '
'; + echo '
'; + echo '
'; } else { $zustimmung = ($gd->selbstverwaltete_pause) ? ' erteilt' : 'abgelehnt'; - echo '

Zustimmung für '.$akt_ss->studiensemester_kurzbz.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'

'; + echo '

Zustimmung für '.$akt_ss->studiensemester_kurzbz.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').''; } $gd = new zeitaufzeichnung_gd(); $gd->load($uid, $next_ss->studiensemester_kurzbz); if ( ! $gd->uid ) { - echo '

Zustimmung für '.$next_ss->studiensemester_kurzbz.': '; - echo 'ja'; - echo 'nein'; - echo '




'; + echo '
'; + echo '
'; + echo '
'; + echo 'Zustimmung für '.$next_ss->studiensemester_kurzbz.': '; + echo ''; + echo ''; + echo '
'; + echo '
'; + + echo '
'; + echo ''; + echo '
'; + + echo '
'; + echo '
'; + echo '
'; } else { $zustimmung = ($gd->selbstverwaltete_pause) ? ' erteilt' : 'abgelehnt'; - echo '

Zustimmung für '.$next_ss->studiensemester_kurzbz.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').'

'; + echo 'Zustimmung für '.$next_ss->studiensemester_kurzbz.': '.$zustimmung.' am '.$datum_obj->formatDatum($gd->insertamum,'d.m.Y H:i:s').''; } //var_dump($gd); ?>

-

From 8d3c54fafcba63d4c9f043601a15faf86d7362f7 Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 24 Nov 2021 11:48:57 +0100 Subject: [PATCH 072/475] Minor change: Removed default now() for updateamum, Changed code order ...for better maintainance --- cis/private/profile/zeitwunsch.php | 330 ++++++++++++++--------------- system/dbupdate_3.3.php | 2 +- 2 files changed, 166 insertions(+), 166 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 8c28be587..5da272e9f 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -72,171 +72,6 @@ if(! $result_stunde=$db->db_query('SELECT * FROM lehre.tbl_stunde ORDER BY stund die($db->db_last_error()); $num_rows_stunde=$db->db_num_rows($result_stunde); -// Zeitwuensche speichern -if (isset($_GET['type']) && $_GET['type'] == 'save') -{ - // Letzte Zeitwunschgueltigkeit (ZWG) holen - $zwg = new Zeitwunsch_gueltigkeit(); - $zwg->getByUID($uid, 1); - $lastZwg = !empty($zwg->result) ? $zwg->result[0] : null; - - // Check, ob letzte ZWG im nächsten Studiensemester startet. D.h. es existiert ein neuer Zeitwunsch in der Zukunft - $lastZwgStartsNextSemester = (!is_null($lastZwg) && $lastZwg->von >= $next_ss->start) ? true : false; - $zw_zwg_id = null; // ZWG ID, die zum Speichern / Updaten des Zeitwunsches uebergeben wird - - // Wenn allererster Zeitwunsch, also noch keine ZWG vorhanden - if (is_null($lastZwg)) - { - // Wenn ZW fuer naechstes Studiensemester ist - if ($selected_ss == $next_ss->studiensemester_kurzbz) - { - // Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen - $zw_zwg_id = insertZWG($uid, $next_ss->start, null); - } - - // Wenn Zeitwunsch fuer aktuelles Studiensemester ist - if ($selected_ss == $akt_ss->studiensemester_kurzbz) - { - // Neue ZWG setzen: von = now(), bis offen lassen - $zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), null); - } - } - - // Wenn mindestens eine ZWG vorhanden - if (!is_null($lastZwg)) - { - // Wenn Zeitwunsch fuer naechstes Studiensemester ist - if ($selected_ss == $next_ss->studiensemester_kurzbz) - { - // Wenn naechstes Studiensemester schon eine eigene ZWG hat - if ($lastZwgStartsNextSemester) - { - // Nur Zeitwunsch dieser ZWG updaten - $zw_zwg_id = $lastZwg->zeitwunsch_gueltigkeit_id; - } - - // Wenn naechstes Studiensemester keine eigene ZWG hat - if (!$lastZwgStartsNextSemester) - { - // Fuer bisher letzte ZWG ein Endedatum setzen: bis = Ende aktuelles Studiensemester - updateZWG($uid, $lastZwg->zeitwunsch_gueltigkeit_id, $akt_ss->ende); - - // Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen - $zw_zwg_id = insertZWG($uid, $next_ss->start, null); - } - } - - // Wenn Zeitwunsch fuer aktuelles Studiensemester ist - if ($selected_ss == $akt_ss->studiensemester_kurzbz) - { - /** - * Check, ob aktuelles Studiensemester eine ZWG hat. - * Wenn die allererste ZWG fuer das naechste Studiensemester erstellt wurde, dann hat das - * aktuelle Studiensemester noch keine ZWG. - * */ - $zwg = new Zeitwunsch_gueltigkeit(); - $zwg->getByStudiensemester($uid, $akt_ss->studiensemester_kurzbz); - $akt_ss_zwg = !empty($zwg->result) ? $zwg->result[0] : null; - - // Keine ZWG fuer aktuelles Studiensemester vorhanden. - // Da eine ZWG ID aber schon vorhanden: USER HAT ERSTMALIG MIT NAECHSTEM STUDIENSEMESTER EINTRAG BEGONNEN - if (is_null($akt_ss_zwg)) - { - // Neue ZWG setzen: von = now(), ende = Ende aktuelles Studiensemester - $zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), $akt_ss->ende); - } - - // ZWG für aktuelles Studiensemester ist vorhanden --> SPLIT AKTUELLE STUDIENSEMESTER - if ((!is_null($akt_ss_zwg))) - { - // Wenn am selben Tag schon neue ZWG gespeichert wurde, keine neue ZWG anlegen, sondern diese nur updaten - // Verhindert mehrfache Eintraege, wenn oefters zwischengespeichert wird. - if ((new DateTime($akt_ss_zwg->insertamum))->format('Y-m-d') == (new Datetime())->format('Y-m-d')) - { - updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, $akt_ss_zwg->bis); - - $zw_zwg_id = $akt_ss_zwg->zeitwunsch_gueltigkeit_id; - } - else - { - // Neue ZWG setzen: von = now(), bis = Bis von ZWG des aktuellen Studiensemesters uebernehmen: - // -> bis ist entweder Ende aktuelles Studiensemester (wenn ZWG für nächstes Studiensemester vorhanden ist) - // -> sonst ist bis null - $zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), $akt_ss_zwg->bis); - - // Fuer bisher letzte ZWG das Endedatum auf heute setzen: bis = now() - // NOTE: MUSS nach dem insert sein - updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, (new DateTime())->format('Y-m-d H:i:s')); - } - } - } - } - - // Insert Zeitwunsch mit Zeitwunsch ZWG ID - if (is_numeric($zw_zwg_id)) - { - $zw = new zeitwunsch(); - - for ($t=1;$t<7;$t++) - { - for ($i=0;$i<$num_rows_stunde;$i++) - { - $var='wunsch'.$t.'_'.$i; - if(!isset($_POST[$var])) - continue; - $gewicht=$_POST[$var]; - $stunde=$i+1; - - $zw->mitarbeiter_uid = $uid; - $zw->stunde = $stunde; - $zw->tag = $t; - $zw->gewicht = $gewicht; - $zw->updateamum = date('Y-m-d H:i:s'); - $zw->updatevon = $uid; - $zw->zeitwunsch_gueltigkeit_id = $zw_zwg_id; - - if (!$zw->exists($uid, $zw_zwg_id, $stunde, $t)) - { - $zw->new = true; - $zw->insertamum = date('Y-m-d H:i:s'); - $zw->insertvon = $uid; - } - else - { - $zw->new = false; - } - - if(!$zw->save()) - echo $zw->errormsg; - } - } - } -} - -/** - * Zeitwunschgueltigkeit fuer Tabelle holen. - * Der Zeitwunsch wird anhand der Zeitwunschgueltigkeit (ZWG) des gewaehlten Studiensemesters ermittelt. - * Das Studiensemester wird, je nach Vorhandensein, in dieser Reihenfolge herangezogen: - * 1. Wenn in Dropdown ausgewaehlt: Vergangenes Studiensemester (zum Kopieren von Zeitwunsch) - * 2. Wenn in Dropdown ausgewaehlt: Aktuelles Studiensemester - * 3: Default: Nächstes Studiensemesters - */ -$zwg = new zeitwunsch_gueltigkeit(); -$tmp_ss = is_null($selected_past_ss) ? $selected_ss : $selected_past_ss; -$zwg->getByStudiensemester($uid, $tmp_ss); -$zwg_id = !empty($zwg->result[0]) ? $zwg->result[0]->zeitwunsch_gueltigkeit_id : null; //null, wenn noch kein ZW - -/** - * Zeitwunsch fuer Tabelle holen - * Wenn noch kein Zeitwunsch vorhanden, bleibt die Zeitwunsch Instanz leer - * */ -$zw = new zeitwunsch(); -if (!$zw->loadByZWG($uid, $zwg_id)) -{ - die($zw->errormsg); -} -$wunsch = $zw->zeitwunsch; - // Personendaten $person = new benutzer(); if(!$person->load($uid)) @@ -287,6 +122,171 @@ if (isset($_GET['selbstverwaltete-pause']) && !empty($_GET['submit'])) } +// Zeitwuensche speichern +if (isset($_GET['type']) && $_GET['type'] == 'save') +{ + // Letzte Zeitwunschgueltigkeit (ZWG) holen + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->getByUID($uid, 1); + $lastZwg = !empty($zwg->result) ? $zwg->result[0] : null; + + // Check, ob letzte ZWG im nächsten Studiensemester startet. D.h. es existiert ein neuer Zeitwunsch in der Zukunft + $lastZwgStartsNextSemester = (!is_null($lastZwg) && $lastZwg->von >= $next_ss->start) ? true : false; + $zw_zwg_id = null; // ZWG ID, die zum Speichern / Updaten des Zeitwunsches uebergeben wird + + // Wenn allererster Zeitwunsch, also noch keine ZWG vorhanden + if (is_null($lastZwg)) + { + // Wenn ZW fuer naechstes Studiensemester ist + if ($selected_ss == $next_ss->studiensemester_kurzbz) + { + // Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen + $zw_zwg_id = insertZWG($uid, $next_ss->start, null); + } + + // Wenn Zeitwunsch fuer aktuelles Studiensemester ist + if ($selected_ss == $akt_ss->studiensemester_kurzbz) + { + // Neue ZWG setzen: von = now(), bis offen lassen + $zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), null); + } + } + + // Wenn mindestens eine ZWG vorhanden + if (!is_null($lastZwg)) + { + // Wenn Zeitwunsch fuer naechstes Studiensemester ist + if ($selected_ss == $next_ss->studiensemester_kurzbz) + { + // Wenn naechstes Studiensemester schon eine eigene ZWG hat + if ($lastZwgStartsNextSemester) + { + // Nur Zeitwunsch dieser ZWG updaten + $zw_zwg_id = $lastZwg->zeitwunsch_gueltigkeit_id; + } + + // Wenn naechstes Studiensemester keine eigene ZWG hat + if (!$lastZwgStartsNextSemester) + { + // Fuer bisher letzte ZWG ein Endedatum setzen: bis = Ende aktuelles Studiensemester + updateZWG($uid, $lastZwg->zeitwunsch_gueltigkeit_id, $akt_ss->ende); + + // Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen + $zw_zwg_id = insertZWG($uid, $next_ss->start, null); + } + } + + // Wenn Zeitwunsch fuer aktuelles Studiensemester ist + if ($selected_ss == $akt_ss->studiensemester_kurzbz) + { + /** + * Check, ob aktuelles Studiensemester eine ZWG hat. + * Wenn die allererste ZWG fuer das naechste Studiensemester erstellt wurde, dann hat das + * aktuelle Studiensemester noch keine ZWG. + * */ + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->getByStudiensemester($uid, $akt_ss->studiensemester_kurzbz); + $akt_ss_zwg = !empty($zwg->result) ? $zwg->result[0] : null; + + // Keine ZWG fuer aktuelles Studiensemester vorhanden. + // Da eine ZWG ID aber schon vorhanden: USER HAT ERSTMALIG MIT NAECHSTEM STUDIENSEMESTER EINTRAG BEGONNEN + if (is_null($akt_ss_zwg)) + { + // Neue ZWG setzen: von = now(), ende = Ende aktuelles Studiensemester + $zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), $akt_ss->ende); + } + + // ZWG für aktuelles Studiensemester ist vorhanden --> SPLIT AKTUELLE STUDIENSEMESTER + if ((!is_null($akt_ss_zwg))) + { + // Wenn am selben Tag schon neue ZWG gespeichert wurde, keine neue ZWG anlegen, sondern diese nur updaten + // Verhindert mehrfache Eintraege, wenn oefters zwischengespeichert wird. + if ((new DateTime($akt_ss_zwg->insertamum))->format('Y-m-d') == (new Datetime())->format('Y-m-d')) + { + updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, $akt_ss_zwg->bis); + + $zw_zwg_id = $akt_ss_zwg->zeitwunsch_gueltigkeit_id; + } + else + { + // Neue ZWG setzen: von = now(), bis = Bis von ZWG des aktuellen Studiensemesters uebernehmen: + // -> bis ist entweder Ende aktuelles Studiensemester (wenn ZWG für nächstes Studiensemester vorhanden ist) + // -> sonst ist bis null + $zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), $akt_ss_zwg->bis); + + // Fuer bisher letzte ZWG das Endedatum auf heute setzen: bis = now() + // NOTE: MUSS nach dem insert sein + updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, (new DateTime())->format('Y-m-d H:i:s')); + } + } + } + } + + // Insert Zeitwunsch mit Zeitwunsch ZWG ID + if (is_numeric($zw_zwg_id)) + { + $zw = new zeitwunsch(); + + for ($t=1;$t<7;$t++) + { + for ($i=0;$i<$num_rows_stunde;$i++) + { + $var='wunsch'.$t.'_'.$i; + if(!isset($_POST[$var])) + continue; + $gewicht=$_POST[$var]; + $stunde=$i+1; + + $zw->mitarbeiter_uid = $uid; + $zw->stunde = $stunde; + $zw->tag = $t; + $zw->gewicht = $gewicht; + $zw->updateamum = date('Y-m-d H:i:s'); + $zw->updatevon = $uid; + $zw->zeitwunsch_gueltigkeit_id = $zw_zwg_id; + + if (!$zw->exists($uid, $zw_zwg_id, $stunde, $t)) + { + $zw->new = true; + $zw->insertamum = date('Y-m-d H:i:s'); + $zw->insertvon = $uid; + } + else + { + $zw->new = false; + } + + if(!$zw->save()) + echo $zw->errormsg; + } + } + } +} + +/** + * Zeitwunschgueltigkeit fuer Tabelle holen. + * Der Zeitwunsch wird anhand der Zeitwunschgueltigkeit (ZWG) des gewaehlten Studiensemesters ermittelt. + * Das Studiensemester wird, je nach Vorhandensein, in dieser Reihenfolge herangezogen: + * 1. Wenn in Dropdown ausgewaehlt: Vergangenes Studiensemester (zum Kopieren von Zeitwunsch) + * 2. Wenn in Dropdown ausgewaehlt: Aktuelles Studiensemester + * 3: Default: Nächstes Studiensemesters + */ +$zwg = new zeitwunsch_gueltigkeit(); +$tmp_ss = is_null($selected_past_ss) ? $selected_ss : $selected_past_ss; +$zwg->getByStudiensemester($uid, $tmp_ss); +$zwg_id = !empty($zwg->result[0]) ? $zwg->result[0]->zeitwunsch_gueltigkeit_id : null; //null, wenn noch kein ZW + +/** + * Zeitwunsch fuer Tabelle holen + * Wenn noch kein Zeitwunsch vorhanden, bleibt die Zeitwunsch Instanz leer + * */ +$zw = new zeitwunsch(); +if (!$zw->loadByZWG($uid, $zwg_id)) +{ + die($zw->errormsg); +} +$wunsch = $zw->zeitwunsch; + /** * Init ZWG Objekt zum Erstellen einer neuen ZWG */ diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 192755a23..eb9da9605 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5519,7 +5519,7 @@ if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_zeitwunsch_gueltigkeit LI bis DATE, insertamum TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW(), insertvon CHARACTER VARYING(32), - updateamum TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW(), + updateamum TIMESTAMP WITHOUT TIME ZONE, updatevon CHARACTER VARYING(32) ); From bd71650ac5b4b5821228d139ae11e40eed81478e Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 24 Nov 2021 16:26:22 +0100 Subject: [PATCH 073/475] Colored Legende for Zeitwunsch-Tabelle --- cis/private/profile/zeitwunsch.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 5da272e9f..8f65bfbcb 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -627,13 +627,13 @@ function updateZWG($uid, $zwg_id, $bis) - +
2
  t('zeitwunsch/hierMoechteIchUnterrichten');?> - +
1
  t('zeitwunsch/hierKannIchUnterrichten');?> @@ -645,13 +645,13 @@ function updateZWG($uid, $zwg_id, $bis) keine Bedeutung --> - +
-1
  t('zeitwunsch/nurInNotfaellen');?> - +
-2
  t('zeitwunsch/hierAufGarKeinenFall');?> From 6db2748163859b93c032ca003b3953e6ec2e28ad Mon Sep 17 00:00:00 2001 From: Cris Date: Wed, 24 Nov 2021 17:47:01 +0100 Subject: [PATCH 074/475] Added Zeitwunsch Edit lock of if LV had already been assigned - Message is shown and form buttons for changing / copying Zeitwunsch are disabled if LV had already been assigned to lector. - Lector can unlock by clicking on link. --- cis/private/profile/zeitwunsch.php | 81 ++++++++++++++++++++++++++---- 1 file changed, 72 insertions(+), 9 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 8f65bfbcb..c4def2671 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -35,6 +35,7 @@ require_once('../../../include/studiensemester.class.php'); require_once('../../../include/zeitaufzeichnung_gd.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); +require_once('../../../include/lehrveranstaltung.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/sprache.class.php'); @@ -80,6 +81,9 @@ if(!$person->load($uid)) $ma = new mitarbeiter($uid); $fixangestellt = $ma->fixangestellt; +// Check, ob Lektor bereits zugewiesene LVs hat +$isAssignedToLv = checkIsAssigendToLV($uid, $selected_ss); // boolean + // Erklärung zu Pausen bei geteilten Arbeitszeiten speichern if (isset($_GET['selbstverwaltete-pause-akt']) && !empty($_GET['submit-akt'])) { @@ -261,6 +265,10 @@ if (isset($_GET['type']) && $_GET['type'] == 'save') } } } + + // Wenn speichern möglich ist, dann hat der Lektor entweder keine LVs zugeteilt oder hat aktiv die Bearbeitungssperre + // deaktiviert. Bearbeitungssperre wird gesetzt, wenn isAssignedToLv true ist. Deshalb hier mit false überschreiben. + $isAssignedToLv = false; } /** @@ -328,6 +336,23 @@ function updateZWG($uid, $zwg_id, $bis) return; } +/** + * Check, ob Lektor bereits zugewiesene LVs hat + * @param $uid + * @param $studiensemester_kurzbz + * @return bool|void + */ +function checkIsAssigendToLV($uid, $studiensemester_kurzbz) +{ + $lv = new Lehrveranstaltung(); + if (!$lv->getLVByMitarbeiter($uid, $studiensemester_kurzbz)) + { + die($lv->errormsg); + } + + return empty($lv->lehrveranstaltungen) ? false : true; +} + ?> @@ -365,6 +390,22 @@ function updateZWG($uid, $zwg_id, $bis) } $(function() { + // Bearbeitung deaktivieren, wenn Lektor zugewiesene LV im Studiensemester hat + const isAssignedToLv = $('input[name=isAssigendToLv]').val(); + if (isAssignedToLv == 'true') + { + $('input[name=radioZWG]').attr("disabled", true); + $('input[name=submit]').attr("disabled", true); + } + + // Bearbeitung aktivieren, wenn Lektor Aktivierungslink klickt + $('#bearbeitung-aktivieren').click(function(){ + $('input[name=radioZWG]').attr("disabled", false); + $('input[name=submit]').attr("disabled", false); + + $('#divChangeZWG').removeClass('hidden'); + $('#divIsAssignedToLv').addClass('hidden'); + }); // Bei Wechsel von Studiensemester die Seite mit GET params neu laden $('#stsem').change(function(){ @@ -488,6 +529,7 @@ function updateZWG($uid, $zwg_id, $bis) // FORM Begin echo '
'; echo ''; + echo ''; // Mein Zeitwunsch-Semesterplan Dropdown, Default = naechstes Studiensemester $next_ss_selected = $next_ss->studiensemester_kurzbz == $selected_ss ? 'selected' : ''; @@ -537,7 +579,8 @@ function updateZWG($uid, $zwg_id, $bis) echo '
'; echo '
'; echo 'Sie können Ihren Zeitwunsch direkt in der Tabelle bearbeiten oder einen Zeitwunsch eines vergangenen Studiensemester kopieren.
- Solange Sie keine Änderungen vornehmen, wird Ihr Zeitwunsch immer ins nächste Studiensemester übernommen.


'; + Solange Sie keine Änderungen vornehmen, wird Ihr Zeitwunsch immer ins nächste Studiensemester übernommen.
'; + echo '
'; // Radiobuttons aendern / kopieren $radioChangeChecked = is_null($selected_past_ss) ? 'checked' : ''; @@ -549,8 +592,12 @@ function updateZWG($uid, $zwg_id, $bis) echo ' ändern'; echo ''; echo ''; + if ($isAssignedToLv) + { + echo 'LV bereits zugeteilt'; + } echo '
'; echo '
'; // end col-xs-12 @@ -558,10 +605,11 @@ function updateZWG($uid, $zwg_id, $bis) echo '
'; - $divChangeHidden = !is_null($selected_past_ss) ? 'hidden' : ''; - $divCopyHidden = is_null($selected_past_ss) ? 'hidden' : ''; + $divChangeHidden = !is_null($selected_past_ss) || $isAssignedToLv ? 'hidden' : ''; + $divCopyHidden = is_null($selected_past_ss) || $isAssignedToLv ? 'hidden' : ''; + $divIsAssignedToLVHidden = $isAssignedToLv ? '' : 'hidden'; - echo '
'; + echo '
'; echo '
'; echo '' . $p->t('zeitwunsch/tragenSieInDiesesNormwochenraster') .' Klicken Sie danach auf \'Speichern\''; echo '
'; // end col @@ -571,10 +619,10 @@ function updateZWG($uid, $zwg_id, $bis) echo '
'; // end divChangeZWG echo '
'; - echo '
'; - echo 'Wählen Sie das gewünschte Studiensemester aus dem rechten Dropdown aus. + echo '
'; + echo 'Wählen Sie rechts das gewünschte Studiensemester aus. Der Zeitwunsch wird dann automatisch in die Tabelle übernommen.
- Nehmen Sie gegebenenfalls Änderungen vor und klicken Sie dann auf \'Speichern\'.
'; + Nehmen Sie gegebenenfalls Änderungen vor und klicken danach auf \'Speichern\'.'; echo '
'; // end col $studiensemester = new Studiensemester(); @@ -584,7 +632,7 @@ function updateZWG($uid, $zwg_id, $bis) $zwg = new Zeitwunsch_gueltigkeit(); $zwg->getByUID($uid, 4, true, $studiensemester->ende); $past_zwg_arr = $zwg->result; - echo '
'; + echo '
'; echo ''; From aa183a0a0812acd9ab844d7859199b105a0308b8 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 25 Nov 2021 10:56:50 +0100 Subject: [PATCH 075/475] Added 'Alle Werte auf 1 setzen' and 'Aenderungen zuruecknehmen' --- cis/private/profile/zeitwunsch.php | 31 +++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index c4def2671..9bd56bad9 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -435,6 +435,21 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) window.location = '?stsem='+ stsem + '&pastStsem=' + pastStsem; }); + + // Alle Werte ind Zeitwunschtabelle auf 1 setzen + $('#empty-table').click(function(){ + $('#table-zeitwunsch tr td input').each(function() { + $(this) + .val(1) + .parent().css('background-color', '#CCFFCC'); + }); + }) + + // Aenderungen in Zeitwunschtabelle zurücknehmen -> Seite neu laden + $('#reload-table').click(function(){ + let studiensemester = $('option:selected', '#stsem').val(); + window.location = '?stsem=' + studiensemester; + }) }); @@ -543,7 +558,7 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) echo '
'; // Tabelle Zeitwunsch-Semesterplan - echo ''; + echo '
'; // Tabelle Kopfzeile echo ''; echo ''; @@ -581,7 +596,12 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) echo 'Sie können Ihren Zeitwunsch direkt in der Tabelle bearbeiten oder einen Zeitwunsch eines vergangenen Studiensemester kopieren.
Solange Sie keine Änderungen vornehmen, wird Ihr Zeitwunsch immer ins nächste Studiensemester übernommen.

'; echo '
'; + echo ''; // end col-xs-12 + echo ''; // end row + echo '
'; + + echo '
'; // Radiobuttons aendern / kopieren $radioChangeChecked = is_null($selected_past_ss) ? 'checked' : ''; $radioCopyChecked = !is_null($selected_past_ss) ? 'checked' : ''; @@ -599,11 +619,12 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) echo 'LV bereits zugeteilt'; } echo '
'; + echo '
'; // end col-xs-9 - echo ''; // end col-xs-12 - echo ''; // end row - - echo '
'; + echo '
'; + echo 'Alle Werte auf 1 setzen
'; + echo 'Änderungen zurücknehmen

'; + echo '
'; // end col-xs-3 $divChangeHidden = !is_null($selected_past_ss) || $isAssignedToLv ? 'hidden' : ''; $divCopyHidden = is_null($selected_past_ss) || $isAssignedToLv ? 'hidden' : ''; From 2e9bfc049b51582d9015942b8ddc2f46e4c6895c Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 25 Nov 2021 14:33:23 +0100 Subject: [PATCH 076/475] Corrected: Now retrieving correct data for 'isVerplant' . Correction in function isVerplant() . Also changed var name to isVerplant --- cis/private/profile/zeitwunsch.php | 37 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 9bd56bad9..84807927c 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -36,6 +36,7 @@ require_once('../../../include/zeitaufzeichnung_gd.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/lehrstunde.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/sprache.class.php'); @@ -82,7 +83,7 @@ $ma = new mitarbeiter($uid); $fixangestellt = $ma->fixangestellt; // Check, ob Lektor bereits zugewiesene LVs hat -$isAssignedToLv = checkIsAssigendToLV($uid, $selected_ss); // boolean +$isVerplant = checkIsVerplant($uid, $selected_ss); // boolean // Erklärung zu Pausen bei geteilten Arbeitszeiten speichern if (isset($_GET['selbstverwaltete-pause-akt']) && !empty($_GET['submit-akt'])) @@ -267,8 +268,8 @@ if (isset($_GET['type']) && $_GET['type'] == 'save') } // Wenn speichern möglich ist, dann hat der Lektor entweder keine LVs zugeteilt oder hat aktiv die Bearbeitungssperre - // deaktiviert. Bearbeitungssperre wird gesetzt, wenn isAssignedToLv true ist. Deshalb hier mit false überschreiben. - $isAssignedToLv = false; + // deaktiviert. Bearbeitungssperre wird gesetzt, wenn isVerplant true ist. Deshalb hier mit false überschreiben. + $isVerplant = false; } /** @@ -342,15 +343,15 @@ function updateZWG($uid, $zwg_id, $bis) * @param $studiensemester_kurzbz * @return bool|void */ -function checkIsAssigendToLV($uid, $studiensemester_kurzbz) +function checkIsVerplant($uid, $studiensemester_kurzbz) { - $lv = new Lehrveranstaltung(); - if (!$lv->getLVByMitarbeiter($uid, $studiensemester_kurzbz)) + $lstd = new Lehrstunde(); + if (!$lstd->getStundenplanData('stundenplandev', null, $studiensemester_kurzbz, null, $uid)) { - die($lv->errormsg); + die($lstd->errormsg); } - return empty($lv->lehrveranstaltungen) ? false : true; + return empty($lstd->result) ? false : true; } @@ -391,8 +392,8 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) $(function() { // Bearbeitung deaktivieren, wenn Lektor zugewiesene LV im Studiensemester hat - const isAssignedToLv = $('input[name=isAssigendToLv]').val(); - if (isAssignedToLv == 'true') + const isVerplant = $('input[name=isVerplant]').val(); + if (isVerplant == 'true') { $('input[name=radioZWG]').attr("disabled", true); $('input[name=submit]').attr("disabled", true); @@ -404,7 +405,7 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) $('input[name=submit]').attr("disabled", false); $('#divChangeZWG').removeClass('hidden'); - $('#divIsAssignedToLv').addClass('hidden'); + $('#divIsVerplant').addClass('hidden'); }); // Bei Wechsel von Studiensemester die Seite mit GET params neu laden @@ -544,7 +545,7 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) // FORM Begin echo ''; echo ''; - echo ''; + echo ''; // Mein Zeitwunsch-Semesterplan Dropdown, Default = naechstes Studiensemester $next_ss_selected = $next_ss->studiensemester_kurzbz == $selected_ss ? 'selected' : ''; @@ -614,7 +615,7 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) echo ''; - if ($isAssignedToLv) + if ($isVerplant) { echo 'LV bereits zugeteilt'; } @@ -626,9 +627,9 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) echo 'Änderungen zurücknehmen

'; echo '
'; // end col-xs-3 - $divChangeHidden = !is_null($selected_past_ss) || $isAssignedToLv ? 'hidden' : ''; - $divCopyHidden = is_null($selected_past_ss) || $isAssignedToLv ? 'hidden' : ''; - $divIsAssignedToLVHidden = $isAssignedToLv ? '' : 'hidden'; + $divChangeHidden = !is_null($selected_past_ss) || $isVerplant ? 'hidden' : ''; + $divCopyHidden = is_null($selected_past_ss) || $isVerplant ? 'hidden' : ''; + $divIsVerplantHidden = $isVerplant ? '' : 'hidden'; echo '
'; echo '
'; @@ -665,7 +666,7 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) echo '
'; // end col echo '
'; // end divCopyZWG - echo '
'; + echo '
'; echo '
'; echo '
'; echo '
'; @@ -678,7 +679,7 @@ function checkIsAssigendToLV($uid, $studiensemester_kurzbz) echo '
'; // end panel heading echo '
'; // end panel echo '
'; // end col - echo '
'; // end divIsAssignedToLV + echo '
'; // end divIsVerplant // Speichern - Button echo '
'; From ef675226e4bedd9f280a9c673bf42fcd1b4d7f7b Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 25 Nov 2021 14:36:03 +0100 Subject: [PATCH 077/475] Corrected: Now Lehrstunde Class has property 'result' . Errormessages were thrown without result property. Fixed now. . Also added errormsg, when getStundenplanData query fails. --- include/lehrstunde.class.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index 71dbf3319..84cd615ed 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -34,6 +34,8 @@ require_once(dirname(__FILE__).'/variable.class.php'); class lehrstunde extends basis_db { + public $result = array(); + public $stundenplan_id; /// @brief ID in der Datenbank public $lehreinheit_id; /// @brief id der Lehreinheit in der DB public $unr; // @brief Unterrichtsnummer @@ -1136,7 +1138,10 @@ class lehrstunde extends basis_db return true; } else + { + $this->errormsg = 'Fehler beim Einholen der Stundenplandaten'; return false; + } } } From 6800c42b907911e6122de86db07f77407dd6fdf1 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Fri, 26 Nov 2021 14:52:39 +0100 Subject: [PATCH 078/475] nachname statt der uid anzeigen --- application/views/system/infocenter/infocenterData.php | 8 ++++++-- .../views/system/infocenter/infocenterFreigegebenData.php | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index c49a1c6cc..83269ccf4 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -55,8 +55,10 @@ a.dokument_kurzbz in ('.$AKTE_TYP.') ) AS "AnzahlAkte", ( - SELECT l.insertvon + SELECT CASE WHEN sp.nachname IS NULL THEN l.insertvon ELSE sp.nachname END FROM system.tbl_log l + LEFT JOIN public.tbl_benutzer on l.insertvon = tbl_benutzer.uid + LEFT JOIN public.tbl_person sp on tbl_benutzer.person_id = sp.person_id WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id @@ -271,8 +273,10 @@ LEFT JOIN ( SELECT tpl.person_id, tpl.zeitpunkt, - tpl.uid AS lockuser + sp.nachname AS lockuser FROM system.tbl_person_lock tpl + JOIN public.tbl_benutzer sb USING (uid) + JOIN public.tbl_person sp ON sb.person_id = sp.person_id WHERE tpl.app = '.$APP.' ) pl USING(person_id) LEFT JOIN ( diff --git a/application/views/system/infocenter/infocenterFreigegebenData.php b/application/views/system/infocenter/infocenterFreigegebenData.php index 9078c13db..317e3dbf9 100644 --- a/application/views/system/infocenter/infocenterFreigegebenData.php +++ b/application/views/system/infocenter/infocenterFreigegebenData.php @@ -41,8 +41,10 @@ $query = ' LIMIT 1 ) AS "LastActionType", ( - SELECT l.insertvon + SELECT CASE WHEN sp.nachname IS NULL THEN l.insertvon ELSE sp.nachname END FROM system.tbl_log l + LEFT JOIN public.tbl_benutzer on l.insertvon = tbl_benutzer.uid + LEFT JOIN public.tbl_person sp on tbl_benutzer.person_id = sp.person_id WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.') AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.') AND l.person_id = p.person_id @@ -248,8 +250,10 @@ $query = ' LEFT JOIN ( SELECT tpl.person_id, tpl.zeitpunkt, - tpl.uid AS lockuser + sp.nachname AS lockuser FROM system.tbl_person_lock tpl + JOIN public.tbl_benutzer sb USING (uid) + JOIN public.tbl_person sp ON sb.person_id = sp.person_id WHERE tpl.app = '.$APP.' ) pl USING(person_id) WHERE From ea0035613a1f8e0deefa62e26d9cff8877055236 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 29 Nov 2021 10:14:33 +0100 Subject: [PATCH 079/475] FAS: Neue MA anlegen: Check auf Sonderzeichen in Vor- und Nachnamen nach Umwandlung Problemchars --- vilesci/personen/import/mitarbeiterimport.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/vilesci/personen/import/mitarbeiterimport.php b/vilesci/personen/import/mitarbeiterimport.php index c616beb76..34c052020 100644 --- a/vilesci/personen/import/mitarbeiterimport.php +++ b/vilesci/personen/import/mitarbeiterimport.php @@ -674,6 +674,19 @@ if(isset($_POST['save'])) $vorname_clean = mb_strtolower(convertProblemChars($vorname)); $nachname_clean = str_replace(' ','_', $nachname_clean); $vorname_clean = str_replace(' ','_', $vorname_clean); + var_dump($vorname_clean); + var_dump($nachname_clean); + + if (!preg_match('/^[a-z0-9-]{3,32}$/i', $vorname_clean)) + { + $error = true; + $errormsg = 'Im Vornamen dürfen keine Sonderzeichen außer - enthalten sein!'; + } + if (!preg_match('/^[a-z0-9-]{4,32}$/i', $nachname_clean)) + { + $error = true; + $errormsg = 'Im Nachnamen dürfen keine Sonderzeichen außer - enthalten sein!'; + } $bn = new benutzer(); From eb923cab9bec572539d14cd0d3c6e89d34fa434c Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 29 Nov 2021 11:31:03 +0100 Subject: [PATCH 080/475] Changed: Now using textphrases --- cis/private/profile/zeitwunsch.php | 33 +++++++++++++----------------- locale/de-AT/global.php | 1 + locale/de-AT/lvplan.php | 1 + locale/de-AT/zeitwunsch.php | 18 +++++++++++++++- locale/en-US/global.php | 1 + locale/en-US/lvplan.php | 1 + locale/en-US/zeitwunsch.php | 18 +++++++++++++++- 7 files changed, 52 insertions(+), 21 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 84807927c..8f7bca8c4 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -551,7 +551,7 @@ function checkIsVerplant($uid, $studiensemester_kurzbz) $next_ss_selected = $next_ss->studiensemester_kurzbz == $selected_ss ? 'selected' : ''; $akt_ss_selected = $akt_ss->studiensemester_kurzbz == $selected_ss ? 'selected' : ''; - echo '

Mein Zeitwunsch gültig im: '; + echo '

'. $p->t('zeitwunsch/gueltigIm'); echo ' ändern'; + echo ' '. $p->t('zeitwunsch/kopieren'). ''; echo ''; echo ''; if ($isVerplant) { - echo 'LV bereits zugeteilt'; + echo ''.$p->t('zeitwunsch/stundenBereitsVerplant', array($selected_ss)). ''; } echo '

'; echo ''; // end col-xs-9 echo ''; // end col-xs-3 $divChangeHidden = !is_null($selected_past_ss) || $isVerplant ? 'hidden' : ''; @@ -633,7 +632,7 @@ function checkIsVerplant($uid, $studiensemester_kurzbz) echo '
'; echo '
'; - echo '' . $p->t('zeitwunsch/tragenSieInDiesesNormwochenraster') .' Klicken Sie danach auf \'Speichern\''; + echo '' . $p->t('zeitwunsch/tragenSieInDiesesNormwochenraster') .''; echo '
'; // end col echo '
'; // BLANK @@ -642,9 +641,7 @@ function checkIsVerplant($uid, $studiensemester_kurzbz) echo '
'; echo '
'; - echo 'Wählen Sie rechts das gewünschte Studiensemester aus. - Der Zeitwunsch wird dann automatisch in die Tabelle übernommen.
- Nehmen Sie gegebenenfalls Änderungen vor und klicken danach auf \'Speichern\'.
'; + echo '' . $p->t('zeitwunsch/kopierenText') .''; echo '
'; // end col $studiensemester = new Studiensemester(); @@ -670,12 +667,10 @@ function checkIsVerplant($uid, $studiensemester_kurzbz) echo '
'; echo '
'; echo '
'; - echo 'Bearbeitung deaktiviert: '; - echo 'Ihnen wurden im '. $selected_ss. ' bereits Lehrveranstaltung(en) zugeteilt.
- Bitte stimmen Sie sich vor einer Änderung mit der '. $p->t('lvplan/lvKoordinationsstelle'). ' ab.
- Möchten Sie mit der Bearbeitung fortsetzen? Hier Bearbeitung aktivieren + echo ''. $p->t("zeitwunsch/bearbeitungDeaktiviert"). ': '; + echo ''. $p->t("zeitwunsch/bearbeitungDeaktiviertText", array($selected_ss, MAIL_LVPLAN, $p->t('lvplan/lvPlanung'))). ' + '. $p->t("zeitwunsch/bearbeitungAktivieren"). ' '; - echo '
'; // end panel heading echo '
'; // end panel echo '
'; // end col @@ -700,7 +695,7 @@ function checkIsVerplant($uid, $studiensemester_kurzbz)
  • t('zeitwunsch/sperrenSieNurTermine');?>
  • t('zeitwunsch/esSolltenFuerJedeStunde');?>

  • -

    t('lvplan/fehlerUndFeedback');?> t('lvplan/lvKoordinationsstelle');?>.


    +

    t('lvplan/fehlerUndFeedback');?> t('lvplan/lvPlanung');?>.



    diff --git a/locale/de-AT/global.php b/locale/de-AT/global.php index 586614ece..7104a83a5 100644 --- a/locale/de-AT/global.php +++ b/locale/de-AT/global.php @@ -66,6 +66,7 @@ $this->phrasen['global/pdfExport']='PDF Export'; $this->phrasen['global/und']='und'; $this->phrasen['global/oder']='oder'; $this->phrasen['global/faelligAm']='Fällig am'; +$this->phrasen['global/aenderungenZuruecksetzen']= "Änderungen zurücksetzen"; $this->phrasen['global/username']='Username'; $this->phrasen['global/vorname']='Vorname'; diff --git a/locale/de-AT/lvplan.php b/locale/de-AT/lvplan.php index f0e802896..59fd5169a 100644 --- a/locale/de-AT/lvplan.php +++ b/locale/de-AT/lvplan.php @@ -21,6 +21,7 @@ $this->phrasen['lvplan/lehrverbaende']='Lehrverbände'; $this->phrasen['lvplan/uebersichtDerLehrverbaende']='Übersicht der Lehrverbände'; $this->phrasen['lvplan/fehlerUndFeedback']='Feedback geben'; $this->phrasen['lvplan/lvKoordinationsstelle']='LV-Koordinationsstelle'; +$this->phrasen['lvplan/lvPlanung']='LV-Planung'; $this->phrasen['lvplan/reservierungen']='Reservierungen'; $this->phrasen['lvplan/reservierungWurdeGeloescht']='Reservierung wurde geloescht'; $this->phrasen['lvplan/alleReservierungen']='Alle Reservierungen'; diff --git a/locale/de-AT/zeitwunsch.php b/locale/de-AT/zeitwunsch.php index 31424f8f9..d56494104 100644 --- a/locale/de-AT/zeitwunsch.php +++ b/locale/de-AT/zeitwunsch.php @@ -3,7 +3,7 @@ $this->phrasen['zeitwunsch/falscheWerteEingetragen']='Es duerfen nur die Werte - $this->phrasen['zeitwunsch/zeitwunsch']='Zeitwunsch'; $this->phrasen['zeitwunsch/help']='HELP'; $this->phrasen['zeitwunsch/zeitwunschVon']='Zeitwünsche von'; -$this->phrasen['zeitwunsch/tragenSieInDiesesNormwochenraster']='Tragen Sie in dieses Normwochenraster Ihre Verfügbarkeit in einer durchschnittlichen Arbeitswoche ein.'; +$this->phrasen['zeitwunsch/tragenSieInDiesesNormwochenraster']="Tragen Sie in dieses Normwochenraster Ihre Verfügbarkeit in einer durchschnittlichen Arbeitswoche ein. Klicken Sie danach auf 'Speichern'"; $this->phrasen['zeitwunsch/letzteAenderung']='Letzte Änderung'; $this->phrasen['zeitwunsch/von']='von'; $this->phrasen['zeitwunsch/formularZumEintragenDerZeitsperren']='Das Formular zum Eintragen der Zeitsperren finden Sie %s hier'; @@ -24,4 +24,20 @@ $this->phrasen['zeitwunsch/erklaerung']='Erklärung'; $this->phrasen['zeitwunsch/beiProblemenWendenSieSichAn']='Bei Problemen wenden Sie sich bitte an die'; $this->phrasen['zeitwunsch/profil']='Profil'; $this->phrasen['zeitwunsch/geteilteArbeitszeit']='Ich bin mit der Verplanung meiner Lehre in getrennten Blöcken am Tagesrand einverstanden.'; +$this->phrasen['zeitwunsch/gueltigIm']="Mein Zeitwunsch gültig im: "; +$this->phrasen['zeitwunsch/erklaerungstext']="Sie können Ihren Zeitwunsch direkt in der Tabelle bearbeiten oder einen Zeitwunsch eines vergangenen Studiensemester kopieren.
    + Solange Sie keine Änderungen vornehmen, wird Ihr Zeitwunsch immer ins nächste Studiensemester übernommen."; +$this->phrasen['zeitwunsch/werteAuf1setzen']="Alle Werte auf 1 setzen"; +$this->phrasen['zeitwunsch/kopierenText']="Wählen Sie rechts das gewünschte Studiensemester aus. + Der Zeitwunsch wird dann automatisch in die Tabelle übernommen.
    + Nehmen Sie gegebenenfalls Änderungen vor und klicken danach auf 'Speichern'."; +$this->phrasen['zeitwunsch/kopieren']= "ändern"; +$this->phrasen['zeitwunsch/aendern']= "kopieren von früherem Studiensemester "; +$this->phrasen['zeitwunsch/stundenBereitsVerplant']='Stunden für %s bereits verplant'; +$this->phrasen['zeitwunsch/fuer']='Zeitwunsch für %s  '; +$this->phrasen['zeitwunsch/bearbeitungDeaktiviert']='Bearbeitung deaktiviert'; +$this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='Ihnen wurden im %s bereits Lehrveranstaltung(en) zugeteilt.
    + Bitte stimmen Sie sich vor einer Änderung mit der %s ab.
    + Möchten Sie mit der Bearbeitung fortsetzen?'; +$this->phrasen['zeitwunsch/bearbeitungAktivieren']='Bearbeitung aktivieren'; ?> diff --git a/locale/en-US/global.php b/locale/en-US/global.php index 5fa89acbb..97f5cfe26 100644 --- a/locale/en-US/global.php +++ b/locale/en-US/global.php @@ -65,6 +65,7 @@ $this->phrasen['global/drucken']='Print'; $this->phrasen['global/und']='and'; $this->phrasen['global/oder']='or'; $this->phrasen['global/faelligAm']='Due on'; +$this->phrasen['global/aenderungenZuruecksetzen']= "Reset changes"; $this->phrasen['global/username']='Username'; $this->phrasen['global/vorname']='First Name'; diff --git a/locale/en-US/lvplan.php b/locale/en-US/lvplan.php index bd2b4b1eb..1a8c865bf 100644 --- a/locale/en-US/lvplan.php +++ b/locale/en-US/lvplan.php @@ -21,6 +21,7 @@ $this->phrasen['lvplan/lehrverbaende']='Teaching Groups'; $this->phrasen['lvplan/uebersichtDerLehrverbaende']='Overview of Teaching Groups'; $this->phrasen['lvplan/fehlerUndFeedback']='Send Feedback'; $this->phrasen['lvplan/lvKoordinationsstelle']='Course-Coordination Office'; +$this->phrasen['lvplan/lvPlanung']='Course-Planning Office'; $this->phrasen['lvplan/reservierungen']='Reservations'; $this->phrasen['lvplan/reservierungWurdeGeloescht'] = 'Reservation successfully deleted'; $this->phrasen['lvplan/alleReservierungen']='All reservations'; diff --git a/locale/en-US/zeitwunsch.php b/locale/en-US/zeitwunsch.php index 1a4a93378..7d89d65f2 100644 --- a/locale/en-US/zeitwunsch.php +++ b/locale/en-US/zeitwunsch.php @@ -3,7 +3,7 @@ $this->phrasen['zeitwunsch/falscheWerteEingetragen']='Invalid input. Only the va $this->phrasen['zeitwunsch/zeitwunsch']='Preferred teaching time'; $this->phrasen['zeitwunsch/help']='HELP'; $this->phrasen['zeitwunsch/zeitwunschVon']='Preferred teaching times for'; -$this->phrasen['zeitwunsch/tragenSieInDiesesNormwochenraster']='Enter your availability for an average week in this standard week grid.'; +$this->phrasen['zeitwunsch/tragenSieInDiesesNormwochenraster']='Enter your availability for an average week in this standard week grid and click "Save"'; $this->phrasen['zeitwunsch/letzteAenderung']='Last Update'; $this->phrasen['zeitwunsch/von']='from'; $this->phrasen['zeitwunsch/formularZumEintragenDerZeitsperren']='The form for entering times when you are unavailable to teach can be found %s here'; @@ -24,4 +24,20 @@ $this->phrasen['zeitwunsch/erklaerung']='Explanation'; $this->phrasen['zeitwunsch/beiProblemenWendenSieSichAn']='If you are having problems, please contact the '; $this->phrasen['zeitwunsch/profil']='Profile'; $this->phrasen['zeitwunsch/geteilteArbeitszeit']='Ich bin mit der Verplanung meiner Lehre in getrennten Blöcken am Tagesrand einverstanden.'; +$this->phrasen['zeitwunsch/gueltigIm']="My preferred times valid in: "; +$this->phrasen['zeitwunsch/erklaerungstext']="You can edit your preferred times directly in the table or copy a your preferred times from a previous semester.
    + As long as you do not make any changes, your preferred times will be carried over to the next study semester."; +$this->phrasen['zeitwunsch/werteAuf1setzen']="Set all values to 1"; +$this->phrasen['zeitwunsch/kopierenText']="Select the desired semester on the right. + Your preferred time of that semester is then automatically transferred to the table.
    + Make changes if necessary and then click on 'Save'."; +$this->phrasen['zeitwunsch/kopieren']= "change"; +$this->phrasen['zeitwunsch/aendern']= "copy from a previous semester"; +$this->phrasen['zeitwunsch/stundenBereitsVerplant']='Hours already scheduled for %s'; +$this->phrasen['zeitwunsch/fuer']='Preferred time for %s  '; +$this->phrasen['zeitwunsch/bearbeitungDeaktiviert']='Editing disabled'; +$this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='You have already been assigned to course(s) in %s.
    + Please agree with %s before making a change.
    + Do you want to proceed editing?'; +$this->phrasen['zeitwunsch/bearbeitungAktivieren']='Enable editing'; ?> From 70c9489ef36ed37e393f65608ee0c649bb562889 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 29 Nov 2021 17:38:16 +0100 Subject: [PATCH 081/475] Corrected to retrieve latest Zeitwunschgueltigkeit correctly in getByUID function ...by changing query order --- include/zeitwunsch_gueltigkeit.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/zeitwunsch_gueltigkeit.class.php b/include/zeitwunsch_gueltigkeit.class.php index 20d1d367d..4477551b1 100644 --- a/include/zeitwunsch_gueltigkeit.class.php +++ b/include/zeitwunsch_gueltigkeit.class.php @@ -156,7 +156,7 @@ class zeitwunsch_gueltigkeit extends basis_db // Nach Gueltigkeits-Startdatum sortieren, zuerst die zuletzt gueltigen $qry.= ' - ORDER BY zeitwunsch_gueltigkeit_id DESC, start DESC + ORDER BY start DESC '; // Wenn nur aktive Zeitwunschgueltigkeiten angezeigt werden sollen From 93d9108db784c92b761684dfef1df74f2b34cc31 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 29 Nov 2021 17:51:08 +0100 Subject: [PATCH 082/475] Added functionality to select Zeitwunschgueltigkeiten in VILESCI . added Dropdown with all Zeitwunschgueltigkeiten . adpated Table to display selected Zeitwunschgueltigkeit --- vilesci/personen/zeitwunsch.php | 55 ++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/vilesci/personen/zeitwunsch.php b/vilesci/personen/zeitwunsch.php index 416c6387d..81d1c0c22 100644 --- a/vilesci/personen/zeitwunsch.php +++ b/vilesci/personen/zeitwunsch.php @@ -32,6 +32,8 @@ require_once('../../include/functions.inc.php'); require_once('../../include/globals.inc.php'); require_once('../../include/datum.class.php'); require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/zeitwunsch.class.php'); +require_once('../../include/zeitwunsch_gueltigkeit.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -48,6 +50,20 @@ if (!isset($uid)) { die( "uid nicht gesetzt"); } + +// Zeitwunschgueltigkeit ID ueber Dropdown ausgewaehlt +if (isset($_GET['zwg_id']) && is_string($_GET['zwg_id'])) +{ + $zwg_id = $_GET['zwg_id']; +} +else +{ + // Default: Letzte Zeitwunschgueltigkeit (ZWG) holen + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->getByUID($uid, 1); + $zwg_id = !empty($zwg->result) ? $zwg->result[0]->zeitwunsch_gueltigkeit_id : null; // NULL, wenn Lektor noch gar keinen ZW hinterlegt hat +} + $uid_benutzer = get_uid(); $rechte = new benutzerberechtigung(); @@ -97,7 +113,12 @@ $updatevon = 0; } } - if(!($erg=$db->db_query("SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=".$db->db_add_param($uid)))) + if(!($erg=$db->db_query(" + SELECT * + FROM campus.tbl_zeitwunsch + WHERE mitarbeiter_uid = ". $db->db_add_param($uid). " + AND zeitwunsch_gueltigkeit_id = ". $db->db_add_param(($zwg_id)) + ))) die($db->db_last_error()); $num_rows=$db->db_num_rows($erg); for ($i=0;$i<$num_rows;$i++) @@ -135,10 +156,42 @@ $updatevon = 0; Profil + +

    Zeitwünsche von titelpre.' '.$person->vornamen.' '.$person->nachname. ' '.$person->titelpost; ?>

    +Zeitwunschgueltigkeit: +getByUID($uid, null, false); +$zwg_arr = $zwg->result; + +echo ''; +?> +

    '.$p->t('global/stunde').'
    '.$p->t('global/beginn').'
    '.$p->t('global/ende').'
    From 76ca1706787ddfcc68cac0b18df3751be96c6008 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 29 Nov 2021 19:08:56 +0100 Subject: [PATCH 083/475] Changed: when splitting Zeitwunschgueltigkeit, set ende of last ZWG to 'yesterday' Before it was set to now(). But new ZWG starts with now, therefore last ZWG should end with day before. --- cis/private/profile/zeitwunsch.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 8f7bca8c4..c8dea109a 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -219,9 +219,9 @@ if (isset($_GET['type']) && $_GET['type'] == 'save') // -> sonst ist bis null $zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), $akt_ss_zwg->bis); - // Fuer bisher letzte ZWG das Endedatum auf heute setzen: bis = now() + // Fuer bisher letzte ZWG das Endedatum auf gestern setzen: bis = gestern // NOTE: MUSS nach dem insert sein - updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, (new DateTime())->format('Y-m-d H:i:s')); + updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, (new DateTime('yesterday'))->format('Y-m-d H:i:s')); } } } From 5fa605a75ff6804cb9e2a59ee48074feba51eb2d Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Tue, 30 Nov 2021 04:19:43 +0100 Subject: [PATCH 084/475] bpk overview filter: added mitarbeiter column to default filter --- system/filtersupdate.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/system/filtersupdate.php b/system/filtersupdate.php index 78e2bb227..0d3e85c7e 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -347,7 +347,8 @@ $filters = array( {"name": "vorname"}, {"name": "nachname"}, {"name": "svnr"}, - {"name": "ersatzkennzeichen"} + {"name": "ersatzkennzeichen"}, + {"name": "mitarbeiter"} ], "filters": [] } From be4beaff95703b819bbe53b83c9a0467b88da86a Mon Sep 17 00:00:00 2001 From: Monika70 <46781283+Monika70@users.noreply.github.com> Date: Tue, 30 Nov 2021 13:37:50 +0100 Subject: [PATCH 085/475] Update dbupdate_3.3.php Erweiterung der Studiengangstypen --- system/dbupdate_3.3.php | 64 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 4 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 94f37d4aa..90147a4bc 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1735,7 +1735,7 @@ if ($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants if(!$db->db_query($qry)) echo 'system.tbl_person_lock Berechtigungen: '.$db->db_last_error().'
    '; else - echo 'UPDATE Recht fuer system.tbl_person_lock fuer vilesci user gesetzt '; + echo '
    UPDATE Recht fuer system.tbl_person_lock fuer vilesci user gesetzt
    '; } } @@ -1750,7 +1750,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants if(!$db->db_query($qry)) echo 'bis.tbl_mobilitaet Berechtigungen: '.$db->db_last_error().'
    '; else - echo 'SELECT Recht fuer bis.tbl_mobilitaet fuer web user gesetzt '; + echo '
    SELECT Recht fuer bis.tbl_mobilitaet fuer web user gesetzt
    '; } } @@ -4193,10 +4193,66 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM public.tbl_st if(!$db->db_query($qry)) echo 'Setzen der bezeichnung_mehrsprachig fehlgeschlagen: '.$db->db_last_error().'
    '; else - echo 'bis.tbl_studiengangstyp: bezeichnung_mehrprachig automatisch aus existierender Bezeichnung uebernommen
    '; + echo '
    bis.tbl_studiengangstyp: bezeichnung_mehrprachig automatisch aus existierender Bezeichnung uebernommen
    '; } } +// Add type "p" to Studiengangstyp + if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'p';")) + { + if ($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('p', 'PhD',NULL,'{PhD,PhD}');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; + else + echo '
    public.tbl_studiengangstyp: Added type "p"
    '; + } + } + +// Add type "l" to Studiengangstyp + if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'l';")) + { + if ($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('l', 'Lehrgang',NULL,'{Lehrgang,Course}');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; + else + echo '
    public.tbl_studiengangstyp: Added type "l"
    '; + } + } + +// Add type "d" to Studiengangstyp + if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'd';")) + { + if ($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('d', 'Diplom',NULL,'{Diplom,Diploma}');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; + else + echo '
    public.tbl_studiengangstyp: Added type "d"
    '; + } + } + +// Add type "w" to Studiengangstyp + if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'w';")) + { + if ($db->db_num_rows($result) == 0) + { + $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('w', 'Weiterbildung',NULL,'{Weiterbildung,Further education}');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; + else + echo '
    public.tbl_studiengangstyp: Added type "w"
    '; + } + } + /** * Anpassungen fuer BIS Personalmeldung 6.8 */ @@ -5930,4 +5986,4 @@ if (!$result=@$db->db_query($sql_query)) } if($error==false) echo '
    Gegenpruefung fehlerfrei'; -?> +?> \ No newline at end of file From 5c84196f965c636aa922f06a083da35303ad9228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 1 Dec 2021 14:28:17 +0100 Subject: [PATCH 086/475] Fixed Code Intentation --- system/dbupdate_3.3.php | 86 ++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 90147a4bc..1d4e990b0 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -4198,60 +4198,60 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM public.tbl_st } // Add type "p" to Studiengangstyp - if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'p';")) +if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'p';")) +{ + if ($db->db_num_rows($result) == 0) { - if ($db->db_num_rows($result) == 0) - { - $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('p', 'PhD',NULL,'{PhD,PhD}');"; - - if (!$db->db_query($qry)) - echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; - else - echo '
    public.tbl_studiengangstyp: Added type "p"
    '; - } + $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('p', 'PhD',NULL,'{PhD,PhD}');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; + else + echo '
    public.tbl_studiengangstyp: Added type "p"
    '; } - +} + // Add type "l" to Studiengangstyp - if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'l';")) +if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'l';")) +{ + if ($db->db_num_rows($result) == 0) { - if ($db->db_num_rows($result) == 0) - { - $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('l', 'Lehrgang',NULL,'{Lehrgang,Course}');"; - - if (!$db->db_query($qry)) - echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; - else - echo '
    public.tbl_studiengangstyp: Added type "l"
    '; - } + $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('l', 'Lehrgang',NULL,'{Lehrgang,Course}');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; + else + echo '
    public.tbl_studiengangstyp: Added type "l"
    '; } - +} + // Add type "d" to Studiengangstyp - if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'd';")) +if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'd';")) +{ + if ($db->db_num_rows($result) == 0) { - if ($db->db_num_rows($result) == 0) - { - $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('d', 'Diplom',NULL,'{Diplom,Diploma}');"; - - if (!$db->db_query($qry)) - echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; - else - echo '
    public.tbl_studiengangstyp: Added type "d"
    '; - } + $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('d', 'Diplom',NULL,'{Diplom,Diploma}');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; + else + echo '
    public.tbl_studiengangstyp: Added type "d"
    '; } +} // Add type "w" to Studiengangstyp - if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'w';")) +if ($result = @$db->db_query("SELECT 1 FROM public.tbl_studiengangstyp WHERE typ = 'w';")) +{ + if ($db->db_num_rows($result) == 0) { - if ($db->db_num_rows($result) == 0) - { - $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('w', 'Weiterbildung',NULL,'{Weiterbildung,Further education}');"; - - if (!$db->db_query($qry)) - echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; - else - echo '
    public.tbl_studiengangstyp: Added type "w"
    '; - } + $qry = "INSERT INTO public.tbl_studiengangstyp(typ,bezeichnung,beschreibung,bezeichnung_mehrsprachig) VALUES('w', 'Weiterbildung',NULL,'{Weiterbildung,Further education}');"; + + if (!$db->db_query($qry)) + echo 'system.tbl_webservicetyp '.$db->db_last_error().'
    '; + else + echo '
    public.tbl_studiengangstyp: Added type "w"
    '; } +} /** * Anpassungen fuer BIS Personalmeldung 6.8 @@ -5986,4 +5986,4 @@ if (!$result=@$db->db_query($sql_query)) } if($error==false) echo '
    Gegenpruefung fehlerfrei'; -?> \ No newline at end of file +?> From 8d1886039a6556ac1eedd3e4aa8d89169ec59ad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 1 Dec 2021 15:00:02 +0100 Subject: [PATCH 087/475] =?UTF-8?q?Projektarbeiten=20DropDown=20angepasst?= =?UTF-8?q?=20damit=20nach=20dem=20Laden=20die=20selben=20LVEinttr=C3=A4ge?= =?UTF-8?q?=20angezeigt=20werden=20wie=20bei=20der=20Neuanlage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentprojektarbeit.js.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index c30f7ea1c..40af4107d 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -183,7 +183,7 @@ function StudentProjektarbeitTreeLoad(uid) tree.builder.addListener(StudentProjektarbeitTreeListener); StudentProjektarbeitDisableFields(false); - + // Wenn Vertragsdetails angezeigt werden if (projektarbeit_vertragsdetails_anzeigen) { //Reset attributes @@ -398,7 +398,7 @@ function StudentProjektarbeitAuswahl() //Lehrveranstaltung DropDown laden var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung'); - url='rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&projektarbeit=true&withlv="+lehrveranstaltung_id+"&"+gettimestamp(); + url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&withlv="+lehrveranstaltung_id+"&"+gettimestamp(); //Alte DS entfernen var oldDatasources = LvDropDown.database.GetDataSources(); From b4eb2d426a305f618f9978603a62e1bec6d48d86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 1 Dec 2021 17:00:28 +0100 Subject: [PATCH 088/475] Lehrauftragsverwaltung - Anzeige von Nachname und Vorname bei Betreuungen vertauscht --- .../views/lehre/lehrauftrag/approveLehrauftragData.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/views/lehre/lehrauftrag/approveLehrauftragData.php b/application/views/lehre/lehrauftrag/approveLehrauftragData.php index 4d8dc36d0..635fd9da9 100644 --- a/application/views/lehre/lehrauftrag/approveLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/approveLehrauftragData.php @@ -187,7 +187,7 @@ FROM (SELECT uid FROM - public.tbl_benutzer JOIN public.tbl_mitarbeiter ma + public.tbl_benutzer JOIN public.tbl_mitarbeiter ma ON tbl_benutzer.uid = ma.mitarbeiter_uid WHERE person_id = tmp_projektbetreuung.person_id @@ -268,7 +268,7 @@ FROM ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung) END AS "lv_oe_kurzbz", - (vorname || \' \' || nachname) AS "lektor", + (nachname || \' \' || vorname) AS "lektor", TRUNC(pb.stunden, 1) AS "stunden", TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag", vertrag_id, From b2d46af0d6f1693dc459eedc05c686b7476dc39e Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 1 Dec 2021 19:31:31 +0100 Subject: [PATCH 089/475] wording und datum angepasst --- application/controllers/system/infocenter/InfoCenter.php | 4 ++-- application/views/system/infocenter/infocenterAbgewiesen.php | 2 +- .../views/system/infocenter/infocenterAbgewiesenData.php | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 6ebc1c220..69da53963 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -1486,7 +1486,7 @@ class InfoCenter extends Auth_Controller 20 // sort ), 'abgewiesen' => $this->navigationlib->oneLevel( - 'Abgewiesene Studenten', // description + 'Abgewiesene', // description $abgewiesenLink, // link null, // children 'close', // icon @@ -1624,7 +1624,7 @@ class InfoCenter extends Auth_Controller $this->navigationlib->setSessionElementMenu( 'abgewiesen', $this->navigationlib->oneLevel( - 'Abgewiesene Studenten', // description + 'Abgewiesene', // description $abgewiesenLink, // link null, // children 'close', // icon diff --git a/application/views/system/infocenter/infocenterAbgewiesen.php b/application/views/system/infocenter/infocenterAbgewiesen.php index 22adacea8..8e946e573 100644 --- a/application/views/system/infocenter/infocenterAbgewiesen.php +++ b/application/views/system/infocenter/infocenterAbgewiesen.php @@ -35,7 +35,7 @@
    diff --git a/application/views/system/infocenter/infocenterAbgewiesenData.php b/application/views/system/infocenter/infocenterAbgewiesenData.php index a7560432f..3bf60a9ef 100644 --- a/application/views/system/infocenter/infocenterAbgewiesenData.php +++ b/application/views/system/infocenter/infocenterAbgewiesenData.php @@ -76,6 +76,7 @@ $query = ' $datasetRaw->{'Nachricht'} = 'Ja'; } + $datasetRaw->{'AbgewiesenAm'} = date_format(date_create($datasetRaw->{'AbgewiesenAm'}),'Y-m-d H:i'); return $datasetRaw; } ); From 410772b23011ebda0a768781e477f359aeb60dd9 Mon Sep 17 00:00:00 2001 From: ma0068 Date: Thu, 2 Dec 2021 07:19:51 +0100 Subject: [PATCH 090/475] =?UTF-8?q?Aliasgenerierung:=20Adaptierung=20Wordi?= =?UTF-8?q?ng=20Validierung=20und=20L=C3=B6schen=20Kommentar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/personen/import/mitarbeiterimport.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/vilesci/personen/import/mitarbeiterimport.php b/vilesci/personen/import/mitarbeiterimport.php index 34c052020..2a1e299ee 100644 --- a/vilesci/personen/import/mitarbeiterimport.php +++ b/vilesci/personen/import/mitarbeiterimport.php @@ -674,18 +674,16 @@ if(isset($_POST['save'])) $vorname_clean = mb_strtolower(convertProblemChars($vorname)); $nachname_clean = str_replace(' ','_', $nachname_clean); $vorname_clean = str_replace(' ','_', $vorname_clean); - var_dump($vorname_clean); - var_dump($nachname_clean); if (!preg_match('/^[a-z0-9-]{3,32}$/i', $vorname_clean)) { $error = true; - $errormsg = 'Im Vornamen dürfen keine Sonderzeichen außer - enthalten sein!'; + $errormsg = 'Im Vornamen dürfen keine Trennzeichen außer - enthalten sein!'; } if (!preg_match('/^[a-z0-9-]{4,32}$/i', $nachname_clean)) { $error = true; - $errormsg = 'Im Nachnamen dürfen keine Sonderzeichen außer - enthalten sein!'; + $errormsg = 'Im Nachnamen dürfen keine Trennzeichen außer - enthalten sein!'; } $bn = new benutzer(); From a4cb455e3ec1706b4b2fc7a536f5ba2282a883a7 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Dec 2021 09:35:20 +0100 Subject: [PATCH 091/475] Added creating/editing/viewing Zeitwunschgueltigkeiten in VILESCI Admins can see and work on Zeitwunschgueltigkeiten of lector. Added logic to save/update/display Zeitwuensche by Zeitwunschgueltigkeiten. --- vilesci/personen/zeitwunsch.php | 367 +++++++++++++++++++++++++++----- 1 file changed, 308 insertions(+), 59 deletions(-) diff --git a/vilesci/personen/zeitwunsch.php b/vilesci/personen/zeitwunsch.php index 81d1c0c22..6e0460f5f 100644 --- a/vilesci/personen/zeitwunsch.php +++ b/vilesci/personen/zeitwunsch.php @@ -51,19 +51,6 @@ if (!isset($uid)) die( "uid nicht gesetzt"); } -// Zeitwunschgueltigkeit ID ueber Dropdown ausgewaehlt -if (isset($_GET['zwg_id']) && is_string($_GET['zwg_id'])) -{ - $zwg_id = $_GET['zwg_id']; -} -else -{ - // Default: Letzte Zeitwunschgueltigkeit (ZWG) holen - $zwg = new Zeitwunsch_gueltigkeit(); - $zwg->getByUID($uid, 1); - $zwg_id = !empty($zwg->result) ? $zwg->result[0]->zeitwunsch_gueltigkeit_id : null; // NULL, wenn Lektor noch gar keinen ZW hinterlegt hat -} - $uid_benutzer = get_uid(); $rechte = new benutzerberechtigung(); @@ -74,50 +61,239 @@ if(!$rechte->isBerechtigt('mitarbeiter', null, 's')) $datum_obj = new datum(); $updatevon = 0; - //Stundentabelleholen - if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde")) - die($db->db_last_error()); - $num_rows_stunde=$db->db_num_rows($result_stunde); +// Nächstes Studiensemester +$next_ss = new Studiensemester(); +$next_ss->getNextStudiensemester(); - // Zeitwuensche speichern - if (isset($_POST['save'])) - { - if(!$rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid')) - die($rechte->errormsg); +// Aktuelles Studiensemester +$akt_ss = new Studiensemester(); +$akt_ss->load($akt_ss->getAkt()); - for ($t=1;$t<7;$t++) - for ($i=0;$i<$num_rows_stunde;$i++) - { - $var='wunsch'.$t.'_'.$i; - //echo $$var; - $gewicht=$_POST[$var]; - $stunde=$i+1; - $query="SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND stunde=".$db->db_add_param($stunde, FHC_INTEGER)." AND tag=".$db->db_add_param($t, FHC_INTEGER); - if(! $erg_wunsch=$db->db_query($query)) - die($db->db_last_error()); - $num_rows_wunsch=$db->db_num_rows($erg_wunsch); - if ($num_rows_wunsch==0) - { - $query="INSERT INTO campus.tbl_zeitwunsch (mitarbeiter_uid, stunde, tag, gewicht, updateamum, updatevon) VALUES (".$db->db_add_param($uid).", ".$db->db_add_param($stunde).", ".$db->db_add_param($t).", ".$db->db_add_param($gewicht).", now(), ".$db->db_add_param($uid_benutzer).")"; - if(!($erg=$db->db_query($query))) - die($db->db_last_error()); - } - elseif ($num_rows_wunsch==1) - { - $query="UPDATE campus.tbl_zeitwunsch SET gewicht=".$db->db_add_param($gewicht).", updateamum=now(), updatevon=".$db->db_add_param($uid_benutzer)." WHERE mitarbeiter_uid=".$db->db_add_param($uid)." AND stunde=".$db->db_add_param($stunde)." AND tag=".$db->db_add_param($t); - if(!($erg=$db->db_query($query))) - die($db->db_last_error()); - } - else - die("Zuviele Eintraege!"); - } - } +// Zeitwunschgueltigkeiten nach Semester selektierbar +$selected_ss = (isset($_GET['stsem']) && !empty($_GET['stsem'])) ? $_GET['stsem'] : $next_ss->studiensemester_kurzbz; // Default: Nächstes Studiensemester + +// Default: Letzte Zeitwunschgueltigkeit (ZWG) holen +$zwg = new Zeitwunsch_gueltigkeit(); +$zwg->getByUID($uid, 1); +$selected_zwg = !empty($zwg->result) ? $zwg->result[0] : null; // NULL, wenn Lektor noch gar keinen ZW hinterlegt hat + +// Zeitwunschgueltigkeit ueber Dropdown ZWG gewaehlt +if (isset($_GET['zwg_id'])) +{ + $selected_zwg = !empty($_GET['zwg_id']) ? new Zeitwunsch_gueltigkeit($_GET['zwg_id']) : null; +} + +//Stundentabelleholen +if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde")) + die($db->db_last_error()); +$num_rows_stunde=$db->db_num_rows($result_stunde); + +// Zeitwuensche speichern +if (isset($_POST['save'])) +{ + if(!$rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid')) + die($rechte->errormsg); + + $selected_ss = isset($_POST['stsem']) ? $_POST['stsem'] : die('Studiensemester fehlt'); + + // Letzte Zeitwunschgueltigkeit (ZWG) holen + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->getByUID($uid, 1); + $lastZwg = !empty($zwg->result) ? $zwg->result[0] : null; + + // Check, ob letzte ZWG im nächsten Studiensemester startet. D.h. es existiert ein neuer Zeitwunsch in der Zukunft + $lastZwgStartsNextSemester = (!is_null($lastZwg) && $lastZwg->von >= $next_ss->start) ? true : false; + $zw_zwg_id = null; // ZWG ID, die zum Speichern / Updaten des Zeitwunsches uebergeben wird + + // Wenn allererster Zeitwunsch, also noch keine ZWG vorhanden + if (is_null($lastZwg)) + { + // Wenn ZW fuer naechstes Studiensemester ist + if ($selected_ss == $next_ss->studiensemester_kurzbz) + { + // Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen + $zw_zwg_id = insertZWG($uid, $next_ss->start, null, $uid_benutzer); + } + + // Wenn Zeitwunsch fuer aktuelles Studiensemester ist + if ($selected_ss == $akt_ss->studiensemester_kurzbz) + { + // Neue ZWG setzen: von = now(), bis offen lassen + $zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), null, $uid_benutzer); + } + } + + // Wenn mindestens eine ZWG vorhanden + if (!is_null($lastZwg)) + { + // Wenn Zeitwunsch fuer naechstes Studiensemester ist + if ($selected_ss == $next_ss->studiensemester_kurzbz) + { + // Wenn naechstes Studiensemester schon eine eigene ZWG hat + if ($lastZwgStartsNextSemester) + { + // Nur Zeitwunsch dieser ZWG updaten + $zw_zwg_id = $lastZwg->zeitwunsch_gueltigkeit_id; + } + + // Wenn naechstes Studiensemester keine eigene ZWG hat + if (!$lastZwgStartsNextSemester) + { + // Fuer bisher letzte ZWG ein Endedatum setzen: bis = Ende aktuelles Studiensemester + updateZWG($uid, $lastZwg->zeitwunsch_gueltigkeit_id, $akt_ss->ende, $uid_benutzer); + + // Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen + $zw_zwg_id = insertZWG($uid, $next_ss->start, null, $uid_benutzer); + } + } + + // Wenn Zeitwunsch fuer aktuelles Studiensemester ist + if ($selected_ss == $akt_ss->studiensemester_kurzbz) + { + /** + * Check, ob aktuelles Studiensemester eine ZWG hat. + * Wenn die allererste ZWG fuer das naechste Studiensemester erstellt wurde, dann hat das + * aktuelle Studiensemester noch keine ZWG. + * */ + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->getByStudiensemester($uid, $akt_ss->studiensemester_kurzbz); + $akt_ss_zwg = !empty($zwg->result) ? $zwg->result[0] : null; + + // Keine ZWG fuer aktuelles Studiensemester vorhanden. + // Da eine ZWG ID aber schon vorhanden: USER HAT ERSTMALIG MIT NAECHSTEM STUDIENSEMESTER EINTRAG BEGONNEN + if (is_null($akt_ss_zwg)) + { + // Neue ZWG setzen: von = now(), ende = Ende aktuelles Studiensemester + $zw_zwg_id = insertZWG( + $uid, + (new DateTime())->format('Y-m-d H:i:s'), + $akt_ss->ende, + $uid_benutzer + ); + } + + // ZWG für aktuelles Studiensemester ist vorhanden --> SPLIT AKTUELLE STUDIENSEMESTER + if ((!is_null($akt_ss_zwg))) + { + // Wenn am selben Tag schon neue ZWG gespeichert wurde, keine neue ZWG anlegen, sondern diese nur updaten + // Verhindert mehrfache Eintraege, wenn oefters zwischengespeichert wird. + if ((new DateTime($akt_ss_zwg->insertamum))->format('Y-m-d') == (new Datetime())->format('Y-m-d')) + { + updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, $akt_ss_zwg->bis, $uid_benutzer); + + $zw_zwg_id = $akt_ss_zwg->zeitwunsch_gueltigkeit_id; + } + else + { + // Neue ZWG setzen: von = now(), bis = Bis von ZWG des aktuellen Studiensemesters uebernehmen: + // -> bis ist entweder Ende aktuelles Studiensemester (wenn ZWG für nächstes Studiensemester vorhanden ist) + // -> sonst ist bis null + $zw_zwg_id = insertZWG( + $uid, + (new DateTime())->format('Y-m-d H:i:s'), + $akt_ss_zwg->bis, + $uid_benutzer + ); + + // Fuer bisher letzte ZWG das Endedatum auf gestern setzen: bis = gestern + // NOTE: MUSS nach dem insert sein + updateZWG( + $uid, + $akt_ss_zwg->zeitwunsch_gueltigkeit_id, + (new DateTime('yesterday'))->format('Y-m-d H:i:s'), + $uid_benutzer + ); + } + } + } + } + + // Insert Zeitwunsch mit Zeitwunsch ZWG ID + if (is_numeric($zw_zwg_id)) + { + for ($t = 1; $t < 7; $t++) + { + for ($i = 0; $i < $num_rows_stunde; $i++) + { + $var = 'wunsch' . $t . '_' . $i; + //echo $$var; + $gewicht = $_POST[$var]; + $stunde = $i + 1; + $query = "SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=" . $db->db_add_param($uid) . " AND zeitwunsch_gueltigkeit_id =" . $db->db_add_param($zw_zwg_id) . " AND stunde=" . $db->db_add_param($stunde, FHC_INTEGER) . " AND tag=" . $db->db_add_param($t, FHC_INTEGER); + if (!$erg_wunsch = $db->db_query($query)) + die($db->db_last_error()); + $num_rows_wunsch = $db->db_num_rows($erg_wunsch); + if ($num_rows_wunsch == 0) { + $query = "INSERT INTO campus.tbl_zeitwunsch (mitarbeiter_uid, stunde, tag, gewicht, updateamum, updatevon, zeitwunsch_gueltigkeit_id) VALUES (" . $db->db_add_param($uid) . ", " . $db->db_add_param($stunde) . ", " . $db->db_add_param($t) . ", " . $db->db_add_param($gewicht) . ", now(), " . $db->db_add_param($uid_benutzer) . ", " . $db->db_add_param($zw_zwg_id) . ")"; + if (!($erg = $db->db_query($query))) + die($db->db_last_error()); + } elseif ($num_rows_wunsch == 1) { + $query = "UPDATE campus.tbl_zeitwunsch SET gewicht=" . $db->db_add_param($gewicht) . ", updateamum=now(), updatevon=" . $db->db_add_param($uid_benutzer) . " WHERE mitarbeiter_uid=" . $db->db_add_param($uid) . " AND zeitwunsch_gueltigkeit_id=" . $db->db_add_param($zw_zwg_id) . " AND stunde=" . $db->db_add_param($stunde) . " AND tag=" . $db->db_add_param($t); + if (!($erg = $db->db_query($query))) + die($db->db_last_error()); + } + else + die("Zuviele Eintraege!"); + } + } + $selected_zwg = new Zeitwunsch_gueltigkeit($zw_zwg_id); + } +} + +/** + * Init ZWG Objekt zum Erstellen einer neuen ZWG + */ +function insertZWG($uid, $von, $bis, $admin_uid) +{ + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->new = true; + $zwg->mitarbeiter_uid = $uid; + $zwg->von = $von; + $zwg->bis = $bis; + $zwg->insertvon = $admin_uid; + if ($zwg->save()) + { + return $zwg->zeitwunsch_gueltigkeit_id; + } + else + { + die($zwg->errormsg); + } +} + +/** + * Init ZWG Objekt zum Updaten einer bestehenden ZWG + */ +function updateZWG($uid, $zwg_id, $bis, $admin_uid) +{ + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->new = false; + $zwg->zeitwunsch_gueltigkeit_id = $zwg_id; + $zwg->mitarbeiter_uid = $uid; + $zwg->bis = $bis; + $zwg->updatevon = $admin_uid; + + if (!$zwg->save()) + { + die($zwg->errormsg); + } + + return; +} + +// Tabellendaten +/** + * Zeitwunschgueltigkeit + * Wurde ueber Dropdown gewaehlt (kann auch null sein, wenn noch kein Zeitwunsch vorliegt) + * ODER ueber Speichernbutton neu erstellt / upgedatet + */ +$selected_zwg_id = !is_null($selected_zwg) ? $selected_zwg->zeitwunsch_gueltigkeit_id : ''; if(!($erg=$db->db_query(" SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid = ". $db->db_add_param($uid). " - AND zeitwunsch_gueltigkeit_id = ". $db->db_add_param(($zwg_id)) + AND zeitwunsch_gueltigkeit_id = ". $db->db_add_param(($selected_zwg_id)) ))) die($db->db_last_error()); $num_rows=$db->db_num_rows($erg); @@ -159,41 +335,74 @@ $updatevon = 0; + -

    Zeitwünsche von titelpre.' '.$person->vornamen.' '.$person->nachname. ' '.$person->titelpost; ?>

    +

    Zeitwünsche von titelpre.' '.$person->vorname.' '.$person->nachname. ' '.$person->titelpost; ?>

    Zeitwunschgueltigkeit: getByUID($uid, null, false); $zwg_arr = $zwg->result; -echo ''; + +// Wenn nächstes Studiensemester hat keine Zeitwunschgueltigkeit hat... +if (!empty($zwg_arr) && $zwg_arr[0]->von < $next_ss->start) +{ + // ...naechstes Studiensemester 'neu anlegen' als Option anzeigen + echo ''; +} + +// Vorhandene Zeitwunschgueltigkeiten foreach($zwg_arr as $row) { $von = (new DateTime($row->von))->format('d.m.Y'); $bis = !is_null($row->bis) ? (new DateTime($row->bis))->format('d.m.Y') : "offen"; + $selected = !empty($selected_zwg_id) && $row->zeitwunsch_gueltigkeit_id == $selected_zwg_id && $row->studiensemester_kurzbz == $selected_ss ? ' selected ' : ''; - $selected = !is_null($zwg_id) && $row->zeitwunsch_gueltigkeit_id == $zwg_id ? ' selected ' : ''; - echo ''; } +// Wenn aktuelles Studiensemester hat keine Zeitwunschgueltigkeit hat, das naechste aber schon +if (count($zwg_arr) == 1 && ($zwg_arr[0]->von >= $next_ss->start)) +{ + // ...aktuelles Studiensemester 'neu anlegen' als Option anzeigen + $selected = $selected_ss == $akt_ss->studiensemester_kurzbz ? "selected" : ''; + echo ''; +} + +// Wenn es noch keine Zeitwuensche gibt +if (empty($zwg_arr)) +{ + // Optionen zum Anlegen einer Zeitwunschgueltigkeit fuer das aktuelle / naechste Studiensemester + $selected = $selected_ss == $akt_ss->studiensemester_kurzbz ? 'selected' : ''; + echo ''; + echo ''; +} echo ''; ?>

    + + +
    '; ?>

    - isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid')) - echo '' + { + /** + * Disablen des Speicherbuttons und Textanzeige, wenn die gewaehlte Zeitwunschgueltigkeit nicht + *die letztgueltige fuer das aktuelle / naechste Studiensemester ist. + **/ + $disabled = getDisabledString($uid, $selected_zwg, $akt_ss, $next_ss); // return 'disabled' oder '' + + // Speichern Button + echo ''; + + if (!empty($disabled)) + { + echo ' Es können nur Zeitwünsche im aktuellen oder im nächsten Studiensemester bearbeitet werden.
    +       Falls mehrere Zeitwünsche im aktuellen Semester gespeichert sind, kann nur der letztgültige geändert werden.
    '; + } + } ?>
    @@ -302,3 +525,29 @@ echo '';

     

    + +getByStudiensemester($uid, $akt_ss->studiensemester_kurzbz); + $lastZwg_id_aktStudsem = empty($zwg->result) ? '' : $zwg->result[0]->zeitwunsch_gueltigkeit_id; + + $zwg = new Zeitwunsch_gueltigkeit(); + $zwg->getByStudiensemester($uid, $next_ss->studiensemester_kurzbz); + $lastZwg_id_nextStudsem = empty($zwg->result) ? '' : $zwg->result[0]->zeitwunsch_gueltigkeit_id; + + return ( + is_null($selected_zwg) + || !is_null($selected_zwg) + && ( + $selected_zwg->zeitwunsch_gueltigkeit_id == $lastZwg_id_aktStudsem + || $selected_zwg->zeitwunsch_gueltigkeit_id == $lastZwg_id_nextStudsem + ) + ) + ? '' + : 'disabled'; + +} From e3ecfbe7822cdfbf720134632475d8e6be9997db Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Dec 2021 09:38:24 +0100 Subject: [PATCH 092/475] Corrected constructor of Zeitwunsch_gueltigkeit Class --- include/zeitwunsch_gueltigkeit.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/zeitwunsch_gueltigkeit.class.php b/include/zeitwunsch_gueltigkeit.class.php index 4477551b1..7f72c72c0 100644 --- a/include/zeitwunsch_gueltigkeit.class.php +++ b/include/zeitwunsch_gueltigkeit.class.php @@ -18,9 +18,9 @@ class zeitwunsch_gueltigkeit extends basis_db public $updatevon; // varchar 32 - public function __construct() + public function __construct($zeitwunsch_gueltigkeit_id = null) { - parent::__construct($zeitwunsch_gueltigkeit_id = null); + parent::__construct(); if (!is_null($zeitwunsch_gueltigkeit_id)) { From d697e189eb2209b6c7d4953fbeca00fa9f2549e5 Mon Sep 17 00:00:00 2001 From: Cris Date: Thu, 2 Dec 2021 09:43:06 +0100 Subject: [PATCH 093/475] Changed: Now function getByUID of ZWG class retrieves correct amount of ZWG --- include/zeitwunsch_gueltigkeit.class.php | 34 +++++++++++++++--------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/include/zeitwunsch_gueltigkeit.class.php b/include/zeitwunsch_gueltigkeit.class.php index 7f72c72c0..33dfdf65f 100644 --- a/include/zeitwunsch_gueltigkeit.class.php +++ b/include/zeitwunsch_gueltigkeit.class.php @@ -17,6 +17,9 @@ class zeitwunsch_gueltigkeit extends basis_db public $updateamum; // timestamp public $updatevon; // varchar 32 + public $studiensemester_kurzbz; + public $start; + public $ende; public function __construct($zeitwunsch_gueltigkeit_id = null) { @@ -45,6 +48,7 @@ class zeitwunsch_gueltigkeit extends basis_db SELECT * FROM campus.tbl_zeitwunsch_gueltigkeit WHERE zeitwunsch_gueltigkeit_id = '.$this->db_add_param($zeitwunsch_gueltigkeit_id). ' + AND (von < ende AND COALESCE(bis, '. $this->db_add_param($studiensemester->ende).'::date ) > start) ORDER BY von DESC '; @@ -130,13 +134,14 @@ class zeitwunsch_gueltigkeit extends basis_db */ public function getByUID($uid, $limit = null, $activeOnly = true, $bis = null) { - $studiensemester = new Studiensemester(); - $studiensemester->getNextStudiensemester(); - $qry = ' - SELECT zwg.*, studiensemester_kurzbz, start, ende - FROM campus.tbl_zeitwunsch_gueltigkeit zwg, public.tbl_studiensemester - WHERE zwg.mitarbeiter_uid = '.$this->db_add_param($uid); + SELECT zeitwunsch_gueltigkeit_id, mitarbeiter_uid, von, bis, + insertamum, insertvon, updateamum, updatevon, + studiensemester_kurzbz, start, ende + FROM ( + SELECT DISTINCT ON (bis) bis, zeitwunsch_gueltigkeit_id, mitarbeiter_uid, von, insertamum, insertvon, updateamum, updatevon, studiensemester_kurzbz, start, ende + FROM campus.tbl_zeitwunsch_gueltigkeit zwg, public.tbl_studiensemester + WHERE zwg.mitarbeiter_uid = '.$this->db_add_param($uid); // Wenn Bis-Datum angegeben if (!is_null($bis)) @@ -150,13 +155,18 @@ class zeitwunsch_gueltigkeit extends basis_db { // Alle Zeitwuensche $qry.= ' - AND (von < ende AND COALESCE(bis, '. $this->db_add_param($studiensemester->ende).'::date ) > start) + AND (von < ende AND COALESCE(bis, \'2999-12-31\'::date ) > start) '; } + $qry.= ' + ORDER BY bis, von DESC, bis DESC, start ASC + ) temp + '; + // Nach Gueltigkeits-Startdatum sortieren, zuerst die zuletzt gueltigen $qry.= ' - ORDER BY start DESC + ORDER BY von DESC, bis DESC '; // Wenn nur aktive Zeitwunschgueltigkeiten angezeigt werden sollen @@ -164,11 +174,11 @@ class zeitwunsch_gueltigkeit extends basis_db { // ...mit distinct die zuletzt erstellten pro Studiensemester filtern $qry = ' - SELECT DISTINCT ON (start, studiensemester_kurzbz) start, studiensemester_kurzbz, - ende, zeitwunsch_gueltigkeit_id, mitarbeiter_uid, von, bis, + SELECT DISTINCT ON (studiensemester_kurzbz) studiensemester_kurzbz, + start, ende, zeitwunsch_gueltigkeit_id, mitarbeiter_uid, von, bis, insertamum, insertvon, updateamum, updatevon FROM ('. $qry. ') temp - ORDER BY start DESC, studiensemester_kurzbz + ORDER BY studiensemester_kurzbz, von DESC, bis DESC '; } @@ -229,7 +239,7 @@ class zeitwunsch_gueltigkeit extends basis_db FROM campus.tbl_zeitwunsch_gueltigkeit zwg, studiensemester ss WHERE zwg.mitarbeiter_uid = '.$this->db_add_param($uid). ' AND (zwg.von < ss.ende AND COALESCE(zwg.bis, ss.ende) >= ss.start) - ORDER BY von DESC + ORDER BY von DESC, bis DESC '; // Wenn Limit angegeben From 17dd939044d67dcae75b4d047f8cfb716cf580a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 2 Dec 2021 15:24:27 +0100 Subject: [PATCH 094/475] Moved to Addon --- system/account_deaktivierung_mail.php | 288 -------------------------- 1 file changed, 288 deletions(-) delete mode 100644 system/account_deaktivierung_mail.php diff --git a/system/account_deaktivierung_mail.php b/system/account_deaktivierung_mail.php deleted file mode 100644 index ede3f1f2f..000000000 --- a/system/account_deaktivierung_mail.php +++ /dev/null @@ -1,288 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -/** - * Dieses Script versendet automatisch Mails an Accounts die Deaktiviert wurden. - * und informiert die Benutzer ueber die Folgen der Deaktivierung - */ - -require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php'); -require_once(dirname(__FILE__).'/../include/basis_db.class.php'); -require_once(dirname(__FILE__).'/../include/mail.class.php'); - -$db = new basis_db(); -$text = ''; -$wochen_zum_entfernen = 1; - -// Alle die vor einer Woche inaktiv gesetzt wurden darueber informieren -$qry = "SELECT uid, - (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid = uid) as mitarbeiter - FROM public.tbl_benutzer - WHERE aktiv = false - AND updateaktivam = CURRENT_DATE - interval '".$wochen_zum_entfernen." week'"; - -if ($result = $db->db_query($qry)) -{ - while ($row = $db->db_fetch_object($result)) - { - if ($row->mitarbeiter != '') - { - // Mitarbeiter - $message = "Dies ist eine automatische Nachricht!\n"; - $message .= "\n"; - $message .= "Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz deaktiviert wurde. - Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht. \n\n"; - $message .= "Sollte innerhalb von 12 Monaten nach der Deaktivierung keine neuerliche Aktivierung Ihres - Benutzerdatensatzes erfolgen, dann werden automatisch auch\n"; - $message .= " - Ihr Account, \n"; - $message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n"; - $message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n"; - $message .= "\n"; - $message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, - sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: "; - $message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n"; - $message .= "\n"; - $message .= "Mit freundlichen Grüßen\n"; - $message .= "\n"; - $message .= "Fachhochschule Technikum Wien\n"; - $message .= "Höchstädtplatz 6\n"; - $message .= "1200 Wien \n"; - $message .= "\n"; - $message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, - können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren."; - } - else - { - // Student - $message = "Dies ist eine automatische Nachricht!\n"; - $message .= "\n"; - $message .= "Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz deaktiviert wurde. - Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.\n"; - $message .= "\n"; - $message .= "Sollte innerhalb von 6 Monaten (für Studierende) bzw. 3 Wochen (für AbbrecherInnen) nach der - Deaktivierung keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n"; - $message .= " - Ihr Account,\n"; - $message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n"; - $message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n"; - $message .= "\n"; - $message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, - sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n"; - $message .= "\n"; - $message .= "Mit freundlichen Grüßen\n"; - $message .= "\n"; - $message .= "Fachhochschule Technikum Wien\n"; - $message .= "Höchstädtplatz 6\n"; - $message .= "1200 Wien\n"; - $message .= "\n"; - $message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, - können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n"; - } - - $to = $row->uid.'@'.DOMAIN; - - $mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! '.$row->uid, $message); - if ($mail->send()) - $text .= "Warnung zur Accountloeschung wurde an $row->uid verschickt\n"; - else - $text .= "Fehler beim Senden des Mails an $to: ".$message; - } -} - -// Letzte Warnung vor Accountloeschung verschicken - -// Abbrecher -$qry = "SELECT uid - FROM public.tbl_benutzer - JOIN public.tbl_student ON(uid=student_uid) - WHERE aktiv = false - AND updateaktivam = CURRENT_DATE - interval '".DEL_ABBRECHER_WEEKS." week' - AND get_rolle_prestudent (prestudent_id, NULL) = 'Abbrecher'"; - -if ($result = $db->db_query($qry)) -{ - while ($row = $db->db_fetch_object($result)) - { - $message = "Dies ist eine automatische Nachricht!\n"; - $message .= "\n"; - $message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_ABBRECHER_WEEKS > 1?DEL_ABBRECHER_WEEKS." Wochen ":"einer Woche ")."deaktiviert! - Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch\n"; - $message .= " - Ihr Account,\n"; - $message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n"; - $message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n"; - $message .= "\n"; - $message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit Ihrer - Studiengangsassistenz in Verbindung zu setzen.\n"; - $message .= "\n"; - $message .= "Mit freundlichen Grüßen\n"; - $message .= "\n"; - $message .= "Fachhochschule Technikum Wien\n"; - $message .= "Höchstädtplatz 6\n"; - $message .= "1200 Wien \n"; - $message .= "\n"; - $message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, - können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n"; - - $to = $row->uid.'@'.DOMAIN; - - $mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message); - if ($mail->send()) - $text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n"; - else - $text .= "Fehler beim Senden des Mails an $to: ".$message; - } -} - -// Abbrecher an Bibliothek melden wenn diese inaktiv gesetzt wurden - -$qry = "SELECT uid, - vorname, - nachname, - titelpre, - titelpost - FROM public.tbl_benutzer - JOIN public.tbl_student ON (uid = student_uid) - JOIN public.tbl_person USING (person_id) - WHERE tbl_benutzer.aktiv = false - AND tbl_benutzer.updateaktivam = (CURRENT_DATE - '1 day'::interval)::date - AND get_rolle_prestudent (prestudent_id, NULL) = 'Abbrecher'"; - -if ($result = $db->db_query($qry)) -{ - if ($db->db_num_rows($result) > 0) - { - $message = "Dies ist eine automatische Nachricht!\n\n"; - $message .= "Die folgenden Studierenden wurden als Abbrecher eingetragen:\n\n"; - - while ($row = $db->db_fetch_object($result)) - { - $message .= trim($row->titelpre.' '.$row->vorname.' '.$row->nachname.' '.$row->titelpost).' ( '.$row->uid.'@'.DOMAIN." )\n"; - } - - $message .= "\nMit freundlichen Grüßen\n"; - $message .= "\n"; - $message .= "Fachhochschule Technikum Wien\n"; - $message .= "Höchstädtplatz 6\n"; - $message .= "1200 Wien \n"; - $to = 'wienerro@technikum-wien.at, astfaell@technikum-wien.at, olensky@technikum-wien.at'; - - $mail = new mail($to, 'no-reply@'.DOMAIN, 'Abbrecher Information', $message); - if ($mail->send()) - $text .= "Abbrecher Infomail an $to verschickt\n"; - else - $text .= "Fehler beim Senden des Mails an $to: ".$message; - } -} - -// Studenten - -$qry = "SELECT uid - FROM public.tbl_benutzer - JOIN public.tbl_student ON (uid=student_uid) - WHERE aktiv = false - AND updateaktivam = CURRENT_DATE - interval '".DEL_STUDENT_WEEKS." week' - AND get_rolle_prestudent (prestudent_id, NULL) <> 'Abbrecher'"; - -if ($result = $db->db_query($qry)) -{ - while ($row = $db->db_fetch_object($result)) - { - $message = "Dies ist eine automatische Nachricht!\n"; - $message .= "\n"; - $message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_STUDENT_WEEKS > 1?DEL_STUDENT_WEEKS." Wochen ":"einer Woche "). - "deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, - dann werden automatisch auch\n"; - $message .= " - Ihr Account,\n"; - $message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n"; - $message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden\n"; - $message .= "\n"; - $message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, - sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.\n"; - $message .= "\n"; - $message .= "Mit freundlichen Grüßen\n"; - $message .= "\n"; - $message .= "Fachhochschule Technikum Wien\n"; - $message .= "Höchstädtplatz 6\n"; - $message .= "1200 Wien \n"; - $message .= "\n"; - $message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, - können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n"; - - $to = $row->uid.'@'.DOMAIN; - - $mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message); - if ($mail->send()) - $text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n"; - else - $text .= "Fehler beim Versenden des Abbrecher Infomails an $to !\n"; - } -} - -// Mitarbeiter - -$qry = "SELECT uid - FROM public.tbl_benutzer - JOIN public.tbl_mitarbeiter ON (uid = mitarbeiter_uid) - WHERE aktiv = false - AND updateaktivam = CURRENT_DATE - interval '".DEL_MITARBEITER_WEEKS." week' "; - -if ($result = $db->db_query($qry)) -{ - while ($row = $db->db_fetch_object($result)) - { - $message = "Dies ist eine automatische Nachricht!\n"; - $message .= "\n"; - $message .= "ACHTUNG: Ihr Benutzerdatensatz wurde vor ".(DEL_MITARBEITER_WEEKS > 1?DEL_MITARBEITER_WEEKS." Wochen ":"einer Woche "). - "deaktiviert! Sollte innerhalb der nächsten Tage keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, - dann werden automatisch auch\n"; - $message .= " - Ihr Account,\n"; - $message .= " - Ihre Mailbox (inkl. aller E-Mails) und\n"; - $message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden\n"; - $message .= "\n"; - $message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, - sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: "; - $message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n"; - $message .= "\n"; - $message .= "Mit freundlichen Grüßen\n"; - $message .= "\n"; - $message .= "Fachhochschule Technikum Wien\n"; - $message .= "Höchstädtplatz 6\n"; - $message .= "1200 Wien \n"; - $message .= "\n"; - $message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, - können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n"; - - $to = $row->uid.'@'.DOMAIN; - - $mail = new mail($to, 'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message); - if ($mail->send()) - $text .= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n"; - else - $text .= "Fehler beim Versenden des Abbrecher Infomails an $to !\n"; - } -} - -echo $text; - -?> - From 419988aaf9c6f96bef1a4aaecd52bf37317fabfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 2 Dec 2021 16:17:24 +0100 Subject: [PATCH 095/475] =?UTF-8?q?DB-Index=20f=C3=BCr=20campus.tbl=5Fzeit?= =?UTF-8?q?aufzeichnung.uid=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/dbupdate_3.3.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 1d4e990b0..d8f2e16ab 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -5613,6 +5613,20 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } +// Add index to campus.tbl_zeitaufzeichnung.uid +if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_zeitaufzeichnung_uid'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "CREATE INDEX idx_tbl_zeitaufzeichnung_uid ON campus.tbl_zeitaufzeichnung USING btree (uid)"; + + if (! $db->db_query($qry)) + echo 'Indizes: ' . $db->db_last_error() . '
    '; + else + echo 'Index fuer campus.tbl_zeitaufzeichnung.uid hinzugefuegt
    '; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

    Pruefe Tabellen und Attribute!

    '; From 61c1399f0106bbaf5ae38e4e350e4d246638d2eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 2 Dec 2021 16:50:08 +0100 Subject: [PATCH 096/475] Improved Performance of dbupdate --- system/dbupdate_3.3.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index d8f2e16ab..a8820c57d 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -51,7 +51,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants } } -if(!$result = @$db->db_query("SELECT 1 FROM public.vw_msg_vars LIMIT 1")) +if(!$result = @$db->db_query("SELECT 1 FROM public.vw_msg_vars WHERE person_id=-1 LIMIT 1")) { // CREATE OR REPLACE VIEW public.vw_msg_vars and grants privileges $qry = ' @@ -2760,7 +2760,7 @@ if($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS } // Spalte Zugangscode zu vw_msg_vars hinzufügen -if(!$result = @$db->db_query('SELECT "Zugangscode" FROM public.vw_msg_vars LIMIT 1')) +if(!$result = @$db->db_query('SELECT "Zugangscode" FROM public.vw_msg_vars WHERE person_id=-1 LIMIT 1')) { $qry = ' CREATE OR REPLACE VIEW public.vw_msg_vars AS ( @@ -3827,7 +3827,7 @@ if(!$result = @$db->db_query("SELECT orgform_kurzbz FROM public.tbl_bankverbindu } // iban, bic und weitere Variablen zu vw_msg_vars hinzufügen -if(!$result = @$db->db_query('SELECT "IBAN Studiengang", "BIC Studiengang", "Studiengangskennzahl", "Einstiegssemester", "Einstiegsstudiensemester", "Vorname Studiengangsassistenz", "Nachname Studiengangsassistenz", "Durchwahl Studiengangsassistenz", "Alias Studiengangsassistenz", "Relative Prio" FROM public.vw_msg_vars LIMIT 1')) +if(!$result = @$db->db_query('SELECT "IBAN Studiengang", "BIC Studiengang", "Studiengangskennzahl", "Einstiegssemester", "Einstiegsstudiensemester", "Vorname Studiengangsassistenz", "Nachname Studiengangsassistenz", "Durchwahl Studiengangsassistenz", "Alias Studiengangsassistenz", "Relative Prio" FROM public.vw_msg_vars WHERE person_id=-1 LIMIT 1')) { $qry = ' CREATE OR REPLACE VIEW public.vw_msg_vars AS ( @@ -4356,7 +4356,7 @@ if (!$result = @$db->db_query("SELECT ba1code_bis FROM bis.tbl_beschaeftigungsar } // Orgform DE und Orform EN zu vw_msg_vars hinzufügen -if(!$result = @$db->db_query('SELECT "Orgform DE", "Orgform EN" FROM public.vw_msg_vars LIMIT 1')) +if(!$result = @$db->db_query('SELECT "Orgform DE", "Orgform EN" FROM public.vw_msg_vars WHERE person_id=-1 LIMIT 1')) { $qry = ' CREATE OR REPLACE VIEW public.vw_msg_vars AS ( From 554a27cc01502a68bb2291cd9ffd1ac188258e3f Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 2 Dec 2021 21:06:56 +0100 Subject: [PATCH 097/475] anzeigefehler fixed dokpruefung --- application/views/system/infocenter/dokpruefung.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/views/system/infocenter/dokpruefung.php b/application/views/system/infocenter/dokpruefung.php index 95e383569..f7446895c 100644 --- a/application/views/system/infocenter/dokpruefung.php +++ b/application/views/system/infocenter/dokpruefung.php @@ -22,7 +22,7 @@ titel) ? $dokument->bezeichnung : $dokument->titel ?>
    - - - - -
    - autocomplete="off"> bezeichnung === $dokument->dokument_bezeichnung ? 'selected' : '') . " value = " . $dokumenttyp->dokument_kurzbz . ">" . $dokumenttyp->bezeichnung . "" From 4923c5fc2d12b0e17b7e70466893e6ad7bc3b717 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Fri, 3 Dec 2021 14:31:04 +0100 Subject: [PATCH 098/475] personen zusammenlegen mit udf --- include/person.class.php | 15 +++- include/prestudent.class.php | 9 ++ vilesci/stammdaten/personen_wartung.php | 108 +++++++++++++++++++++++- 3 files changed, 129 insertions(+), 3 deletions(-) diff --git a/include/person.class.php b/include/person.class.php index a50417db0..e10862ea1 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -24,6 +24,7 @@ */ require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/datum.class.php'); +require_once(dirname(__FILE__).'/udf.class.php'); class person extends basis_db { @@ -64,6 +65,7 @@ class person extends basis_db public $foto_sperre = false; // boolean public $matr_nr; //varchar(32) public $bpk; //varchar(255) + public $udf_values; //json /** * Konstruktor - Uebergibt die Connection und laedt optional eine Person @@ -84,6 +86,8 @@ class person extends basis_db **/ public function load($personId) { + $udf = new UDF(); + //person_id auf gueltigkeit pruefen if (is_numeric($personId) && $personId != '') { @@ -91,8 +95,11 @@ class person extends basis_db gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen, familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon, ext_id, geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung, zugangscode, foto_sperre, - matr_nr, bpk - FROM public.tbl_person + matr_nr, bpk"; + if ($hasUDF = $udf->personHasUDF()) + $qry .= ", udf_values "; + + $qry .= "FROM public.tbl_person WHERE person_id = " . $this->db_add_param($personId, FHC_INTEGER); if (!$this->db_query($qry)) @@ -135,6 +142,10 @@ class person extends basis_db $this->foto_sperre = $this->db_parse_bool($row->foto_sperre); $this->matr_nr = $row->matr_nr; $this->bpk = $row->bpk; + if ($hasUDF) + { + $this->udf_values = $row->udf_values; + } } else { diff --git a/include/prestudent.class.php b/include/prestudent.class.php index ab1e329dd..1d493beb0 100644 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -26,6 +26,7 @@ require_once(dirname(__FILE__).'/log.class.php'); require_once(dirname(__FILE__).'/phrasen.class.php'); require_once(dirname(__FILE__).'/globals.inc.php'); require_once(dirname(__FILE__).'/sprache.class.php'); +require_once(dirname(__FILE__).'/udf.class.php'); $sprache = getSprache(); $lang = new sprache(); @@ -73,6 +74,7 @@ class prestudent extends person public $priorisierung = null; public $foerderrelevant = null; public $standort_code = null; + public $udf_values = null; public $status_kurzbz; public $studiensemester_kurzbz; @@ -1413,6 +1415,9 @@ class prestudent extends person person_id=".$this->db_add_param($person_id, FHC_INTEGER)." ORDER BY prestudent_id"; + $udf = new UDF(); + $hasUDF = $udf->prestudentHasUDF(); + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -1455,6 +1460,10 @@ class prestudent extends person $obj->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz; $obj->aufnahmegruppe_kurzbz = $row->aufnahmegruppe_kurzbz; $obj->priorisierung = $row->priorisierung; + if ($hasUDF) + { + $obj->udf_values = $row->udf_values; + } $this->result[] = $obj; } diff --git a/vilesci/stammdaten/personen_wartung.php b/vilesci/stammdaten/personen_wartung.php index 2c4c4f0fa..2def0bd3c 100644 --- a/vilesci/stammdaten/personen_wartung.php +++ b/vilesci/stammdaten/personen_wartung.php @@ -42,6 +42,7 @@ require_once ('../../include/kontakt.class.php'); require_once ('../../include/dokument.class.php'); require_once ('../../include/reihungstest.class.php'); require_once ('../../include/pruefling.class.php'); +require_once ('../../include/udf.class.php'); if (! $db = new basis_db()) @@ -54,6 +55,7 @@ $rechte->getBerechtigungen($uid); if (! $rechte->isBerechtigt('basis/person', null, 'suid')) die($rechte->errormsg); +$udf = new UDF(); $msg_info = array(); $msg_error = array(); $msg_warning = array(); @@ -283,6 +285,40 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p if ($doppelteReihungstestzuordnung === false) $sql_query_upd1 .= "UPDATE public.tbl_rt_person SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";"; + + $personUDF = $udf->personHasUDF(); + + if ($personUDF) + { + $udfToKeep = json_decode($personToKeep_obj->udf_values, true); + $udfToDelete = json_decode($personToDelete_obj->udf_values, true); + + $udfToKeep = is_null($udfToKeep) ? array() : $udfToKeep; + $udfToDelete = is_null($udfToDelete) ? array() : $udfToDelete; + + if ($udfToKeep != $udfToDelete) + { + foreach ($udfToDelete as $key => $udf) + { + if (!array_key_exists($key, $udfToKeep)) + { + $udfToKeep[$key] = $udf; + } + elseif ($udfToKeep[$key] !== $udf && !is_null($udf)) + { + if (is_null($udfToKeep[$key])) + $udfToKeep[$key] = $udf; + else + { + $msg_error[] = 'Beide Personen haben unterschiedliche Werte in den UDFs und können nicht zusammengelegt werden.
    + Sie müssen die Datensätze manuell bereinigen, bevor Sie die Personen zusammenlegen können.'; + $error = true; + break; + } + } + } + } + } if ($error == false) { // Wenn bei einer der Personen das Foto gesperrt ist, dann die Sperre uebernehmen @@ -437,6 +473,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p $sql_query_upd1 .= "UPDATE system.tbl_filters SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";"; $sql_query_upd1 .= "UPDATE system.tbl_log SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";"; $sql_query_upd1 .= "UPDATE system.tbl_person_lock SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";"; + $sql_query_upd1 .= "UPDATE system.tbl_issue SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";"; $sql_query_upd1 .= "UPDATE wawi.tbl_betriebsmittelperson SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";"; $sql_query_upd1 .= "UPDATE wawi.tbl_konto SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";"; $sql_query_upd1 .= $alma_query_upd; @@ -456,6 +493,9 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p // BPK erst setzen, wenn nur mehr eine Person vorhanden ist $sql_query_upd1 .= "UPDATE public.tbl_person SET bpk=" . $db->db_add_param($bpk, FHC_STRING) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";"; + if ($personUDF) + $sql_query_upd1 .= "UPDATE public.tbl_person SET udf_values=" . $db->db_add_param(json_encode($udfToKeep)) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";"; + if ($db->db_query($sql_query_upd1)) { $msg_info[] = "Update Query:"; @@ -730,9 +770,10 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p usort($prestudenten->result, "sortPrestudents"); + $prestudentUDF = $udf->prestudentHasUDF(); $prestudentenArray = array(); $kontaktLoeschArray = array(); - foreach ($prestudenten->result AS $row) + foreach ($prestudenten->result AS $key => $row) { $prestudentenArray[] = array( 'prestudent_id' => $row->prestudent_id, @@ -753,6 +794,8 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p 'zgvmanation' => $row->zgvmanation, 'studiengang_typ' => $row->studiengang_typ ); + if ($prestudentUDF) + $prestudentenArray[$key] = array_merge($prestudentenArray[$key], array('udf_values' => $row->udf_values)); } /* @@ -793,6 +836,48 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p $i++; continue; } + + //Wenn die UDF values nicht zusammengeführt werden können, wird mit dem nächsten weitergemacht und eine Warnung ausgegeben + if ($prestudentUDF) + { + $udfError = false; + + $udfToKeep = json_decode($prestudentenArray[$previousKey]['udf_values'], true);; + $udfToKeep = is_null($udfToKeep) ? array() : $udfToKeep; + + $udfToDelete = json_decode($value['udf_values'], true); + $udfToDelete = is_null($udfToDelete) ? array() : $udfToDelete; + + if ($udfToKeep != $udfToDelete) + { + foreach ($udfToDelete as $udfKey => $udf) + { + if (!array_key_exists($udfKey, $udfToKeep)) + { + $udfToKeep[$udfKey] = $udf; + } + elseif ($udfToKeep[$udfKey] !== $udf && !is_null($udf)) + { + if (is_null($udfToKeep[$udfKey])) + $udfToKeep[$udfKey] = $udf; + else + { + + $warningList['udfUnklar'][$i][1] = $prestudentId; + $warningList['udfUnklar'][$i][2] = $value['prestudent_id']; + $i++; + $udfError = true; + break; + } + } + } + } + + $prestudentenArray[$previousKey]['udf_values'] = json_encode($udfToKeep); + if ($udfError) + continue; + + } // Wenn der Status gleich ist, wird auf bestätigt-datum geprüft if ($status_kurzbz == $value['status_kurzbz']) { @@ -894,6 +979,11 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p $zgvmadatum = $value['zgvmadatum']; $zgvmanation = $value['zgvmanation']; $previousKey = $key; + if ($prestudentUDF) + { + $udfToKeep = json_decode($value['udf_values'], true); + $udfToKeep = is_null($udfToKeep) ? array() : $udfToKeep; + } } // Messages in $msg_warning schreiben @@ -934,6 +1024,22 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p } } + $msg_warning[] = $messageOutput; + $messageOutput = ''; + if(isset($warningList['udfUnklar'])) + { + foreach ($warningList['udfUnklar'] as $key => $value) { + + $messageOutput .= '
    Bei folgenden PreStudenten sind die UDFs widersprüchlich oder unklar:
    '; + + foreach ($value as $presstudentid) + { + $messageOutput .= '    '.$presstudentid.'
    '; + } + $messageOutput .= '
    '; + } + } + $msg_warning[] = $messageOutput; //Wenn Prüfling auf zu löschenden Prestudenten zeigt und ggf auf bleibenden umhängen. From 376aaadecc3510be1d9f9738cfa7e772722c5a18 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Fri, 3 Dec 2021 15:21:38 +0100 Subject: [PATCH 099/475] bug fixed --- vilesci/stammdaten/personen_wartung.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/vilesci/stammdaten/personen_wartung.php b/vilesci/stammdaten/personen_wartung.php index 2def0bd3c..6e9f1cc21 100644 --- a/vilesci/stammdaten/personen_wartung.php +++ b/vilesci/stammdaten/personen_wartung.php @@ -298,16 +298,16 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p if ($udfToKeep != $udfToDelete) { - foreach ($udfToDelete as $key => $udf) + foreach ($udfToDelete as $key => $udfValue) { if (!array_key_exists($key, $udfToKeep)) { - $udfToKeep[$key] = $udf; + $udfToKeep[$key] = $udfValue; } - elseif ($udfToKeep[$key] !== $udf && !is_null($udf)) + elseif ($udfToKeep[$key] !== $udfValue && !is_null($udfValue)) { if (is_null($udfToKeep[$key])) - $udfToKeep[$key] = $udf; + $udfToKeep[$key] = $udfValue; else { $msg_error[] = 'Beide Personen haben unterschiedliche Werte in den UDFs und können nicht zusammengelegt werden.
    @@ -850,16 +850,16 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p if ($udfToKeep != $udfToDelete) { - foreach ($udfToDelete as $udfKey => $udf) + foreach ($udfToDelete as $udfKey => $udfValue) { if (!array_key_exists($udfKey, $udfToKeep)) { - $udfToKeep[$udfKey] = $udf; + $udfToKeep[$udfKey] = $udfValue; } - elseif ($udfToKeep[$udfKey] !== $udf && !is_null($udf)) + elseif ($udfToKeep[$udfKey] !== $udfValue && !is_null($udfValue)) { if (is_null($udfToKeep[$udfKey])) - $udfToKeep[$udfKey] = $udf; + $udfToKeep[$udfKey] = $udfValue; else { From 9b1182405e16b333aab3893d1ace7f25b4c65b52 Mon Sep 17 00:00:00 2001 From: Paolo Date: Fri, 3 Dec 2021 15:56:39 +0100 Subject: [PATCH 100/475] - core/FHC_Controller->outputFile cleaned - Adapted controllers/lehre/anrechnung/* to make use of the changed core/FHC_Controller->outputFile - Changed application/core/FS_Model: - It's not abstract anymore - Added new constants READ_MODE, READ_WRITE_MODE, READ_APPEND_MODE, BLOCK_SIZE, META_URI - Constructor accept a mandatory parameter - Does not load the FilesystemLib anymore - Renamed all the public methods with the suffix Base64 - Added new public methods openRead, openReadWrite, openReadAppend, close, readBlock and write - Added new private methods _checkPath and _open - Removed the libraries/FilesystemLib - Adapted model content/DmsFS_model to make use of the changed core/FS_Model - Changed libraries/DmsLib: - Does not extend the FHC_Controller anymore - removed private propery UPLOAD_PATH - Cleaned code, make use of the standards - Adapted to use the Base64 suffixed methods from core/FS_Model - Deprecated old methods - Refactored public methods download and getFileInfo --- .../anrechnung/ApproveAnrechnungDetail.php | 8 +- .../ApproveAnrechnungUebersicht.php | 30 +- .../lehre/anrechnung/RequestAnrechnung.php | 11 +- .../anrechnung/ReviewAnrechnungDetail.php | 11 +- .../anrechnung/ReviewAnrechnungUebersicht.php | 12 +- application/core/FHC_Controller.php | 36 ++- application/core/FS_Model.php | 297 ++++++++++++++---- application/libraries/DmsLib.php | 248 +++++++-------- application/libraries/FilesystemLib.php | 142 --------- application/models/content/DmsFS_model.php | 6 +- 10 files changed, 423 insertions(+), 378 deletions(-) delete mode 100644 application/libraries/FilesystemLib.php diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php index 8982b9970..1209674af 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungDetail.php @@ -385,13 +385,17 @@ class approveAnrechnungDetail extends Auth_Controller } // Check if user is entitled to read dms doc - self::_checkIfEntitledToReadDMSDoc($dms_id); + $this->_checkIfEntitledToReadDMSDoc($dms_id); // Set filename to be used on downlaod $filename = $this->anrechnunglib->setFilenameOnDownload($dms_id); + // Get file to be downloaded from DMS + $download = $this->dmslib->download($dms_id, $filename); + if (isError($download)) return $download; + // Download file - $this->dmslib->download($dms_id, $filename); + $this->outputFile(getData($download)); } /** diff --git a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php index d59d97514..804e06206 100644 --- a/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ApproveAnrechnungUebersicht.php @@ -225,7 +225,7 @@ class approveAnrechnungUebersicht extends Auth_Controller return $this->outputJsonSuccess($retval); } - + /** * Download and open uploaded document (Nachweisdokument). */ @@ -239,16 +239,19 @@ class approveAnrechnungUebersicht extends Auth_Controller } // Check if user is entitled to read dms doc - self::_checkIfEntitledToReadDMSDoc($dms_id); + $this->_checkIfEntitledToReadDMSDoc($dms_id); // Set filename to be used on downlaod $filename = $this->anrechnunglib->setFilenameOnDownload($dms_id); - + + // Get file to be downloaded from DMS + $download = $this->dmslib->download($dms_id, $filename); + if (isError($download)) return $download; + // Download file - $this->dmslib->download($dms_id, $filename); + $this->outputFile(getData($download)); } - - + /** * Retrieve the UID of the logged user and checks if it is valid */ @@ -266,25 +269,24 @@ class approveAnrechnungUebersicht extends Auth_Controller private function _checkIfEntitledToReadDMSDoc($dms_id) { $result = $this->AnrechnungModel->loadWhere(array('dms_id' => $dms_id)); - + if(!$result = getData($result)[0]) { show_error('Failed retrieving Anrechnung'); } - + $result = $this->LehrveranstaltungModel->loadWhere(array( 'lehrveranstaltung_id' => $result->lehrveranstaltung_id )); - - + if(!$result = getData($result)[0]) { show_error('Failed loading Lehrveranstaltung'); } - + // Get STGL $result = $this->StudiengangModel->getLeitung($result->studiengang_kz); - + if($result = getData($result)[0]) { if ($result->uid == $this->_uid) @@ -292,7 +294,7 @@ class approveAnrechnungUebersicht extends Auth_Controller return; } } - + show_error('You are not entitled to read this document'); } @@ -411,4 +413,4 @@ class approveAnrechnungUebersicht extends Auth_Controller return $lector_arr; } -} \ No newline at end of file +} diff --git a/application/controllers/lehre/anrechnung/RequestAnrechnung.php b/application/controllers/lehre/anrechnung/RequestAnrechnung.php index 45a770cf5..ff1682330 100644 --- a/application/controllers/lehre/anrechnung/RequestAnrechnung.php +++ b/application/controllers/lehre/anrechnung/RequestAnrechnung.php @@ -205,9 +205,14 @@ class requestAnrechnung extends Auth_Controller } // Check if user is entitled to read dms doc - self::_checkIfEntitledToReadDMSDoc($dms_id); + $this->_checkIfEntitledToReadDMSDoc($dms_id); - $this->dmslib->download($dms_id); + // Get file to be downloaded from DMS + $download = $this->dmslib->download($dms_id, $filename); + if (isError($download)) return $download; + + // Download file + $this->outputFile(getData($download)); } /** @@ -366,4 +371,4 @@ class requestAnrechnung extends Auth_Controller // Upload document return $this->dmslib->upload($dms, 'uploadfile', array('pdf')); } -} \ No newline at end of file +} diff --git a/application/controllers/lehre/anrechnung/ReviewAnrechnungDetail.php b/application/controllers/lehre/anrechnung/ReviewAnrechnungDetail.php index 78175f4e6..c0a757157 100644 --- a/application/controllers/lehre/anrechnung/ReviewAnrechnungDetail.php +++ b/application/controllers/lehre/anrechnung/ReviewAnrechnungDetail.php @@ -217,15 +217,18 @@ class reviewAnrechnungDetail extends Auth_Controller } // Check if user is entitled to read dms doc - self::_checkIfEntitledToReadDMSDoc($dms_id); + $this->_checkIfEntitledToReadDMSDoc($dms_id); // Set filename to be used on downlaod $filename = $this->anrechnunglib->setFilenameOnDownload($dms_id); - // Download file - $this->dmslib->download($dms_id, $filename); - } + // Get file to be downloaded from DMS + $download = $this->dmslib->download($dms_id, $filename); + if (isError($download)) return $download; + // Download file + $this->outputFile(getData($download)); + } /** * Retrieve the UID of the logged user and checks if it is valid diff --git a/application/controllers/lehre/anrechnung/ReviewAnrechnungUebersicht.php b/application/controllers/lehre/anrechnung/ReviewAnrechnungUebersicht.php index cd0b7afaf..a80d0921a 100644 --- a/application/controllers/lehre/anrechnung/ReviewAnrechnungUebersicht.php +++ b/application/controllers/lehre/anrechnung/ReviewAnrechnungUebersicht.php @@ -180,13 +180,17 @@ class reviewAnrechnungUebersicht extends Auth_Controller } // Check if user is entitled to read dms doc - self::_checkIfEntitledToReadDMSDoc($dms_id); + $this->_checkIfEntitledToReadDMSDoc($dms_id); // Set filename to be used on downlaod $filename = $this->anrechnunglib->setFilenameOnDownload($dms_id); - + + // Get file to be downloaded from DMS + $download = $this->dmslib->download($dms_id, $filename); + if (isError($download)) return $download; + // Download file - $this->dmslib->download($dms_id, $filename); + $this->outputFile(getData($download)); } @@ -317,4 +321,4 @@ class reviewAnrechnungUebersicht extends Auth_Controller } } -} \ No newline at end of file +} diff --git a/application/core/FHC_Controller.php b/application/core/FHC_Controller.php index ce8748c5a..efc06c354 100644 --- a/application/core/FHC_Controller.php +++ b/application/core/FHC_Controller.php @@ -132,31 +132,41 @@ abstract class FHC_Controller extends CI_Controller { $this->output->set_content_type('application/json')->set_output(json_encode($mixed)); } - + + /** + * To download the given file represented by the fileObj parameter. + * fileObj has the following structure: + * $fileObj->filename + * $fileObj->file + * $fileObj->name + * $fileObj->mimetype + * $fileObj->disposition + */ protected function outputFile($fileObj) { - if (file_exists($fileObj->file)) + // If the file exists + if (isset($fileObj->file) && !isEmptyString($fileObj->file) && file_exists($fileObj->file)) { - $finfo = new finfo(FILEINFO_MIME); - header('Content-Description: File Transfer'); - header('Content-Type: '. $finfo->file($fileObj->file)); + header('Content-Type: '. $fileObj->mimetype); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($fileObj->file)); - - if (isset($fileObj->disposition) && ($fileObj->disposition == 'inline' || $fileObj->disposition == 'attachment')) + + if (isset($fileObj->disposition) + && ($fileObj->disposition == 'inline' || $fileObj->disposition == 'attachment')) { header('Content-Disposition: '. $fileObj->disposition. '; filename="'. $fileObj->name. '"'); } - - readfile($fileObj->file); - - exit; + + readfile($fileObj->file); // reads the file content to the output buffer + } + else + { + // Otherwise print an error + show_error('The provided file does not exist: '.(isset($fileObj->file) ? $fileObj->file : 'file not given')); } - - return false; } //------------------------------------------------------------------------------------------------------------------ diff --git a/application/core/FS_Model.php b/application/core/FS_Model.php index 03a0ee095..3b117aac8 100644 --- a/application/core/FS_Model.php +++ b/application/core/FS_Model.php @@ -3,113 +3,214 @@ if (!defined('BASEPATH')) exit('No direct script access allowed'); /** - * + * Model to work with the filesystem, it represents a directory + * It could be extended or could be used directly to work on the given path */ -abstract class FS_Model extends CI_Model +class FS_Model extends CI_Model { - protected $filepath; // Path of the file + const READ_MODE = 'r'; + const READ_WRITE_MODE = 'w+'; + const READ_APPEND_MODE = 'a+'; + const BLOCK_SIZE = 8192; + const META_URI = 'uri'; + + private $_path; // Directory where this model can operate /** - * Loads FilesystemLib and set properties + * Set properties */ - public function __construct($filepath = null) + public function __construct($path) { parent::__construct(); - // Load the filesystem library - $this->load->library('FilesystemLib'); + $this->_path = $path; + } - $this->filepath = $filepath; + // ------------------------------------------------------------------------------------------------------------------ + // Public methods + + /** + * Opens a file in read mode and returns its file handle + */ + public function openRead($filename) + { + return $this->_open($filename, self::READ_MODE); } /** - * Read data from file system - * - * @return array + * Opens a file in read and write mode and returns its file handle + * If the file does not exist then it is created */ - public function read($filename) + public function openReadWrite($filename) { - // Check Class-Attributes - if (is_null($this->filepath)) return error('The given filepath in not valid', EXIT_ERROR); - - // Check method parameters - if (is_null($filename)) return error('The given filename is not valid', EXIT_ERROR); - - if (!is_null($data = $this->filesystemlib->read($this->filepath, $filename))) - { - return success(base64_encode($data)); - } - else - { - return error('An error occurred while reading a file', EXIT_ERROR); - } + return $this->_open($filename, self::READ_WRITE_MODE); } /** - * Writing data to file system - * - * @param string $fileContent File content - * @return object + * Opens a file in read and append mode and returns its file handle + * If the file does not exist then it is created */ - public function write($filename, $content) + public function openReadAppend($filename) { - // Check Class-Attributes - if (is_null($this->filepath)) return error('The given filepath in not valid', EXIT_ERROR); - - // Check method parameters - if (is_null($content)) return error('The given file content is not valid', EXIT_ERROR); - if (is_null($filename)) return error('The given filename is not valid', EXIT_ERROR); - - if ($this->filesystemlib->write($this->filepath, $filename, base64_decode($content)) === true) - { - return success(); - } - else - { - return error('An error occurred while writing a file', EXIT_ERROR); - } + return $this->_open($filename, self::READ_APPEND_MODE); } /** - * Append data to a file - * - * @param array $data File content - * @return array + * Closes a file handle */ - public function append($filename, $content) + public function close($fileHandle) { - // Check Class-Attributes - if (is_null($this->filepath)) return error('The given filepath in not valid', EXIT_ERROR); + return fclose($fileHandle) === true ? success() : error('Error while closing the file handler'); + } - // Check method parameters - if (is_null($content)) return error('The given file content is not valid', EXIT_ERROR); - if (is_null($filename)) return error('The given filename is not valid', EXIT_ERROR); + /** + * Reads a block of bytes from the given file + * Returns a success that contains the block + * On failure returns an error + */ + public function readBlock($fileHandle) + { + // Reads a block of bytes from the file + $block = fread($fileHandle, self::BLOCK_SIZE); - if ($this->filesystemlib->append($this->filepath, $filename, base64_decode($content)) === true) + // If an error occurred + if ($block === false) { - return success(); + // Prepare the error message + $errorMsg = 'An error occurred while reading a file'; + + // Tries to get the file name and to concatenate it to the error message + $fileMetaData = stream_get_meta_data($fileHandle); + if (isset($fileMetaData[self::META_URI])) $errorMsg .= ': '.$fileMetaData[self::META_URI]; + + return error($errorMsg); // returns the error } - else + + return success($block); // return success if everything was fine + } + + /** + * Writes/appends (depending on how the file was opened) a content into a file + * Returns a success that contains the written number of bytes + * On failure returns an error + */ + public function write($fileHandle, $content) + { + // Writes the provided content to the file + $writeResult = fwrite($fileHandle, $content); + + // If an error occurred + if ($writeResult === false) { - return error('An error occurred while appending to a file', EXIT_ERROR); + $errorMsg = 'An error occurred while writing a file'; + + // Tries to get the file name and to concatenate it to the error message + $fileMetaData = stream_get_meta_data($fileHandle); + if (isset($fileMetaData[self::META_URI])) $errorMsg .= ': '.$fileMetaData[self::META_URI]; + + return error($errorMsg); // returns the error } + + return success($writeResult); + } + + // ------------------------------------------------------------------------------------------------------------------ + // Old public methods that work with the base64 encoding, not to be used! + + /** + * Read data from the given file and encode its content to base64 + */ + public function readBase64($filename) + { + // Open the file in read mode + $openReadResult = $this->openRead($filename); + if (isError($openReadResult)) return $openReadResult; // if an error occurred then return it + + $fileContent = ''; // to store the file content + $fileHandle = getData($openReadResult); // get the file handle + + // While the end of the file is not reached and the read does not fail + while (!feof($fileHandle) && isSuccess($readBlockResult = $this->readBlock($fileHandle))) + { + // Concatenate the content of the file + $fileContent .= getData($readBlockResult); + } + + // If an error occurred while reading then return it + if (isError($readBlockResult)) return $readBlockResult; + + // Close the file handler + $closeResult = $this->close($fileHandle); + if (isError($closeResult)) return $closeResult; // if it fails then return the error + + // If everything was fine encode the file content into base64 and return it as a success + return success(base64_encode($fileContent)); + } + + /** + * Writes the given content into the given file. The content is base64 encoded + */ + public function writeBase64($filename, $content) + { + // Open the file in read and write mode + $openWriteResult = $this->openReadWrite($filename); + if (isError($openWriteResult)) return $openWriteResult; // if an error occurred then return it + + $fileHandle = getData($openWriteResult); // get the file handle + + // Writes the given base64 encoded content into to given file + $writeResult = $this->write($fileHandle, base64_decode($content)); + // If an error occurred while writing then return it + if (isError($writeResult)) return $writeResult; + + // Close the file handler + $closeResult = $this->close($fileHandle); + if (isError($closeResult)) return $closeResult; // if it fails then return the error + + // If everything was fine + return success(); + } + + /** + * Appends the given content into the given file. The content is base64 encoded + */ + public function appendBase64($filename, $content) + { + // Open the file in read and append mode + $openWriteResult = $this->openReadAppend($filename); + if (isError($openWriteResult)) return $openWriteResult; // if an error occurred then return it + + $fileHandle = getData($openWriteResult); // get the file handle + + // Writes the given base64 encoded content into to given file + $writeResult = $this->write($fileHandle, base64_decode($content)); + // If an error occurred while writing then return it + if (isError($writeResult)) return $writeResult; + + // Close the file handler + $closeResult = $this->close($fileHandle); + if (isError($closeResult)) return $closeResult; // if it fails then return the error + + // If everything was fine + return success(); } /** * Delete data from file system + * NOTE: it does not work with the base64 encoding but it has been kept for retro compatibility * * @param string $id Primary Key for DELETE * @return array */ - public function remove($filename) + public function removeBase64($filename) { // Check Class-Attributes - if (is_null($this->filepath)) return error('The given filepath in not valid', EXIT_ERROR); + if (is_null($this->_path)) return error('The given _path in not valid', EXIT_ERROR); // Check method parameters if (is_null($filename)) return error('The given filename is not valid', EXIT_ERROR); - if ($this->filesystemlib->remove($this->filepath, $filename) === true) + if (unlink($this->_path.DIRECTORY_SEPARATOR.$filename) === true) { return success(); } @@ -121,20 +222,21 @@ abstract class FS_Model extends CI_Model /** * Rename a file + * NOTE: it does not work with the base64 encoding but it has been kept for retro compatibility * * @param string $id Primary Key for DELETE * @return array */ - public function rename($filename, $newFilename) + public function renameBase64($filename, $newFilename) { // Check Class-Attributes - if (is_null($this->filepath)) return error('The given filepath in not valid', EXIT_ERROR); + if (is_null($this->_path)) return error('The given _path in not valid', EXIT_ERROR); // Check method parameters if (is_null($filename)) return error('The given filename is not valid', EXIT_ERROR); if (is_null($newFilename)) return error('The given new filename is not valid', EXIT_ERROR); - if ($this->filesystemlib->rename($this->filepath, $filename, $this->filepath, $newFilename) === true) + if (rename($this->_path.DIRECTORY_SEPARATOR.$filename, $this->_path.DIRECTORY_SEPARATOR.$newFilename) === true) { return success(); } @@ -143,4 +245,67 @@ abstract class FS_Model extends CI_Model return error('An error occurred while renaming a file', EXIT_ERROR); } } + + // ------------------------------------------------------------------------------------------------------------------ + // Private methods + + /** + * Checks if the given $this->_path is a valid directory + */ + private function _checkPath() + { + // If _path... + if (!isEmptyString($this->_path) // ...is a not empty string... + && file_exists($this->_path) && is_dir($this->_path)) // ...exists on the file system and it is a directory... + { + return success(); // return a success + } + + // If not a valid path return an error + return error('The given path is not valid: '.$this->_path); + } + + /** + * Open a file using the provided mode + * It returns a file handle + * Or write and append if the file does not exist then creates it + */ + private function _open($filename, $mode) + { + // Check if the property _path represents a valid directory + $checkResult = $this->_checkPath(); + if (isError($checkResult)) return $checkResult; // If not then return the error + + // Full file path: path + filename + $fileFullPath = $this->_path.DIRECTORY_SEPARATOR.$filename; + + // If needed then check if the file exists and really it is a file + if ($mode == self::READ_MODE && (!file_exists($fileFullPath) || !is_file($fileFullPath))) + { + return error('Trying to read a not existing file'); + } + + // If needed then check if it is possible to read from the path and the file + if ($mode == self::READ_MODE && (!is_readable($this->_path) || !is_readable($fileFullPath))) + { + return error('The given path or filename are not readable: '.$fileFullPath); + } + + // If needed then check if the path and the filename are writable + if (($mode == self::READ_WRITE_MODE || $mode == self::READ_APPEND_MODE) + && (!is_writable($this->_path) || (file_exists($fileFullPath) && !is_writable($fileFullPath)))) + { + return error('The given path or filename are not writable: '.$fileFullPath); + } + + // Open the file in read mode + $fileHandle = fopen($fileFullPath, $mode); + + // If it was a failure the return the error + if ($fileHandle === false) return error('An error occurred while opening a file in '.$mode.' mode'); + + // Otherwise return the file handle + return success($fileHandle); + } } + diff --git a/application/libraries/DmsLib.php b/application/libraries/DmsLib.php index eae1a9ac4..e0360440c 100644 --- a/application/libraries/DmsLib.php +++ b/application/libraries/DmsLib.php @@ -2,24 +2,35 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); -class DmsLib extends FHC_Controller +class DmsLib { const FILE_CONTENT_PROPERTY = 'file_content'; - - private $UPLOAD_PATH = DMS_PATH; // temporary directory to store the upload file + + private $_ci; // code igniter instance /** * Object initialization */ public function __construct() { - $this->ci =& get_instance(); + $this->_ci =& get_instance(); - $this->ci->load->model('crm/Akte_model', 'AkteModel'); - $this->ci->load->model('content/Dms_model', 'DmsModel'); - $this->ci->load->model('content/DmsVersion_model', 'DmsVersionModel'); - $this->ci->load->model('content/DmsFS_model', 'DmsFSModel'); + $this->_ci->load->model('crm/Akte_model', 'AkteModel'); // deprecated, should not be used here! + $this->_ci->load->model('content/Dms_model', 'DmsModel'); + $this->_ci->load->model('content/DmsVersion_model', 'DmsVersionModel'); + $this->_ci->load->model('content/DmsFS_model', 'DmsFSModel'); } + + // ----------------------------------------------------------------------------------------------------------- + // Public methods + + + // ----------------------------------------------------------------------------------------------------------- + // Private methods + + + // ----------------------------------------------------------------------------------------------------------- + // Deprecated methods, not to be used /** * Load a DMS Document. @@ -33,19 +44,20 @@ class DmsLib extends FHC_Controller { if (is_numeric($dms_id)) { - $this->ci->DmsModel->addJoin('campus.tbl_dms_version', 'dms_id'); - $this->ci->DmsModel->addOrder('version', 'DESC'); - $this->ci->DmsModel->addLimit(1); + $this->_ci->DmsModel->addJoin('campus.tbl_dms_version', 'dms_id'); + $this->_ci->DmsModel->addOrder('version', 'DESC'); + $this->_ci->DmsModel->addLimit(1); if (!is_numeric($version)) { - return $this->ci->DmsModel->load($dms_id); + return $this->_ci->DmsModel->load($dms_id); } else { - return $this->ci->DmsModel->loadWhere(array('dms_id' => $dms_id, 'version' => $version)); + return $this->_ci->DmsModel->loadWhere(array('dms_id' => $dms_id, 'version' => $version)); } } + return error('The parameter DMS ID must be a number'); } @@ -57,34 +69,30 @@ class DmsLib extends FHC_Controller */ public function read($dms_id, $version = null) { - $result = null; + $result = error('Wrong dms_id parameter'); if (isset($dms_id)) { - $this->ci->DmsModel->addJoin('campus.tbl_dms_version', 'dms_id'); - $this->ci->DmsModel->addOrder('version', 'DESC'); - $this->ci->DmsModel->addLimit(1); + $this->_ci->DmsModel->addJoin('campus.tbl_dms_version', 'dms_id'); + $this->_ci->DmsModel->addOrder('version', 'DESC'); + $this->_ci->DmsModel->addLimit(1); if (!isset($version)) { - $result = $this->ci->DmsModel->load($dms_id); + $result = $this->_ci->DmsModel->load($dms_id); } else { - $result = $this->ci->DmsModel->loadWhere(array('dms_id' => $dms_id, 'version' => $version)); + $result = $this->_ci->DmsModel->loadWhere(array('dms_id' => $dms_id, 'version' => $version)); } - } - if (hasData($result)) - { - $resultFS = $this->ci->DmsFSModel->read($result->retval[0]->filename); - if (isSuccess($resultFS)) + // If a dms has been found + if (hasData($result)) { - $result->retval[0]->{DmsLib::FILE_CONTENT_PROPERTY} = $resultFS->retval; - } - else - { - $result = $resultFS; + $resultFS = $this->_ci->DmsFSModel->readBase64(getData($result)[0]->filename); + if (isError($resultFS)) return $resultFS; // if an error occurred return it + + $result->retval[0]->{self::FILE_CONTENT_PROPERTY} = getData($resultFS); } } @@ -101,22 +109,16 @@ class DmsLib extends FHC_Controller */ public function getAktenAcceptedDms($person_id, $dokument_kurzbz = null, $no_file = null) { - $result = $this->ci->AkteModel->getAktenAcceptedDms($person_id, $dokument_kurzbz); + $result = $this->_ci->AkteModel->getAktenAcceptedDms($person_id, $dokument_kurzbz); if (hasData($result) && $no_file == null) { - $cnt = count($result->retval); - for ($i = 0; $i < $cnt; $i++) + for ($i = 0; $i < count(getData($result)); $i++) { - $resultFS = $this->ci->DmsFSModel->read($result->retval[$i]->filename); - if (isSuccess($resultFS)) - { - $result->retval[$i]->{DmsLib::FILE_CONTENT_PROPERTY} = $resultFS->retval; - } - else - { - $result = $resultFS; - } + $resultFS = $this->_ci->DmsFSModel->readBase64(getData($result)[$i]->filename); + if (isError($resultFS)) return $resultFS; // if an error occurred return it + + $result->retval[$i]->{self::FILE_CONTENT_PROPERTY} = getData($resultFS); } } @@ -135,24 +137,24 @@ class DmsLib extends FHC_Controller // Init upload configs $this->_loadUploadLibrary($allowed_types); - if (!$this->ci->upload->do_upload($field_name)) + if (!$this->_ci->upload->do_upload($field_name)) { - return error($this->ci->upload->display_errors()); + return error($this->_ci->upload->display_errors()); } - $upload_data = $this->ci->upload->data(); // data about the uploaded file + $upload_data = $this->_ci->upload->data(); // data about the uploaded file $filename = $upload_data['file_name']; // Insert to DMS table - if (!$result = $this->ci->DmsModel->insert($this->ci->DmsModel->filterFields($dms))) + if (!$result = $this->_ci->DmsModel->insert($this->_ci->DmsModel->filterFields($dms))) { return error('Failed inserting to DMS'); } - $upload_data['dms_id'] = $result->retval; + $upload_data['dms_id'] = getData($result); // Insert DMS version - if (!$result = $this->ci->DmsVersionModel->insert( - $this->ci->DmsVersionModel->filterFields($dms, $result->retval, $filename))) + if (!$result = $this->_ci->DmsVersionModel->insert( + $this->_ci->DmsVersionModel->filterFields($dms, getData($result), $filename))) { return error('Failed inserting DMS version'); } @@ -171,36 +173,29 @@ class DmsLib extends FHC_Controller */ public function download($dms_id, $filename = null, $disposition = 'inline') { - $result = $this->getFileInfo($dms_id); - - if (isError($result)) + // Retrieves info about the given dms + $fileInfoResult = $this->getFileInfo($dms_id); + if (isError($fileInfoResult)) return error(getError($fileInfoResult)); + + // If data have been found + if (hasData($fileInfoResult)) { - return error(getError($result)); + $fileObj = getData($fileInfoResult); + + // Change filename, if filename is provided + if (!isEmptyString($filename)) $fileObj->name = $filename; + + // Add file disposition if disposition has a valid value + if ($disposition == 'attachment' || $disposition == 'inline') + { + $fileObj->disposition = $disposition; + } + + return success($fileObj); } - $fileObj = getData($result); - - // Change filename, if filename is provided - if (is_string($filename)) - { - $fileObj->name = $filename; - } - - // Add file disposition - if ($disposition == 'attachment') - { - $fileObj->disposition = 'attachment'; - } - else - { - $fileObj->disposition = 'inline'; - } - - // Output file - if(!$this->outputFile($fileObj)) - { - return error('Error on file output'); - } + // If no data have been found then return an empty success + return success(); } /** @@ -212,28 +207,28 @@ class DmsLib extends FHC_Controller */ public function getFileInfo($dms_id, $version = null) { - if (!is_numeric($dms_id)) - { - return error('Wrong parameter'); - } + // Checks the dms_id parameter + if (!is_numeric($dms_id)) return error('Wrong parameter'); - // Load file + // Load DMS from database $result = $this->load($dms_id, $version); + if (isError($result)) return error(getError($result)); - if (isError($result)) + // If data have been found + if (hasData($result)) { - return error(getError($result)); + // Store file information in fileObj + $fileObj = new StdClass(); + $fileObj->filename = getData($result)[0]->filename; + $fileObj->file = DMS_PATH.getData($result)[0]->filename; + $fileObj->name = DMS_PATH.getData($result)[0]->name; // original user filename + $fileObj->mimetype = getData($result)[0]->mimetype; + + return success($fileObj); } - // Store file information in fileObj - $fileObj = new StdClass(); - $fileObj->filename = getData($result)[0]->filename; - $fileObj->file = DMS_PATH. getData($result)[0]->filename; - $fileObj->name = DMS_PATH. getData($result)[0]->name; // original users filename - $fileObj->mimetype = DMS_PATH. getData($result)[0]->mimetype; - - return success($fileObj); - + // If no data have been found return an empty success + return success(); } /** @@ -253,20 +248,20 @@ class DmsLib extends FHC_Controller $result = $this->_saveFileOnInsert($dms); if (isSuccess($result)) { - $filename = $result->retval; + $filename = getData($result); if (isset($dms['dms_id']) && $dms['dms_id'] != '') { - $result = $this->ci->DmsVersionModel->insert( - $this->ci->DmsVersionModel->filterFields($dms, $dms['dms_id'], $filename) + $result = $this->_ci->DmsVersionModel->insert( + $this->_ci->DmsVersionModel->filterFields($dms, $dms['dms_id'], $filename) ); } else { - $result = $this->ci->DmsModel->insert($this->ci->DmsModel->filterFields($dms)); + $result = $this->_ci->DmsModel->insert($this->_ci->DmsModel->filterFields($dms)); if (isSuccess($result)) { - $result = $this->ci->DmsVersionModel->insert( - $this->ci->DmsVersionModel->filterFields($dms, $result->retval, $filename) + $result = $this->_ci->DmsVersionModel->insert( + $this->_ci->DmsVersionModel->filterFields($dms, getData($result), $filename) ); } } @@ -277,15 +272,15 @@ class DmsLib extends FHC_Controller $result = $this->_saveFileOnUpdate($dms); if (isSuccess($result)) { - $result = $this->ci->DmsModel->update($dms['dms_id'], $this->ci->DmsModel->filterFields($dms)); + $result = $this->_ci->DmsModel->update($dms['dms_id'], $this->_ci->DmsModel->filterFields($dms)); if (isSuccess($result)) { - $result = $this->ci->DmsVersionModel->update( + $result = $this->_ci->DmsVersionModel->update( array( $dms['dms_id'], $dms['version'] ), - $this->ci->DmsVersionModel->filterFields($dms) + $this->_ci->DmsVersionModel->filterFields($dms) ); } } @@ -308,56 +303,54 @@ class DmsLib extends FHC_Controller if (is_numeric($person_id) && is_numeric($dms_id)) { // Start DB transaction - $this->ci->db->trans_start(false); + $this->_ci->db->trans_start(false); // Get akte_id from table tbl_akte - $result = $this->ci->AkteModel->loadWhere(array('person_id' => $person_id, 'dms_id' => $dms_id)); + $result = $this->_ci->AkteModel->loadWhere(array('person_id' => $person_id, 'dms_id' => $dms_id)); if (isSuccess($result)) { // Delete all entries in tbl_akte - $cnt = count($result->retval); - for ($i = 0; $i < $cnt; $i++) + for ($i = 0; $i < count(getData($result)); $i++) { - $this->ci->AkteModel->delete($result->retval[$i]->akte_id); + $this->_ci->AkteModel->delete(getData($result)[$i]->akte_id); } // Get all filenames related to this dms - $resultFileNames = $this->ci->DmsVersionModel->loadWhere(array('dms_id' => $dms_id)); + $resultFileNames = $this->_ci->DmsVersionModel->loadWhere(array('dms_id' => $dms_id)); if (isSuccess($resultFileNames)) { // Delete from tbl_dms_version - $result = $this->ci->DmsVersionModel->delete(array('dms_id' => $dms_id)); + $result = $this->_ci->DmsVersionModel->delete(array('dms_id' => $dms_id)); if (isSuccess($result)) { // Delete from tbl_dms - $result = $this->ci->DmsModel->delete($dms_id); + $result = $this->_ci->DmsModel->delete($dms_id); } } } // Transaction complete! - $this->ci->db->trans_complete(); + $this->_ci->db->trans_complete(); // Check if everything went ok during the transaction - if ($this->ci->db->trans_status() === false || isError($result)) + if ($this->_ci->db->trans_status() === false || isError($result)) { - $this->ci->db->trans_rollback(); + $this->_ci->db->trans_rollback(); $result = error('An error occurred while performing a delete operation', EXIT_ERROR); } else { - $this->ci->db->trans_commit(); + $this->_ci->db->trans_commit(); $result = success('Dms successfully removed from DB'); } // If everything is ok if (isSuccess($result)) { - $cnt = count($resultFileNames->retval); // Remove all files related to this person and dms - for ($i = 0; $i < $cnt; $i++) + for ($i = 0; $i < count(getData($resultFileNames)); $i++) { - $this->ci->DmsFSModel->remove($resultFileNames->retval[$i]->filename); + $this->_ci->DmsFSModel->removeBase64(getData($resultFileNames)[$i]->filename); } } } @@ -376,19 +369,19 @@ class DmsLib extends FHC_Controller */ public function getAkteContent($akte_id) { - $akte = $this->ci->AkteModel->load($akte_id); + $akte = $this->_ci->AkteModel->load($akte_id); if (hasData($akte)) { - if ($akte->retval[0]->inhalt != '') + if (getData($akte)[0]->inhalt != '') { - return success(base64_decode($akte->retval[0]->inhalt)); + return success(base64_decode(getData($akte)[0]->inhalt)); } - elseif ($akte->retval[0]->dms_id != '') + elseif (getData($akte)[0]->dms_id != '') { - $dmscontent = $this->read($akte->retval[0]->dms_id); + $dmscontent = $this->read(getData($akte)[0]->dms_id); if (isSuccess($dmscontent)) { - return success(base64_decode($dmscontent->retval[0]->file_content)); + return success(base64_decode(getData($dmscontent)[0]->file_content)); } else { @@ -415,10 +408,10 @@ class DmsLib extends FHC_Controller { $filename = uniqid().'.'.pathinfo($dms['name'], PATHINFO_EXTENSION); - $result = $this->ci->DmsFSModel->write($filename, $dms['file_content']); + $result = $this->_ci->DmsFSModel->writeBase64($filename, $dms['file_content']); if (isSuccess($result)) { - $result->retval = $filename; + $result = success($filename); } return $result; @@ -439,7 +432,7 @@ class DmsLib extends FHC_Controller if (hasData($result)) { - $result = $this->ci->DmsFSModel->write($result->retval[0]->filename, $dms['file_content']); + $result = $this->_ci->DmsFSModel->writeBase64(getData($result)[0]->filename, $dms['file_content']); } } @@ -451,12 +444,13 @@ class DmsLib extends FHC_Controller */ private function _loadUploadLibrary($allowed_types) { - $config['upload_path'] = $this->UPLOAD_PATH; + $config['upload_path'] = DMS_PATH; $config['allowed_types'] = implode('|', $allowed_types); $config['overwrite'] = true; $config['file_name'] = uniqid().'.pdf'; - $this->ci->load->library('upload', $config); - $this->ci->upload->initialize($config); + $this->_ci->load->library('upload', $config); + $this->_ci->upload->initialize($config); } } + diff --git a/application/libraries/FilesystemLib.php b/application/libraries/FilesystemLib.php deleted file mode 100644 index c940acede..000000000 --- a/application/libraries/FilesystemLib.php +++ /dev/null @@ -1,142 +0,0 @@ -checkParameters($filepath, $filename)) - { - $resource = $filepath.DIRECTORY_SEPARATOR.$filename; - if (file_exists($resource) && $fileHandle = fopen($resource, 'r')) - { - $result = ''; - while (!feof($fileHandle)) - { - $result .= fread($fileHandle, 8192); - } - fclose($fileHandle); - } - } - - return $result; - } - - /** - * write - */ - public function write($filepath, $filename, $content) - { - $result = null; - - if ($this->checkParameters($filepath, $filename) && isset($content)) - { - $resource = $filepath.DIRECTORY_SEPARATOR.$filename; - if (is_writable($filepath) && $fileHandle = fopen($resource, 'w')) - { - if (fwrite($fileHandle, $content) !== false) - { - $result = true; - } - fclose($fileHandle); - } - } - - return $result; - } - - /** - * append - */ - public function append($filepath, $filename, $content) - { - $result = null; - - if ($this->checkParameters($filepath, $filename) && isset($content)) - { - $resource = $filepath.DIRECTORY_SEPARATOR.$filename; - if (is_writable($resource) && $fileHandle = fopen($resource, 'a')) - { - if (fwrite($fileHandle, $content) !== false) - { - $result = true; - } - fclose($fileHandle); - } - } - - return $result; - } - - /** - * remove - */ - public function remove($filepath, $filename) - { - $result = null; - - if ($this->checkParameters($filepath, $filename)) - { - if (is_writable($filepath)) - { - $resource = $filepath.DIRECTORY_SEPARATOR.$filename; - $result = unlink($resource); - } - } - - return $result; - } - - /** - * rename - */ - public function rename($filepath, $filename, $newFilepath, $newFilename) - { - $result = null; - - if ($this->checkParameters($filepath, $filename) && $this->checkParameters($newFilepath, $newFilename)) - { - $resource = $filepath.DIRECTORY_SEPARATOR.$filename; - if (is_writable($filepath) && is_writable($newFilepath) && file_exists($resource)) - { - $destination = $newFilepath.DIRECTORY_SEPARATOR.$newFilename; - $result = rename($resource, $destination); - } - } - - return $result; - } -} diff --git a/application/models/content/DmsFS_model.php b/application/models/content/DmsFS_model.php index 38a72d853..81443805f 100644 --- a/application/models/content/DmsFS_model.php +++ b/application/models/content/DmsFS_model.php @@ -7,7 +7,7 @@ class DmsFS_model extends FS_Model */ public function __construct() { - parent::__construct(); - $this->filepath = DMS_PATH; + parent::__construct(DMS_PATH); } -} \ No newline at end of file +} + From dd8876a375f2f1090943038b2e424bae1548e19e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 6 Dec 2021 10:16:19 +0100 Subject: [PATCH 101/475] =?UTF-8?q?Automatische=20Pause=20f=C3=BCr=20einze?= =?UTF-8?q?lne=20typen=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 6864641c3..1e91aec20 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -660,7 +660,7 @@ echo ' function checkPausenblock() { var sel = $("#aktivitaet").val(); - var activities = ["Admin", "Lehre", "FuE", "Operativ", "Betrieb", "Design"]; + var activities = ["Admin", "Lehre", "FuE", "Operativ", "Betrieb", "Design", "LVEntwicklung", "Weiterbildung", "FuEallg"]; if (activities.includes(sel)) showPausenblock(); else From 9c0da32841f591a6da9c9d91d87cec110d5e352e Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 6 Dec 2021 15:51:45 +0100 Subject: [PATCH 102/475] Adapted TEMPUS queries to get correct Zeitwunsch (of given Zeitwunschgueltigkeit) Now correct Zeitwunsch is displayed for - Wochenplan and Semesterplan of a lector - Wochenplan, when a LV is added, to which more lectors are assigned: Now query checks to get correct Zeitwunsch of each lector --- include/zeitwunsch.class.php | 39 +++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/include/zeitwunsch.class.php b/include/zeitwunsch.class.php index 9c60c3a7a..4e94ac059 100644 --- a/include/zeitwunsch.class.php +++ b/include/zeitwunsch.class.php @@ -197,15 +197,32 @@ class zeitwunsch extends basis_db } /** - * Alle Zeitwuensche einer Person laden + * Alle Zeitwuensche einer Person laden. + * Um auf einen Zeitwunsch einer bestimmten Zeit, also innerhalb einer bestimmten Zeitwunschgueltigkeit + * zu beschraenken, kann ein Datum mitgegeben werden. * @param uid - * @param datum + * @param datum UNIX timestamp, um Zeitwunsch mit richtiger Zeitwunschgueltigkeit zu ermitteln * @return boolean Ergebnis steht in Array $zeitwunsch wenn true */ public function loadPerson($uid,$datum=null) { + // Default datum: jetzt + if (is_null($datum)) + { + $datum = time(); + } + + $qry = " + SELECT * + FROM campus.tbl_zeitwunsch + JOIN campus.tbl_zeitwunsch_gueltigkeit zwg USING (zeitwunsch_gueltigkeit_id) + WHERE zwg.mitarbeiter_uid=". $this->db_add_param($uid). " + AND ". $this->db_add_param(date('Y-m-d', $datum)). " BETWEEN von AND bis; + "; + + // Zeitwuensche abfragen - if(!$this->db_query("SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=".$this->db_add_param($uid))) + if(!$this->db_query($qry)) { $this->errormsg = $this->db_last_error(); return false; @@ -292,12 +309,16 @@ class zeitwunsch extends basis_db /** * Zeitwunsch der Personen in Lehreinheiten laden * @param $le_id LehreinheitID Array - * @param $datum + * @param $datum UNIX timestamp Datum, um Zeitwunsch mit richtiger Zeitwunschgueltigkeit zu ermitteln * @return true oder false */ - public function loadZwLE($le_id,$datum=null) + public function loadZwLE($le_id, $datum = null) { - //$this->init(); + // Default datum: jetzt + if (is_null($datum)) + { + $datum = time(); + } // SUB-Select fuer LVAs $sql_query_leid=''; $sql_query_le='SELECT DISTINCT mitarbeiter_uid FROM campus.vw_lehreinheit WHERE '; @@ -308,7 +329,11 @@ class zeitwunsch extends basis_db // Schlechteste Zeitwuensche holen $sql_query='SELECT tag,stunde,min(gewicht) AS gewicht - FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid IN ('.$sql_query_le.') GROUP BY tag,stunde'; + FROM campus.tbl_zeitwunsch + JOIN campus.tbl_zeitwunsch_gueltigkeit zwg USING (zeitwunsch_gueltigkeit_id) + WHERE zwg.mitarbeiter_uid IN ('.$sql_query_le.') + AND '. $this->db_add_param(date('Y-m-d', $datum)). ' BETWEEN von AND bis + GROUP BY tag,stunde;'; // Zeitwuensche abfragen if(!$this->db_query($sql_query)) From 40871c73a0e0bb333ec996215c5776b30dbd78f8 Mon Sep 17 00:00:00 2001 From: Cris Date: Tue, 7 Dec 2021 17:16:15 +0100 Subject: [PATCH 103/475] Added link to Vilesci Zeitwuensche in TEMPUS Now, when rightclicking on 'Zeitwuensche einsehen' on a lector in Tempus, the Vilesci Zeitwuensche of that lector is opened. --- content/tempusoverlay.js.php | 23 ++++++++++++++ content/tempusoverlay.xul.php | 2 ++ vilesci/personen/zeitwunsch.php | 55 ++++++++++++++++++++++++++++++--- 3 files changed, 75 insertions(+), 5 deletions(-) diff --git a/content/tempusoverlay.js.php b/content/tempusoverlay.js.php index a187f5176..7c539797d 100644 --- a/content/tempusoverlay.js.php +++ b/content/tempusoverlay.js.php @@ -330,6 +330,29 @@ function onLektorSelect(event) } } +function LektorFunktionLoadZeitwunschAdminUrl(){ + + var treeLektor = document.getElementById('tree-lektor'); + var col = treeLektor.columns ? treeLektor.columns["uid"] : "uid"; + try + { + var uid = treeLektor.view.getCellText(treeLektor.currentIndex,col); + } + catch(e) + { + } + + if (uid == '' || uid == undefined) + { + alert('LektorIn auswählen, um Zeitwünsche einsehen zu können.'); + return; + } + else + { + window.open('vilesci/personen/zeitwunsch.php?uid=' + uid); + } +} + function loadURL(event) { var contentFrame = document.getElementById('contentFrame'); diff --git a/content/tempusoverlay.xul.php b/content/tempusoverlay.xul.php index 0e35d71f0..2e1da8b8b 100644 --- a/content/tempusoverlay.xul.php +++ b/content/tempusoverlay.xul.php @@ -186,6 +186,8 @@ echo ' + + diff --git a/vilesci/personen/zeitwunsch.php b/vilesci/personen/zeitwunsch.php index 6e0460f5f..1bc9dd13e 100644 --- a/vilesci/personen/zeitwunsch.php +++ b/vilesci/personen/zeitwunsch.php @@ -337,9 +337,9 @@ $selected_zwg_id = !is_null($selected_zwg) ? $selected_zwg->zeitwunsch_gueltigke $(function(){ // Bei Wechsel von Zeitwunschgueltigkeit die Seite mit GET params neu laden $('#zwg').change(function(){ - let uid = $('input[name="uid"]').val(); - let zeitwunsch_gueltigkeit_id = $('option:selected', this).val(); - let studiensemester = $('option:selected', this).data('stsem'); + var uid = $('input[name="uid"]').val(); + var zeitwunsch_gueltigkeit_id = $('option:selected', this).val(); + var studiensemester = $('option:selected', this).data('stsem'); window.location = '?uid=' + uid + '&zwg_id=' + zeitwunsch_gueltigkeit_id + '&stsem=' + studiensemester; }); @@ -359,7 +359,7 @@ $zwg_arr = $zwg->result; // Dropdown echo '';

     

    + Date: Tue, 7 Dec 2021 17:24:07 +0100 Subject: [PATCH 104/475] Refactored query to load a single Zeitwunschgueltigkeit Instead of limiting returning rows by using ende of next Studiensemester, it is limited by ordering and limiting query now. --- include/zeitwunsch_gueltigkeit.class.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/include/zeitwunsch_gueltigkeit.class.php b/include/zeitwunsch_gueltigkeit.class.php index 33dfdf65f..32b51d9f6 100644 --- a/include/zeitwunsch_gueltigkeit.class.php +++ b/include/zeitwunsch_gueltigkeit.class.php @@ -1,7 +1,6 @@ db_add_param($zeitwunsch_gueltigkeit_id). ' - AND (von < ende AND COALESCE(bis, '. $this->db_add_param($studiensemester->ende).'::date ) > start) - ORDER BY von DESC + AND (von < ende AND COALESCE(bis, \'2999-12-31\'::date ) > start) + ORDER BY start ASC + LIMIT 1 '; if ($result = $this->db_query($qry)) @@ -63,6 +63,9 @@ class zeitwunsch_gueltigkeit extends basis_db $this->insertvon = $row->insertvon; $this->updateamum = $row->updateamum; $this->updatevon = $row->updatevon; + $this->studiensemester_kurzbz = $row->studiensemester_kurzbz; + $this->start = $row->start; + $this->ende = $row->ende; } return true; } From 6855686c66edfc0b4f8786b82854e9335c8950d2 Mon Sep 17 00:00:00 2001 From: Cris Date: Tue, 7 Dec 2021 18:25:55 +0100 Subject: [PATCH 105/475] Changed text and removed link mailto LV Planung --- cis/private/profile/zeitwunsch.php | 6 +++--- locale/de-AT/zeitwunsch.php | 9 +++++---- locale/en-US/zeitwunsch.php | 7 ++++--- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index c8dea109a..1596fd582 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -668,8 +668,9 @@ function checkIsVerplant($uid, $studiensemester_kurzbz) echo '
    '; echo '
    '; echo ''. $p->t("zeitwunsch/bearbeitungDeaktiviert"). ': '; - echo ''. $p->t("zeitwunsch/bearbeitungDeaktiviertText", array($selected_ss, MAIL_LVPLAN, $p->t('lvplan/lvPlanung'))). ' - '. $p->t("zeitwunsch/bearbeitungAktivieren"). ' + echo $p->t("zeitwunsch/bearbeitungDeaktiviertText", array($selected_ss, $p->t('global/studiengangsmanagement'))). ' + '. $p->t("zeitwunsch/bearbeitungAktivieren"). '
    + '. $p->t("zeitwunsch/kompetenzfeldWirdInformiert") . '
    '; echo '
    '; // end panel heading echo '
    '; // end panel @@ -695,7 +696,6 @@ function checkIsVerplant($uid, $studiensemester_kurzbz)
  • t('zeitwunsch/sperrenSieNurTermine');?>
  • t('zeitwunsch/esSolltenFuerJedeStunde');?>

  • -

    t('lvplan/fehlerUndFeedback');?> t('lvplan/lvPlanung');?>.



    diff --git a/locale/de-AT/zeitwunsch.php b/locale/de-AT/zeitwunsch.php index d56494104..35c8c3c99 100644 --- a/locale/de-AT/zeitwunsch.php +++ b/locale/de-AT/zeitwunsch.php @@ -26,7 +26,7 @@ $this->phrasen['zeitwunsch/profil']='Profil'; $this->phrasen['zeitwunsch/geteilteArbeitszeit']='Ich bin mit der Verplanung meiner Lehre in getrennten Blöcken am Tagesrand einverstanden.'; $this->phrasen['zeitwunsch/gueltigIm']="Mein Zeitwunsch gültig im: "; $this->phrasen['zeitwunsch/erklaerungstext']="Sie können Ihren Zeitwunsch direkt in der Tabelle bearbeiten oder einen Zeitwunsch eines vergangenen Studiensemester kopieren.
    - Solange Sie keine Änderungen vornehmen, wird Ihr Zeitwunsch immer ins nächste Studiensemester übernommen."; +
    Solange Sie keine Änderungen vornehmen, wird Ihr Zeitwunsch immer ins nächste Studiensemester übernommen."; $this->phrasen['zeitwunsch/werteAuf1setzen']="Alle Werte auf 1 setzen"; $this->phrasen['zeitwunsch/kopierenText']="Wählen Sie rechts das gewünschte Studiensemester aus. Der Zeitwunsch wird dann automatisch in die Tabelle übernommen.
    @@ -36,8 +36,9 @@ $this->phrasen['zeitwunsch/aendern']= "kopieren von früherem Studiensemeste $this->phrasen['zeitwunsch/stundenBereitsVerplant']='Stunden für %s bereits verplant'; $this->phrasen['zeitwunsch/fuer']='Zeitwunsch für %s  '; $this->phrasen['zeitwunsch/bearbeitungDeaktiviert']='Bearbeitung deaktiviert'; -$this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='Ihnen wurden im %s bereits Lehrveranstaltung(en) zugeteilt.
    - Bitte stimmen Sie sich vor einer Änderung mit der %s ab.
    - Möchten Sie mit der Bearbeitung fortsetzen?'; +$this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='Ihnen wurden im %s bereits Lehrveranstaltung(en) zugeteilt.
    + Bitte stimmen Sie sich vor einer Änderung mit dem %s ab.
    + Möchten Sie trotzdem ohne Abstimmung bzw. nach bereits erfolgter Abstimmung fortsetzen?'; $this->phrasen['zeitwunsch/bearbeitungAktivieren']='Bearbeitung aktivieren'; +$this->phrasen['zeitwunsch/kompetenzfeldWirdInformiert']= 'INFO: Kompetenzfeld wird über die Änderung per Mail informiert'; ?> diff --git a/locale/en-US/zeitwunsch.php b/locale/en-US/zeitwunsch.php index 7d89d65f2..d12863710 100644 --- a/locale/en-US/zeitwunsch.php +++ b/locale/en-US/zeitwunsch.php @@ -26,7 +26,7 @@ $this->phrasen['zeitwunsch/profil']='Profile'; $this->phrasen['zeitwunsch/geteilteArbeitszeit']='Ich bin mit der Verplanung meiner Lehre in getrennten Blöcken am Tagesrand einverstanden.'; $this->phrasen['zeitwunsch/gueltigIm']="My preferred times valid in: "; $this->phrasen['zeitwunsch/erklaerungstext']="You can edit your preferred times directly in the table or copy a your preferred times from a previous semester.
    - As long as you do not make any changes, your preferred times will be carried over to the next study semester."; + As long as you do not make any changes, your preferred times will be carried over to the next study semester."; $this->phrasen['zeitwunsch/werteAuf1setzen']="Set all values to 1"; $this->phrasen['zeitwunsch/kopierenText']="Select the desired semester on the right. Your preferred time of that semester is then automatically transferred to the table.
    @@ -37,7 +37,8 @@ $this->phrasen['zeitwunsch/stundenBereitsVerplant']='Hours already scheduled for $this->phrasen['zeitwunsch/fuer']='Preferred time for %s  '; $this->phrasen['zeitwunsch/bearbeitungDeaktiviert']='Editing disabled'; $this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='You have already been assigned to course(s) in %s.
    - Please agree with %s before making a change.
    - Do you want to proceed editing?'; + Please agree with %s before making a change.
    + Would you still like to continue without agreement or after having agreed?'; $this->phrasen['zeitwunsch/bearbeitungAktivieren']='Enable editing'; +$this->phrasen['zeitwunsch/kompetenzfeldWirdInformiert']= 'INFO: The field of competence will be informed of your changes by email'; ?> From 684363aaead5e8dddb306498089c4afb7e88db9f Mon Sep 17 00:00:00 2001 From: Manfred Date: Tue, 7 Dec 2021 20:58:47 +0100 Subject: [PATCH 106/475] Anpassungen bpk und Gebustsdatum --- vilesci/bis/lehrgangsmeldung.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/vilesci/bis/lehrgangsmeldung.php b/vilesci/bis/lehrgangsmeldung.php index 8649c2a5b..158d7d164 100644 --- a/vilesci/bis/lehrgangsmeldung.php +++ b/vilesci/bis/lehrgangsmeldung.php @@ -311,7 +311,7 @@ if($result = $db->db_query($qry)) //Vergleich der letzten 6 Stellen der SVNR mit Geburtsdatum - ausser bei 01.01. und 01.07. if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107') { - $error_log_hinweis.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; + $error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$row->gebdatum.") nicht"; } //Vergleich der letzten 6 Stellen des Ersatzkennzeichen mit Geburtsdatum if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat) @@ -390,7 +390,7 @@ if($result = $db->db_query($qry)) } if($row->bpk == '' || $row->bpk == null) { - $error_log .= (!empty($error_log) ? ', ' : '') . "bPK fehlt"; + $error_log_hinweis .= (!empty($error_log_hinweis) ? ', ' : '') . "bPK fehlt"; } if($row->bpk != '' && $row->bpk != null) @@ -606,7 +606,7 @@ if($result = $db->db_query($qry)) { if($error_log_hinweis != '') { - $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($laststatus->status_kurzbz): \n"; + $v.="Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($row->status_kurzbz): \n"; $v.="     ".$error_log_hinweis." (Nicht BIS-Relevant)\n"; $error_log_hinweis = ''; } @@ -649,10 +649,13 @@ if($result = $db->db_query($qry)) $datei.=" ".$row->ersatzkennzeichen.""; } - - $datei.=" - ".$row->bpk." - "; + + if($row->bpk != '' && $row->bpk != null) + { + $datei.=" + ".$row->bpk." + "; + } $datei.=" ".$row->staatsbuergerschaft." From 5edc56a8f2a89143c7562d4f767268beffc1da20 Mon Sep 17 00:00:00 2001 From: Manfred Date: Tue, 7 Dec 2021 20:59:38 +0100 Subject: [PATCH 107/475] =?UTF-8?q?Speichern=20von=20Insertamum=20und=20Up?= =?UTF-8?q?dateamum=20bei=20R=C3=A4umen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/stammdaten/raum_details.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vilesci/stammdaten/raum_details.php b/vilesci/stammdaten/raum_details.php index 92f71886a..09ff298a5 100644 --- a/vilesci/stammdaten/raum_details.php +++ b/vilesci/stammdaten/raum_details.php @@ -115,9 +115,15 @@ $sg_update->gebteil = $gebteil; $sg_update->oe_kurzbz = $oe_kurzbz; $sg_update->arbeitsplaetze = $arbeitsplaetze; + $sg_update->updateamum = date('Y-m-d H:i:s'); + $sg_update->updatevon = $user; if ($_POST["neu"] == "true") + { + $sg_update->insertamum = date('Y-m-d H:i:s'); + $sg_update->insertvon = $user; $sg_update->new = 1; + } if(!$sg_update->save()) { From 3301aa87ddd7183f6bc5c9ab25e58ff864774186 Mon Sep 17 00:00:00 2001 From: Manfred Date: Tue, 7 Dec 2021 21:00:53 +0100 Subject: [PATCH 108/475] =?UTF-8?q?Export=20f=C3=BCr=20alle=20Bachelor=20u?= =?UTF-8?q?nd=20Masterstudieng=C3=A4nge.=20BIS-Datum=20als=20GET?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/bis/studentenmeldung.php | 261 +++++++++++++++++++------------ 1 file changed, 161 insertions(+), 100 deletions(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 710e38ead..6d1650f53 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -54,7 +54,6 @@ $error_log_hinweis=''; $error_log1=''; $error_log_all=""; $error_log_io = ''; // error log fuer plausichecks von incomings/outgoings -$stgart=''; $fehler=''; $maxsemester=0; $v=''; @@ -106,6 +105,8 @@ $student_data=array(); $datum_obj = new datum(); //Beginn- und Endedatum des aktuellen Semesters +// Update 07.12.2021 kindlm: scheint nicht verwendet zu werden +/* $qry="SELECT * FROM public.tbl_studiensemester WHERE studiensemester_kurzbz=".$db->db_add_param($ssem).";"; if($result = $db->db_query($qry)) { @@ -114,7 +115,8 @@ if($result = $db->db_query($qry)) $beginn=$row->start; $ende=$row->ende; } -} +}*/ + //Ermittlung aktuelles und letztes BIS-Meldedatum if(mb_strstr($ssem,"WS")) { @@ -130,6 +132,13 @@ else { die('Ungültiges Studiensemester!'); } + +//Wenn bisdatum als GET-Parameter übergeben wird, dieses Datum nehmen +if (isset($_GET['bisdatum'])) +{ + $bisdatum = $_GET['bisdatum']; +} + //ausgewaehlter Studiengang if(isset($_GET['stg_kz'])) { @@ -178,75 +187,46 @@ $kodex_studstatuscode_array['Unterbrecher']=2; $kodex_studstatuscode_array['Absolvent'] =3; $kodex_studstatuscode_array['Abbrecher'] =4; -//Studiengangsdaten auslesen -$stg_obj = new studiengang(); -if($stg_obj->load($stg_kz)) -{ - $maxsemester=$stg_obj->max_semester; - if($maxsemester==0) - { - echo "Die maximale Semesteranzahl des Studienganges ist nicht angegeben!"; - exit; - } - - $erhalter = sprintf('%03s',$stg_obj->erhalter_kz); - - switch($stg_obj->typ) - { - case 'b': $stgart=1; break; - case 'm': $stgart=2; break; - case 'd': $stgart=3; break; - case 'e': $stgart=4; break; - default: die('

    Dieser Studiengangstyp kann nicht gemeldet werden. Typ muss (b, m, d oder e) sein

    '); break; - } - - // DoubleDegree Studierende werden per Default aus BB gemeldet. - // Wenn es ein reiner VZ Studiengang ist, dann sollen diese aber als VZ gemeldet werden. - if($stg_obj->orgform_kurzbz=='VZ') - $orgform_code_array['DDP']=$orgform_code_array['VZ']; - - $orgform_code = $orgform_code_array[$stg_obj->orgform_kurzbz]; - $orgform_kurzbz=$stg_obj->orgform_kurzbz; -} -else - die('Fehler:'.$stg_obj->errormsg); - - //Ausgabe aktiver Studenten, die nicht gemeldet werden -$qry_akt=" - SELECT - DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id - FROM - public.tbl_student - JOIN public.tbl_benutzer ON(student_uid=uid) - JOIN public.tbl_person USING (person_id) - JOIN public.tbl_prestudent USING (prestudent_id) - JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) - WHERE - bismelden=FALSE - AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." - AND (tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)." AND status_kurzbz IN ('Student','Diplomand','Unterbrecher','Praktikant','Outgoing')) - AND tbl_prestudent.prestudent_id NOT IN - ( - SELECT prestudent_id - FROM public.tbl_prestudentstatus - WHERE - tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)." - AND (status_kurzbz='Abbrecher' OR status_kurzbz='Absolvent') - ) - ORDER BY student_uid, nachname, vorname - "; -if($result_akt = $db->db_query($qry_akt)) +if ($stg_kz != 'alleBaMa') { - while($row_akt = $db->db_fetch_object($result_akt)) + $qry_akt = " + SELECT + DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id + FROM + public.tbl_student + JOIN public.tbl_benutzer ON(student_uid=uid) + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_prestudent USING (prestudent_id) + JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) + WHERE + bismelden=FALSE + AND tbl_student.studiengang_kz=".$db->db_add_param($stg_kz)." + AND (tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)." AND status_kurzbz IN ('Student','Diplomand','Unterbrecher','Praktikant','Outgoing')) + AND tbl_prestudent.prestudent_id NOT IN + ( + SELECT prestudent_id + FROM public.tbl_prestudentstatus + WHERE + tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem)." + AND (status_kurzbz='Abbrecher' OR status_kurzbz='Absolvent') + ) + ORDER BY student_uid, nachname, vorname + "; + if ($result_akt = $db->db_query($qry_akt)) { - $v.="Person (UID, Vorname, Nachname) '".$row_akt->student_uid."', '".$row_akt->nachname."', '".$row_akt->vorname."' hat Status $row_akt->status_kurzbz, wird aber nicht BIS gemeldet!!!
    \n"; - $anzahl_fehler++; + while ($row_akt = $db->db_fetch_object($result_akt)) + { + $v .= "Person (UID, Vorname, Nachname) '".$row_akt->student_uid."', '".$row_akt->nachname."', '".$row_akt->vorname."' hat Status $row_akt->status_kurzbz, wird aber nicht BIS gemeldet!!!
    \n"; + $anzahl_fehler++; + } } } +if ($stg_kz != 'alleBaMa') +{ //Incoming ohne I/O Datensatz anzeigen -$qry_in=" + $qry_in = " SELECT DISTINCT ON(student_uid, nachname, vorname) *, public.tbl_person.person_id AS pers_id FROM @@ -261,16 +241,16 @@ $qry_in=" AND (status_kurzbz='Incoming' AND NOT EXISTS (SELECT 1 FROM bis.tbl_bisio WHERE student_uid=tbl_student.student_uid)) ORDER BY student_uid, nachname, vorname "; -if($result_in = $db->db_query($qry_in)) -{ - while($row_in = $db->db_fetch_object($result_in)) + if ($result_in = $db->db_query($qry_in)) { - $v.="Bei Student (UID, Vorname, Nachname) '".$row_in->student_uid."', '".$row_in->nachname."', '".$row_in->vorname."' ($row_in->status_kurzbz): \n"; - $v.="     Es fehlt der I/O-Datensatz\n\n"; - $anzahl_fehler++; + while ($row_in = $db->db_fetch_object($result_in)) + { + $v .= "Bei Student (UID, Vorname, Nachname) '".$row_in->student_uid."', '".$row_in->nachname."', '".$row_in->vorname."' ($row_in->status_kurzbz): \n"; + $v .= "     Es fehlt der I/O-Datensatz\n\n"; + $anzahl_fehler++; + } } } - //Hauptselect // An der FHTW können nur die Incomings ausgelesen werden, wenn die stg_kz 10006 übergeben wird if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006) @@ -292,6 +272,34 @@ if (CAMPUS_NAME == 'FH Technikum Wien' && $stg_kz==10006) ORDER BY student_uid, nachname, vorname "; } +// Wenn "alleBaMa" als $stg_kz übergeben wird, wird ein großes XML mit allen Studiengängen geladen +elseif ($stg_kz == 'alleBaMa') +{ + $qry=" + SELECT + DISTINCT ON(tbl_studiengang.typ, tbl_student.studiengang_kz, matrikelnummer, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat + FROM + public.tbl_student + JOIN public.tbl_benutzer ON(student_uid=uid) + JOIN public.tbl_person USING (person_id) + JOIN public.tbl_prestudent USING (prestudent_id) + JOIN public.tbl_prestudentstatus ON(tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id) + JOIN public.tbl_studiengang ON (tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz) + WHERE + bismelden=TRUE + AND tbl_studiengang.typ IN ('b','m') + AND (((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($ssem).") AND (tbl_prestudentstatus.datum<=".$db->db_add_param($bisdatum).") + AND (status_kurzbz='Student' OR status_kurzbz='Outgoing' + OR status_kurzbz='Praktikant' OR status_kurzbz='Diplomand' OR status_kurzbz='Absolvent' + OR status_kurzbz='Abbrecher' OR status_kurzbz='Unterbrecher')) + OR ((tbl_prestudentstatus.studiensemester_kurzbz=".$db->db_add_param($psem).") AND (status_kurzbz='Absolvent' + OR status_kurzbz='Abbrecher') AND tbl_prestudentstatus.datum>".$db->db_add_param($bisprevious).") + OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") + OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) + ))) + ORDER BY tbl_studiengang.typ, tbl_student.studiengang_kz, matrikelnummer, nachname, vorname + "; +} else { $qry=" @@ -321,25 +329,72 @@ else if($result = $db->db_query($qry)) { - $header =" - - ".$erhalter." - ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." - - - ".$stg_kz.""; - - - $datei .= $header; - $dateiNurBewerber .= $header; + $stg_kz_index = ''; while($row = $db->db_fetch_object($result)) { - $datei.= GenerateXMLStudentBlock($row); + if ($row->studiengang_kz != $stg_kz_index) + { + //Studiengangsdaten auslesen + $stg_obj = new studiengang(); + if($stg_obj->load($row->studiengang_kz)) + { + $maxsemester = $stg_obj->max_semester; + if($maxsemester == 0) + { + echo "Die maximale Semesteranzahl des Studienganges ist nicht angegeben!"; + exit; + } + + $erhalter = sprintf('%03s',$stg_obj->erhalter_kz); + + switch($stg_obj->typ) + { + case 'b': $stgart = 1; break; + case 'm': $stgart = 2; break; + case 'd': $stgart = 3; break; + case 'e': $stgart = 4; break; + default: die('

    Dieser Studiengangstyp kann nicht gemeldet werden. Typ muss (b, m, d oder e) sein

    '); break; + } + + // DoubleDegree Studierende werden per Default aus BB gemeldet. + // Wenn es ein reiner VZ Studiengang ist, dann sollen diese aber als VZ gemeldet werden. + if($stg_obj->orgform_kurzbz == 'VZ') + $orgform_code_array['DDP'] = $orgform_code_array['VZ']; + + $orgform_code = $orgform_code_array[$stg_obj->orgform_kurzbz]; + $orgform_kurzbz = $stg_obj->orgform_kurzbz; + } + else + die('Fehler:'.$stg_obj->errormsg); + + // Header am Beginn rausschreiben + if ($stg_kz_index == '') + { + $header = " + + ".$erhalter." + ".date("dmY", $datumobj->mktime_fromdate($bisdatum))." + "; + + $datei .= $header; + $dateiNurBewerber .= $header; + } + if ($stg_kz_index != '' && $row->studiengang_kz != $stg_kz_index) + { + $datei .= " +
    "; + } + $stg_kz_index = $row->studiengang_kz; + $datei .= " + + ".$row->studiengang_kz.""; + } + $datei .= GenerateXMLStudentBlock($row); } //Bewerberblock bei Ausserordentlichen nicht anzeigen - if($stg_kz!=('9'.$erhalter)) + /*if($stg_kz!=('9'.$erhalter)) { $stg_obj = new studiengang(); @@ -360,7 +415,7 @@ if($result = $db->db_query($qry)) $datei.=$bewerberBlock; $dateiNurBewerber.=$bewerberBlock; } - } + }*/ } $footer=" @@ -421,6 +476,7 @@ if ($rechte->isBerechtigt('admin')) { echo '
    '; echo 'Studiengang: '; echo '
    '; } -$studiengang = new studiengang($stg_kz); -$typ = new studiengang($stg_kz); -$typ->getStudiengangTyp($studiengang->typ); -echo "

    BIS - Studentendaten werden überprüft! Studiengang: ".$db->convert_html_chars($stg_kz)." - ".$typ->bezeichnung." ".$studiengang->bezeichnung."

    \n"; +if ($stg_kz != 'alleBaMa') +{ + $studiengang = new studiengang($stg_kz); + $typ = new studiengang($stg_kz); + $typ->getStudiengangTyp($studiengang->typ); + echo "

    BIS - Studentendaten werden überprüft. Studiengang: ".$db->convert_html_chars($stg_kz)." - ".$typ->bezeichnung." ".$studiengang->bezeichnung."

    \n"; +} +else +{ + echo "

    BIS - Studentendaten aller Bachelor- und Master-Studiengänge werden überprüft.

    \n"; +} echo "

    Nicht plausible BIS-Daten (für Meldung ".$db->convert_html_chars($ssem)."):


    "; echo nl2br($v."\n\n"); @@ -821,7 +884,7 @@ function GenerateXMLStudentBlock($row) } if($row->svnr!='' && $row->svnr!=null && substr($row->svnr,4,6)!=$row->vdat && substr($row->vdat,0,4)!='0101' && substr($row->vdat,0,4)!='0107') { - $error_log_hinweis.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$datum_obj->formatDatum($row->gebdatum,'d.m.Y').") nicht"; + $error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."SVNR ('".$row->svnr."') enthält Geburtsdatum (".$datum_obj->formatDatum($row->gebdatum,'d.m.Y').") nicht"; } if($row->ersatzkennzeichen!='' && $row->ersatzkennzeichen!=null && substr($row->ersatzkennzeichen,4,6)!=$row->vdat) { @@ -853,7 +916,7 @@ function GenerateXMLStudentBlock($row) } if($row->bpk == '' || $row->bpk == null) { - $error_log .= (!empty($error_log) ? ', ' : '') . "bPK fehlt"; + $error_log_hinweis .= (!empty($error_log_hinweis) ? ', ' : '') . "bPK fehlt"; } if($row->bpk != '' && $row->bpk != null) { @@ -996,8 +1059,7 @@ function GenerateXMLStudentBlock($row) { if ($db->db_num_rows($resultAbbrecher) == 0) { - $error_log .= (!empty($error_log) ? ', ' : '')."Der Student ist Abbrecher vor der ersten BIS-Meldung. Bitte im FAS das Hakerl bei \"Bismelden\" im Reiter \"Prestudent\" entfernen"; - + //$error_log .= (!empty($error_log) ? ', ' : '')."Der Student ist Abbrecher vor der ersten BIS-Meldung. Bitte im FAS das Hakerl bei \"Bismelden\" im Reiter \"Prestudent\" entfernen"; } } } @@ -1322,9 +1384,11 @@ function GenerateXMLStudentBlock($row) " . $row->ersatzkennzeichen . ""; } - $datei .= " - " . $row->bpk . " - "; + if($row->bpk != '' && $row->bpk != null) + { + $datei.=" + ".$row->bpk.""; + } $datei .= " " . $row->staatsbuergerschaft . " @@ -1333,14 +1397,11 @@ function GenerateXMLStudentBlock($row) " . $nation . ""; - if (!$ausserordentlich && !$incoming) - { - $datei .= " + $datei .= " " . $zustell_plz . " " . $zustell_gemeinde . " " . $zustell_strasse . " " . $zustell_nation . ""; - } if ($co_name != '') { From d033803f47c9ab386cb28f86bee52ab1112fc318 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 9 Dec 2021 11:09:06 +0100 Subject: [PATCH 109/475] Sortierung an BIS Vergleich angepasst --- vilesci/bis/studentenmeldung.php | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/vilesci/bis/studentenmeldung.php b/vilesci/bis/studentenmeldung.php index 76ee1aecc..3842f7074 100644 --- a/vilesci/bis/studentenmeldung.php +++ b/vilesci/bis/studentenmeldung.php @@ -277,7 +277,7 @@ elseif ($stg_kz == 'alleBaMa') { $qry=" SELECT - DISTINCT ON(tbl_studiengang.typ, tbl_student.studiengang_kz, matrikelnummer, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat + DISTINCT ON(tbl_student.studiengang_kz, matrikelnr, nachname, vorname) *, public.tbl_person.person_id AS pers_id, to_char(gebdatum, 'ddmmyy') AS vdat FROM public.tbl_student JOIN public.tbl_benutzer ON(student_uid=uid) @@ -297,7 +297,7 @@ elseif ($stg_kz == 'alleBaMa') OR (status_kurzbz='Incoming' AND student_uid IN (SELECT student_uid FROM bis.tbl_bisio WHERE (tbl_bisio.bis>=".$db->db_add_param($bisprevious).") OR (tbl_bisio.von<=".$db->db_add_param($bisdatum)." AND (tbl_bisio.bis>=".$db->db_add_param($bisdatum)." OR tbl_bisio.bis IS NULL)) ))) - ORDER BY tbl_studiengang.typ, tbl_student.studiengang_kz, matrikelnummer, nachname, vorname + ORDER BY tbl_student.studiengang_kz, matrikelnr, nachname, vorname "; } else @@ -448,26 +448,26 @@ echo ' { $("#t1").tablesorter( { - sortList: [[6,1],[5,1],[4,1],[2,0],[3,0]], + sortList: [[6,1],[5,1],[4,1],[2,0],[3,0]], widgets: ["zebra", "filter", "stickyHeaders"], - widgetOptions : { filter_functions: - { - // Add select menu to this column + widgetOptions : { filter_functions: + { + // Add select menu to this column 4 : { - "Abbrecher" : function(e, n, f, i, $r, c, data) { return /Abbrecher/.test(e); }, + "Abbrecher" : function(e, n, f, i, $r, c, data) { return /Abbrecher/.test(e); }, "Absolvent" : function(e, n, f, i, $r, c, data) { return /Absolvent/.test(e); }, "Diplomand" : function(e, n, f, i, $r, c, data) { return /Diplomand/.test(e); }, "Incoming" : function(e, n, f, i, $r, c, data) { return /Incoming/.test(e); }, "Student" : function(e, n, f, i, $r, c, data) { return /Student/.test(e); }, - "Unterbrecher" : function(e, n, f, i, $r, c, data) { return /Unterbrecher/.test(e); }, + "Unterbrecher" : function(e, n, f, i, $r, c, data) { return /Unterbrecher/.test(e); }, } - } - } + } + } }); $("#t2").tablesorter( { - sortList: [[0,0],[1,0]], - widgets: ["zebra", "filter", "stickyHeaders"] + sortList: [[0,0],[1,0]], + widgets: ["zebra", "filter", "stickyHeaders"] }); }); From c3588b4eb49610da1a1b8c7099eb15290c27f1b2 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 9 Dec 2021 20:27:08 +0100 Subject: [PATCH 110/475] studeingang hinzugefuegt bei der uebersicht --- .../views/system/infocenter/infocenterAbgewiesenData.php | 2 ++ system/filtersupdate.php | 1 + 2 files changed, 3 insertions(+) diff --git a/application/views/system/infocenter/infocenterAbgewiesenData.php b/application/views/system/infocenter/infocenterAbgewiesenData.php index 3bf60a9ef..dbe0540be 100644 --- a/application/views/system/infocenter/infocenterAbgewiesenData.php +++ b/application/views/system/infocenter/infocenterAbgewiesenData.php @@ -14,6 +14,7 @@ $query = ' ps.prestudent_id AS "PreStudentID", p.vorname AS "Vorname", p.nachname AS "Nachname", + sg.kurzbzlang as "Studiengang", pss.insertamum AS "AbgewiesenAm", ( SELECT l.zeitpunkt @@ -62,6 +63,7 @@ $query = ' 'PreStudentID', 'Vorname', 'Nachname', + 'Studiengang', 'Abgewiesen am', 'Nachricht' ), diff --git a/system/filtersupdate.php b/system/filtersupdate.php index cf7ac4685..249a66fab 100644 --- a/system/filtersupdate.php +++ b/system/filtersupdate.php @@ -486,6 +486,7 @@ $filters = array( {"name": "PreStudentID"}, {"name": "Vorname"}, {"name": "Nachname"}, + {"name": "Studiengang"}, {"name": "AbgewiesenAm"}, {"name": "Nachricht"} ], From d6fb714b217800e10b5c6bdc1e7b59558d40b500 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 13 Dec 2021 10:04:15 +0100 Subject: [PATCH 111/475] - added methods in dmslib for adding and removing files and file versions - FS_Model: added remove method --- application/core/FS_Model.php | 19 ++ application/libraries/DmsLib.php | 421 +++++++++++++++++++++++++++++++ 2 files changed, 440 insertions(+) diff --git a/application/core/FS_Model.php b/application/core/FS_Model.php index 3b117aac8..512278374 100644 --- a/application/core/FS_Model.php +++ b/application/core/FS_Model.php @@ -114,6 +114,25 @@ class FS_Model extends CI_Model return success($writeResult); } + public function remove($filename) + { + // Check if the property _path represents a valid directory + $checkResult = $this->_checkPath(); + if (isError($checkResult)) return $checkResult; // If not then return the error + + // Check filename + if (isEmptyString($filename)) return error('The given filename is not valid'); + + if (unlink($this->_path.DIRECTORY_SEPARATOR.$filename) === true) + { + return success(); + } + else + { + return error('An error occurred while removing a file'); + } + } + // ------------------------------------------------------------------------------------------------------------------ // Old public methods that work with the base64 encoding, not to be used! diff --git a/application/libraries/DmsLib.php b/application/libraries/DmsLib.php index e0360440c..f0c4a36e3 100644 --- a/application/libraries/DmsLib.php +++ b/application/libraries/DmsLib.php @@ -7,6 +7,7 @@ class DmsLib const FILE_CONTENT_PROPERTY = 'file_content'; private $_ci; // code igniter instance + private $_uid; /** * Object initialization @@ -14,6 +15,7 @@ class DmsLib public function __construct() { $this->_ci =& get_instance(); + $this->_uid = getAuthUID(); $this->_ci->load->model('crm/Akte_model', 'AkteModel'); // deprecated, should not be used here! $this->_ci->load->model('content/Dms_model', 'DmsModel'); @@ -24,10 +26,429 @@ class DmsLib // ----------------------------------------------------------------------------------------------------------- // Public methods + public function add($name, $kategorie_kurzbz, $mimetype, $fileHandle, $dokument_kurzbz = null, $beschreibung = null, $cis_suche = false, $schlagworte = null) + { + $writeFileResult = $this->_writeNewFile($name, $fileHandle); + + if (isError($writeFileResult)) return $writeFileResult; + + if (hasData($writeFileResult)) + { + $writeFileData = getData($writeFileResult); + $filename = $writeFileData->filename; + + // if file written successful, insert dms + $dmsResult = $this->_ci->DmsModel->insert( + array( + 'kategorie_kurzbz' => $kategorie_kurzbz, + 'dokument_kurzbz' => $dokument_kurzbz + ) + ); + + if (isError($dmsResult)) return $dmsResult; + + if (hasData($dmsResult)) + { + $dms_id = getData($dmsResult); + $version = 0; + + // insert dms version + $dmsVersion = array( + 'dms_id' => $dms_id, + 'version' => $version, + 'filename' => $filename, + 'mimetype' => $mimetype, + 'name' => $name, + 'beschreibung' => $beschreibung, + 'cis_suche' => $cis_suche, + 'schlagworte' => $schlagworte, + 'insertvon' => $this->_uid, + 'insertamum' => date('Y-m-d H:i:s') + ); + + $dmsVersionResult = $this->_ci->DmsVersionModel->insert($dmsVersion); + + if (isError($dmsVersionResult)) return $dmsVersionResult; + + $resObj = new stdClass(); + $resObj->dms_id = $dms_id; + $resObj->version = $version; + $resObj->filename = $filename; + + return success($resObj); + } + else + return error("error when inserting DMS"); + } + else + return error("file could not be written"); + } + + public function addNewVersion($dms_id, $fileHandle, $name = null, $mimetype = null, $beschreibung = null, $cis_suche = false, $schlagworte = null) + { + // get the latest version + $lastVersionResult = $this->getLastVersion($dms_id); + + if (isError($lastVersionResult)) return $lastVersionResult; + + if (hasData($lastVersionResult)) + { + $lastVersion = getData($lastVersionResult); + + $originalName = isset($name) ? $name : $lastVersion->name; + + // write new file + $writeFileResult = $this->_writeNewFile($originalName, $fileHandle); + + if (isError($writeFileResult)) return $writeFileResult; + + if (hasData($writeFileResult)) + { + $writeFileData = getData($writeFileResult); + $filename = $writeFileData->filename; + + // insert new version + $newVersionNumber = $lastVersion->version + 1; + + // if new parameters given, use them, otherwise use parameters from last version + $newVersion = array( + 'dms_id' => $dms_id, + 'name' => $originalName, + 'filename' => $filename, + 'version' => $newVersionNumber, + 'mimetype' => isset($mimetype) ? $mimetype : $lastVersion->mimetype, + 'beschreibung' => isset($beschreibung) ? $beschreibung : $lastVersion->beschreibung, + 'cis_suche' => isset($cis_suche) ? $cis_suche : $lastVersion->cis_suche, + 'schlagworte' => isset($schlagworte) ? $schlagworte : $lastVersion->schlagworte, + 'insertvon' => $this->_uid, + 'insertamum' => date('Y-m-d H:i:s') + ); + + $addVersionResult = $this->_ci->DmsVersionModel->insert($newVersion); + + if (isError($addVersionResult)) + return $addVersionResult; + + $resObj = new stdClass(); + $resObj->version = $newVersionNumber; + $resObj->filename = $filename; + + return success($resObj); + } + else + return error("file could not be written"); + } + else + return error("last version not found"); + } + + public function updateLastVersion($dms_id, $fileHandle, $name = null, $mimetype = null, $beschreibung = null, $cis_suche = false, $schlagworte = null) + { + // get the latest version + $lastVersionResult = $this->getLastVersion($dms_id); + + if (isError($lastVersionResult)) return $lastVersionResult; + + if (hasData($lastVersionResult)) + { + $lastVersion = getData($lastVersionResult); + + // update file in filesystem + $writeFileResult = $this->_writeFile($lastVersion->filename, $fileHandle); + + if (isError($writeFileResult)) return $writeFileResult; + + if (hasData($writeFileResult)) + { + $writeFileData = getData($writeFileResult); + $filename = $writeFileData->filename; + + // if new parameters given, use them, otherwise use parameters from last version + $newVersion = array( + 'name' => isset($name) ? $name : $lastVersion->name, + 'filename' => $filename, + 'mimetype' => isset($mimetype) ? $mimetype : $lastVersion->mimetype, + 'beschreibung' => isset($beschreibung) ? $beschreibung : $lastVersion->beschreibung, + 'cis_suche' => isset($cis_suche) ? $cis_suche : $lastVersion->cis_suche, + 'schlagworte' => isset($schlagworte) ? $schlagworte : $lastVersion->schlagworte, + ); + + // update last dms version + $addVersionResult = $this->_ci->DmsVersionModel->update( + array($dms_id, $lastVersion->version), + $newVersion + ); + + if (isError($addVersionResult)) + return $addVersionResult; + + $resObj = new stdClass(); + $resObj->version = $lastVersion->version; + $resObj->filename = $filename; + + return success($resObj); + } + else + return error("file could not be written"); + } + else + return error("last version not found"); + } + + public function getLastVersion($dms_id) + { + $this->_ci->DmsVersionModel->addSelect('version'); + $this->_ci->DmsVersionModel->addOrder('version', 'DESC'); + $this->_ci->DmsVersionModel->addOrder('insertamum', 'DESC'); + $this->_ci->DmsVersionModel->addLimit(1); + $lastDmsVersionResult = $this->_ci->DmsVersionModel->loadWhere( + array('dms_id' => $dms_id) + ); + + if (isError($lastDmsVersionResult)) return $lastDmsVersionResult; + + if (hasData($lastDmsVersionResult)) + { + $lastDmsVersionData = getData($lastDmsVersionResult)[0]; + $lastDmsVersion = $lastDmsVersionData->version; + + return $this->getVersion($dms_id, $lastDmsVersion); + } + else + return error("Dms last version not found"); + } + + public function getVersion($dms_id, $version) + { + $this->_ci->DmsVersionModel->addSelect('dms_id, version, filename, mimetype, name, beschreibung, cis_suche, schlagworte'); + $dmsVersionResult = $this->_ci->DmsVersionModel->loadWhere( + array( + 'dms_id' => $dms_id, + 'version' => $version + ) + ); + + if (isError($dmsVersionResult)) return $dmsVersionResult; + + if (hasData($dmsVersionResult)) + { + $dmsVersion = getData($dmsVersionResult)[0]; + + // file content as file pointer + $fileHandleResult = $this->_ci->DmsFSModel->openRead($dmsVersion->filename); + + if (isError($fileHandleResult)) return $fileHandleResult; + + if (hasData($fileHandleResult)) + { + $fileHandle = getData($fileHandleResult); + $dmsVersion->{self::FILE_CONTENT_PROPERTY} = $fileHandle; + + $closeResult = $this->_ci->DmsFSModel->close($fileHandle); + + if (isError($closeResult)) return $closeResult; + + return success($dmsVersion); + } + else + return error("File could not be opened"); + } + else + return error("Dms version not found"); + } + + public function removeAll($dms_id) + { + $versions_removed = array(); + + $this->_ci->DmsVersionModel->addSelect('version, filename'); + $allVersionsResult = $this->_ci->DmsVersionModel->loadWhere(array('dms_id' => $dms_id)); + + if (hasData($allVersionsResult)) + { + $allVersionsData = getData($allVersionsResult); + + $error = null; + + // Start DB transaction + $this->_ci->db->trans_begin(); + + // remove all versions + foreach ($allVersionsData as $version) + { + $removeVersionResult = $this->removeVersion($dms_id, $version->version); + + if (isError($removeVersionResult)) + { + $error = $removeVersionResult; + break; + } + else + $versions_removed[] = $version; + } + + // Transaction complete! + $this->_ci->db->trans_complete(); + + // Check if everything went ok during the transaction + if ($this->_ci->db->trans_status() === false || isset($error)) + { + $this->_ci->db->trans_rollback(); + + if (isset($error)) + return $error; + else + return error("Error occured when deleting, rolled back"); + } + else + { + $this->_ci->db->trans_commit(); + } + } + + return success($versions_removed); + } + + public function removeLastVersion($dms_id) + { + $lastVersionNumber = 0; + // get the latest version + $lastVersionResult = $this->getLastVersion($dms_id); + + if (isError($lastVersionResult)) return $lastVersionResult; + + if (hasData($lastVersionResult)) + { + $lastVersion = getData($lastVersionResult); + $lastVersionNumber = $lastVersion->version; + } + + return $this->removeVersion($dms_id, $lastVersionNumber); + } + + public function removeVersion($dms_id, $version) + { + $removeVersionResultObj = new stdClass(); + $removeVersionResultObj->dms_id = null; + $removeVersionResultObj->version = null; + $removeVersionResultObj->filename = null; + + // load version and check how many versions there are + $db = new DB_Model(); + + $checkDeleteResult = $db->execReadOnlyQuery( + "SELECT filename, + (SELECT count(version) + FROM campus.tbl_dms_version dv_anzahl + WHERE dv_anzahl.dms_id = dv.dms_id) AS anzahl_versionen + FROM campus.tbl_dms_version dv + WHERE dms_id=? + AND version=?", + array($dms_id, $version) + ); + + if (isError($checkDeleteResult)) return $checkDeleteResult; + + if (hasData($checkDeleteResult)) + { + $checkDeleteData = getData($checkDeleteResult)[0]; + + $deleteVersionResult = $this->_ci->DmsVersionModel->delete(array($dms_id, $version)); + + if (isError($deleteVersionResult)) return $deleteVersionResult; + + $removeVersionResultObj->version = $version; + $removeVersionResultObj->filename = $checkDeleteData->filename; + + // delete dms too if no versions left + if ($checkDeleteData->anzahl_versionen <= 1) + { + $deleteDmsResult = $this->_ci->DmsModel->delete($dms_id); + + if (isError($deleteDmsResult)) return $deleteDmsResult; + + $removeVersionResultObj->dms_id = $dms_id; + } + + // delete file from file system + $removeResult = $this->_ci->DmsFSModel->remove($checkDeleteData->filename); + + if (isError($removeResult)) + return $removeResult; + } + + return success($removeVersionResultObj); + } // ----------------------------------------------------------------------------------------------------------- // Private methods + private function _writeNewFile($originalName, $fileHandle) + { + // create unique filename + $filename = $this->_getUniqueFilename($originalName); + return $this->_writeFile($filename, $fileHandle); + } + + private function _writeFile($filename, $fileHandle) + { + // copy file content provided by fileHandle + $fileContent = ''; + + $readBlockResult = success(); + + // While the end of the file is not reached and the read does not fail + while (!feof($fileHandle) && isSuccess($readBlockResult = $this->_ci->DmsFSModel->readBlock($fileHandle))) + { + // Concatenate the content of the file + $fileContent .= getData($readBlockResult); + } + + // If an error occurred while reading then return it + if (isError($readBlockResult)) return $readBlockResult; + + // open file for writing + $openFileResult = $this->_ci->DmsFSModel->openReadWrite($filename); + + if (isError($openFileResult)) return $openFileResult; + + if (!hasData($openFileResult)) return error("File could not be opened"); + + $newFileHandle = getData($openFileResult); + + // write file + $writeFileResult = $this->_ci->DmsFSModel->write($newFileHandle, $fileContent); + + if (isError($writeFileResult)) return $writeFileResult; + + $resObj = new stdClass(); + $resObj->bytesWritten = 0; + $resObj->filename = ''; + + if (hasData($writeFileResult)) + { + $resObj->bytesWritten = getData($writeFileResult); + $resObj->filename = $filename; + } + + // close handle + $closeResult = $this->_ci->DmsFSModel->close($newFileHandle, $fileContent); + + if (isError($closeResult)) return $closeResult; + + return success($resObj); + } + + private function _getUniqueFilename($dokname) + { + $uniqueFilename = uniqid(); + $fileExtension = pathinfo($dokname, PATHINFO_EXTENSION); + + if (!isEmptyString($fileExtension)) + $uniqueFilename .= '.'.$fileExtension; + + return $uniqueFilename; + } // ----------------------------------------------------------------------------------------------------------- // Deprecated methods, not to be used From cc770e6324f97ae1da97d5751902aa156dfd0a81 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 13 Dec 2021 11:29:11 +0100 Subject: [PATCH 112/475] Added param 'nurBevorstehende' to getStundenplanData method in Lehrstunden Class If 'nurBevorstehende' true, only future Studenplandata will be queried. --- include/lehrstunde.class.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index 84cd615ed..5cec78f3d 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -1062,7 +1062,19 @@ class lehrstunde extends basis_db return $result; } - public function getStundenplanData($db_stpl_table, $lehrveranstaltung_id=null, $studiensemester_kurzbz=null, $lehreinheit_id=null, $mitarbeiter_uid=null, $student_uid=null) + /** + * Holt Studenplandaten. + * + * @param $db_stpl_table + * @param null $lehrveranstaltung_id + * @param null $studiensemester_kurzbz + * @param null $lehreinheit_id + * @param null $mitarbeiter_uid + * @param null $student_uid + * @param false $nurBevorstehende Wenn true, dann werden nur bevorstehende LVs abgefragt. + * @return bool + */ + public function getStundenplanData($db_stpl_table, $lehrveranstaltung_id=null, $studiensemester_kurzbz=null, $lehreinheit_id=null, $mitarbeiter_uid=null, $student_uid=null, $nurBevorstehende = false) { $qry = "SELECT @@ -1114,6 +1126,11 @@ class lehrstunde extends basis_db else return false; + if($nurBevorstehende) + { + $qry.= " AND datum >= NOW()::date "; + } + $qry.="GROUP BY stpl.datum, stpl.unr, stpl.lehreinheit_id, lehrfach.bezeichnung ORDER BY stpl.datum, min(stpl.stunde), stpl.unr, stpl.lehreinheit_id"; From bb7922dd3a7f5dfa6771a1cdeecf5ce9419bf840 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 13 Dec 2021 11:40:32 +0100 Subject: [PATCH 113/475] Adapted to check only for future verplante LVs Only if LVs are assigend in the future, the lector should be informed and initially blocked to change their Zeitwunsch. For past LVs it is not relevant anymore. --- cis/private/profile/zeitwunsch.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 1596fd582..2c2a7bce1 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -346,7 +346,7 @@ function updateZWG($uid, $zwg_id, $bis) function checkIsVerplant($uid, $studiensemester_kurzbz) { $lstd = new Lehrstunde(); - if (!$lstd->getStundenplanData('stundenplandev', null, $studiensemester_kurzbz, null, $uid)) + if (!$lstd->getStundenplanData('stundenplandev', null, $studiensemester_kurzbz, null, $uid, null, true)) { die($lstd->errormsg); } From 8c2af28595561fb56bfc8009a940b32052ae56db Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Tue, 14 Dec 2021 06:26:20 +0100 Subject: [PATCH 114/475] added AkteLib for adding, updating and deleting akte together with DMS documents --- application/libraries/AkteLib.php | 214 ++++++++++++++++++++++++++++++ 1 file changed, 214 insertions(+) create mode 100644 application/libraries/AkteLib.php diff --git a/application/libraries/AkteLib.php b/application/libraries/AkteLib.php new file mode 100644 index 000000000..555b2d0f3 --- /dev/null +++ b/application/libraries/AkteLib.php @@ -0,0 +1,214 @@ +_ci =& get_instance(); + $this->_uid = getAuthUID(); + + $this->_ci->load->model('crm/Akte_model', 'AkteModel'); + $this->_ci->load->model('content/DmsFS_model', 'DmsFSModel'); + + $this->_ci->load->library('DmsLib'); + } + + public function add($person_id, $dokument_kurzbz, $titel, $mimetype, $fileHandle, $bezeichnung = null, $uid = null) + { + $dmsAddResult = $this->_ci->dmslib->add($titel, self::AKTE_KATEGORIE_KURZBZ, $mimetype, $fileHandle, $dokument_kurzbz, $bezeichnung); + + if (isError($dmsAddResult)) return $dmsAddResult; + + if (!hasData($dmsAddResult)) + return error("Dms document could not be added"); + + $dmsAddData = getData($dmsAddResult); + + return $this->_ci->AkteModel->insert( + array( + 'person_id' => $person_id, + 'dokument_kurzbz' => $dokument_kurzbz, + 'titel' => $titel, + 'mimetype' => $mimetype, + 'bezeichnung' => $bezeichnung, + 'erstelltam' => date('Y-m-d'), + 'uid' => $uid, + 'dms_id' => $dmsAddData->dms_id, + 'insertamum' => date('Y-m-d H:i:s'), + 'insertvon' => $this->_uid + ) + ); + } + + public function update($akte_id, $titel, $mimetype, $fileHandle, $bezeichnung = null) + { + $this->_ci->AkteModel->addSelect('dms_id'); + $akteResult = $this->_ci->AkteModel->load($akte_id); + + if (isError($akteResult)) return $akteResult; + + if (!hasData($akteResult)) + return error("Akte not found"); + + $dms_id = getData($akteResult)[0]->dms_id; + + if (isEmptyString($dms_id)) + return error("Akte has no dms document"); + + $dmsUpdateResult = $this->_ci->dmslib->updateLastVersion($dms_id, $fileHandle, $titel, $mimetype, $bezeichnung); + + if (isError($dmsUpdateResult)) return $dmsUpdateResult; + + if (!hasData($dmsUpdateResult)) + return error("Dms document could not be updated"); + + return $this->_ci->AkteModel->update( + $akte_id, + array( + 'titel' => $titel, + 'mimetype' => $mimetype, + 'bezeichnung' => $bezeichnung, + 'erstelltam' => date('Y-m-d'), + 'dms_id' => $dms_id, + 'updateamum' => date('Y-m-d H:i:s'), + 'updatevon' => $this->_uid + ) + ); + } + + public function get($akte_id) + { + // get Akte data + $this->_ci->AkteModel->addSelect('person_id, dokument_kurzbz, mimetype, erstelltam, titel, bezeichnung, + gedruckt, uid, dms_id, nachgereicht, nachgereicht_am, anmerkung, + ausstellungsnation, formal_geprueft_amum, archiv, signiert, + stud_selfservice, akzeptiertamum, insertvon, insertamum, updatevon, updateamum'); + $this->_ci->AkteModel->load($akte_id); + $akteResult = $this->_ci->AkteModel->load($akte_id); + + if (isError($akteResult)) return $akteResult; + + if (!hasData($akteResult)) + return error("Akte not found"); + + $resultObject = getData($akteResult)[0]; + + $resultObject->akte_mimetype = $resultObject->mimetype; + + // get dms data + $dmsResult = $this->_ci->dmslib->getLastVersion($resultObject->dms_id); + $dmsProperties = array('version', 'filename', 'mimetype', 'name', 'beschreibung', 'cis_suche', 'schlagworte', DmsLib::FILE_CONTENT_PROPERTY); + + if (isError($dmsResult)) return $dmsResult; + + if (hasData($dmsResult)) + { + $dmsData = getData($dmsResult); + + foreach ($dmsProperties as $dmsProperty) + { + $resultObject->{$dmsProperty} = $dmsData->{$dmsProperty}; + } + } + else + { + foreach ($dmsProperties as $dmsProperty) + { + $resultObject->{$dmsProperty} = null; + } + } + + return success($resultObject); + } + + public function getByPersonIdAndDocumentType($person_id, $dokument_kurzbz) + { + $this->_ci->AkteModel->addSelect('akte_id'); + $akteResult = $this->_ci->AkteModel->loadWhere( + array( + 'person_id' => $person_id, + 'dokument_kurzbz' => $dokument_kurzbz + ) + ); + + if (!hasData($akteResult)) + return error("Akte not found"); + + $akteData = getData($akteResult); + + $resultArr = array(); + + foreach ($akteData as $akte) + { + $getAkteDmsResult = $this->get($akte->akte_id); + + if (isError($getAkteDmsResult)) + return $getAkteDmsResult; + + $resultArr[] = getData($getAkteDmsResult); + } + + return success($resultArr); + } + + public function remove($akte_id) + { + $this->_ci->AkteModel->addSelect('dms_id'); + $akteResult = $this->_ci->AkteModel->load($akte_id); + + if (isError($akteResult)) return $akteResult; + + if (!hasData($akteResult)) + return error("Akte not found"); + + $dms_id = getData($akteResult)[0]->dms_id; + $error = null; + + // Start DB transaction + $this->_ci->db->trans_begin(); + + // delete Akte + $deleteResult = $this->_ci->AkteModel->delete($akte_id); + + if (isError($deleteResult)) + { + $error = $deleteResult; + } + else + { + $removeAllResult = $this->_ci->dmslib->removeAll($dms_id); + + if (isError($removeAllResult)) + $error = $removeAllResult; + } + + // Transaction complete! + $this->_ci->db->trans_complete(); + + // Check if everything went ok during the transaction + if ($this->_ci->db->trans_status() === false || isset($error)) + { + $this->_ci->db->trans_rollback(); + + if (isset($error)) + return $error; + else + return error("Error occured when deleting, rolled back"); + } + else + { + $this->_ci->db->trans_commit(); + return $removeAllResult; + } + } +} From bb29dca8468d501c3ef0d3c5f5f7afaf19992752 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 15 Dec 2021 15:55:16 +0100 Subject: [PATCH 115/475] text angepasst nach dem logout --- cis/testtool/logout.html | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/cis/testtool/logout.html b/cis/testtool/logout.html index ac5074f88..e350b4bca 100644 --- a/cis/testtool/logout.html +++ b/cis/testtool/logout.html @@ -3,9 +3,29 @@ TestTool - FH Technikum Wien + - Danke für die Teilnahme am Reihungstest. Klicken Sie hier, um zurück zur Startseite zu gelangen. +
    +
    +
    +
    +

    Vielen Dank für die Teilnahme an unserem Aufnahmeverfahren.

    +

    + Die zuständige Assistenz wird sich in den nächsten Tagen bei Ihnen melden. +

    + Zurück zur Startseite +
    +
    +

    Thank you for participating in our admission procedure.

    +

    + The assistant in charge will contact you in the next few days. +

    + Back to startpage +
    +
    +
    +
    From 66ba68965696030c3d7f70123bdb9f55416c2b24 Mon Sep 17 00:00:00 2001 From: ma0048 Date: Thu, 16 Dec 2021 13:46:09 +0100 Subject: [PATCH 116/475] nicht im neuen tab oeffnen --- cis/testtool/logout.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cis/testtool/logout.html b/cis/testtool/logout.html index e350b4bca..58a0b191f 100644 --- a/cis/testtool/logout.html +++ b/cis/testtool/logout.html @@ -15,14 +15,14 @@

    Die zuständige Assistenz wird sich in den nächsten Tagen bei Ihnen melden.

    - Zurück zur Startseite + Zurück zur Startseite

    Thank you for participating in our admission procedure.



    The assistant in charge will contact you in the next few days.

    - Back to startpage + Back to startpage
    From 40493936c3d7ebcef737cd3ace8cafa6f1c122ff Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Fri, 17 Dec 2021 18:03:34 +0100 Subject: [PATCH 117/475] - AkteLib: added optional params "archiv", "signiert", "stud_selfservice", removed "uid" - AkteLib and DmsLib: added comments, added fallback default user for insertvon - FS_Model: added TempFS_model.php for writing temp files, added comments --- application/core/FS_Model.php | 5 + application/libraries/AkteLib.php | 89 ++++++++++++----- application/libraries/DmsLib.php | 100 ++++++++++++++++---- application/models/content/TempFS_model.php | 16 ++++ 4 files changed, 164 insertions(+), 46 deletions(-) create mode 100644 application/models/content/TempFS_model.php diff --git a/application/core/FS_Model.php b/application/core/FS_Model.php index 512278374..0d696d378 100644 --- a/application/core/FS_Model.php +++ b/application/core/FS_Model.php @@ -114,15 +114,20 @@ class FS_Model extends CI_Model return success($writeResult); } + /** + * Removes a given file + */ public function remove($filename) { // Check if the property _path represents a valid directory $checkResult = $this->_checkPath(); + if (isError($checkResult)) return $checkResult; // If not then return the error // Check filename if (isEmptyString($filename)) return error('The given filename is not valid'); + // remove file if (unlink($this->_path.DIRECTORY_SEPARATOR.$filename) === true) { return success(); diff --git a/application/libraries/AkteLib.php b/application/libraries/AkteLib.php index 555b2d0f3..28094aabb 100644 --- a/application/libraries/AkteLib.php +++ b/application/libraries/AkteLib.php @@ -4,10 +4,11 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); class AkteLib { - const AKTE_KATEGORIE_KURZBZ = 'Akte'; + const AKTE_KATEGORIE_KURZBZ = 'Akte'; // kategorie_kurzbz of dms when inserting for akte + const DEFAULT_USER = 'Akte'; // fallback string for insertvon if no logged user private $_ci; // Code igniter instance - private $_uid; + private $_uid; // uid of logged user /** * Object initialization @@ -23,17 +24,23 @@ class AkteLib $this->_ci->load->library('DmsLib'); } - public function add($person_id, $dokument_kurzbz, $titel, $mimetype, $fileHandle, $bezeichnung = null, $uid = null) + /** + * Writes a new file, adds a new dms entry with given akte data, + * adds a new dms version 0 for the written file, and adds Akte if dms add was successfull + * Returns success with inserted akte id or error + */ + public function add($person_id, $dokument_kurzbz, $titel, $mimetype, $fileHandle, $bezeichnung = null, $archiv = false, $signiert = false, $stud_selfservice = false) { - $dmsAddResult = $this->_ci->dmslib->add($titel, self::AKTE_KATEGORIE_KURZBZ, $mimetype, $fileHandle, $dokument_kurzbz, $bezeichnung); + // add new dms entry and new dms version for the Akte, using Akte data (title, mimetype, file content as handle) + $dmsAddResult = $this->_ci->dmslib->add($titel, $mimetype, $fileHandle, self::AKTE_KATEGORIE_KURZBZ, $dokument_kurzbz, $bezeichnung); if (isError($dmsAddResult)) return $dmsAddResult; - if (!hasData($dmsAddResult)) - return error("Dms document could not be added"); + if (!hasData($dmsAddResult)) return error("Dms document could not be added"); $dmsAddData = getData($dmsAddResult); + // insert the Akte return $this->_ci->AkteModel->insert( array( 'person_id' => $person_id, @@ -42,36 +49,42 @@ class AkteLib 'mimetype' => $mimetype, 'bezeichnung' => $bezeichnung, 'erstelltam' => date('Y-m-d'), - 'uid' => $uid, 'dms_id' => $dmsAddData->dms_id, + 'archiv' => $archiv, + 'signiert' => $signiert, + 'stud_selfservice' => $stud_selfservice, 'insertamum' => date('Y-m-d H:i:s'), - 'insertvon' => $this->_uid + 'insertvon' => isEmptyString($this->_uid) ? self::DEFAULT_USER : $this->_uid ) ); } - public function update($akte_id, $titel, $mimetype, $fileHandle, $bezeichnung = null) + /** + * Writes a new file, adds a new dms version 0 for the written file, and updates Akte if dms version add was successfull + * Returns success with updated akte id or error + */ + public function update($akte_id, $titel, $mimetype, $fileHandle, $bezeichnung = null, $archiv = false, $signiert = false, $stud_selfservice = false) { + // check if Akte with dms exists $this->_ci->AkteModel->addSelect('dms_id'); $akteResult = $this->_ci->AkteModel->load($akte_id); if (isError($akteResult)) return $akteResult; - if (!hasData($akteResult)) - return error("Akte not found"); + if (!hasData($akteResult)) return error("Akte not found"); $dms_id = getData($akteResult)[0]->dms_id; - if (isEmptyString($dms_id)) - return error("Akte has no dms document"); + if (isEmptyString($dms_id)) return error("Akte has no dms document"); + // if Akte with dms found, update the last dms version $dmsUpdateResult = $this->_ci->dmslib->updateLastVersion($dms_id, $fileHandle, $titel, $mimetype, $bezeichnung); if (isError($dmsUpdateResult)) return $dmsUpdateResult; - if (!hasData($dmsUpdateResult)) - return error("Dms document could not be updated"); + if (!hasData($dmsUpdateResult)) return error("Dms document could not be updated"); + // update the Akte return $this->_ci->AkteModel->update( $akte_id, array( @@ -80,12 +93,19 @@ class AkteLib 'bezeichnung' => $bezeichnung, 'erstelltam' => date('Y-m-d'), 'dms_id' => $dms_id, + 'archiv' => $archiv, + 'signiert' => $signiert, + 'stud_selfservice' => $stud_selfservice, 'updateamum' => date('Y-m-d H:i:s'), 'updatevon' => $this->_uid ) ); } + /** + * Gets akte data and associated dms data by akte Id + * Returns success with akte and dms data or error + */ public function get($akte_id) { // get Akte data @@ -98,19 +118,22 @@ class AkteLib if (isError($akteResult)) return $akteResult; - if (!hasData($akteResult)) - return error("Akte not found"); + if (!hasData($akteResult)) return error("Akte not found"); $resultObject = getData($akteResult)[0]; + // set properties with same name in Akte and Dms table $resultObject->akte_mimetype = $resultObject->mimetype; // get dms data $dmsResult = $this->_ci->dmslib->getLastVersion($resultObject->dms_id); - $dmsProperties = array('version', 'filename', 'mimetype', 'name', 'beschreibung', 'cis_suche', 'schlagworte', DmsLib::FILE_CONTENT_PROPERTY); if (isError($dmsResult)) return $dmsResult; + // properties to retrieve from dms + $dmsProperties = array('version', 'filename', 'mimetype', 'name', 'beschreibung', 'cis_suche', 'schlagworte', DmsLib::FILE_CONTENT_PROPERTY); + + // set dms properties if (hasData($dmsResult)) { $dmsData = getData($dmsResult); @@ -122,17 +145,24 @@ class AkteLib } else { + // set null if no dms result found foreach ($dmsProperties as $dmsProperty) { $resultObject->{$dmsProperty} = null; } } + // return the object containing akte and dms data return success($resultObject); } + /** + * Gets Akte data and associated dms data by person Id and dokument_kurzbz + * Returns success with result array with akte and dms data or error + */ public function getByPersonIdAndDocumentType($person_id, $dokument_kurzbz) { + // load all Akte entries for given person and dokument_kurzbz $this->_ci->AkteModel->addSelect('akte_id'); $akteResult = $this->_ci->AkteModel->loadWhere( array( @@ -141,40 +171,45 @@ class AkteLib ) ); - if (!hasData($akteResult)) - return error("Akte not found"); + if (!hasData($akteResult)) return error("Akte not found"); $akteData = getData($akteResult); $resultArr = array(); + // for each found akte entry foreach ($akteData as $akte) { + // get dms and akte data from akte Id $getAkteDmsResult = $this->get($akte->akte_id); - if (isError($getAkteDmsResult)) - return $getAkteDmsResult; + if (isError($getAkteDmsResult)) return $getAkteDmsResult; $resultArr[] = getData($getAkteDmsResult); } + // return all found entries return success($resultArr); } + /** + * Removes Akte by akte Id, removes all associated dms entries and versions, and deletes all associated files + * Returns success with removed version numbers or error + */ public function remove($akte_id) { + // get dms_id for akte $this->_ci->AkteModel->addSelect('dms_id'); $akteResult = $this->_ci->AkteModel->load($akte_id); if (isError($akteResult)) return $akteResult; - if (!hasData($akteResult)) - return error("Akte not found"); + if (!hasData($akteResult)) return error("Akte not found"); $dms_id = getData($akteResult)[0]->dms_id; $error = null; - // Start DB transaction + // Start DB transaction to avoid deleting only part of the data $this->_ci->db->trans_begin(); // delete Akte @@ -186,6 +221,7 @@ class AkteLib } else { + // remove all dms entry for dms of the akte $removeAllResult = $this->_ci->dmslib->removeAll($dms_id); if (isError($removeAllResult)) @@ -200,6 +236,7 @@ class AkteLib { $this->_ci->db->trans_rollback(); + // return occured error if (isset($error)) return $error; else @@ -208,6 +245,8 @@ class AkteLib else { $this->_ci->db->trans_commit(); + + // return removed dms entry data return $removeAllResult; } } diff --git a/application/libraries/DmsLib.php b/application/libraries/DmsLib.php index f0c4a36e3..017c7fc08 100644 --- a/application/libraries/DmsLib.php +++ b/application/libraries/DmsLib.php @@ -4,10 +4,11 @@ if (! defined('BASEPATH')) exit('No direct script access allowed'); class DmsLib { - const FILE_CONTENT_PROPERTY = 'file_content'; + const FILE_CONTENT_PROPERTY = 'file_content'; // property name for file content + const DEFAULT_USER = 'DMS'; // fallback string for insertvon if no logged user private $_ci; // code igniter instance - private $_uid; + private $_uid; // uid of logged user /** * Object initialization @@ -26,8 +27,13 @@ class DmsLib // ----------------------------------------------------------------------------------------------------------- // Public methods - public function add($name, $kategorie_kurzbz, $mimetype, $fileHandle, $dokument_kurzbz = null, $beschreibung = null, $cis_suche = false, $schlagworte = null) + /** + * Writes a new file, adds a new dms entry and a new dms version 0 for the written file + * Returns success info of added dms entry (dms_id, version, filename) or error + */ + public function add($name, $mimetype, $fileHandle, $kategorie_kurzbz = null, $dokument_kurzbz = null, $beschreibung = null, $cis_suche = false, $schlagworte = null) { + // write file with content of fileHandle $writeFileResult = $this->_writeNewFile($name, $fileHandle); if (isError($writeFileResult)) return $writeFileResult; @@ -62,7 +68,7 @@ class DmsLib 'beschreibung' => $beschreibung, 'cis_suche' => $cis_suche, 'schlagworte' => $schlagworte, - 'insertvon' => $this->_uid, + 'insertvon' => isEmptyString($this->_uid) ? self::DEFAULT_USER : $this->_uid, 'insertamum' => date('Y-m-d H:i:s') ); @@ -70,6 +76,7 @@ class DmsLib if (isError($dmsVersionResult)) return $dmsVersionResult; + // return dms info $resObj = new stdClass(); $resObj->dms_id = $dms_id; $resObj->version = $version; @@ -84,6 +91,10 @@ class DmsLib return error("file could not be written"); } + /** + * Writes a new file with content of fileHandle, adds a new dms version (max version number + 1) for the written file + * Returns success with info of added dms version (version, filename) or error + */ public function addNewVersion($dms_id, $fileHandle, $name = null, $mimetype = null, $beschreibung = null, $cis_suche = false, $schlagworte = null) { // get the latest version @@ -97,7 +108,7 @@ class DmsLib $originalName = isset($name) ? $name : $lastVersion->name; - // write new file + // write new file with content of fileHandle $writeFileResult = $this->_writeNewFile($originalName, $fileHandle); if (isError($writeFileResult)) return $writeFileResult; @@ -120,15 +131,15 @@ class DmsLib 'beschreibung' => isset($beschreibung) ? $beschreibung : $lastVersion->beschreibung, 'cis_suche' => isset($cis_suche) ? $cis_suche : $lastVersion->cis_suche, 'schlagworte' => isset($schlagworte) ? $schlagworte : $lastVersion->schlagworte, - 'insertvon' => $this->_uid, + 'insertvon' => isEmptyString($this->_uid) ? self::DEFAULT_USER : $this->_uid, 'insertamum' => date('Y-m-d H:i:s') ); $addVersionResult = $this->_ci->DmsVersionModel->insert($newVersion); - if (isError($addVersionResult)) - return $addVersionResult; + if (isError($addVersionResult)) return $addVersionResult; + // return dms info $resObj = new stdClass(); $resObj->version = $newVersionNumber; $resObj->filename = $filename; @@ -142,6 +153,11 @@ class DmsLib return error("last version not found"); } + /** + * Updates the last version (max version number) of a dms entry + * Overwrites the file associated with this version with content read from fileHandle + * Returns success with info of added dms version (version, filename) or error + */ public function updateLastVersion($dms_id, $fileHandle, $name = null, $mimetype = null, $beschreibung = null, $cis_suche = false, $schlagworte = null) { // get the latest version @@ -179,9 +195,9 @@ class DmsLib $newVersion ); - if (isError($addVersionResult)) - return $addVersionResult; + if (isError($addVersionResult)) return $addVersionResult; + // return dms info $resObj = new stdClass(); $resObj->version = $lastVersion->version; $resObj->filename = $filename; @@ -195,8 +211,13 @@ class DmsLib return error("last version not found"); } + /** + * Gets dms version with highest number + * Returns success with dms data and fileHandle with file content or error + */ public function getLastVersion($dms_id) { + // get the latest version number $this->_ci->DmsVersionModel->addSelect('version'); $this->_ci->DmsVersionModel->addOrder('version', 'DESC'); $this->_ci->DmsVersionModel->addOrder('insertamum', 'DESC'); @@ -212,12 +233,17 @@ class DmsLib $lastDmsVersionData = getData($lastDmsVersionResult)[0]; $lastDmsVersion = $lastDmsVersionData->version; + // call get Version with last version number return $this->getVersion($dms_id, $lastDmsVersion); } else return error("Dms last version not found"); } + /** + * Gets specified dms version + * Returns success with dms data and fileHandle with file content or error + */ public function getVersion($dms_id, $version) { $this->_ci->DmsVersionModel->addSelect('dms_id, version, filename, mimetype, name, beschreibung, cis_suche, schlagworte'); @@ -234,7 +260,7 @@ class DmsLib { $dmsVersion = getData($dmsVersionResult)[0]; - // file content as file pointer + // get file content as file pointer $fileHandleResult = $this->_ci->DmsFSModel->openRead($dmsVersion->filename); if (isError($fileHandleResult)) return $fileHandleResult; @@ -244,6 +270,7 @@ class DmsLib $fileHandle = getData($fileHandleResult); $dmsVersion->{self::FILE_CONTENT_PROPERTY} = $fileHandle; + // close file pointer $closeResult = $this->_ci->DmsFSModel->close($fileHandle); if (isError($closeResult)) return $closeResult; @@ -257,9 +284,13 @@ class DmsLib return error("Dms version not found"); } + /** + * Removes dms entry and all its versions, deletes all associated files + * Returns success with removed version numbers or error + */ public function removeAll($dms_id) { - $versions_removed = array(); + $versionsRemoved = array(); $this->_ci->DmsVersionModel->addSelect('version, filename'); $allVersionsResult = $this->_ci->DmsVersionModel->loadWhere(array('dms_id' => $dms_id)); @@ -270,10 +301,10 @@ class DmsLib $error = null; - // Start DB transaction + // Start DB transaction to avoid deleting only part of the data $this->_ci->db->trans_begin(); - // remove all versions + // remove all versions of the dms Id foreach ($allVersionsData as $version) { $removeVersionResult = $this->removeVersion($dms_id, $version->version); @@ -284,7 +315,7 @@ class DmsLib break; } else - $versions_removed[] = $version; + $versionsRemoved[] = $version; // return removed versions } // Transaction complete! @@ -306,9 +337,13 @@ class DmsLib } } - return success($versions_removed); + return success($versionsRemoved); } + /** + * Removes latest version and its associated file + * Returns success with removed dms version data (dms_id, version, filename) or error + */ public function removeLastVersion($dms_id) { $lastVersionNumber = 0; @@ -323,9 +358,14 @@ class DmsLib $lastVersionNumber = $lastVersion->version; } + // call remove method for latest version return $this->removeVersion($dms_id, $lastVersionNumber); } + /** + * Removes latest version and its associated file + * Returns success with removed dms version data (dms_id, version, filename) or error + */ public function removeVersion($dms_id, $version) { $removeVersionResultObj = new stdClass(); @@ -333,7 +373,7 @@ class DmsLib $removeVersionResultObj->version = null; $removeVersionResultObj->filename = null; - // load version and check how many versions there are + // load dms version and check how many versions there are $db = new DB_Model(); $checkDeleteResult = $db->execReadOnlyQuery( @@ -353,6 +393,7 @@ class DmsLib { $checkDeleteData = getData($checkDeleteResult)[0]; + // delete version $deleteVersionResult = $this->_ci->DmsVersionModel->delete(array($dms_id, $version)); if (isError($deleteVersionResult)) return $deleteVersionResult; @@ -373,8 +414,7 @@ class DmsLib // delete file from file system $removeResult = $this->_ci->DmsFSModel->remove($checkDeleteData->filename); - if (isError($removeResult)) - return $removeResult; + if (isError($removeResult)) return $removeResult; } return success($removeVersionResultObj); @@ -382,17 +422,26 @@ class DmsLib // ----------------------------------------------------------------------------------------------------------- // Private methods + + /** + * Writes file with content of fileHandle using original document name for file extension + */ private function _writeNewFile($originalName, $fileHandle) { - // create unique filename + // create unique filename, using original document name to detect file extension $filename = $this->_getUniqueFilename($originalName); + // write the file return $this->_writeFile($filename, $fileHandle); } + /** + * Writes file with content of fileHandle + * Returns number of bytes written and filename + */ private function _writeFile($filename, $fileHandle) { - // copy file content provided by fileHandle + // file content provided by fileHandle $fileContent = ''; $readBlockResult = success(); @@ -421,6 +470,7 @@ class DmsLib if (isError($writeFileResult)) return $writeFileResult; + // return number of bytes written and filename $resObj = new stdClass(); $resObj->bytesWritten = 0; $resObj->filename = ''; @@ -439,11 +489,19 @@ class DmsLib return success($resObj); } + /** + * Generates unique filename, appends file extension from document name + * Returns the filename string + */ private function _getUniqueFilename($dokname) { + // create unique id $uniqueFilename = uniqid(); + + // getting extension of file from document name $fileExtension = pathinfo($dokname, PATHINFO_EXTENSION); + // if file extension found, append it if (!isEmptyString($fileExtension)) $uniqueFilename .= '.'.$fileExtension; diff --git a/application/models/content/TempFS_model.php b/application/models/content/TempFS_model.php new file mode 100644 index 000000000..ac55a24d7 --- /dev/null +++ b/application/models/content/TempFS_model.php @@ -0,0 +1,16 @@ + Date: Mon, 20 Dec 2021 09:43:37 +0100 Subject: [PATCH 118/475] Added Class Zeitwunsch_gueltigkeit_model --- .../ressource/Zeitwunsch_gueltigkeit_model.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 application/models/ressource/Zeitwunsch_gueltigkeit_model.php diff --git a/application/models/ressource/Zeitwunsch_gueltigkeit_model.php b/application/models/ressource/Zeitwunsch_gueltigkeit_model.php new file mode 100644 index 000000000..f26e06d3c --- /dev/null +++ b/application/models/ressource/Zeitwunsch_gueltigkeit_model.php @@ -0,0 +1,14 @@ +dbTable = 'campus.tbl_zeitwunsch_gueltigkeit'; + $this->pk = 'zeitwunsch_gueltigkeit_id'; + } +} \ No newline at end of file From b2bd8e071b87c27ad1b3efed8ccc4239c993d00f Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 20 Dec 2021 09:47:21 +0100 Subject: [PATCH 119/475] Added getStudenplanData method to Class Studenplandev_model --- .../models/ressource/Stundenplandev_model.php | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/application/models/ressource/Stundenplandev_model.php b/application/models/ressource/Stundenplandev_model.php index 9fa92ae5e..4a9c9c5ed 100644 --- a/application/models/ressource/Stundenplandev_model.php +++ b/application/models/ressource/Stundenplandev_model.php @@ -61,4 +61,98 @@ class Stundenplandev_model extends DB_Model return $this->execQuery($qry, $parametersArray); } + + /** + * Get Stundenplan data. + * + * @param null $lehrveranstaltung_id + * @param null $studiensemester_kurzbz + * @param null $lehreinheit_id + * @param null $mitarbeiter_uid + * @param null $student_uid + * @param false $nurBevorstehende If true, only future data is retrieved. + * @return array|false|stdClass|null + */ + public function getStundenplanData($lehrveranstaltung_id=null, $studiensemester_kurzbz=null, $lehreinheit_id=null, $mitarbeiter_uid=null, $student_uid=null, $nurBevorstehende = false) + { + $params = array(); + + $qry = "SELECT + stpl.datum, min(stpl.stunde) as stundevon, max(stpl.stunde) as stundebis, + stpl.lehreinheit_id, lehrfach.bezeichnung as lehrfach_bezeichnung, + array_agg( + CASE WHEN gruppe_kurzbz is not null THEN gruppe_kurzbz + ELSE (SELECT UPPER(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=stpl.studiengang_kz) || COALESCE(stpl.semester,'0') || COALESCE(stpl.verband,'') || COALESCE(stpl.gruppe,'') + END) as gruppen, array_agg(mitarbeiter_uid) as lektoren, + array_agg(ort_kurzbz) as orte, + array_agg(titel) as titel + FROM + lehre.tbl_stundenplandev as stpl + JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) + WHERE "; + + if ($lehrveranstaltung_id != '') + { + $qry.=" + lehreinheit_id IN ( + SELECT lehreinheit_id FROM lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id = ? + AND studiensemester_kurzbz = ? + )"; + + $params[]= $lehrveranstaltung_id; + $params[]= $studiensemester_kurzbz; + + } + elseif ($lehreinheit_id!='') + { + $qry.=" lehreinheit_id = ?"; + + $params[]= $lehreinheit_id; + } + elseif ($mitarbeiter_uid != '') + { + $qry.= " + mitarbeiter_uid = ? + AND lehreinheit_id IN ( + SELECT lehreinheit_id + FROM lehre.tbl_lehreinheitmitarbeiter + JOIN lehre.tbl_lehreinheit USING (lehreinheit_id) + WHERE mitarbeiter_uid = ? + AND studiensemester_kurzbz IN ( ? ) + )"; + $params[] = $mitarbeiter_uid; + $params[] = $mitarbeiter_uid; + $params[] = $studiensemester_kurzbz; + } + elseif ($student_uid != '') + { + $qry.=" + lehreinheit_id IN ( + SELECT lehreinheit_id + FROM campus.vw_student_lehrveranstaltung + WHERE uid = ? + AND studiensemester_kurzbz = ? + )"; + + $params[] = $student_uid; + $params[] = $studiensemester_kurzbz; + } + else + return false; + + if($nurBevorstehende) + { + $qry.= " AND datum >= NOW()::date "; + } + + $qry.= " + GROUP BY stpl.datum, stpl.unr, stpl.lehreinheit_id, lehrfach.bezeichnung + ORDER BY stpl.datum, min(stpl.stunde), stpl.unr, stpl.lehreinheit_id + "; + + return $this->execQuery($qry, $params); + } + } From a4ffe9104b46e202c02e0ec3eca253ddcd62d21e Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 20 Dec 2021 09:49:49 +0100 Subject: [PATCH 120/475] Fixed query to get Studiensemest correctly when using getByDate method --- .../models/organisation/Studiensemester_model.php | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/application/models/organisation/Studiensemester_model.php b/application/models/organisation/Studiensemester_model.php index 07783cf0d..742757513 100644 --- a/application/models/organisation/Studiensemester_model.php +++ b/application/models/organisation/Studiensemester_model.php @@ -167,15 +167,13 @@ class Studiensemester_model extends DB_Model if (date_format(date_create($from), 'Y-m-d') > (date_format(date_create($to), 'Y-m-d'))) return success(array()); - $query = "SELECT * - FROM public.tbl_studiensemester - WHERE - (ende > ?::date AND start < ?::date) - OR start = ?::date - OR ende = ?::date - ORDER BY start DESC"; + $query = " + SELECT * + FROM public.tbl_studiensemester + WHERE ( ?::date < ende AND ?::date > start ) + ORDER BY start DESC"; - return $this->execQuery($query, array($from, $to, $from, $to)); + return $this->execQuery($query, array($from, $to)); } /** From c2d9afe3b1422f2e0a8e72dee3c354fa74d03228 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 20 Dec 2021 09:51:18 +0100 Subject: [PATCH 121/475] Added return value to sendSanchoMail to be able to handle mail error --- application/helpers/hlp_sancho_helper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/helpers/hlp_sancho_helper.php b/application/helpers/hlp_sancho_helper.php index 1653c44e7..d599e40bc 100644 --- a/application/helpers/hlp_sancho_helper.php +++ b/application/helpers/hlp_sancho_helper.php @@ -74,7 +74,7 @@ function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerIm $body = _parseMailContent('Sancho_Mail_Template', $layout); // Send mail - $ci->maillib->send($from, $to, $subject, $body, $alias = '', $cc, $bcc, $altMessage = '', $bulk = true, $autogenerated = true); + return $ci->maillib->send($from, $to, $subject, $body, $alias = '', $cc, $bcc, $altMessage = '', $bulk = true, $autogenerated = true); } /** From 4a2a30ac5eccc81fdc4485f9a5abd288d6d7d693 Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 20 Dec 2021 09:55:29 +0100 Subject: [PATCH 122/475] Added Job mailUpdatedZeitwuensche Job sends Mail to STGL, Kompetenzfeld and LV Planung about todays updated Zeitwuensche. --- application/controllers/jobs/LVPlanJob.php | 349 ++++++++++++++++++++- 1 file changed, 348 insertions(+), 1 deletion(-) diff --git a/application/controllers/jobs/LVPlanJob.php b/application/controllers/jobs/LVPlanJob.php index 2688e5cc9..19359573a 100644 --- a/application/controllers/jobs/LVPlanJob.php +++ b/application/controllers/jobs/LVPlanJob.php @@ -19,7 +19,7 @@ */ if (!defined('BASEPATH')) exit('No direct script access allowed'); -class LVPlanJob extends CLI_Controller +class LVPlanJob extends JOB_Controller { /** * Initialize LVPlanJob Class @@ -149,4 +149,351 @@ class LVPlanJob extends CLI_Controller echo "Failed ".$fail."\n"; } } + + /** + * Send Mail to STGL, Kompetenzfeld and LV Planung about todays updated Zeitwuensche. + * STGL gets list only of lectors who updated future assigend courses concerning their STG. + * Kompetenzleitung gets list only of lectors who updated future assigend courses concerning their KF. + * LVPlanung gets list of lectors who updated future assigend courses. + */ + public function mailUpdatedZeitwuensche() + { + // Load models + $this->load->model('ressource/Stundenplandev_model', 'StundenplandevModel'); + $this->load->model('organisation/Studiensemester_model', 'StundiensemesterModel'); + $this->load->model('education/Lehreinheit_model', 'LehreinheitModel'); + $this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel'); + $this->load->model('person/Person_model', 'PersonModel'); + + // Load libs + $this->load->library('MailLib'); + + // Load helpers + $this->load->helper('hlp_sancho_helper'); + + // Start Log Message + $this->logInfo('Mail updated Zeitwuensche started.'); + + // Get all lectors, who updated their Zeitwunsch today + $db = new DB_Model(); + $result = $db->execReadOnlyQuery(' + SELECT mitarbeiter_uid, von, bis + FROM campus.tbl_zeitwunsch_gueltigkeit + WHERE updateamum::date = NOW()::date + -- dont get updated, if they were also inserted today + AND insertamum::date != NOW()::date + '); + + if (!hasData($result)) + { + return; // No updated Zeitwuensche today + } + + $uidByStg_arr = array(); // Mail data for Studiengang + $uidByOe_arr = array(); // Mail data for Kompetenzfeld + + // Loop through lectors, who updated their Zeitwunsch today + $zwg_arr = getData($result); + foreach ($zwg_arr as $zwg) + { + $next = $this->StudiensemesterModel->getNext(); + + // Get Studiensemester concerend by Zeitwunschgueltigkeit + // If Zeitwunschgueltigkeit Ende is null, get only till next Studiensemester, as LVs will be only + // assigned for actual or next Studiensemester + $result = $this->StudiensemesterModel->getByDate( + $zwg->von, + is_null($zwg->bis) ? $next->retval[0]->ende : $zwg->bis + ); + $studiensemester_arr = getData($result); + + // Get Stundenplan entries of lector of Studiensemester concerned by Zeitwunschgueltigkeit + $result = $this->StundenplandevModel + ->getStundenplanData( + null, + implode(array_column($studiensemester_arr, 'studiensemester_kurzbz'), ', '), + null, + $zwg->mitarbeiter_uid, + null, + true //...but only from now on + ); + + if (!hasData($result)) + { + continue; // Continue if lector has no Stundenplan entries + } + + // Loop through Stundenplan entries + $stundenplanData_arr = getData($result); + foreach ($stundenplanData_arr as $stundenplanData) + { + // Get LE of Stundenplan entry + $result = $this->LehreinheitModel->load($stundenplanData->lehreinheit_id); + + if (!hasData($result)) + { + // Return log error msg if no LE found and continue + $this->logError(' + LVPlanJob / mailUpdatedZeitwuensche did not find Lehreinheit for '. $zwg->mitarbeiter_uid + ); + continue; + } + + $le = getData($result)[0]; + + // GET LV by LE of Stundenplan entry + $result = $this->LehrveranstaltungModel->load($le->lehrveranstaltung_id); + + if (!hasData($result)) + { + // Return log error msg if no LV found and continue + $this->logError(' + LVPlanJob / mailUpdatedZeitwuensche did not find Lehrveranstaltung for '. $zwg->mitarbeiter_uid + ); + continue; + } + + $lv = getData($result)[0]; + + // Build unique Studiengang array + if (!array_key_exists($lv->studiengang_kz, $uidByStg_arr)) + { + $uidByStg_arr[$lv->studiengang_kz] = array($zwg->mitarbeiter_uid); + + } + else + { + // Add unique lector array to Studiengang array + if (!in_array($zwg->mitarbeiter_uid, $uidByStg_arr[$lv->studiengang_kz])) + { + $uidByStg_arr[$lv->studiengang_kz][]= $zwg->mitarbeiter_uid; + } + } + + // Build unique Kompetenzfeld array + if (!array_key_exists($lv->oe_kurzbz, $uidByOe_arr)) + { + $uidByOe_arr[$lv->oe_kurzbz] = array($zwg->mitarbeiter_uid); + + } + else + { + // Add unique lector array to Kompetenzfeld array + if (!in_array($zwg->mitarbeiter_uid, $uidByOe_arr[$lv->oe_kurzbz])) + { + $uidByOe_arr[$lv->oe_kurzbz][]= $zwg->mitarbeiter_uid; + } + } + } + } + + // Send mail to STG Assistenz + $result = $this->_sendMailToStg($uidByStg_arr); + if (isError($result)) + { + $this->logError(getError($result)); + } + + // Send mail to Kompetenzfeld Leitung + $result = $this->_sendMailToKF($uidByOe_arr); + if (isError($result)) + { + $this->logError(getError($result)); + } + + // Send mail to LV Planung + $result = $this->_sendMailToLvPlanung($zwg_arr); + if (isError($result)) + { + $this->logError(getError($result)); + } + + // End Log Message + $this->logInfo('Mail updated Zeitwuensche ended.'); + } + + /** + * Send Mail to STGL Assistance about lectors, who teach LV assigend to the STG, and who updated Zeitwuensche. + * + * @param $data_arr + * @param $stg_bezeichnung + */ + private function _sendMailToStg($data_arr) + { + foreach ($data_arr as $stg_kurzbz => $uid_arr) + { + // Get STG eMail + $this->load->model('organisation/Studiengang_model', 'StudiengangModel'); + $result = $this->StudiengangModel->load($stg_kurzbz); + $stgMail = $result->retval[0]->email; + + $lektorenTabelle = ' + + + + + + + '; + + foreach($uid_arr as $uid) + { + $person = $this->PersonModel->getByUid($uid); + $lektorenTabelle.= ' + + + + + '; + } + + $lektorenTabelle.= '
    NameUID
    '. getData($person)[0]->vorname. ' '. getData($person)[0]->nachname. '['. $uid. ']
    '; + + $contentData_arr = array( + 'datentabelle' => $lektorenTabelle + ); + + // Send mail + if (!sendSanchoMail( + 'ZeitwunschUpdateMail', + $contentData_arr, + $stgMail, + 'Änderung von Zeitwünschen', + 'sancho_header_min_bw.jpg', + 'sancho_footer_min_bw.jpg' + )) + { + $errorReceiverUid_arr[]= $stgMail; + } + } + + if (isset($errorReceiverUid_arr)) + { + return error('Mail updated Zeitwuensche could not be sent to :'. implode($errorReceiverUid_arr, ',')); + } + + return success(); + } + + /** + * Send Mail to Kompetenzfeld about lectors, who teach LV assigend to the Kompetenzfeld, and who updated Zeitwuensche. + * + * @param $data_arr + * @param $stg_bezeichnung + */ + private function _sendMailToKF($data_arr) + { + // Send mail to Komepetenzfeld Leitung + foreach ($data_arr as $oe_kurzbz => $uid_arr) + { + // Get KF Leitung eMail + $this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel'); + $result = $this->BenutzerfunktionModel->loadWhere(array( + 'funktion_kurzbz' => 'Leitung', + 'oe_kurzbz' => $oe_kurzbz + )); + $kfMail = $result->retval[0]->uid. '@'. DOMAIN; + + $lektorenTabelle = ' + + + + + + + '; + + foreach($uid_arr as $uid) + { + $person = $this->PersonModel->getByUid($uid); + $lektorenTabelle.= ' + + + + + '; + } + + $lektorenTabelle.= '
    NameUID
    '. getData($person)[0]->vorname. ' '. getData($person)[0]->nachname. '['. $uid. ']
    '; + + $contentData_arr = array( + 'datentabelle' => $lektorenTabelle + ); + + // Send mail + if (!sendSanchoMail( + 'ZeitwunschUpdateMail', + $contentData_arr, + $kfMail, + 'Änderung von Zeitwünschen', + 'sancho_header_min_bw.jpg', + 'sancho_footer_min_bw.jpg' + )) + { + $errorReceiverUid_arr[]= $kfMail; + } + } + + if (isset($errorReceiverUid_arr)) + { + return error('Mail updated Zeitwuensche could not be sent to :'. implode($errorReceiverUid_arr, ',')); + } + + return success(); + } + + /** + * Send Mail to LV Planung about all lectors who updated Zeitwuensche. + * + * @param $data_arr + * @param $stg_bezeichnung + */ + private function _sendMailToLvPlanung($data_arr) + { + $lektorenTabelle = ' + + + + + + + '; + + foreach($data_arr as $lector) + { + $person = $this->PersonModel->getByUid($lector->mitarbeiter_uid); + $lektorenTabelle.= ' + + + + + '; + } + + $lektorenTabelle.= '
    NameUID
    '. getData($person)[0]->vorname. ' '. getData($person)[0]->nachname. '['. $lector->mitarbeiter_uid. ']
    '; + + $contentData_arr = array( + 'datentabelle' => $lektorenTabelle + ); + + // Send mail + if (!sendSanchoMail( + 'ZeitwunschUpdateMail', + $contentData_arr, + MAIL_LVPLAN, + 'Änderung von Zeitwünschen', + 'sancho_header_min_bw.jpg', + 'sancho_footer_min_bw.jpg' + )) + { + $errorReceiver = MAIL_LVPLAN; + } + + if (isset($errorReceiver)) + { + return error('Mail updated Zeitwuensche could not be sent to :'. $errorReceiver); + } + + return success(); + } } From f73f26c6686d3a95a88fb4f5f4ce1dfc4695322d Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 20 Dec 2021 11:52:26 +0100 Subject: [PATCH 123/475] Added STG mail receiver to be addressed, when lector changes Zeitwunsch... ...and when lector has already been assigned to a course. Only addressing Studiengaenge that are concerned by Zeitwunsch change of lector. LV must be assigned in the selected Studiensemester, but not in the past --- cis/private/profile/zeitwunsch.php | 67 +++++++++++++++++++++++++++++- locale/de-AT/zeitwunsch.php | 2 +- locale/en-US/zeitwunsch.php | 2 +- 3 files changed, 68 insertions(+), 3 deletions(-) diff --git a/cis/private/profile/zeitwunsch.php b/cis/private/profile/zeitwunsch.php index 2c2a7bce1..41a295095 100644 --- a/cis/private/profile/zeitwunsch.php +++ b/cis/private/profile/zeitwunsch.php @@ -32,10 +32,12 @@ require_once('../../../include/datum.class.php'); require_once('../../../include/zeitwunsch.class.php'); require_once('../../../include/zeitwunsch_gueltigkeit.class.php'); require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/studiengang.class.php'); require_once('../../../include/zeitaufzeichnung_gd.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/lehreinheit.class.php'); require_once('../../../include/lehrstunde.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/sprache.class.php'); @@ -354,6 +356,64 @@ function checkIsVerplant($uid, $studiensemester_kurzbz) return empty($lstd->result) ? false : true; } +/** + * Get Studiengaenge of STG assigend to LVs, to which lector is alredy assigend in + * the given Studiensemester. + * + * @param $uid + * @param $studiensemester_kurzbz + * @return array|void + */ +function getStgOfVerplant($uid, $studiensemester_kurzbz) +{ + $stg_arr = array(); // Mail data for Studiengang + + // Get Stundenplan entries of lector of Studiensemester concerned by Zeitwunschgueltigkeit + $lstd = new Lehrstunde(); + if (!$lstd->getStundenplanData( + 'stundenplandev', + null, + $studiensemester_kurzbz, + null, + $uid, + null, + true)) //...but only from now on + { + die($lstd->errormsg); + } + + // Loop through Stundenplan entries + foreach ($lstd->result as $row) + { + // Get LE of Stundenplan entry + $le = new Lehreinheit($row->lehreinheit_id); + + // GET LV by LE of Stundenplan entry + $lv = new Lehrveranstaltung($le->lehrveranstaltung_id); + + // Build Studiengang array + $stg_arr[] = $lv->studiengang_kz; + } + + // Make Studiengang array unique + return array_unique($stg_arr); +} + +/** + * Get Studiengang eMail Addresses. + * @param $stgKz_arr // Studiengang Kennzeichen Array + * @return array + */ +function getStgMail($stgKz_arr) +{ + $stgMail_arr = array(); + foreach($stgKz_arr as $stgKz) + { + $stg = new Studiengang($stgKz); + $stgMail_arr[]= $stg->email; + } + return $stgMail_arr; +} ?> @@ -664,11 +724,16 @@ function checkIsVerplant($uid, $studiensemester_kurzbz) echo ''; // end divCopyZWG echo '
    '; + + // Mail Adressen der Studiengaenge, wo Lektor ueber eine LV bereits verplant ist + $stgKzOfVerplant_arr = getStgOfVerplant($uid, $selected_ss); + $stgMail_arr = getStgMail($stgKzOfVerplant_arr); + echo '
    '; echo '
    '; echo '
    '; echo ''. $p->t("zeitwunsch/bearbeitungDeaktiviert"). ': '; - echo $p->t("zeitwunsch/bearbeitungDeaktiviertText", array($selected_ss, $p->t('global/studiengangsmanagement'))). ' + echo $p->t("zeitwunsch/bearbeitungDeaktiviertText", array($selected_ss, implode($stgMail_arr, '; '))). ' '. $p->t("zeitwunsch/bearbeitungAktivieren"). '
    '. $p->t("zeitwunsch/kompetenzfeldWirdInformiert") . ' '; diff --git a/locale/de-AT/zeitwunsch.php b/locale/de-AT/zeitwunsch.php index 35c8c3c99..e9d13a558 100644 --- a/locale/de-AT/zeitwunsch.php +++ b/locale/de-AT/zeitwunsch.php @@ -37,7 +37,7 @@ $this->phrasen['zeitwunsch/stundenBereitsVerplant']='Stunden für %s bereits ver $this->phrasen['zeitwunsch/fuer']='Zeitwunsch für %s  '; $this->phrasen['zeitwunsch/bearbeitungDeaktiviert']='Bearbeitung deaktiviert'; $this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='Ihnen wurden im %s bereits Lehrveranstaltung(en) zugeteilt.
    - Bitte stimmen Sie sich vor einer Änderung mit dem %s ab.
    + Bitte stimmen Sie sich vor einer Änderung per Mail mit den betroffenen Studiengängen ab.
    Möchten Sie trotzdem ohne Abstimmung bzw. nach bereits erfolgter Abstimmung fortsetzen?'; $this->phrasen['zeitwunsch/bearbeitungAktivieren']='Bearbeitung aktivieren'; $this->phrasen['zeitwunsch/kompetenzfeldWirdInformiert']= 'INFO: Kompetenzfeld wird über die Änderung per Mail informiert'; diff --git a/locale/en-US/zeitwunsch.php b/locale/en-US/zeitwunsch.php index d12863710..7aa8a6932 100644 --- a/locale/en-US/zeitwunsch.php +++ b/locale/en-US/zeitwunsch.php @@ -37,7 +37,7 @@ $this->phrasen['zeitwunsch/stundenBereitsVerplant']='Hours already scheduled for $this->phrasen['zeitwunsch/fuer']='Preferred time for %s  '; $this->phrasen['zeitwunsch/bearbeitungDeaktiviert']='Editing disabled'; $this->phrasen['zeitwunsch/bearbeitungDeaktiviertText']='You have already been assigned to course(s) in %s.
    - Please agree with %s before making a change.
    + Please agree per Mail with the degree programs concerned, before making a change.
    Would you still like to continue without agreement or after having agreed?'; $this->phrasen['zeitwunsch/bearbeitungAktivieren']='Enable editing'; $this->phrasen['zeitwunsch/kompetenzfeldWirdInformiert']= 'INFO: The field of competence will be informed of your changes by email'; From e0bc6198d021e9898df78aed8a87a8d1ea35d12b Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 20 Dec 2021 13:04:06 +0100 Subject: [PATCH 124/475] Name statt uid bei der "wird bearbeitet von" Meldung --- .../controllers/system/infocenter/InfoCenter.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index a69a43220..d2a058318 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -1708,9 +1708,15 @@ class InfoCenter extends Auth_Controller if (isset($locked->retval[0]->uid)) { - $lockedby = $locked->retval[0]->uid; - if ($lockedby !== $this->_uid) + if ($locked->retval[0]->uid !== $this->_uid) + { $lockedbyother = true; + + if (!$lockedby = getData($this->PersonModel->getFullName($locked->retval[0]->uid))) + { + show_error('Failed retrieving person'); + } + } } $stammdaten = $this->PersonModel->getPersonStammdaten($person_id, true); From 2d46d80b5f62c3075283d69971c5317e1f84894d Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 22 Dec 2021 16:26:45 +0100 Subject: [PATCH 125/475] meldung wird nun auch angezeigt wenn es die selbe person id ist --- application/models/person/Person_model.php | 37 ++++++++++++++++------ 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/application/models/person/Person_model.php b/application/models/person/Person_model.php index ec5522674..37d6fb9ff 100644 --- a/application/models/person/Person_model.php +++ b/application/models/person/Person_model.php @@ -268,16 +268,35 @@ class Person_model extends DB_Model public function checkDuplicate($person_id) { - $qry = "SELECT sp.person_id - FROM public.tbl_person p - LEFT JOIN public.tbl_person sp ON p.vorname = sp.vorname - AND p.nachname = sp.nachname - AND p.gebdatum = sp.gebdatum - JOIN public.tbl_prestudent ps ON sp.person_id = ps.person_id - JOIN public.tbl_prestudentstatus pss ON ps.prestudent_id = pss.prestudent_id - WHERE p.person_id = ? AND sp.person_id != ? AND pss.status_kurzbz = ?"; + $qry = "SELECT p.person_id + FROM public.tbl_person p + JOIN public.tbl_prestudent USING (person_id) + JOIN public.tbl_prestudentstatus USING (prestudent_id) + WHERE status_kurzbz = 'Abbrecher' + AND person_id IN (SELECT p2.person_id + FROM public.tbl_person p + JOIN public.tbl_person p2 + ON p.vorname = p2.vorname + AND p.nachname = p2.nachname + AND p.gebdatum = p2.gebdatum + WHERE p.person_id = ? + )"; + $person = $this->execQuery($qry, array($person_id)); - return $this->execQuery($qry, array($person_id, $person_id, 'Abbrecher')); + if (hasData($person)) + { + $qry = "SELECT p2.person_id + FROM public.tbl_person p + JOIN public.tbl_person p2 + ON p.vorname = p2.vorname + AND p.nachname = p2.nachname + AND p.gebdatum = p2.gebdatum + WHERE p.person_id = ?"; + + return $this->execQuery($qry, array($person_id)); + } + + return $person; } } From 4d223145d9bee02359c9fb0dcb6bd8b914bace3c Mon Sep 17 00:00:00 2001 From: ma0048 Date: Wed, 22 Dec 2021 16:32:00 +0100 Subject: [PATCH 126/475] if angepasst --- .../controllers/system/infocenter/InfoCenter.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index d2a058318..1d142d615 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -1708,14 +1708,14 @@ class InfoCenter extends Auth_Controller if (isset($locked->retval[0]->uid)) { + if (!$lockedby = getData($this->PersonModel->getFullName($locked->retval[0]->uid))) + { + show_error('Failed retrieving person'); + } + if ($locked->retval[0]->uid !== $this->_uid) { $lockedbyother = true; - - if (!$lockedby = getData($this->PersonModel->getFullName($locked->retval[0]->uid))) - { - show_error('Failed retrieving person'); - } } } From 4c3fe39df73c5ac813ee61b865e12eb8b350a0be Mon Sep 17 00:00:00 2001 From: ma0048 Date: Mon, 3 Jan 2022 13:12:01 +0100 Subject: [PATCH 127/475] zeigt nun noch die lvs des studiengangs an --- content/student/studentprojektarbeit.js.php | 3 ++- rdf/lehrveranstaltung.rdf.php | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index 40af4107d..124516357 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -652,11 +652,12 @@ function StudentProjektarbeitNeu() StudentProjektarbeitResetFields(); StudentProjektarbeitDetailDisableFields(false); StudentProjektbetreuerDisableFields(true); + var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value; var student_uid = document.getElementById('student-detail-textbox-uid').value; //Lehrveranstaltung DropDown laden var LvDropDown = document.getElementById('student-projektarbeit-menulist-lehrveranstaltung'); - url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+"&projektarbeit=true&"+gettimestamp(); + url='rdf/lehrveranstaltung.rdf.php?uid='+student_uid+'&stg_kz='+stg_kz+"&projektarbeit=true&"+gettimestamp(); //Alte DS entfernen var oldDatasources = LvDropDown.database.GetDataSources(); diff --git a/rdf/lehrveranstaltung.rdf.php b/rdf/lehrveranstaltung.rdf.php index e0f967727..c3519d73e 100644 --- a/rdf/lehrveranstaltung.rdf.php +++ b/rdf/lehrveranstaltung.rdf.php @@ -73,7 +73,11 @@ else $lehrveranstaltung=new lehrveranstaltung(); if($student_uid!='') +{ $lehrveranstaltung->load_lva_student($student_uid); + if ($stg_kz !== '') + $lehrveranstaltung->load_lva($stg_kz); +} elseif($lehrveranstaltung_kompatibel_id!='') { // Laedt die Lehrveranstaltung und alle die dazu kompatibel sind From fe41a3d830549c3051002ab7d099a4e8be10290f Mon Sep 17 00:00:00 2001 From: ma0068 Date: Mon, 3 Jan 2022 15:23:11 +0100 Subject: [PATCH 128/475] =?UTF-8?q?Nationensperre=20im=20Dropdown=20f?= =?UTF-8?q?=C3=BCr=20Staatsbuergerschaft,=20Geburtsnation,=20ZGVNation=20u?= =?UTF-8?q?nd=20ZGVMasternation=20umgesetzt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentdetailoverlay.xul.php | 41 +++++++++++++++++--- rdf/nation.rdf.php | 1 + 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/content/student/studentdetailoverlay.xul.php b/content/student/studentdetailoverlay.xul.php index dd86b3657..d038364fc 100644 --- a/content/student/studentdetailoverlay.xul.php +++ b/content/student/studentdetailoverlay.xul.php @@ -107,9 +107,16 @@ echo ''; ref="http://www.technikum-wien.at/nation/liste" > @@ -130,12 +137,21 @@ echo ''; ref="http://www.technikum-wien.at/nation/liste" > + +
    and are returned. If "true", a - * dedicated block element block element will be created inside those - * elements to hold the selected content. - */ - this.EnforceRealBlocks = false ; -} - -FCKDomRangeIterator.CreateFromSelection = function( targetWindow ) -{ - var range = new FCKDomRange( targetWindow ) ; - range.MoveToSelection() ; - return new FCKDomRangeIterator( range ) ; -} - -FCKDomRangeIterator.prototype = -{ - /** - * Get the next paragraph element. It automatically breaks the document - * when necessary to generate block elements for the paragraphs. - */ - GetNextParagraph : function() - { - // The block element to be returned. - var block ; - - // The range object used to identify the paragraph contents. - var range ; - - // Indicated that the current element in the loop is the last one. - var isLast ; - - // Instructs to cleanup remaining BRs. - var removePreviousBr ; - var removeLastBr ; - - var boundarySet = this.ForceBrBreak ? FCKListsLib.ListBoundaries : FCKListsLib.BlockBoundaries ; - - // This is the first iteration. Let's initialize it. - if ( !this._LastNode ) - { - var range = this.Range.Clone() ; - range.Expand( this.ForceBrBreak ? 'list_contents' : 'block_contents' ) ; - - this._NextNode = range.GetTouchedStartNode() ; - this._LastNode = range.GetTouchedEndNode() ; - - // Let's reuse this variable. - range = null ; - } - - var currentNode = this._NextNode ; - var lastNode = this._LastNode ; - - this._NextNode = null ; - - while ( currentNode ) - { - // closeRange indicates that a paragraph boundary has been found, - // so the range can be closed. - var closeRange = false ; - - // includeNode indicates that the current node is good to be part - // of the range. By default, any non-element node is ok for it. - var includeNode = ( currentNode.nodeType != 1 ) ; - - var continueFromSibling = false ; - - // If it is an element node, let's check if it can be part of the - // range. - if ( !includeNode ) - { - var nodeName = currentNode.nodeName.toLowerCase() ; - - if ( boundarySet[ nodeName ] && ( !FCKBrowserInfo.IsIE || currentNode.scopeName == 'HTML' ) ) - { - //
    boundaries must be part of the range. It will - // happen only if ForceBrBreak. - if ( nodeName == 'br' ) - includeNode = true ; - else if ( !range && currentNode.childNodes.length == 0 && nodeName != 'hr' ) - { - // If we have found an empty block, and haven't started - // the range yet, it means we must return this block. - block = currentNode ; - isLast = currentNode == lastNode ; - break ; - } - - // The range must finish right before the boundary, - // including possibly skipped empty spaces. (#1603) - if ( range ) - { - range.SetEnd( currentNode, 3, true ) ; - - // The found boundary must be set as the next one at this - // point. (#1717) - if ( nodeName != 'br' ) - this._NextNode = FCKDomTools.GetNextSourceNode( currentNode, true, null, lastNode ) ; - } - - closeRange = true ; - } - else - { - // If we have child nodes, let's check them. - if ( currentNode.firstChild ) - { - // If we don't have a range yet, let's start it. - if ( !range ) - { - range = new FCKDomRange( this.Range.Window ) ; - range.SetStart( currentNode, 3, true ) ; - } - - currentNode = currentNode.firstChild ; - continue ; - } - includeNode = true ; - } - } - else if ( currentNode.nodeType == 3 ) - { - // Ignore normal whitespaces (i.e. not including   or - // other unicode whitespaces) before/after a block node. - if ( /^[\r\n\t ]+$/.test( currentNode.nodeValue ) ) - includeNode = false ; - } - - // The current node is good to be part of the range and we are - // starting a new range, initialize it first. - if ( includeNode && !range ) - { - range = new FCKDomRange( this.Range.Window ) ; - range.SetStart( currentNode, 3, true ) ; - } - - // The last node has been found. - isLast = ( ( !closeRange || includeNode ) && currentNode == lastNode ) ; -// isLast = ( currentNode == lastNode && ( currentNode.nodeType != 1 || currentNode.childNodes.length == 0 ) ) ; - - // If we are in an element boundary, let's check if it is time - // to close the range, otherwise we include the parent within it. - if ( range && !closeRange ) - { - while ( !currentNode.nextSibling && !isLast ) - { - var parentNode = currentNode.parentNode ; - - if ( boundarySet[ parentNode.nodeName.toLowerCase() ] ) - { - closeRange = true ; - isLast = isLast || ( parentNode == lastNode ) ; - break ; - } - - currentNode = parentNode ; - includeNode = true ; - isLast = ( currentNode == lastNode ) ; - continueFromSibling = true ; - } - } - - // Now finally include the node. - if ( includeNode ) - range.SetEnd( currentNode, 4, true ) ; - - // We have found a block boundary. Let's close the range and move out of the - // loop. - if ( ( closeRange || isLast ) && range ) - { - range._UpdateElementInfo() ; - - if ( range.StartNode == range.EndNode - && range.StartNode.parentNode == range.StartBlockLimit - && range.StartNode.getAttribute && range.StartNode.getAttribute( '_fck_bookmark' ) ) - range = null ; - else - break ; - } - - if ( isLast ) - break ; - - currentNode = FCKDomTools.GetNextSourceNode( currentNode, continueFromSibling, null, lastNode ) ; - } - - // Now, based on the processed range, look for (or create) the block to be returned. - if ( !block ) - { - // If no range has been found, this is the end. - if ( !range ) - { - this._NextNode = null ; - return null ; - } - - block = range.StartBlock ; - - if ( !block - && !this.EnforceRealBlocks - && range.StartBlockLimit.nodeName.IEquals( 'DIV', 'TH', 'TD' ) - && range.CheckStartOfBlock() - && range.CheckEndOfBlock() ) - { - block = range.StartBlockLimit ; - } - else if ( !block || ( this.EnforceRealBlocks && block.nodeName.toLowerCase() == 'li' ) ) - { - // Create the fixed block. - block = this.Range.Window.document.createElement( FCKConfig.EnterMode == 'p' ? 'p' : 'div' ) ; - - // Move the contents of the temporary range to the fixed block. - range.ExtractContents().AppendTo( block ) ; - FCKDomTools.TrimNode( block ) ; - - // Insert the fixed block into the DOM. - range.InsertNode( block ) ; - - removePreviousBr = true ; - removeLastBr = true ; - } - else if ( block.nodeName.toLowerCase() != 'li' ) - { - // If the range doesn't includes the entire contents of the - // block, we must split it, isolating the range in a dedicated - // block. - if ( !range.CheckStartOfBlock() || !range.CheckEndOfBlock() ) - { - // The resulting block will be a clone of the current one. - block = block.cloneNode( false ) ; - - // Extract the range contents, moving it to the new block. - range.ExtractContents().AppendTo( block ) ; - FCKDomTools.TrimNode( block ) ; - - // Split the block. At this point, the range will be in the - // right position for our intents. - var splitInfo = range.SplitBlock() ; - - removePreviousBr = !splitInfo.WasStartOfBlock ; - removeLastBr = !splitInfo.WasEndOfBlock ; - - // Insert the new block into the DOM. - range.InsertNode( block ) ; - } - } - else if ( !isLast ) - { - // LIs are returned as is, with all their children (due to the - // nested lists). But, the next node is the node right after - // the current range, which could be an
  • child (nested - // lists) or the next sibling
  • . - - this._NextNode = block == lastNode ? null : FCKDomTools.GetNextSourceNode( range.EndNode, true, null, lastNode ) ; - return block ; - } - } - - if ( removePreviousBr ) - { - var previousSibling = block.previousSibling ; - if ( previousSibling && previousSibling.nodeType == 1 ) - { - if ( previousSibling.nodeName.toLowerCase() == 'br' ) - previousSibling.parentNode.removeChild( previousSibling ) ; - else if ( previousSibling.lastChild && previousSibling.lastChild.nodeName.IEquals( 'br' ) ) - previousSibling.removeChild( previousSibling.lastChild ) ; - } - } - - if ( removeLastBr ) - { - var lastChild = block.lastChild ; - if ( lastChild && lastChild.nodeType == 1 && lastChild.nodeName.toLowerCase() == 'br' ) - block.removeChild( lastChild ) ; - } - - // Get a reference for the next element. This is important because the - // above block can be removed or changed, so we can rely on it for the - // next interation. - if ( !this._NextNode ) - this._NextNode = ( isLast || block == lastNode ) ? null : FCKDomTools.GetNextSourceNode( block, true, null, lastNode ) ; - - return block ; - } -} ; diff --git a/include/fckeditor/editor/_source/classes/fckeditingarea.js b/include/fckeditor/editor/_source/classes/fckeditingarea.js deleted file mode 100644 index 66d93e12a..000000000 --- a/include/fckeditor/editor/_source/classes/fckeditingarea.js +++ /dev/null @@ -1,368 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * FCKEditingArea Class: renders an editable area. - */ - -/** - * @constructor - * @param {String} targetElement The element that will hold the editing area. Any child element present in the target will be deleted. - */ -var FCKEditingArea = function( targetElement ) -{ - this.TargetElement = targetElement ; - this.Mode = FCK_EDITMODE_WYSIWYG ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKEditingArea_Cleanup ) ; -} - - -/** - * @param {String} html The complete HTML for the page, including DOCTYPE and the tag. - */ -FCKEditingArea.prototype.Start = function( html, secondCall ) -{ - var eTargetElement = this.TargetElement ; - var oTargetDocument = FCKTools.GetElementDocument( eTargetElement ) ; - - // Remove all child nodes from the target. - while( eTargetElement.firstChild ) - eTargetElement.removeChild( eTargetElement.firstChild ) ; - - if ( this.Mode == FCK_EDITMODE_WYSIWYG ) - { - // For FF, document.domain must be set only when different, otherwhise - // we'll strangely have "Permission denied" issues. - if ( FCK_IS_CUSTOM_DOMAIN ) - html = '' + html ; - - // IE has a bug with the tag... it must have a closer, - // otherwise the all successive tags will be set as children nodes of the . - if ( FCKBrowserInfo.IsIE ) - html = html.replace( /(]*?)\s*\/?>(?!\s*<\/base>)/gi, '$1>' ) ; - else if ( !secondCall ) - { - // Gecko moves some tags out of the body to the head, so we must use - // innerHTML to set the body contents (SF BUG 1526154). - - // Extract the BODY contents from the html. - var oMatchBefore = html.match( FCKRegexLib.BeforeBody ) ; - var oMatchAfter = html.match( FCKRegexLib.AfterBody ) ; - - if ( oMatchBefore && oMatchAfter ) - { - var sBody = html.substr( oMatchBefore[1].length, - html.length - oMatchBefore[1].length - oMatchAfter[1].length ) ; // This is the BODY tag contents. - - html = - oMatchBefore[1] + // This is the HTML until the tag, inclusive. - ' ' + - oMatchAfter[1] ; // This is the HTML from the tag, inclusive. - - // If nothing in the body, place a BOGUS tag so the cursor will appear. - if ( FCKBrowserInfo.IsGecko && ( sBody.length == 0 || FCKRegexLib.EmptyParagraph.test( sBody ) ) ) - sBody = '
    ' ; - - this._BodyHTML = sBody ; - - } - else - this._BodyHTML = html ; // Invalid HTML input. - } - - // Create the editing area IFRAME. - var oIFrame = this.IFrame = oTargetDocument.createElement( 'iframe' ) ; - - // IE: Avoid JavaScript errors thrown by the editing are source (like tags events). - // See #1055. - var sOverrideError = '' ; - - oIFrame.frameBorder = 0 ; - oIFrame.style.width = oIFrame.style.height = '100%' ; - - if ( FCK_IS_CUSTOM_DOMAIN && FCKBrowserInfo.IsIE ) - { - window._FCKHtmlToLoad = html.replace( //i, '' + sOverrideError ) ; - oIFrame.src = 'javascript:void( (function(){' + - 'document.open() ;' + - 'document.domain="' + document.domain + '" ;' + - 'document.write( window.parent._FCKHtmlToLoad );' + - 'document.close() ;' + - 'window.parent._FCKHtmlToLoad = null ;' + - '})() )' ; - } - else if ( !FCKBrowserInfo.IsGecko ) - { - // Firefox will render the tables inside the body in Quirks mode if the - // source of the iframe is set to javascript. see #515 - oIFrame.src = 'javascript:void(0)' ; - } - - // Append the new IFRAME to the target. For IE, it must be done after - // setting the "src", to avoid the "secure/unsecure" message under HTTPS. - eTargetElement.appendChild( oIFrame ) ; - - // Get the window and document objects used to interact with the newly created IFRAME. - this.Window = oIFrame.contentWindow ; - - // IE: Avoid JavaScript errors thrown by the editing are source (like tags events). - // TODO: This error handler is not being fired. - // this.Window.onerror = function() { alert( 'Error!' ) ; return true ; } - - if ( !FCK_IS_CUSTOM_DOMAIN || !FCKBrowserInfo.IsIE ) - { - var oDoc = this.Window.document ; - - oDoc.open() ; - oDoc.write( html.replace( //i, '' + sOverrideError ) ) ; - oDoc.close() ; - } - - if ( FCKBrowserInfo.IsAIR ) - FCKAdobeAIR.EditingArea_Start( oDoc, html ) ; - - // Firefox 1.0.x is buggy... ohh yes... so let's do it two times and it - // will magically work. - if ( FCKBrowserInfo.IsGecko10 && !secondCall ) - { - this.Start( html, true ) ; - return ; - } - - if ( oIFrame.readyState && oIFrame.readyState != 'completed' ) - { - var editArea = this ; - - // Using a IE alternative for DOMContentLoaded, similar to the - // solution proposed at http://javascript.nwbox.com/IEContentLoaded/ - setTimeout( function() - { - try - { - editArea.Window.document.documentElement.doScroll("left") ; - } - catch(e) - { - setTimeout( arguments.callee, 0 ) ; - return ; - } - editArea.Window._FCKEditingArea = editArea ; - FCKEditingArea_CompleteStart.call( editArea.Window ) ; - }, 0 ) ; - } - else - { - this.Window._FCKEditingArea = this ; - - // FF 1.0.x is buggy... we must wait a lot to enable editing because - // sometimes the content simply disappears, for example when pasting - // "bla1!!bla2" in the source and then switching - // back to design. - if ( FCKBrowserInfo.IsGecko10 ) - this.Window.setTimeout( FCKEditingArea_CompleteStart, 500 ) ; - else - FCKEditingArea_CompleteStart.call( this.Window ) ; - } - } - else - { - var eTextarea = this.Textarea = oTargetDocument.createElement( 'textarea' ) ; - eTextarea.className = 'SourceField' ; - eTextarea.dir = 'ltr' ; - FCKDomTools.SetElementStyles( eTextarea, - { - width : '100%', - height : '100%', - border : 'none', - resize : 'none', - outline : 'none' - } ) ; - eTargetElement.appendChild( eTextarea ) ; - - eTextarea.value = html ; - - // Fire the "OnLoad" event. - FCKTools.RunFunction( this.OnLoad ) ; - } -} - -// "this" here is FCKEditingArea.Window -function FCKEditingArea_CompleteStart() -{ - // On Firefox, the DOM takes a little to become available. So we must wait for it in a loop. - if ( !this.document.body ) - { - this.setTimeout( FCKEditingArea_CompleteStart, 50 ) ; - return ; - } - - var oEditorArea = this._FCKEditingArea ; - - // Save this reference to be re-used later. - oEditorArea.Document = oEditorArea.Window.document ; - - oEditorArea.MakeEditable() ; - - // Fire the "OnLoad" event. - FCKTools.RunFunction( oEditorArea.OnLoad ) ; -} - -FCKEditingArea.prototype.MakeEditable = function() -{ - var oDoc = this.Document ; - - if ( FCKBrowserInfo.IsIE ) - { - // Kludge for #141 and #523 - oDoc.body.disabled = true ; - oDoc.body.contentEditable = true ; - oDoc.body.removeAttribute( "disabled" ) ; - - /* The following commands don't throw errors, but have no effect. - oDoc.execCommand( 'AutoDetect', false, false ) ; - oDoc.execCommand( 'KeepSelection', false, true ) ; - */ - } - else - { - try - { - // Disable Firefox 2 Spell Checker. - oDoc.body.spellcheck = ( this.FFSpellChecker !== false ) ; - - if ( this._BodyHTML ) - { - oDoc.body.innerHTML = this._BodyHTML ; - oDoc.body.offsetLeft ; // Don't remove, this is a hack to fix Opera 9.50, see #2264. - this._BodyHTML = null ; - } - - oDoc.designMode = 'on' ; - - // Tell Gecko (Firefox 1.5+) to enable or not live resizing of objects (by Alfonso Martinez) - oDoc.execCommand( 'enableObjectResizing', false, !FCKConfig.DisableObjectResizing ) ; - - // Disable the standard table editing features of Firefox. - oDoc.execCommand( 'enableInlineTableEditing', false, !FCKConfig.DisableFFTableHandles ) ; - } - catch (e) - { - // In Firefox if the iframe is initially hidden it can't be set to designMode and it raises an exception - // So we set up a DOM Mutation event Listener on the HTML, as it will raise several events when the document is visible again - FCKTools.AddEventListener( this.Window.frameElement, 'DOMAttrModified', FCKEditingArea_Document_AttributeNodeModified ) ; - } - - } -} - -// This function processes the notifications of the DOM Mutation event on the document -// We use it to know that the document will be ready to be editable again (or we hope so) -function FCKEditingArea_Document_AttributeNodeModified( evt ) -{ - var editingArea = evt.currentTarget.contentWindow._FCKEditingArea ; - - // We want to run our function after the events no longer fire, so we can know that it's a stable situation - if ( editingArea._timer ) - window.clearTimeout( editingArea._timer ) ; - - editingArea._timer = FCKTools.SetTimeout( FCKEditingArea_MakeEditableByMutation, 1000, editingArea ) ; -} - -// This function ideally should be called after the document is visible, it does clean up of the -// mutation tracking and tries again to make the area editable. -function FCKEditingArea_MakeEditableByMutation() -{ - // Clean up - delete this._timer ; - // Now we don't want to keep on getting this event - FCKTools.RemoveEventListener( this.Window.frameElement, 'DOMAttrModified', FCKEditingArea_Document_AttributeNodeModified ) ; - // Let's try now to set the editing area editable - // If it fails it will set up the Mutation Listener again automatically - this.MakeEditable() ; -} - -FCKEditingArea.prototype.Focus = function() -{ - try - { - if ( this.Mode == FCK_EDITMODE_WYSIWYG ) - { - if ( FCKBrowserInfo.IsIE ) - this._FocusIE() ; - else - this.Window.focus() ; - } - else - { - var oDoc = FCKTools.GetElementDocument( this.Textarea ) ; - if ( (!oDoc.hasFocus || oDoc.hasFocus() ) && oDoc.activeElement == this.Textarea ) - return ; - - this.Textarea.focus() ; - } - } - catch(e) {} -} - -FCKEditingArea.prototype._FocusIE = function() -{ - // In IE it can happen that the document is in theory focused but the - // active element is outside of it. - this.Document.body.setActive() ; - - this.Window.focus() ; - - // Kludge for #141... yet more code to workaround IE bugs - var range = this.Document.selection.createRange() ; - - var parentNode = range.parentElement() ; - var parentTag = parentNode.nodeName.toLowerCase() ; - - // Only apply the fix when in a block, and the block is empty. - if ( parentNode.childNodes.length > 0 || - !( FCKListsLib.BlockElements[parentTag] || - FCKListsLib.NonEmptyBlockElements[parentTag] ) ) - { - return ; - } - - // Force the selection to happen, in this way we guarantee the focus will - // be there. - range = new FCKDomRange( this.Window ) ; - range.MoveToElementEditStart( parentNode ) ; - range.Select() ; -} - -function FCKEditingArea_Cleanup() -{ - if ( this.Document ) - this.Document.body.innerHTML = "" ; - this.TargetElement = null ; - this.IFrame = null ; - this.Document = null ; - this.Textarea = null ; - - if ( this.Window ) - { - this.Window._FCKEditingArea = null ; - this.Window = null ; - } -} diff --git a/include/fckeditor/editor/_source/classes/fckelementpath.js b/include/fckeditor/editor/_source/classes/fckelementpath.js deleted file mode 100644 index 2bf4eb3e9..000000000 --- a/include/fckeditor/editor/_source/classes/fckelementpath.js +++ /dev/null @@ -1,89 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Manages the DOM ascensors element list of a specific DOM node - * (limited to body, inclusive). - */ - -var FCKElementPath = function( lastNode ) -{ - var eBlock = null ; - var eBlockLimit = null ; - - var aElements = new Array() ; - - var e = lastNode ; - while ( e ) - { - if ( e.nodeType == 1 ) - { - if ( !this.LastElement ) - this.LastElement = e ; - - var sElementName = e.nodeName.toLowerCase() ; - if ( FCKBrowserInfo.IsIE && e.scopeName != 'HTML' ) - sElementName = e.scopeName.toLowerCase() + ':' + sElementName ; - - if ( !eBlockLimit ) - { - if ( !eBlock && FCKListsLib.PathBlockElements[ sElementName ] != null ) - eBlock = e ; - - if ( FCKListsLib.PathBlockLimitElements[ sElementName ] != null ) - { - // DIV is considered the Block, if no block is available (#525) - // and if it doesn't contain other blocks. - if ( !eBlock && sElementName == 'div' && !FCKElementPath._CheckHasBlock( e ) ) - eBlock = e ; - else - eBlockLimit = e ; - } - } - - aElements.push( e ) ; - - if ( sElementName == 'body' ) - break ; - } - e = e.parentNode ; - } - - this.Block = eBlock ; - this.BlockLimit = eBlockLimit ; - this.Elements = aElements ; -} - -/** - * Check if an element contains any block element. - */ -FCKElementPath._CheckHasBlock = function( element ) -{ - var childNodes = element.childNodes ; - - for ( var i = 0, count = childNodes.length ; i < count ; i++ ) - { - var child = childNodes[i] ; - - if ( child.nodeType == 1 && FCKListsLib.BlockElements[ child.nodeName.toLowerCase() ] ) - return true ; - } - - return false ; -} diff --git a/include/fckeditor/editor/_source/classes/fckenterkey.js b/include/fckeditor/editor/_source/classes/fckenterkey.js deleted file mode 100644 index 49f64bea7..000000000 --- a/include/fckeditor/editor/_source/classes/fckenterkey.js +++ /dev/null @@ -1,688 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Controls the [Enter] keystroke behavior in a document. - */ - -/* - * Constructor. - * @targetDocument : the target document. - * @enterMode : the behavior for the keystroke. - * May be "p", "div", "br". Default is "p". - * @shiftEnterMode : the behavior for the + keystroke. - * May be "p", "div", "br". Defaults to "br". - */ -var FCKEnterKey = function( targetWindow, enterMode, shiftEnterMode, tabSpaces ) -{ - this.Window = targetWindow ; - this.EnterMode = enterMode || 'p' ; - this.ShiftEnterMode = shiftEnterMode || 'br' ; - - // Setup the Keystroke Handler. - var oKeystrokeHandler = new FCKKeystrokeHandler( false ) ; - oKeystrokeHandler._EnterKey = this ; - oKeystrokeHandler.OnKeystroke = FCKEnterKey_OnKeystroke ; - - oKeystrokeHandler.SetKeystrokes( [ - [ 13 , 'Enter' ], - [ SHIFT + 13, 'ShiftEnter' ], - [ 8 , 'Backspace' ], - [ CTRL + 8 , 'CtrlBackspace' ], - [ 46 , 'Delete' ] - ] ) ; - - this.TabText = '' ; - - // Safari by default inserts 4 spaces on TAB, while others make the editor - // loose focus. So, we need to handle it here to not include those spaces. - if ( tabSpaces > 0 || FCKBrowserInfo.IsSafari ) - { - while ( tabSpaces-- ) - this.TabText += '\xa0' ; - - oKeystrokeHandler.SetKeystrokes( [ 9, 'Tab' ] ); - } - - oKeystrokeHandler.AttachToElement( targetWindow.document ) ; -} - - -function FCKEnterKey_OnKeystroke( keyCombination, keystrokeValue ) -{ - var oEnterKey = this._EnterKey ; - - try - { - switch ( keystrokeValue ) - { - case 'Enter' : - return oEnterKey.DoEnter() ; - break ; - case 'ShiftEnter' : - return oEnterKey.DoShiftEnter() ; - break ; - case 'Backspace' : - return oEnterKey.DoBackspace() ; - break ; - case 'Delete' : - return oEnterKey.DoDelete() ; - break ; - case 'Tab' : - return oEnterKey.DoTab() ; - break ; - case 'CtrlBackspace' : - return oEnterKey.DoCtrlBackspace() ; - break ; - } - } - catch (e) - { - // If for any reason we are not able to handle it, go - // ahead with the browser default behavior. - } - - return false ; -} - -/* - * Executes the key behavior. - */ -FCKEnterKey.prototype.DoEnter = function( mode, hasShift ) -{ - // Save an undo snapshot before doing anything - FCKUndo.SaveUndoStep() ; - - this._HasShift = ( hasShift === true ) ; - - var parentElement = FCKSelection.GetParentElement() ; - var parentPath = new FCKElementPath( parentElement ) ; - var sMode = mode || this.EnterMode ; - - if ( sMode == 'br' || parentPath.Block && parentPath.Block.tagName.toLowerCase() == 'pre' ) - return this._ExecuteEnterBr() ; - else - return this._ExecuteEnterBlock( sMode ) ; -} - -/* - * Executes the + key behavior. - */ -FCKEnterKey.prototype.DoShiftEnter = function() -{ - return this.DoEnter( this.ShiftEnterMode, true ) ; -} - -/* - * Executes the key behavior. - */ -FCKEnterKey.prototype.DoBackspace = function() -{ - var bCustom = false ; - - // Get the current selection. - var oRange = new FCKDomRange( this.Window ) ; - oRange.MoveToSelection() ; - - // Kludge for #247 - if ( FCKBrowserInfo.IsIE && this._CheckIsAllContentsIncluded( oRange, this.Window.document.body ) ) - { - this._FixIESelectAllBug( oRange ) ; - return true ; - } - - var isCollapsed = oRange.CheckIsCollapsed() ; - - if ( !isCollapsed ) - { - // Bug #327, Backspace with an img selection would activate the default action in IE. - // Let's override that with our logic here. - if ( FCKBrowserInfo.IsIE && this.Window.document.selection.type.toLowerCase() == "control" ) - { - var controls = this.Window.document.selection.createRange() ; - for ( var i = controls.length - 1 ; i >= 0 ; i-- ) - { - var el = controls.item( i ) ; - el.parentNode.removeChild( el ) ; - } - return true ; - } - - return false ; - } - - // On IE, it is better for us handle the deletion if the caret is preceeded - // by a
    (#1383). - if ( FCKBrowserInfo.IsIE ) - { - var previousElement = FCKDomTools.GetPreviousSourceElement( oRange.StartNode, true ) ; - - if ( previousElement && previousElement.nodeName.toLowerCase() == 'br' ) - { - // Create a range that starts after the
    and ends at the - // current range position. - var testRange = oRange.Clone() ; - testRange.SetStart( previousElement, 4 ) ; - - // If that range is empty, we can proceed cleaning that
    manually. - if ( testRange.CheckIsEmpty() ) - { - previousElement.parentNode.removeChild( previousElement ) ; - return true ; - } - } - } - - var oStartBlock = oRange.StartBlock ; - var oEndBlock = oRange.EndBlock ; - - // The selection boundaries must be in the same "block limit" element - if ( oRange.StartBlockLimit == oRange.EndBlockLimit && oStartBlock && oEndBlock ) - { - if ( !isCollapsed ) - { - var bEndOfBlock = oRange.CheckEndOfBlock() ; - - oRange.DeleteContents() ; - - if ( oStartBlock != oEndBlock ) - { - oRange.SetStart(oEndBlock,1) ; - oRange.SetEnd(oEndBlock,1) ; - -// if ( bEndOfBlock ) -// oEndBlock.parentNode.removeChild( oEndBlock ) ; - } - - oRange.Select() ; - - bCustom = ( oStartBlock == oEndBlock ) ; - } - - if ( oRange.CheckStartOfBlock() ) - { - var oCurrentBlock = oRange.StartBlock ; - - var ePrevious = FCKDomTools.GetPreviousSourceElement( oCurrentBlock, true, [ 'BODY', oRange.StartBlockLimit.nodeName ], ['UL','OL'] ) ; - - bCustom = this._ExecuteBackspace( oRange, ePrevious, oCurrentBlock ) ; - } - else if ( FCKBrowserInfo.IsGeckoLike ) - { - // Firefox and Opera (#1095) loose the selection when executing - // CheckStartOfBlock, so we must reselect. - oRange.Select() ; - } - } - - oRange.Release() ; - return bCustom ; -} - -FCKEnterKey.prototype.DoCtrlBackspace = function() -{ - FCKUndo.SaveUndoStep() ; - var oRange = new FCKDomRange( this.Window ) ; - oRange.MoveToSelection() ; - if ( FCKBrowserInfo.IsIE && this._CheckIsAllContentsIncluded( oRange, this.Window.document.body ) ) - { - this._FixIESelectAllBug( oRange ) ; - return true ; - } - return false ; -} - -FCKEnterKey.prototype._ExecuteBackspace = function( range, previous, currentBlock ) -{ - var bCustom = false ; - - // We could be in a nested LI. - if ( !previous && currentBlock && currentBlock.nodeName.IEquals( 'LI' ) && currentBlock.parentNode.parentNode.nodeName.IEquals( 'LI' ) ) - { - this._OutdentWithSelection( currentBlock, range ) ; - return true ; - } - - if ( previous && previous.nodeName.IEquals( 'LI' ) ) - { - var oNestedList = FCKDomTools.GetLastChild( previous, ['UL','OL'] ) ; - - while ( oNestedList ) - { - previous = FCKDomTools.GetLastChild( oNestedList, 'LI' ) ; - oNestedList = FCKDomTools.GetLastChild( previous, ['UL','OL'] ) ; - } - } - - if ( previous && currentBlock ) - { - // If we are in a LI, and the previous block is not an LI, we must outdent it. - if ( currentBlock.nodeName.IEquals( 'LI' ) && !previous.nodeName.IEquals( 'LI' ) ) - { - this._OutdentWithSelection( currentBlock, range ) ; - return true ; - } - - // Take a reference to the parent for post processing cleanup. - var oCurrentParent = currentBlock.parentNode ; - - var sPreviousName = previous.nodeName.toLowerCase() ; - if ( FCKListsLib.EmptyElements[ sPreviousName ] != null || sPreviousName == 'table' ) - { - FCKDomTools.RemoveNode( previous ) ; - bCustom = true ; - } - else - { - // Remove the current block. - FCKDomTools.RemoveNode( currentBlock ) ; - - // Remove any empty tag left by the block removal. - while ( oCurrentParent.innerHTML.Trim().length == 0 ) - { - var oParent = oCurrentParent.parentNode ; - oParent.removeChild( oCurrentParent ) ; - oCurrentParent = oParent ; - } - - // Cleanup the previous and the current elements. - FCKDomTools.LTrimNode( currentBlock ) ; - FCKDomTools.RTrimNode( previous ) ; - - // Append a space to the previous. - // Maybe it is not always desirable... - // previous.appendChild( this.Window.document.createTextNode( ' ' ) ) ; - - // Set the range to the end of the previous element and bookmark it. - range.SetStart( previous, 2, true ) ; - range.Collapse( true ) ; - var oBookmark = range.CreateBookmark( true ) ; - - // Move the contents of the block to the previous element and delete it. - // But for some block types (e.g. table), moving the children to the previous block makes no sense. - // So a check is needed. (See #1081) - if ( ! currentBlock.tagName.IEquals( [ 'TABLE' ] ) ) - FCKDomTools.MoveChildren( currentBlock, previous ) ; - - // Place the selection at the bookmark. - range.SelectBookmark( oBookmark ) ; - - bCustom = true ; - } - } - - return bCustom ; -} - -/* - * Executes the key behavior. - */ -FCKEnterKey.prototype.DoDelete = function() -{ - // Save an undo snapshot before doing anything - // This is to conform with the behavior seen in MS Word - FCKUndo.SaveUndoStep() ; - - // The has the same effect as the , so we have the same - // results if we just move to the next block and apply the same logic. - - var bCustom = false ; - - // Get the current selection. - var oRange = new FCKDomRange( this.Window ) ; - oRange.MoveToSelection() ; - - // Kludge for #247 - if ( FCKBrowserInfo.IsIE && this._CheckIsAllContentsIncluded( oRange, this.Window.document.body ) ) - { - this._FixIESelectAllBug( oRange ) ; - return true ; - } - - // There is just one special case for collapsed selections at the end of a block. - if ( oRange.CheckIsCollapsed() && oRange.CheckEndOfBlock( FCKBrowserInfo.IsGeckoLike ) ) - { - var oCurrentBlock = oRange.StartBlock ; - var eCurrentCell = FCKTools.GetElementAscensor( oCurrentBlock, 'td' ); - - var eNext = FCKDomTools.GetNextSourceElement( oCurrentBlock, true, [ oRange.StartBlockLimit.nodeName ], - ['UL','OL','TR'], true ) ; - - // Bug #1323 : if we're in a table cell, and the next node belongs to a different cell, then don't - // delete anything. - if ( eCurrentCell ) - { - var eNextCell = FCKTools.GetElementAscensor( eNext, 'td' ); - if ( eNextCell != eCurrentCell ) - return true ; - } - - bCustom = this._ExecuteBackspace( oRange, oCurrentBlock, eNext ) ; - } - - oRange.Release() ; - return bCustom ; -} - -/* - * Executes the key behavior. - */ -FCKEnterKey.prototype.DoTab = function() -{ - var oRange = new FCKDomRange( this.Window ); - oRange.MoveToSelection() ; - - // If the user pressed inside a table, we should give him the default behavior ( moving between cells ) - // instead of giving him more non-breaking spaces. (Bug #973) - var node = oRange._Range.startContainer ; - while ( node ) - { - if ( node.nodeType == 1 ) - { - var tagName = node.tagName.toLowerCase() ; - if ( tagName == "tr" || tagName == "td" || tagName == "th" || tagName == "tbody" || tagName == "table" ) - return false ; - else - break ; - } - node = node.parentNode ; - } - - if ( this.TabText ) - { - oRange.DeleteContents() ; - oRange.InsertNode( this.Window.document.createTextNode( this.TabText ) ) ; - oRange.Collapse( false ) ; - oRange.Select() ; - } - return true ; -} - -FCKEnterKey.prototype._ExecuteEnterBlock = function( blockTag, range ) -{ - // Get the current selection. - var oRange = range || new FCKDomRange( this.Window ) ; - - var oSplitInfo = oRange.SplitBlock( blockTag ) ; - - if ( oSplitInfo ) - { - // Get the current blocks. - var ePreviousBlock = oSplitInfo.PreviousBlock ; - var eNextBlock = oSplitInfo.NextBlock ; - - var bIsStartOfBlock = oSplitInfo.WasStartOfBlock ; - var bIsEndOfBlock = oSplitInfo.WasEndOfBlock ; - - // If there is one block under a list item, modify the split so that the list item gets split as well. (Bug #1647) - if ( eNextBlock ) - { - if ( eNextBlock.parentNode.nodeName.IEquals( 'li' ) ) - { - FCKDomTools.BreakParent( eNextBlock, eNextBlock.parentNode ) ; - FCKDomTools.MoveNode( eNextBlock, eNextBlock.nextSibling, true ) ; - } - } - else if ( ePreviousBlock && ePreviousBlock.parentNode.nodeName.IEquals( 'li' ) ) - { - FCKDomTools.BreakParent( ePreviousBlock, ePreviousBlock.parentNode ) ; - oRange.MoveToElementEditStart( ePreviousBlock.nextSibling ); - FCKDomTools.MoveNode( ePreviousBlock, ePreviousBlock.previousSibling ) ; - } - - // If we have both the previous and next blocks, it means that the - // boundaries were on separated blocks, or none of them where on the - // block limits (start/end). - if ( !bIsStartOfBlock && !bIsEndOfBlock ) - { - // If the next block is an
  • with another list tree as the first child - // We'll need to append a placeholder or the list item wouldn't be editable. (Bug #1420) - if ( eNextBlock.nodeName.IEquals( 'li' ) && eNextBlock.firstChild - && eNextBlock.firstChild.nodeName.IEquals( ['ul', 'ol'] ) ) - eNextBlock.insertBefore( FCKTools.GetElementDocument( eNextBlock ).createTextNode( '\xa0' ), eNextBlock.firstChild ) ; - // Move the selection to the end block. - if ( eNextBlock ) - oRange.MoveToElementEditStart( eNextBlock ) ; - } - else - { - if ( bIsStartOfBlock && bIsEndOfBlock && ePreviousBlock.tagName.toUpperCase() == 'LI' ) - { - oRange.MoveToElementStart( ePreviousBlock ) ; - this._OutdentWithSelection( ePreviousBlock, oRange ) ; - oRange.Release() ; - return true ; - } - - var eNewBlock ; - - if ( ePreviousBlock ) - { - var sPreviousBlockTag = ePreviousBlock.tagName.toUpperCase() ; - - // If is a header tag, or we are in a Shift+Enter (#77), - // create a new block element (later in the code). - if ( !this._HasShift && !(/^H[1-6]$/).test( sPreviousBlockTag ) ) - { - // Otherwise, duplicate the previous block. - eNewBlock = FCKDomTools.CloneElement( ePreviousBlock ) ; - } - } - else if ( eNextBlock ) - eNewBlock = FCKDomTools.CloneElement( eNextBlock ) ; - - if ( !eNewBlock ) - eNewBlock = this.Window.document.createElement( blockTag ) ; - - // Recreate the inline elements tree, which was available - // before the hitting enter, so the same styles will be - // available in the new block. - var elementPath = oSplitInfo.ElementPath ; - if ( elementPath ) - { - for ( var i = 0, len = elementPath.Elements.length ; i < len ; i++ ) - { - var element = elementPath.Elements[i] ; - - if ( element == elementPath.Block || element == elementPath.BlockLimit ) - break ; - - if ( FCKListsLib.InlineChildReqElements[ element.nodeName.toLowerCase() ] ) - { - element = FCKDomTools.CloneElement( element ) ; - FCKDomTools.MoveChildren( eNewBlock, element ) ; - eNewBlock.appendChild( element ) ; - } - } - } - - if ( FCKBrowserInfo.IsGeckoLike ) - FCKTools.AppendBogusBr( eNewBlock ) ; - - oRange.InsertNode( eNewBlock ) ; - - // This is tricky, but to make the new block visible correctly - // we must select it. - if ( FCKBrowserInfo.IsIE ) - { - // Move the selection to the new block. - oRange.MoveToElementEditStart( eNewBlock ) ; - oRange.Select() ; - } - - // Move the selection to the new block. - oRange.MoveToElementEditStart( bIsStartOfBlock && !bIsEndOfBlock ? eNextBlock : eNewBlock ) ; - } - - if ( FCKBrowserInfo.IsGeckoLike ) - FCKDomTools.ScrollIntoView( eNextBlock || eNewBlock, false ) ; - - oRange.Select() ; - } - - // Release the resources used by the range. - oRange.Release() ; - - return true ; -} - -FCKEnterKey.prototype._ExecuteEnterBr = function( blockTag ) -{ - // Get the current selection. - var oRange = new FCKDomRange( this.Window ) ; - oRange.MoveToSelection() ; - - // The selection boundaries must be in the same "block limit" element. - if ( oRange.StartBlockLimit == oRange.EndBlockLimit ) - { - oRange.DeleteContents() ; - - // Get the new selection (it is collapsed at this point). - oRange.MoveToSelection() ; - - var bIsStartOfBlock = oRange.CheckStartOfBlock() ; - var bIsEndOfBlock = oRange.CheckEndOfBlock() ; - - var sStartBlockTag = oRange.StartBlock ? oRange.StartBlock.tagName.toUpperCase() : '' ; - - var bHasShift = this._HasShift ; - var bIsPre = false ; - - if ( !bHasShift && sStartBlockTag == 'LI' ) - return this._ExecuteEnterBlock( null, oRange ) ; - - // If we are at the end of a header block. - if ( !bHasShift && bIsEndOfBlock && (/^H[1-6]$/).test( sStartBlockTag ) ) - { - // Insert a BR after the current paragraph. - FCKDomTools.InsertAfterNode( oRange.StartBlock, this.Window.document.createElement( 'br' ) ) ; - - // The space is required by Gecko only to make the cursor blink. - if ( FCKBrowserInfo.IsGecko ) - FCKDomTools.InsertAfterNode( oRange.StartBlock, this.Window.document.createTextNode( '' ) ) ; - - // IE and Gecko have different behaviors regarding the position. - oRange.SetStart( oRange.StartBlock.nextSibling, FCKBrowserInfo.IsIE ? 3 : 1 ) ; - } - else - { - var eLineBreak ; - bIsPre = sStartBlockTag.IEquals( 'pre' ) ; - if ( bIsPre ) - eLineBreak = this.Window.document.createTextNode( FCKBrowserInfo.IsIE ? '\r' : '\n' ) ; - else - eLineBreak = this.Window.document.createElement( 'br' ) ; - - oRange.InsertNode( eLineBreak ) ; - - // The space is required by Gecko only to make the cursor blink. - if ( FCKBrowserInfo.IsGecko ) - FCKDomTools.InsertAfterNode( eLineBreak, this.Window.document.createTextNode( '' ) ) ; - - // If we are at the end of a block, we must be sure the bogus node is available in that block. - if ( bIsEndOfBlock && FCKBrowserInfo.IsGeckoLike ) - FCKTools.AppendBogusBr( eLineBreak.parentNode ) ; - - if ( FCKBrowserInfo.IsIE ) - oRange.SetStart( eLineBreak, 4 ) ; - else - oRange.SetStart( eLineBreak.nextSibling, 1 ) ; - - if ( ! FCKBrowserInfo.IsIE ) - { - var dummy = null ; - if ( FCKBrowserInfo.IsOpera ) - dummy = this.Window.document.createElement( 'span' ) ; - else - dummy = this.Window.document.createElement( 'br' ) ; - - eLineBreak.parentNode.insertBefore( dummy, eLineBreak.nextSibling ) ; - - FCKDomTools.ScrollIntoView( dummy, false ) ; - - dummy.parentNode.removeChild( dummy ) ; - } - } - - // This collapse guarantees the cursor will be blinking. - oRange.Collapse( true ) ; - - oRange.Select( bIsPre ) ; - } - - // Release the resources used by the range. - oRange.Release() ; - - return true ; -} - -// Outdents a LI, maintaining the selection defined on a range. -FCKEnterKey.prototype._OutdentWithSelection = function( li, range ) -{ - var oBookmark = range.CreateBookmark() ; - - FCKListHandler.OutdentListItem( li ) ; - - range.MoveToBookmark( oBookmark ) ; - range.Select() ; -} - -// Is all the contents under a node included by a range? -FCKEnterKey.prototype._CheckIsAllContentsIncluded = function( range, node ) -{ - var startOk = false ; - var endOk = false ; - - /* - FCKDebug.Output( 'sc='+range.StartContainer.nodeName+ - ',so='+range._Range.startOffset+ - ',ec='+range.EndContainer.nodeName+ - ',eo='+range._Range.endOffset ) ; - */ - if ( range.StartContainer == node || range.StartContainer == node.firstChild ) - startOk = ( range._Range.startOffset == 0 ) ; - - if ( range.EndContainer == node || range.EndContainer == node.lastChild ) - { - var nodeLength = range.EndContainer.nodeType == 3 ? range.EndContainer.length : range.EndContainer.childNodes.length ; - endOk = ( range._Range.endOffset == nodeLength ) ; - } - - return startOk && endOk ; -} - -// Kludge for #247 -FCKEnterKey.prototype._FixIESelectAllBug = function( range ) -{ - var doc = this.Window.document ; - doc.body.innerHTML = '' ; - var editBlock ; - if ( FCKConfig.EnterMode.IEquals( ['div', 'p'] ) ) - { - editBlock = doc.createElement( FCKConfig.EnterMode ) ; - doc.body.appendChild( editBlock ) ; - } - else - editBlock = doc.body ; - - range.MoveToNodeContents( editBlock ) ; - range.Collapse( true ) ; - range.Select() ; - range.Release() ; -} diff --git a/include/fckeditor/editor/_source/classes/fckevents.js b/include/fckeditor/editor/_source/classes/fckevents.js deleted file mode 100644 index ef2e10f6e..000000000 --- a/include/fckeditor/editor/_source/classes/fckevents.js +++ /dev/null @@ -1,71 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * FCKEvents Class: used to handle events is a advanced way. - */ - -var FCKEvents = function( eventsOwner ) -{ - this.Owner = eventsOwner ; - this._RegisteredEvents = new Object() ; -} - -FCKEvents.prototype.AttachEvent = function( eventName, functionPointer ) -{ - var aTargets ; - - if ( !( aTargets = this._RegisteredEvents[ eventName ] ) ) - this._RegisteredEvents[ eventName ] = [ functionPointer ] ; - else - { - // Check that the event handler isn't already registered with the same listener - // It doesn't detect function pointers belonging to an object (at least in Gecko) - if ( aTargets.IndexOf( functionPointer ) == -1 ) - aTargets.push( functionPointer ) ; - } -} - -FCKEvents.prototype.FireEvent = function( eventName, params ) -{ - var bReturnValue = true ; - - var oCalls = this._RegisteredEvents[ eventName ] ; - - if ( oCalls ) - { - for ( var i = 0 ; i < oCalls.length ; i++ ) - { - try - { - bReturnValue = ( oCalls[ i ]( this.Owner, params ) && bReturnValue ) ; - } - catch(e) - { - // Ignore the following error. It may happen if pointing to a - // script not anymore available (#934): - // -2146823277 = Can't execute code from a freed script - if ( e.number != -2146823277 ) - throw e ; - } - } - } - - return bReturnValue ; -} diff --git a/include/fckeditor/editor/_source/classes/fckhtmliterator.js b/include/fckeditor/editor/_source/classes/fckhtmliterator.js deleted file mode 100644 index 9f184b7c1..000000000 --- a/include/fckeditor/editor/_source/classes/fckhtmliterator.js +++ /dev/null @@ -1,142 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * This class can be used to interate through nodes inside a range. - * - * During interation, the provided range can become invalid, due to document - * mutations, so CreateBookmark() used to restore it after processing, if - * needed. - */ - -var FCKHtmlIterator = function( source ) -{ - this._sourceHtml = source ; -} -FCKHtmlIterator.prototype = -{ - Next : function() - { - var sourceHtml = this._sourceHtml ; - if ( sourceHtml == null ) - return null ; - - var match = FCKRegexLib.HtmlTag.exec( sourceHtml ) ; - var isTag = false ; - var value = "" ; - if ( match ) - { - if ( match.index > 0 ) - { - value = sourceHtml.substr( 0, match.index ) ; - this._sourceHtml = sourceHtml.substr( match.index ) ; - } - else - { - isTag = true ; - value = match[0] ; - this._sourceHtml = sourceHtml.substr( match[0].length ) ; - } - } - else - { - value = sourceHtml ; - this._sourceHtml = null ; - } - return { 'isTag' : isTag, 'value' : value } ; - }, - - Each : function( func ) - { - var chunk ; - while ( ( chunk = this.Next() ) ) - func( chunk.isTag, chunk.value ) ; - } -} ; -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * This class can be used to interate through nodes inside a range. - * - * During interation, the provided range can become invalid, due to document - * mutations, so CreateBookmark() used to restore it after processing, if - * needed. - */ - -var FCKHtmlIterator = function( source ) -{ - this._sourceHtml = source ; -} -FCKHtmlIterator.prototype = -{ - Next : function() - { - var sourceHtml = this._sourceHtml ; - if ( sourceHtml == null ) - return null ; - - var match = FCKRegexLib.HtmlTag.exec( sourceHtml ) ; - var isTag = false ; - var value = "" ; - if ( match ) - { - if ( match.index > 0 ) - { - value = sourceHtml.substr( 0, match.index ) ; - this._sourceHtml = sourceHtml.substr( match.index ) ; - } - else - { - isTag = true ; - value = match[0] ; - this._sourceHtml = sourceHtml.substr( match[0].length ) ; - } - } - else - { - value = sourceHtml ; - this._sourceHtml = null ; - } - return { 'isTag' : isTag, 'value' : value } ; - }, - - Each : function( func ) - { - var chunk ; - while ( ( chunk = this.Next() ) ) - func( chunk.isTag, chunk.value ) ; - } -} ; diff --git a/include/fckeditor/editor/_source/classes/fckicon.js b/include/fckeditor/editor/_source/classes/fckicon.js deleted file mode 100644 index 89719f6e1..000000000 --- a/include/fckeditor/editor/_source/classes/fckicon.js +++ /dev/null @@ -1,103 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * FCKIcon Class: renders an icon from a single image, a strip or even a - * spacer. - */ - -var FCKIcon = function( iconPathOrStripInfoArray ) -{ - var sTypeOf = iconPathOrStripInfoArray ? typeof( iconPathOrStripInfoArray ) : 'undefined' ; - switch ( sTypeOf ) - { - case 'number' : - this.Path = FCKConfig.SkinPath + 'fck_strip.gif' ; - this.Size = 16 ; - this.Position = iconPathOrStripInfoArray ; - break ; - - case 'undefined' : - this.Path = FCK_SPACER_PATH ; - break ; - - case 'string' : - this.Path = iconPathOrStripInfoArray ; - break ; - - default : - // It is an array in the format [ StripFilePath, IconSize, IconPosition ] - this.Path = iconPathOrStripInfoArray[0] ; - this.Size = iconPathOrStripInfoArray[1] ; - this.Position = iconPathOrStripInfoArray[2] ; - } -} - -FCKIcon.prototype.CreateIconElement = function( document ) -{ - var eIcon, eIconImage ; - - if ( this.Position ) // It is using an icons strip image. - { - var sPos = '-' + ( ( this.Position - 1 ) * this.Size ) + 'px' ; - - if ( FCKBrowserInfo.IsIE ) - { - //
    - - eIcon = document.createElement( 'DIV' ) ; - - eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ; - eIconImage.src = this.Path ; - eIconImage.style.top = sPos ; - } - else - { - // - - eIcon = document.createElement( 'IMG' ) ; - eIcon.src = FCK_SPACER_PATH ; - eIcon.style.backgroundPosition = '0px ' + sPos ; - eIcon.style.backgroundImage = 'url("' + this.Path + '")' ; - } - } - else // It is using a single icon image. - { - if ( FCKBrowserInfo.IsIE ) - { - // IE makes the button 1px higher if using the directly, so we - // are changing to the
    system to clip the image correctly. - eIcon = document.createElement( 'DIV' ) ; - - eIconImage = eIcon.appendChild( document.createElement( 'IMG' ) ) ; - eIconImage.src = this.Path ? this.Path : FCK_SPACER_PATH ; - } - else - { - // This is not working well with IE. See notes above. - // - eIcon = document.createElement( 'IMG' ) ; - eIcon.src = this.Path ? this.Path : FCK_SPACER_PATH ; - } - } - - eIcon.className = 'TB_Button_Image' ; - - return eIcon ; -} diff --git a/include/fckeditor/editor/_source/classes/fckiecleanup.js b/include/fckeditor/editor/_source/classes/fckiecleanup.js deleted file mode 100644 index 9a0900546..000000000 --- a/include/fckeditor/editor/_source/classes/fckiecleanup.js +++ /dev/null @@ -1,68 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * FCKIECleanup Class: a generic class used as a tool to remove IE leaks. - */ - -var FCKIECleanup = function( attachWindow ) -{ - // If the attachWindow already have a cleanup object, just use that one. - if ( attachWindow._FCKCleanupObj ) - this.Items = attachWindow._FCKCleanupObj.Items ; - else - { - this.Items = new Array() ; - - attachWindow._FCKCleanupObj = this ; - FCKTools.AddEventListenerEx( attachWindow, 'unload', FCKIECleanup_Cleanup ) ; -// attachWindow.attachEvent( 'onunload', FCKIECleanup_Cleanup ) ; - } -} - -FCKIECleanup.prototype.AddItem = function( dirtyItem, cleanupFunction ) -{ - this.Items.push( [ dirtyItem, cleanupFunction ] ) ; -} - -function FCKIECleanup_Cleanup() -{ - if ( !this._FCKCleanupObj || ( FCKConfig.MsWebBrowserControlCompat && !window.FCKUnloadFlag ) ) - return ; - - var aItems = this._FCKCleanupObj.Items ; - - while ( aItems.length > 0 ) - { - - // It is important to remove from the end to the beginning (pop()), - // because of the order things get created in the editor. In the code, - // elements in deeper position in the DOM are placed at the end of the - // cleanup function, so we must cleanup then first, otherwise IE could - // throw some crazy memory errors (IE bug). - var oItem = aItems.pop() ; - if ( oItem ) - oItem[1].call( oItem[0] ) ; - } - - this._FCKCleanupObj = null ; - - if ( CollectGarbage ) - CollectGarbage() ; -} diff --git a/include/fckeditor/editor/_source/classes/fckimagepreloader.js b/include/fckeditor/editor/_source/classes/fckimagepreloader.js deleted file mode 100644 index 92fd305e3..000000000 --- a/include/fckeditor/editor/_source/classes/fckimagepreloader.js +++ /dev/null @@ -1,64 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Preload a list of images, firing an event when complete. - */ - -var FCKImagePreloader = function() -{ - this._Images = new Array() ; -} - -FCKImagePreloader.prototype = -{ - AddImages : function( images ) - { - if ( typeof( images ) == 'string' ) - images = images.split( ';' ) ; - - this._Images = this._Images.concat( images ) ; - }, - - Start : function() - { - var aImages = this._Images ; - this._PreloadCount = aImages.length ; - - for ( var i = 0 ; i < aImages.length ; i++ ) - { - var eImg = document.createElement( 'img' ) ; - FCKTools.AddEventListenerEx( eImg, 'load', _FCKImagePreloader_OnImage, this ) ; - FCKTools.AddEventListenerEx( eImg, 'error', _FCKImagePreloader_OnImage, this ) ; - eImg.src = aImages[i] ; - - _FCKImagePreloader_ImageCache.push( eImg ) ; - } - } -}; - -// All preloaded images must be placed in a global array, otherwise the preload -// magic will not happen. -var _FCKImagePreloader_ImageCache = new Array() ; - -function _FCKImagePreloader_OnImage( ev, imagePreloader ) -{ - if ( (--imagePreloader._PreloadCount) == 0 && imagePreloader.OnComplete ) - imagePreloader.OnComplete() ; -} diff --git a/include/fckeditor/editor/_source/classes/fckkeystrokehandler.js b/include/fckeditor/editor/_source/classes/fckkeystrokehandler.js deleted file mode 100644 index 31c341ba7..000000000 --- a/include/fckeditor/editor/_source/classes/fckkeystrokehandler.js +++ /dev/null @@ -1,141 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Control keyboard keystroke combinations. - */ - -var FCKKeystrokeHandler = function( cancelCtrlDefaults ) -{ - this.Keystrokes = new Object() ; - this.CancelCtrlDefaults = ( cancelCtrlDefaults !== false ) ; -} - -/* - * Listen to keystroke events in an element or DOM document object. - * @target: The element or document to listen to keystroke events. - */ -FCKKeystrokeHandler.prototype.AttachToElement = function( target ) -{ - // For newer browsers, it is enough to listen to the keydown event only. - // Some browsers instead, don't cancel key events in the keydown, but in the - // keypress. So we must do a longer trip in those cases. - FCKTools.AddEventListenerEx( target, 'keydown', _FCKKeystrokeHandler_OnKeyDown, this ) ; - if ( FCKBrowserInfo.IsGecko10 || FCKBrowserInfo.IsOpera || ( FCKBrowserInfo.IsGecko && FCKBrowserInfo.IsMac ) ) - FCKTools.AddEventListenerEx( target, 'keypress', _FCKKeystrokeHandler_OnKeyPress, this ) ; -} - -/* - * Sets a list of keystrokes. It can receive either a single array or "n" - * arguments, each one being an array of 1 or 2 elemenst. The first element - * is the keystroke combination, and the second is the value to assign to it. - * If the second element is missing, the keystroke definition is removed. - */ -FCKKeystrokeHandler.prototype.SetKeystrokes = function() -{ - // Look through the arguments. - for ( var i = 0 ; i < arguments.length ; i++ ) - { - var keyDef = arguments[i] ; - - // If the configuration for the keystrokes is missing some element or has any extra comma - // this item won't be valid, so skip it and keep on processing. - if ( !keyDef ) - continue ; - - if ( typeof( keyDef[0] ) == 'object' ) // It is an array with arrays defining the keystrokes. - this.SetKeystrokes.apply( this, keyDef ) ; - else - { - if ( keyDef.length == 1 ) // If it has only one element, remove the keystroke. - delete this.Keystrokes[ keyDef[0] ] ; - else // Otherwise add it. - this.Keystrokes[ keyDef[0] ] = keyDef[1] === true ? true : keyDef ; - } - } -} - -function _FCKKeystrokeHandler_OnKeyDown( ev, keystrokeHandler ) -{ - // Get the key code. - var keystroke = ev.keyCode || ev.which ; - - // Combine it with the CTRL, SHIFT and ALT states. - var keyModifiers = 0 ; - - if ( ev.ctrlKey || ev.metaKey ) - keyModifiers += CTRL ; - - if ( ev.shiftKey ) - keyModifiers += SHIFT ; - - if ( ev.altKey ) - keyModifiers += ALT ; - - var keyCombination = keystroke + keyModifiers ; - - var cancelIt = keystrokeHandler._CancelIt = false ; - - // Look for its definition availability. - var keystrokeValue = keystrokeHandler.Keystrokes[ keyCombination ] ; - -// FCKDebug.Output( 'KeyDown: ' + keyCombination + ' - Value: ' + keystrokeValue ) ; - - // If the keystroke is defined - if ( keystrokeValue ) - { - // If the keystroke has been explicitly set to "true" OR calling the - // "OnKeystroke" event, it doesn't return "true", the default behavior - // must be preserved. - if ( keystrokeValue === true || !( keystrokeHandler.OnKeystroke && keystrokeHandler.OnKeystroke.apply( keystrokeHandler, keystrokeValue ) ) ) - return true ; - - cancelIt = true ; - } - - // By default, it will cancel all combinations with the CTRL key only (except positioning keys). - if ( cancelIt || ( keystrokeHandler.CancelCtrlDefaults && keyModifiers == CTRL && ( keystroke < 33 || keystroke > 40 ) ) ) - { - keystrokeHandler._CancelIt = true ; - - if ( ev.preventDefault ) - return ev.preventDefault() ; - - ev.returnValue = false ; - ev.cancelBubble = true ; - return false ; - } - - return true ; -} - -function _FCKKeystrokeHandler_OnKeyPress( ev, keystrokeHandler ) -{ - if ( keystrokeHandler._CancelIt ) - { -// FCKDebug.Output( 'KeyPress Cancel', 'Red') ; - - if ( ev.preventDefault ) - return ev.preventDefault() ; - - return false ; - } - - return true ; -} diff --git a/include/fckeditor/editor/_source/classes/fckmenublock.js b/include/fckeditor/editor/_source/classes/fckmenublock.js deleted file mode 100644 index 1cd710dcc..000000000 --- a/include/fckeditor/editor/_source/classes/fckmenublock.js +++ /dev/null @@ -1,153 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Renders a list of menu items. - */ - -var FCKMenuBlock = function() -{ - this._Items = new Array() ; -} - - -FCKMenuBlock.prototype.Count = function() -{ - return this._Items.length ; -} - -FCKMenuBlock.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) -{ - var oItem = new FCKMenuItem( this, name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) ; - - oItem.OnClick = FCKTools.CreateEventListener( FCKMenuBlock_Item_OnClick, this ) ; - oItem.OnActivate = FCKTools.CreateEventListener( FCKMenuBlock_Item_OnActivate, this ) ; - - this._Items.push( oItem ) ; - - return oItem ; -} - -FCKMenuBlock.prototype.AddSeparator = function() -{ - this._Items.push( new FCKMenuSeparator() ) ; -} - -FCKMenuBlock.prototype.RemoveAllItems = function() -{ - this._Items = new Array() ; - - var eItemsTable = this._ItemsTable ; - if ( eItemsTable ) - { - while ( eItemsTable.rows.length > 0 ) - eItemsTable.deleteRow( 0 ) ; - } -} - -FCKMenuBlock.prototype.Create = function( parentElement ) -{ - if ( !this._ItemsTable ) - { - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKMenuBlock_Cleanup ) ; - - this._Window = FCKTools.GetElementWindow( parentElement ) ; - - var oDoc = FCKTools.GetElementDocument( parentElement ) ; - - var eTable = parentElement.appendChild( oDoc.createElement( 'table' ) ) ; - eTable.cellPadding = 0 ; - eTable.cellSpacing = 0 ; - - FCKTools.DisableSelection( eTable ) ; - - var oMainElement = eTable.insertRow(-1).insertCell(-1) ; - oMainElement.className = 'MN_Menu' ; - - var eItemsTable = this._ItemsTable = oMainElement.appendChild( oDoc.createElement( 'table' ) ) ; - eItemsTable.cellPadding = 0 ; - eItemsTable.cellSpacing = 0 ; - } - - for ( var i = 0 ; i < this._Items.length ; i++ ) - this._Items[i].Create( this._ItemsTable ) ; -} - -/* Events */ - -function FCKMenuBlock_Item_OnClick( clickedItem, menuBlock ) -{ - if ( menuBlock.Hide ) - menuBlock.Hide() ; - - FCKTools.RunFunction( menuBlock.OnClick, menuBlock, [ clickedItem ] ) ; -} - -function FCKMenuBlock_Item_OnActivate( menuBlock ) -{ - var oActiveItem = menuBlock._ActiveItem ; - - if ( oActiveItem && oActiveItem != this ) - { - // Set the focus to this menu block window (to fire OnBlur on opened panels). - if ( !FCKBrowserInfo.IsIE && oActiveItem.HasSubMenu && !this.HasSubMenu ) - { - menuBlock._Window.focus() ; - - // Due to the event model provided by Opera, we need to set - // HasFocus here as the above focus() call will not fire the focus - // event in the panel immediately (#1200). - menuBlock.Panel.HasFocus = true ; - } - - oActiveItem.Deactivate() ; - } - - menuBlock._ActiveItem = this ; -} - -function FCKMenuBlock_Cleanup() -{ - this._Window = null ; - this._ItemsTable = null ; -} - -// ################# // - -var FCKMenuSeparator = function() -{} - -FCKMenuSeparator.prototype.Create = function( parentTable ) -{ - var oDoc = FCKTools.GetElementDocument( parentTable ) ; - - var r = parentTable.insertRow(-1) ; - - var eCell = r.insertCell(-1) ; - eCell.className = 'MN_Separator MN_Icon' ; - - eCell = r.insertCell(-1) ; - eCell.className = 'MN_Separator' ; - eCell.appendChild( oDoc.createElement( 'DIV' ) ).className = 'MN_Separator_Line' ; - - eCell = r.insertCell(-1) ; - eCell.className = 'MN_Separator' ; - eCell.appendChild( oDoc.createElement( 'DIV' ) ).className = 'MN_Separator_Line' ; -} diff --git a/include/fckeditor/editor/_source/classes/fckmenublockpanel.js b/include/fckeditor/editor/_source/classes/fckmenublockpanel.js deleted file mode 100644 index 9dbc4803b..000000000 --- a/include/fckeditor/editor/_source/classes/fckmenublockpanel.js +++ /dev/null @@ -1,54 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * This class is a menu block that behaves like a panel. It's a mix of the - * FCKMenuBlock and FCKPanel classes. - */ - -var FCKMenuBlockPanel = function() -{ - // Call the "base" constructor. - FCKMenuBlock.call( this ) ; -} - -FCKMenuBlockPanel.prototype = new FCKMenuBlock() ; - - -// Override the create method. -FCKMenuBlockPanel.prototype.Create = function() -{ - var oPanel = this.Panel = ( this.Parent && this.Parent.Panel ? this.Parent.Panel.CreateChildPanel() : new FCKPanel() ) ; - oPanel.AppendStyleSheet( FCKConfig.SkinEditorCSS ) ; - - // Call the "base" implementation. - FCKMenuBlock.prototype.Create.call( this, oPanel.MainNode ) ; -} - -FCKMenuBlockPanel.prototype.Show = function( x, y, relElement ) -{ - if ( !this.Panel.CheckIsOpened() ) - this.Panel.Show( x, y, relElement ) ; -} - -FCKMenuBlockPanel.prototype.Hide = function() -{ - if ( this.Panel.CheckIsOpened() ) - this.Panel.Hide() ; -} diff --git a/include/fckeditor/editor/_source/classes/fckmenuitem.js b/include/fckeditor/editor/_source/classes/fckmenuitem.js deleted file mode 100644 index 038146d24..000000000 --- a/include/fckeditor/editor/_source/classes/fckmenuitem.js +++ /dev/null @@ -1,161 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Defines and renders a menu items in a menu block. - */ - -var FCKMenuItem = function( parentMenuBlock, name, label, iconPathOrStripInfoArray, isDisabled, customData ) -{ - this.Name = name ; - this.Label = label || name ; - this.IsDisabled = isDisabled ; - - this.Icon = new FCKIcon( iconPathOrStripInfoArray ) ; - - this.SubMenu = new FCKMenuBlockPanel() ; - this.SubMenu.Parent = parentMenuBlock ; - this.SubMenu.OnClick = FCKTools.CreateEventListener( FCKMenuItem_SubMenu_OnClick, this ) ; - this.CustomData = customData ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKMenuItem_Cleanup ) ; -} - - -FCKMenuItem.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) -{ - this.HasSubMenu = true ; - return this.SubMenu.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled, customData ) ; -} - -FCKMenuItem.prototype.AddSeparator = function() -{ - this.SubMenu.AddSeparator() ; -} - -FCKMenuItem.prototype.Create = function( parentTable ) -{ - var bHasSubMenu = this.HasSubMenu ; - - var oDoc = FCKTools.GetElementDocument( parentTable ) ; - - // Add a row in the table to hold the menu item. - var r = this.MainElement = parentTable.insertRow(-1) ; - r.className = this.IsDisabled ? 'MN_Item_Disabled' : 'MN_Item' ; - - // Set the row behavior. - if ( !this.IsDisabled ) - { - FCKTools.AddEventListenerEx( r, 'mouseover', FCKMenuItem_OnMouseOver, [ this ] ) ; - FCKTools.AddEventListenerEx( r, 'click', FCKMenuItem_OnClick, [ this ] ) ; - - if ( !bHasSubMenu ) - FCKTools.AddEventListenerEx( r, 'mouseout', FCKMenuItem_OnMouseOut, [ this ] ) ; - } - - // Create the icon cell. - var eCell = r.insertCell(-1) ; - eCell.className = 'MN_Icon' ; - eCell.appendChild( this.Icon.CreateIconElement( oDoc ) ) ; - - // Create the label cell. - eCell = r.insertCell(-1) ; - eCell.className = 'MN_Label' ; - eCell.noWrap = true ; - eCell.appendChild( oDoc.createTextNode( this.Label ) ) ; - - // Create the arrow cell and setup the sub menu panel (if needed). - eCell = r.insertCell(-1) ; - if ( bHasSubMenu ) - { - eCell.className = 'MN_Arrow' ; - - // The arrow is a fixed size image. - var eArrowImg = eCell.appendChild( oDoc.createElement( 'IMG' ) ) ; - eArrowImg.src = FCK_IMAGES_PATH + 'arrow_' + FCKLang.Dir + '.gif' ; - eArrowImg.width = 4 ; - eArrowImg.height = 7 ; - - this.SubMenu.Create() ; - this.SubMenu.Panel.OnHide = FCKTools.CreateEventListener( FCKMenuItem_SubMenu_OnHide, this ) ; - } -} - -FCKMenuItem.prototype.Activate = function() -{ - this.MainElement.className = 'MN_Item_Over' ; - - if ( this.HasSubMenu ) - { - // Show the child menu block. The ( +2, -2 ) correction is done because - // of the padding in the skin. It is not a good solution because one - // could change the skin and so the final result would not be accurate. - // For now it is ok because we are controlling the skin. - this.SubMenu.Show( this.MainElement.offsetWidth + 2, -2, this.MainElement ) ; - } - - FCKTools.RunFunction( this.OnActivate, this ) ; -} - -FCKMenuItem.prototype.Deactivate = function() -{ - this.MainElement.className = 'MN_Item' ; - - if ( this.HasSubMenu ) - this.SubMenu.Hide() ; -} - -/* Events */ - -function FCKMenuItem_SubMenu_OnClick( clickedItem, listeningItem ) -{ - FCKTools.RunFunction( listeningItem.OnClick, listeningItem, [ clickedItem ] ) ; -} - -function FCKMenuItem_SubMenu_OnHide( menuItem ) -{ - menuItem.Deactivate() ; -} - -function FCKMenuItem_OnClick( ev, menuItem ) -{ - if ( menuItem.HasSubMenu ) - menuItem.Activate() ; - else - { - menuItem.Deactivate() ; - FCKTools.RunFunction( menuItem.OnClick, menuItem, [ menuItem ] ) ; - } -} - -function FCKMenuItem_OnMouseOver( ev, menuItem ) -{ - menuItem.Activate() ; -} - -function FCKMenuItem_OnMouseOut( ev, menuItem ) -{ - menuItem.Deactivate() ; -} - -function FCKMenuItem_Cleanup() -{ - this.MainElement = null ; -} diff --git a/include/fckeditor/editor/_source/classes/fckpanel.js b/include/fckeditor/editor/_source/classes/fckpanel.js deleted file mode 100644 index f041339ab..000000000 --- a/include/fckeditor/editor/_source/classes/fckpanel.js +++ /dev/null @@ -1,386 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Component that creates floating panels. It is used by many - * other components, like the toolbar items, context menu, etc... - */ - -var FCKPanel = function( parentWindow ) -{ - this.IsRTL = ( FCKLang.Dir == 'rtl' ) ; - this.IsContextMenu = false ; - this._LockCounter = 0 ; - - this._Window = parentWindow || window ; - - var oDocument ; - - if ( FCKBrowserInfo.IsIE ) - { - // Create the Popup that will hold the panel. - // The popup has to be created before playing with domain hacks, see #1666. - this._Popup = this._Window.createPopup() ; - - // this._Window cannot be accessed while playing with domain hacks, but local variable is ok. - // See #1666. - var pDoc = this._Window.document ; - - // This is a trick to IE6 (not IE7). The original domain must be set - // before creating the popup, so we are able to take a refence to the - // document inside of it, and the set the proper domain for it. (#123) - if ( FCK_IS_CUSTOM_DOMAIN && !FCKBrowserInfo.IsIE7 ) - { - pDoc.domain = FCK_ORIGINAL_DOMAIN ; - document.domain = FCK_ORIGINAL_DOMAIN ; - } - - oDocument = this.Document = this._Popup.document ; - - // Set the proper domain inside the popup. - if ( FCK_IS_CUSTOM_DOMAIN ) - { - oDocument.domain = FCK_RUNTIME_DOMAIN ; - pDoc.domain = FCK_RUNTIME_DOMAIN ; - document.domain = FCK_RUNTIME_DOMAIN ; - } - - FCK.IECleanup.AddItem( this, FCKPanel_Cleanup ) ; - } - else - { - var oIFrame = this._IFrame = this._Window.document.createElement('iframe') ; - FCKTools.ResetStyles( oIFrame ); - oIFrame.src = 'javascript:void(0)' ; - oIFrame.allowTransparency = true ; - oIFrame.frameBorder = '0' ; - oIFrame.scrolling = 'no' ; - oIFrame.style.width = oIFrame.style.height = '0px' ; - FCKDomTools.SetElementStyles( oIFrame, - { - position : 'absolute', - zIndex : FCKConfig.FloatingPanelsZIndex - } ) ; - - this._Window.document.body.appendChild( oIFrame ) ; - - var oIFrameWindow = oIFrame.contentWindow ; - - oDocument = this.Document = oIFrameWindow.document ; - - // Workaround for Safari 12256. Ticket #63 - var sBase = '' ; - if ( FCKBrowserInfo.IsSafari ) - sBase = '' ; - - // Initialize the IFRAME document body. - oDocument.open() ; - oDocument.write( '' + sBase + '<\/head><\/body><\/html>' ) ; - oDocument.close() ; - - if( FCKBrowserInfo.IsAIR ) - FCKAdobeAIR.Panel_Contructor( oDocument, window.document.location ) ; - - FCKTools.AddEventListenerEx( oIFrameWindow, 'focus', FCKPanel_Window_OnFocus, this ) ; - FCKTools.AddEventListenerEx( oIFrameWindow, 'blur', FCKPanel_Window_OnBlur, this ) ; - } - - oDocument.dir = FCKLang.Dir ; - - FCKTools.AddEventListener( oDocument, 'contextmenu', FCKTools.CancelEvent ) ; - - - // Create the main DIV that is used as the panel base. - this.MainNode = oDocument.body.appendChild( oDocument.createElement('DIV') ) ; - - // The "float" property must be set so Firefox calculates the size correctly. - this.MainNode.style.cssFloat = this.IsRTL ? 'right' : 'left' ; -} - - -FCKPanel.prototype.AppendStyleSheet = function( styleSheet ) -{ - FCKTools.AppendStyleSheet( this.Document, styleSheet ) ; -} - -FCKPanel.prototype.Preload = function( x, y, relElement ) -{ - // The offsetWidth and offsetHeight properties are not available if the - // element is not visible. So we must "show" the popup with no size to - // be able to use that values in the second call (IE only). - if ( this._Popup ) - this._Popup.show( x, y, 0, 0, relElement ) ; -} - -FCKPanel.prototype.Show = function( x, y, relElement, width, height ) -{ - var iMainWidth ; - var eMainNode = this.MainNode ; - - if ( this._Popup ) - { - // The offsetWidth and offsetHeight properties are not available if the - // element is not visible. So we must "show" the popup with no size to - // be able to use that values in the second call. - this._Popup.show( x, y, 0, 0, relElement ) ; - - // The following lines must be place after the above "show", otherwise it - // doesn't has the desired effect. - FCKDomTools.SetElementStyles( eMainNode, - { - width : width ? width + 'px' : '', - height : height ? height + 'px' : '' - } ) ; - - iMainWidth = eMainNode.offsetWidth ; - - if ( this.IsRTL ) - { - if ( this.IsContextMenu ) - x = x - iMainWidth + 1 ; - else if ( relElement ) - x = ( x * -1 ) + relElement.offsetWidth - iMainWidth ; - } - - // Second call: Show the Popup at the specified location, with the correct size. - this._Popup.show( x, y, iMainWidth, eMainNode.offsetHeight, relElement ) ; - - if ( this.OnHide ) - { - if ( this._Timer ) - CheckPopupOnHide.call( this, true ) ; - - this._Timer = FCKTools.SetInterval( CheckPopupOnHide, 100, this ) ; - } - } - else - { - // Do not fire OnBlur while the panel is opened. - if ( typeof( FCK.ToolbarSet.CurrentInstance.FocusManager ) != 'undefined' ) - FCK.ToolbarSet.CurrentInstance.FocusManager.Lock() ; - - if ( this.ParentPanel ) - { - this.ParentPanel.Lock() ; - - // Due to a bug on FF3, we must ensure that the parent panel will - // blur (#1584). - FCKPanel_Window_OnBlur( null, this.ParentPanel ) ; - } - - // Toggle the iframe scrolling attribute to prevent the panel - // scrollbars from disappearing in FF Mac. (#191) - if ( FCKBrowserInfo.IsGecko && FCKBrowserInfo.IsMac ) - { - this._IFrame.scrolling = '' ; - FCKTools.RunFunction( function(){ this._IFrame.scrolling = 'no'; }, this ) ; - } - - // Be sure we'll not have more than one Panel opened at the same time. - // Do not unlock focus manager here because we're displaying another floating panel - // instead of returning the editor to a "no panel" state (Bug #1514). - if ( FCK.ToolbarSet.CurrentInstance.GetInstanceObject( 'FCKPanel' )._OpenedPanel && - FCK.ToolbarSet.CurrentInstance.GetInstanceObject( 'FCKPanel' )._OpenedPanel != this ) - FCK.ToolbarSet.CurrentInstance.GetInstanceObject( 'FCKPanel' )._OpenedPanel.Hide( false, true ) ; - - FCKDomTools.SetElementStyles( eMainNode, - { - width : width ? width + 'px' : '', - height : height ? height + 'px' : '' - } ) ; - - iMainWidth = eMainNode.offsetWidth ; - - if ( !width ) this._IFrame.width = 1 ; - if ( !height ) this._IFrame.height = 1 ; - - // This is weird... but with Firefox, we must get the offsetWidth before - // setting the _IFrame size (which returns "0"), and then after that, - // to return the correct width. Remove the first step and it will not - // work when the editor is in RTL. - // - // The "|| eMainNode.firstChild.offsetWidth" part has been added - // for Opera compatibility (see #570). - iMainWidth = eMainNode.offsetWidth || eMainNode.firstChild.offsetWidth ; - - // Base the popup coordinates upon the coordinates of relElement. - var oPos = FCKTools.GetDocumentPosition( this._Window, - relElement.nodeType == 9 ? - ( FCKTools.IsStrictMode( relElement ) ? relElement.documentElement : relElement.body ) : - relElement ) ; - - // Minus the offsets provided by any positioned parent element of the panel iframe. - var positionedAncestor = FCKDomTools.GetPositionedAncestor( this._IFrame.parentNode ) ; - if ( positionedAncestor ) - { - var nPos = FCKTools.GetDocumentPosition( FCKTools.GetElementWindow( positionedAncestor ), positionedAncestor ) ; - oPos.x -= nPos.x ; - oPos.y -= nPos.y ; - } - - if ( this.IsRTL && !this.IsContextMenu ) - x = ( x * -1 ) ; - - x += oPos.x ; - y += oPos.y ; - - if ( this.IsRTL ) - { - if ( this.IsContextMenu ) - x = x - iMainWidth + 1 ; - else if ( relElement ) - x = x + relElement.offsetWidth - iMainWidth ; - } - else - { - var oViewPaneSize = FCKTools.GetViewPaneSize( this._Window ) ; - var oScrollPosition = FCKTools.GetScrollPosition( this._Window ) ; - - var iViewPaneHeight = oViewPaneSize.Height + oScrollPosition.Y ; - var iViewPaneWidth = oViewPaneSize.Width + oScrollPosition.X ; - - if ( ( x + iMainWidth ) > iViewPaneWidth ) - x -= x + iMainWidth - iViewPaneWidth ; - - if ( ( y + eMainNode.offsetHeight ) > iViewPaneHeight ) - y -= y + eMainNode.offsetHeight - iViewPaneHeight ; - } - - // Set the context menu DIV in the specified location. - FCKDomTools.SetElementStyles( this._IFrame, - { - left : x + 'px', - top : y + 'px' - } ) ; - - // Move the focus to the IFRAME so we catch the "onblur". - this._IFrame.contentWindow.focus() ; - this._IsOpened = true ; - - var me = this ; - this._resizeTimer = setTimeout( function() - { - var iWidth = eMainNode.offsetWidth || eMainNode.firstChild.offsetWidth ; - var iHeight = eMainNode.offsetHeight ; - me._IFrame.style.width = iWidth + 'px' ; - me._IFrame.style.height = iHeight + 'px' ; - - }, 0 ) ; - - FCK.ToolbarSet.CurrentInstance.GetInstanceObject( 'FCKPanel' )._OpenedPanel = this ; - } - - FCKTools.RunFunction( this.OnShow, this ) ; -} - -FCKPanel.prototype.Hide = function( ignoreOnHide, ignoreFocusManagerUnlock ) -{ - if ( this._Popup ) - this._Popup.hide() ; - else - { - if ( !this._IsOpened || this._LockCounter > 0 ) - return ; - - // Enable the editor to fire the "OnBlur". - if ( typeof( FCKFocusManager ) != 'undefined' && !ignoreFocusManagerUnlock ) - FCKFocusManager.Unlock() ; - - // It is better to set the sizes to 0, otherwise Firefox would have - // rendering problems. - this._IFrame.style.width = this._IFrame.style.height = '0px' ; - - this._IsOpened = false ; - - if ( this._resizeTimer ) - { - clearTimeout( this._resizeTimer ) ; - this._resizeTimer = null ; - } - - if ( this.ParentPanel ) - this.ParentPanel.Unlock() ; - - if ( !ignoreOnHide ) - FCKTools.RunFunction( this.OnHide, this ) ; - } -} - -FCKPanel.prototype.CheckIsOpened = function() -{ - if ( this._Popup ) - return this._Popup.isOpen ; - else - return this._IsOpened ; -} - -FCKPanel.prototype.CreateChildPanel = function() -{ - var oWindow = this._Popup ? FCKTools.GetDocumentWindow( this.Document ) : this._Window ; - - var oChildPanel = new FCKPanel( oWindow ) ; - oChildPanel.ParentPanel = this ; - - return oChildPanel ; -} - -FCKPanel.prototype.Lock = function() -{ - this._LockCounter++ ; -} - -FCKPanel.prototype.Unlock = function() -{ - if ( --this._LockCounter == 0 && !this.HasFocus ) - this.Hide() ; -} - -/* Events */ - -function FCKPanel_Window_OnFocus( e, panel ) -{ - panel.HasFocus = true ; -} - -function FCKPanel_Window_OnBlur( e, panel ) -{ - panel.HasFocus = false ; - - if ( panel._LockCounter == 0 ) - FCKTools.RunFunction( panel.Hide, panel ) ; -} - -function CheckPopupOnHide( forceHide ) -{ - if ( forceHide || !this._Popup.isOpen ) - { - window.clearInterval( this._Timer ) ; - this._Timer = null ; - - FCKTools.RunFunction( this.OnHide, this ) ; - } -} - -function FCKPanel_Cleanup() -{ - this._Popup = null ; - this._Window = null ; - this.Document = null ; - this.MainNode = null ; -} diff --git a/include/fckeditor/editor/_source/classes/fckplugin.js b/include/fckeditor/editor/_source/classes/fckplugin.js deleted file mode 100644 index 16300d133..000000000 --- a/include/fckeditor/editor/_source/classes/fckplugin.js +++ /dev/null @@ -1,56 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * FCKPlugin Class: Represents a single plugin. - */ - -var FCKPlugin = function( name, availableLangs, basePath ) -{ - this.Name = name ; - this.BasePath = basePath ? basePath : FCKConfig.PluginsPath ; - this.Path = this.BasePath + name + '/' ; - - if ( !availableLangs || availableLangs.length == 0 ) - this.AvailableLangs = new Array() ; - else - this.AvailableLangs = availableLangs.split(',') ; -} - -FCKPlugin.prototype.Load = function() -{ - // Load the language file, if defined. - if ( this.AvailableLangs.length > 0 ) - { - var sLang ; - - // Check if the plugin has the language file for the active language. - if ( this.AvailableLangs.IndexOf( FCKLanguageManager.ActiveLanguage.Code ) >= 0 ) - sLang = FCKLanguageManager.ActiveLanguage.Code ; - else - // Load the default language file (first one) if the current one is not available. - sLang = this.AvailableLangs[0] ; - - // Add the main plugin script. - LoadScript( this.Path + 'lang/' + sLang + '.js' ) ; - } - - // Add the main plugin script. - LoadScript( this.Path + 'fckplugin.js' ) ; -} diff --git a/include/fckeditor/editor/_source/classes/fckspecialcombo.js b/include/fckeditor/editor/_source/classes/fckspecialcombo.js deleted file mode 100644 index 72263895f..000000000 --- a/include/fckeditor/editor/_source/classes/fckspecialcombo.js +++ /dev/null @@ -1,376 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * FCKSpecialCombo Class: represents a special combo. - */ - -var FCKSpecialCombo = function( caption, fieldWidth, panelWidth, panelMaxHeight, parentWindow ) -{ - // Default properties values. - this.FieldWidth = fieldWidth || 100 ; - this.PanelWidth = panelWidth || 150 ; - this.PanelMaxHeight = panelMaxHeight || 150 ; - this.Label = ' ' ; - this.Caption = caption ; - this.Tooltip = caption ; - this.Style = FCK_TOOLBARITEM_ICONTEXT ; - - this.Enabled = true ; - - this.Items = new Object() ; - - this._Panel = new FCKPanel( parentWindow || window ) ; - this._Panel.AppendStyleSheet( FCKConfig.SkinEditorCSS ) ; - this._PanelBox = this._Panel.MainNode.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ; - this._PanelBox.className = 'SC_Panel' ; - this._PanelBox.style.width = this.PanelWidth + 'px' ; - - this._PanelBox.innerHTML = '
    ' ; - - this._ItemsHolderEl = this._PanelBox.getElementsByTagName('TD')[0] ; - - if ( FCK.IECleanup ) - FCK.IECleanup.AddItem( this, FCKSpecialCombo_Cleanup ) ; - -// this._Panel.StyleSheet = FCKConfig.SkinPath + 'fck_contextmenu.css' ; -// this._Panel.Create() ; -// this._Panel.PanelDiv.className += ' SC_Panel' ; -// this._Panel.PanelDiv.innerHTML = '
    ' ; -// this._ItemsHolderEl = this._Panel.PanelDiv.getElementsByTagName('TD')[0] ; -} - -function FCKSpecialCombo_ItemOnMouseOver() -{ - this.className += ' SC_ItemOver' ; -} - -function FCKSpecialCombo_ItemOnMouseOut() -{ - this.className = this.originalClass ; -} - -function FCKSpecialCombo_ItemOnClick( ev, specialCombo, itemId ) -{ - this.className = this.originalClass ; - - specialCombo._Panel.Hide() ; - - specialCombo.SetLabel( this.FCKItemLabel ) ; - - if ( typeof( specialCombo.OnSelect ) == 'function' ) - specialCombo.OnSelect( itemId, this ) ; -} - -FCKSpecialCombo.prototype.ClearItems = function () -{ - if ( this.Items ) - this.Items = {} ; - - var itemsholder = this._ItemsHolderEl ; - while ( itemsholder.firstChild ) - itemsholder.removeChild( itemsholder.firstChild ) ; -} - -FCKSpecialCombo.prototype.AddItem = function( id, html, label, bgColor ) -{ - //
    Bold 1
    - var oDiv = this._ItemsHolderEl.appendChild( this._Panel.Document.createElement( 'DIV' ) ) ; - oDiv.className = oDiv.originalClass = 'SC_Item' ; - oDiv.innerHTML = html ; - oDiv.FCKItemLabel = label || id ; - oDiv.Selected = false ; - - // In IE, the width must be set so the borders are shown correctly when the content overflows. - if ( FCKBrowserInfo.IsIE ) - oDiv.style.width = '100%' ; - - if ( bgColor ) - oDiv.style.backgroundColor = bgColor ; - - FCKTools.AddEventListenerEx( oDiv, 'mouseover', FCKSpecialCombo_ItemOnMouseOver ) ; - FCKTools.AddEventListenerEx( oDiv, 'mouseout', FCKSpecialCombo_ItemOnMouseOut ) ; - FCKTools.AddEventListenerEx( oDiv, 'click', FCKSpecialCombo_ItemOnClick, [ this, id ] ) ; - - this.Items[ id.toString().toLowerCase() ] = oDiv ; - - return oDiv ; -} - -FCKSpecialCombo.prototype.SelectItem = function( item ) -{ - if ( typeof item == 'string' ) - item = this.Items[ item.toString().toLowerCase() ] ; - - if ( item ) - { - item.className = item.originalClass = 'SC_ItemSelected' ; - item.Selected = true ; - } -} - -FCKSpecialCombo.prototype.SelectItemByLabel = function( itemLabel, setLabel ) -{ - for ( var id in this.Items ) - { - var oDiv = this.Items[id] ; - - if ( oDiv.FCKItemLabel == itemLabel ) - { - oDiv.className = oDiv.originalClass = 'SC_ItemSelected' ; - oDiv.Selected = true ; - - if ( setLabel ) - this.SetLabel( itemLabel ) ; - } - } -} - -FCKSpecialCombo.prototype.DeselectAll = function( clearLabel ) -{ - for ( var i in this.Items ) - { - if ( !this.Items[i] ) continue; - this.Items[i].className = this.Items[i].originalClass = 'SC_Item' ; - this.Items[i].Selected = false ; - } - - if ( clearLabel ) - this.SetLabel( '' ) ; -} - -FCKSpecialCombo.prototype.SetLabelById = function( id ) -{ - id = id ? id.toString().toLowerCase() : '' ; - - var oDiv = this.Items[ id ] ; - this.SetLabel( oDiv ? oDiv.FCKItemLabel : '' ) ; -} - -FCKSpecialCombo.prototype.SetLabel = function( text ) -{ - text = ( !text || text.length == 0 ) ? ' ' : text ; - - if ( text == this.Label ) - return ; - - this.Label = text ; - - var labelEl = this._LabelEl ; - if ( labelEl ) - { - labelEl.innerHTML = text ; - - // It may happen that the label is some HTML, including tags. This - // would be a problem because when the user click on those tags, the - // combo will get the selection from the editing area. So we must - // disable any kind of selection here. - FCKTools.DisableSelection( labelEl ) ; - } -} - -FCKSpecialCombo.prototype.SetEnabled = function( isEnabled ) -{ - this.Enabled = isEnabled ; - - // In IE it can happen when the page is reloaded that _OuterTable is null, so check its existence - if ( this._OuterTable ) - this._OuterTable.className = isEnabled ? '' : 'SC_FieldDisabled' ; -} - -FCKSpecialCombo.prototype.Create = function( targetElement ) -{ - var oDoc = FCKTools.GetElementDocument( targetElement ) ; - var eOuterTable = this._OuterTable = targetElement.appendChild( oDoc.createElement( 'TABLE' ) ) ; - eOuterTable.cellPadding = 0 ; - eOuterTable.cellSpacing = 0 ; - - eOuterTable.insertRow(-1) ; - - var sClass ; - var bShowLabel ; - - switch ( this.Style ) - { - case FCK_TOOLBARITEM_ONLYICON : - sClass = 'TB_ButtonType_Icon' ; - bShowLabel = false; - break ; - case FCK_TOOLBARITEM_ONLYTEXT : - sClass = 'TB_ButtonType_Text' ; - bShowLabel = false; - break ; - case FCK_TOOLBARITEM_ICONTEXT : - bShowLabel = true; - break ; - } - - if ( this.Caption && this.Caption.length > 0 && bShowLabel ) - { - var oCaptionCell = eOuterTable.rows[0].insertCell(-1) ; - oCaptionCell.innerHTML = this.Caption ; - oCaptionCell.className = 'SC_FieldCaption' ; - } - - // Create the main DIV element. - var oField = FCKTools.AppendElement( eOuterTable.rows[0].insertCell(-1), 'div' ) ; - if ( bShowLabel ) - { - oField.className = 'SC_Field' ; - oField.style.width = this.FieldWidth + 'px' ; - oField.innerHTML = '
     
    ' ; - - this._LabelEl = oField.getElementsByTagName('label')[0] ; // Memory Leak - this._LabelEl.innerHTML = this.Label ; - } - else - { - oField.className = 'TB_Button_Off' ; - //oField.innerHTML = '' + this.Caption + '
     
    ' ; - //oField.innerHTML = '
     
    ' ; - - // Gets the correct CSS class to use for the specified style (param). - oField.innerHTML = '' + - '' + - //'' + - '' + - '' + - '' + - '' + - '' + - '' + - '
    ' + this.Caption + '
    ' ; - } - - - // Events Handlers - - FCKTools.AddEventListenerEx( oField, 'mouseover', FCKSpecialCombo_OnMouseOver, this ) ; - FCKTools.AddEventListenerEx( oField, 'mouseout', FCKSpecialCombo_OnMouseOut, this ) ; - FCKTools.AddEventListenerEx( oField, 'click', FCKSpecialCombo_OnClick, this ) ; - - FCKTools.DisableSelection( this._Panel.Document.body ) ; -} - -function FCKSpecialCombo_Cleanup() -{ - this._LabelEl = null ; - this._OuterTable = null ; - this._ItemsHolderEl = null ; - this._PanelBox = null ; - - if ( this.Items ) - { - for ( var key in this.Items ) - this.Items[key] = null ; - } -} - -function FCKSpecialCombo_OnMouseOver( ev, specialCombo ) -{ - if ( specialCombo.Enabled ) - { - switch ( specialCombo.Style ) - { - case FCK_TOOLBARITEM_ONLYICON : - this.className = 'TB_Button_On_Over'; - break ; - case FCK_TOOLBARITEM_ONLYTEXT : - this.className = 'TB_Button_On_Over'; - break ; - case FCK_TOOLBARITEM_ICONTEXT : - this.className = 'SC_Field SC_FieldOver' ; - break ; - } - } -} - -function FCKSpecialCombo_OnMouseOut( ev, specialCombo ) -{ - switch ( specialCombo.Style ) - { - case FCK_TOOLBARITEM_ONLYICON : - this.className = 'TB_Button_Off'; - break ; - case FCK_TOOLBARITEM_ONLYTEXT : - this.className = 'TB_Button_Off'; - break ; - case FCK_TOOLBARITEM_ICONTEXT : - this.className='SC_Field' ; - break ; - } -} - -function FCKSpecialCombo_OnClick( e, specialCombo ) -{ - // For Mozilla we must stop the event propagation to avoid it hiding - // the panel because of a click outside of it. -// if ( e ) -// { -// e.stopPropagation() ; -// FCKPanelEventHandlers.OnDocumentClick( e ) ; -// } - - if ( specialCombo.Enabled ) - { - var oPanel = specialCombo._Panel ; - var oPanelBox = specialCombo._PanelBox ; - var oItemsHolder = specialCombo._ItemsHolderEl ; - var iMaxHeight = specialCombo.PanelMaxHeight ; - - if ( specialCombo.OnBeforeClick ) - specialCombo.OnBeforeClick( specialCombo ) ; - - // This is a tricky thing. We must call the "Load" function, otherwise - // it will not be possible to retrieve "oItemsHolder.offsetHeight" (IE only). - if ( FCKBrowserInfo.IsIE ) - oPanel.Preload( 0, this.offsetHeight, this ) ; - - if ( oItemsHolder.offsetHeight > iMaxHeight ) -// { - oPanelBox.style.height = iMaxHeight + 'px' ; - -// if ( FCKBrowserInfo.IsGecko ) -// oPanelBox.style.overflow = '-moz-scrollbars-vertical' ; -// } - else - oPanelBox.style.height = '' ; - -// oPanel.PanelDiv.style.width = specialCombo.PanelWidth + 'px' ; - - oPanel.Show( 0, this.offsetHeight, this ) ; - } - -// return false ; -} - -/* -Sample Combo Field HTML output: - -
    - - - - - - - -
     
    -
    -*/ diff --git a/include/fckeditor/editor/_source/classes/fckstyle.js b/include/fckeditor/editor/_source/classes/fckstyle.js deleted file mode 100644 index 756fd6782..000000000 --- a/include/fckeditor/editor/_source/classes/fckstyle.js +++ /dev/null @@ -1,1500 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * FCKStyle Class: contains a style definition, and all methods to work with - * the style in a document. - */ - -/** - * @param {Object} styleDesc A "style descriptor" object, containing the raw - * style definition in the following format: - * '' ; - FCK._BehaviorsStyle = sStyle ; - } - - return FCK._BehaviorsStyle ; -} - -function Doc_OnMouseUp() -{ - if ( FCK.EditorWindow.event.srcElement.tagName == 'HTML' ) - { - FCK.Focus() ; - FCK.EditorWindow.event.cancelBubble = true ; - FCK.EditorWindow.event.returnValue = false ; - } -} - -function Doc_OnPaste() -{ - var body = FCK.EditorDocument.body ; - - body.detachEvent( 'onpaste', Doc_OnPaste ) ; - - var ret = FCK.Paste( !FCKConfig.ForcePasteAsPlainText && !FCKConfig.AutoDetectPasteFromWord ) ; - - body.attachEvent( 'onpaste', Doc_OnPaste ) ; - - return ret ; -} - -function Doc_OnDblClick() -{ - FCK.OnDoubleClick( FCK.EditorWindow.event.srcElement ) ; - FCK.EditorWindow.event.cancelBubble = true ; -} - -function Doc_OnSelectionChange() -{ - // Don't fire the event if no document is loaded. - if ( !FCK.IsSelectionChangeLocked && FCK.EditorDocument ) - FCK.Events.FireEvent( "OnSelectionChange" ) ; -} - -function Doc_OnDrop() -{ - if ( FCK.MouseDownFlag ) - { - FCK.MouseDownFlag = false ; - return ; - } - - if ( FCKConfig.ForcePasteAsPlainText ) - { - var evt = FCK.EditorWindow.event ; - - if ( FCK._CheckIsPastingEnabled() || FCKConfig.ShowDropDialog ) - FCK.PasteAsPlainText( evt.dataTransfer.getData( 'Text' ) ) ; - - evt.returnValue = false ; - evt.cancelBubble = true ; - } -} - -FCK.InitializeBehaviors = function( dontReturn ) -{ - // Set the focus to the editable area when clicking in the document area. - // TODO: The cursor must be positioned at the end. - this.EditorDocument.attachEvent( 'onmouseup', Doc_OnMouseUp ) ; - - // Intercept pasting operations - this.EditorDocument.body.attachEvent( 'onpaste', Doc_OnPaste ) ; - - // Intercept drop operations - this.EditorDocument.body.attachEvent( 'ondrop', Doc_OnDrop ) ; - - // Reset the context menu. - FCK.ContextMenu._InnerContextMenu.AttachToElement( FCK.EditorDocument.body ) ; - - this.EditorDocument.attachEvent("onkeydown", FCK._KeyDownListener ) ; - - this.EditorDocument.attachEvent("ondblclick", Doc_OnDblClick ) ; - - this.EditorDocument.attachEvent("onbeforedeactivate", function(){ FCKSelection.Save( true ) ; } ) ; - - // Catch cursor selection changes. - this.EditorDocument.attachEvent("onselectionchange", Doc_OnSelectionChange ) ; - - FCKTools.AddEventListener( FCK.EditorDocument, 'mousedown', Doc_OnMouseDown ) ; -} - -FCK.InsertHtml = function( html ) -{ - html = FCKConfig.ProtectedSource.Protect( html ) ; - html = FCK.ProtectEvents( html ) ; - html = FCK.ProtectUrls( html ) ; - html = FCK.ProtectTags( html ) ; - -// FCK.Focus() ; - FCKSelection.Restore() ; - FCK.EditorWindow.focus() ; - - FCKUndo.SaveUndoStep() ; - - // Gets the actual selection. - var oSel = FCKSelection.GetSelection() ; - - // Deletes the actual selection contents. - if ( oSel.type.toLowerCase() == 'control' ) - oSel.clear() ; - - // Using the following trick, any comment in the beginning of the HTML will - // be preserved. - html = '' + html ; - - // Insert the HTML. - oSel.createRange().pasteHTML( html ) ; - - // Remove the fake node - FCK.EditorDocument.getElementById('__fakeFCKRemove__').removeNode( true ) ; - - FCKDocumentProcessor.Process( FCK.EditorDocument ) ; - - // For some strange reason the SaveUndoStep() call doesn't activate the undo button at the first InsertHtml() call. - this.Events.FireEvent( "OnSelectionChange" ) ; -} - -FCK.SetInnerHtml = function( html ) // IE Only -{ - var oDoc = FCK.EditorDocument ; - // Using the following trick, any comment in the beginning of the HTML will - // be preserved. - oDoc.body.innerHTML = '
     
    ' + html ; - oDoc.getElementById('__fakeFCKRemove__').removeNode( true ) ; -} - -function FCK_PreloadImages() -{ - var oPreloader = new FCKImagePreloader() ; - - // Add the configured images. - oPreloader.AddImages( FCKConfig.PreloadImages ) ; - - // Add the skin icons strip. - oPreloader.AddImages( FCKConfig.SkinPath + 'fck_strip.gif' ) ; - - oPreloader.OnComplete = LoadToolbarSetup ; - oPreloader.Start() ; -} - -// Disable the context menu in the editor (outside the editing area). -function Document_OnContextMenu() -{ - return ( event.srcElement._FCKShowContextMenu == true ) ; -} -document.oncontextmenu = Document_OnContextMenu ; - -function FCK_Cleanup() -{ - this.LinkedField = null ; - this.EditorWindow = null ; - this.EditorDocument = null ; -} - -FCK._ExecPaste = function() -{ - // As we call ExecuteNamedCommand('Paste'), it would enter in a loop. So, let's use a semaphore. - if ( FCK._PasteIsRunning ) - return true ; - - if ( FCKConfig.ForcePasteAsPlainText ) - { - FCK.PasteAsPlainText() ; - return false ; - } - - var sHTML = FCK._CheckIsPastingEnabled( true ) ; - - if ( sHTML === false ) - FCKTools.RunFunction( FCKDialog.OpenDialog, FCKDialog, ['FCKDialog_Paste', FCKLang.Paste, 'dialog/fck_paste.html', 400, 330, 'Security'] ) ; - else - { - if ( FCKConfig.AutoDetectPasteFromWord && sHTML.length > 0 ) - { - var re = /<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi ; - if ( re.test( sHTML ) ) - { - if ( confirm( FCKLang.PasteWordConfirm ) ) - { - FCK.PasteFromWord() ; - return false ; - } - } - } - - // Instead of inserting the retrieved HTML, let's leave the OS work for us, - // by calling FCK.ExecuteNamedCommand( 'Paste' ). It could give better results. - - // Enable the semaphore to avoid a loop. - FCK._PasteIsRunning = true ; - - FCK.ExecuteNamedCommand( 'Paste' ) ; - - // Removes the semaphore. - delete FCK._PasteIsRunning ; - } - - // Let's always make a custom implementation (return false), otherwise - // the new Keyboard Handler may conflict with this code, and the CTRL+V code - // could result in a simple "V" being pasted. - return false ; -} - -FCK.PasteAsPlainText = function( forceText ) -{ - if ( !FCK._CheckIsPastingEnabled() ) - { - FCKDialog.OpenDialog( 'FCKDialog_Paste', FCKLang.PasteAsText, 'dialog/fck_paste.html', 400, 330, 'PlainText' ) ; - return ; - } - - // Get the data available in the clipboard in text format. - var sText = null ; - if ( ! forceText ) - sText = clipboardData.getData("Text") ; - else - sText = forceText ; - - if ( sText && sText.length > 0 ) - { - // Replace the carriage returns with
    - sText = FCKTools.HTMLEncode( sText ) ; - sText = FCKTools.ProcessLineBreaks( window, FCKConfig, sText ) ; - - var closeTagIndex = sText.search( '

    ' ) ; - var startTagIndex = sText.search( '

    ' ) ; - - if ( ( closeTagIndex != -1 && startTagIndex != -1 && closeTagIndex < startTagIndex ) - || ( closeTagIndex != -1 && startTagIndex == -1 ) ) - { - var prefix = sText.substr( 0, closeTagIndex ) ; - sText = sText.substr( closeTagIndex + 4 ) ; - this.InsertHtml( prefix ) ; - } - - // Insert the resulting data in the editor. - FCKUndo.SaveLocked = true ; - this.InsertHtml( sText ) ; - FCKUndo.SaveLocked = false ; - } -} - -FCK._CheckIsPastingEnabled = function( returnContents ) -{ - // The following seams to be the only reliable way to check is script - // pasting operations are enabled in the security settings of IE6 and IE7. - // It adds a little bit of overhead to the check, but so far that's the - // only way, mainly because of IE7. - - FCK._PasteIsEnabled = false ; - - document.body.attachEvent( 'onpaste', FCK_CheckPasting_Listener ) ; - - // The execCommand in GetClipboardHTML will fire the "onpaste", only if the - // security settings are enabled. - var oReturn = FCK.GetClipboardHTML() ; - - document.body.detachEvent( 'onpaste', FCK_CheckPasting_Listener ) ; - - if ( FCK._PasteIsEnabled ) - { - if ( !returnContents ) - oReturn = true ; - } - else - oReturn = false ; - - delete FCK._PasteIsEnabled ; - - return oReturn ; -} - -function FCK_CheckPasting_Listener() -{ - FCK._PasteIsEnabled = true ; -} - -FCK.GetClipboardHTML = function() -{ - var oDiv = document.getElementById( '___FCKHiddenDiv' ) ; - - if ( !oDiv ) - { - oDiv = document.createElement( 'DIV' ) ; - oDiv.id = '___FCKHiddenDiv' ; - - var oDivStyle = oDiv.style ; - oDivStyle.position = 'absolute' ; - oDivStyle.visibility = oDivStyle.overflow = 'hidden' ; - oDivStyle.width = oDivStyle.height = 1 ; - - document.body.appendChild( oDiv ) ; - } - - oDiv.innerHTML = '' ; - - var oTextRange = document.body.createTextRange() ; - oTextRange.moveToElementText( oDiv ) ; - oTextRange.execCommand( 'Paste' ) ; - - var sData = oDiv.innerHTML ; - oDiv.innerHTML = '' ; - - return sData ; -} - -FCK.CreateLink = function( url, noUndo ) -{ - // Creates the array that will be returned. It contains one or more created links (see #220). - var aCreatedLinks = new Array() ; - - // Remove any existing link in the selection. - FCK.ExecuteNamedCommand( 'Unlink', null, false, !!noUndo ) ; - - if ( url.length > 0 ) - { - // If there are several images, and you try to link each one, all the images get inside the link: - // -> -> due to the call to 'CreateLink' (bug in IE) - if (FCKSelection.GetType() == 'Control') - { - // Create a link - var oLink = this.EditorDocument.createElement( 'A' ) ; - oLink.href = url ; - - // Get the selected object - var oControl = FCKSelection.GetSelectedElement() ; - // Put the link just before the object - oControl.parentNode.insertBefore(oLink, oControl) ; - // Move the object inside the link - oControl.parentNode.removeChild( oControl ) ; - oLink.appendChild( oControl ) ; - - return [ oLink ] ; - } - - // Generate a temporary name for the link. - var sTempUrl = 'javascript:void(0);/*' + ( new Date().getTime() ) + '*/' ; - - // Use the internal "CreateLink" command to create the link. - FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl, false, !!noUndo ) ; - - // Look for the just create link. - var oLinks = this.EditorDocument.links ; - - for ( i = 0 ; i < oLinks.length ; i++ ) - { - var oLink = oLinks[i] ; - - // Check it this a newly created link. - // getAttribute must be used. oLink.url may cause problems with IE7 (#555). - if ( oLink.getAttribute( 'href', 2 ) == sTempUrl ) - { - var sInnerHtml = oLink.innerHTML ; // Save the innerHTML (IE changes it if it is like an URL). - oLink.href = url ; - oLink.innerHTML = sInnerHtml ; // Restore the innerHTML. - - // If the last child is a
    move it outside the link or it - // will be too easy to select this link again #388. - var oLastChild = oLink.lastChild ; - if ( oLastChild && oLastChild.nodeName == 'BR' ) - { - // Move the BR after the link. - FCKDomTools.InsertAfterNode( oLink, oLink.removeChild( oLastChild ) ) ; - } - - aCreatedLinks.push( oLink ) ; - } - } - } - - return aCreatedLinks ; -} - -function _FCK_RemoveDisabledAtt() -{ - this.removeAttribute( 'disabled' ) ; -} - -function Doc_OnMouseDown( evt ) -{ - var e = evt.srcElement ; - - // Radio buttons and checkboxes should not be allowed to be triggered in IE - // in editable mode. Otherwise the whole browser window may be locked by - // the buttons. (#1782) - if ( e.nodeName.IEquals( 'input' ) && e.type.IEquals( ['radio', 'checkbox'] ) && !e.disabled ) - { - e.disabled = true ; - FCKTools.SetTimeout( _FCK_RemoveDisabledAtt, 1, e ) ; - } -} diff --git a/include/fckeditor/editor/_source/internals/fckbrowserinfo.js b/include/fckeditor/editor/_source/internals/fckbrowserinfo.js deleted file mode 100644 index d600ced93..000000000 --- a/include/fckeditor/editor/_source/internals/fckbrowserinfo.js +++ /dev/null @@ -1,61 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Contains browser detection information. - */ - -var s = navigator.userAgent.toLowerCase() ; - -var FCKBrowserInfo = -{ - IsIE : /*@cc_on!@*/false, - IsIE7 : /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1], 10 ) >= 7 ), - IsIE6 : /*@cc_on!@*/false && ( parseInt( s.match( /msie (\d+)/ )[1], 10 ) >= 6 ), - IsSafari : s.Contains(' applewebkit/'), // Read "IsWebKit" - IsOpera : !!window.opera, - IsAIR : s.Contains(' adobeair/'), - IsMac : s.Contains('macintosh') -} ; - -// Completes the browser info with further Gecko information. -(function( browserInfo ) -{ - browserInfo.IsGecko = ( navigator.product == 'Gecko' ) && !browserInfo.IsSafari && !browserInfo.IsOpera ; - browserInfo.IsGeckoLike = ( browserInfo.IsGecko || browserInfo.IsSafari || browserInfo.IsOpera ) ; - - if ( browserInfo.IsGecko ) - { - var geckoMatch = s.match( /rv:(\d+\.\d+)/ ) ; - var geckoVersion = geckoMatch && parseFloat( geckoMatch[1] ) ; - - // Actually "10" refers to Gecko versions before Firefox 1.5, when - // Gecko 1.8 (build 20051111) has been released. - - // Some browser (like Mozilla 1.7.13) may have a Gecko build greater - // than 20051111, so we must also check for the revision number not to - // be 1.7 (we are assuming that rv < 1.7 will not have build > 20051111). - - if ( geckoVersion ) - { - browserInfo.IsGecko10 = ( geckoVersion < 1.8 ) ; - browserInfo.IsGecko19 = ( geckoVersion > 1.8 ) ; - } - } -})(FCKBrowserInfo) ; diff --git a/include/fckeditor/editor/_source/internals/fckcodeformatter.js b/include/fckeditor/editor/_source/internals/fckcodeformatter.js deleted file mode 100644 index 8a7f1526d..000000000 --- a/include/fckeditor/editor/_source/internals/fckcodeformatter.js +++ /dev/null @@ -1,100 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Format the HTML. - */ - -var FCKCodeFormatter = new Object() ; - -FCKCodeFormatter.Init = function() -{ - var oRegex = this.Regex = new Object() ; - - // Regex for line breaks. - oRegex.BlocksOpener = /\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi ; - oRegex.BlocksCloser = /\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi ; - - oRegex.NewLineTags = /\<(BR|HR)[^\>]*\>/gi ; - - oRegex.MainTags = /\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi ; - - oRegex.LineSplitter = /\s*\n+\s*/g ; - - // Regex for indentation. - oRegex.IncreaseIndent = /^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i ; - oRegex.DecreaseIndent = /^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i ; - oRegex.FormatIndentatorRemove = new RegExp( '^' + FCKConfig.FormatIndentator ) ; - - oRegex.ProtectedTags = /(]*>)([\s\S]*?)(<\/PRE>)/gi ; -} - -FCKCodeFormatter._ProtectData = function( outer, opener, data, closer ) -{ - return opener + '___FCKpd___' + FCKCodeFormatter.ProtectedData.AddItem( data ) + closer ; -} - -FCKCodeFormatter.Format = function( html ) -{ - if ( !this.Regex ) - this.Init() ; - - // Protected content that remain untouched during the - // process go in the following array. - FCKCodeFormatter.ProtectedData = new Array() ; - - var sFormatted = html.replace( this.Regex.ProtectedTags, FCKCodeFormatter._ProtectData ) ; - - // Line breaks. - sFormatted = sFormatted.replace( this.Regex.BlocksOpener, '\n$&' ) ; - sFormatted = sFormatted.replace( this.Regex.BlocksCloser, '$&\n' ) ; - sFormatted = sFormatted.replace( this.Regex.NewLineTags, '$&\n' ) ; - sFormatted = sFormatted.replace( this.Regex.MainTags, '\n$&\n' ) ; - - // Indentation. - var sIndentation = '' ; - - var asLines = sFormatted.split( this.Regex.LineSplitter ) ; - sFormatted = '' ; - - for ( var i = 0 ; i < asLines.length ; i++ ) - { - var sLine = asLines[i] ; - - if ( sLine.length == 0 ) - continue ; - - if ( this.Regex.DecreaseIndent.test( sLine ) ) - sIndentation = sIndentation.replace( this.Regex.FormatIndentatorRemove, '' ) ; - - sFormatted += sIndentation + sLine + '\n' ; - - if ( this.Regex.IncreaseIndent.test( sLine ) ) - sIndentation += FCKConfig.FormatIndentator ; - } - - // Now we put back the protected data. - for ( var j = 0 ; j < FCKCodeFormatter.ProtectedData.length ; j++ ) - { - var oRegex = new RegExp( '___FCKpd___' + j ) ; - sFormatted = sFormatted.replace( oRegex, FCKCodeFormatter.ProtectedData[j].replace( /\$/g, '$$$$' ) ) ; - } - - return sFormatted.Trim() ; -} diff --git a/include/fckeditor/editor/_source/internals/fckcommands.js b/include/fckeditor/editor/_source/internals/fckcommands.js deleted file mode 100644 index aca203744..000000000 --- a/include/fckeditor/editor/_source/internals/fckcommands.js +++ /dev/null @@ -1,172 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Define all commands available in the editor. - */ - -var FCKCommands = FCK.Commands = new Object() ; -FCKCommands.LoadedCommands = new Object() ; - -FCKCommands.RegisterCommand = function( commandName, command ) -{ - this.LoadedCommands[ commandName ] = command ; -} - -FCKCommands.GetCommand = function( commandName ) -{ - var oCommand = FCKCommands.LoadedCommands[ commandName ] ; - - if ( oCommand ) - return oCommand ; - - switch ( commandName ) - { - case 'Bold' : - case 'Italic' : - case 'Underline' : - case 'StrikeThrough': - case 'Subscript' : - case 'Superscript' : oCommand = new FCKCoreStyleCommand( commandName ) ; break ; - - case 'RemoveFormat' : oCommand = new FCKRemoveFormatCommand() ; break ; - - case 'DocProps' : oCommand = new FCKDialogCommand( 'DocProps' , FCKLang.DocProps , 'dialog/fck_docprops.html' , 400, 380, FCKCommands.GetFullPageState ) ; break ; - case 'Templates' : oCommand = new FCKDialogCommand( 'Templates' , FCKLang.DlgTemplatesTitle , 'dialog/fck_template.html' , 380, 450 ) ; break ; - case 'Link' : oCommand = new FCKDialogCommand( 'Link' , FCKLang.DlgLnkWindowTitle , 'dialog/fck_link.html' , 400, 300 ) ; break ; - case 'Unlink' : oCommand = new FCKUnlinkCommand() ; break ; - case 'VisitLink' : oCommand = new FCKVisitLinkCommand() ; break ; - case 'Anchor' : oCommand = new FCKDialogCommand( 'Anchor' , FCKLang.DlgAnchorTitle , 'dialog/fck_anchor.html' , 370, 160 ) ; break ; - case 'AnchorDelete' : oCommand = new FCKAnchorDeleteCommand() ; break ; - case 'BulletedList' : oCommand = new FCKDialogCommand( 'BulletedList', FCKLang.BulletedListProp , 'dialog/fck_listprop.html?UL' , 370, 160 ) ; break ; - case 'NumberedList' : oCommand = new FCKDialogCommand( 'NumberedList', FCKLang.NumberedListProp , 'dialog/fck_listprop.html?OL' , 370, 160 ) ; break ; - case 'About' : oCommand = new FCKDialogCommand( 'About' , FCKLang.About , 'dialog/fck_about.html' , 420, 330, function(){ return FCK_TRISTATE_OFF ; } ) ; break ; - case 'Find' : oCommand = new FCKDialogCommand( 'Find' , FCKLang.DlgFindAndReplaceTitle, 'dialog/fck_replace.html' , 340, 230, null, null, 'Find' ) ; break ; - case 'Replace' : oCommand = new FCKDialogCommand( 'Replace' , FCKLang.DlgFindAndReplaceTitle, 'dialog/fck_replace.html' , 340, 230, null, null, 'Replace' ) ; break ; - - case 'Image' : oCommand = new FCKDialogCommand( 'Image' , FCKLang.DlgImgTitle , 'dialog/fck_image.html' , 450, 390 ) ; break ; - case 'Flash' : oCommand = new FCKDialogCommand( 'Flash' , FCKLang.DlgFlashTitle , 'dialog/fck_flash.html' , 450, 390 ) ; break ; - case 'SpecialChar' : oCommand = new FCKDialogCommand( 'SpecialChar', FCKLang.DlgSpecialCharTitle , 'dialog/fck_specialchar.html' , 400, 290 ) ; break ; - case 'Smiley' : oCommand = new FCKDialogCommand( 'Smiley' , FCKLang.DlgSmileyTitle , 'dialog/fck_smiley.html' , FCKConfig.SmileyWindowWidth, FCKConfig.SmileyWindowHeight ) ; break ; - case 'Table' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html' , 480, 250 ) ; break ; - case 'TableProp' : oCommand = new FCKDialogCommand( 'Table' , FCKLang.DlgTableTitle , 'dialog/fck_table.html?Parent', 480, 250 ) ; break ; - case 'TableCellProp': oCommand = new FCKDialogCommand( 'TableCell' , FCKLang.DlgCellTitle , 'dialog/fck_tablecell.html' , 550, 240 ) ; break ; - - case 'Style' : oCommand = new FCKStyleCommand() ; break ; - - case 'FontName' : oCommand = new FCKFontNameCommand() ; break ; - case 'FontSize' : oCommand = new FCKFontSizeCommand() ; break ; - case 'FontFormat' : oCommand = new FCKFormatBlockCommand() ; break ; - - case 'Source' : oCommand = new FCKSourceCommand() ; break ; - case 'Preview' : oCommand = new FCKPreviewCommand() ; break ; - case 'Save' : oCommand = new FCKSaveCommand() ; break ; - case 'NewPage' : oCommand = new FCKNewPageCommand() ; break ; - case 'PageBreak' : oCommand = new FCKPageBreakCommand() ; break ; - case 'Rule' : oCommand = new FCKRuleCommand() ; break ; - case 'Nbsp' : oCommand = new FCKNbsp() ; break ; - - case 'TextColor' : oCommand = new FCKTextColorCommand('ForeColor') ; break ; - case 'BGColor' : oCommand = new FCKTextColorCommand('BackColor') ; break ; - - case 'Paste' : oCommand = new FCKPasteCommand() ; break ; - case 'PasteText' : oCommand = new FCKPastePlainTextCommand() ; break ; - case 'PasteWord' : oCommand = new FCKPasteWordCommand() ; break ; - - case 'JustifyLeft' : oCommand = new FCKJustifyCommand( 'left' ) ; break ; - case 'JustifyCenter' : oCommand = new FCKJustifyCommand( 'center' ) ; break ; - case 'JustifyRight' : oCommand = new FCKJustifyCommand( 'right' ) ; break ; - case 'JustifyFull' : oCommand = new FCKJustifyCommand( 'justify' ) ; break ; - case 'Indent' : oCommand = new FCKIndentCommand( 'indent', FCKConfig.IndentLength ) ; break ; - case 'Outdent' : oCommand = new FCKIndentCommand( 'outdent', FCKConfig.IndentLength * -1 ) ; break ; - case 'Blockquote' : oCommand = new FCKBlockQuoteCommand() ; break ; - case 'CreateDiv' : oCommand = new FCKDialogCommand( 'CreateDiv', FCKLang.CreateDiv, 'dialog/fck_div.html', 380, 210, null, null, true ) ; break ; - case 'EditDiv' : oCommand = new FCKDialogCommand( 'EditDiv', FCKLang.EditDiv, 'dialog/fck_div.html', 380, 210, null, null, false ) ; break ; - case 'DeleteDiv' : oCommand = new FCKDeleteDivCommand() ; break ; - - case 'TableInsertRowAfter' : oCommand = new FCKTableCommand('TableInsertRowAfter') ; break ; - case 'TableInsertRowBefore' : oCommand = new FCKTableCommand('TableInsertRowBefore') ; break ; - case 'TableDeleteRows' : oCommand = new FCKTableCommand('TableDeleteRows') ; break ; - case 'TableInsertColumnAfter' : oCommand = new FCKTableCommand('TableInsertColumnAfter') ; break ; - case 'TableInsertColumnBefore' : oCommand = new FCKTableCommand('TableInsertColumnBefore') ; break ; - case 'TableDeleteColumns' : oCommand = new FCKTableCommand('TableDeleteColumns') ; break ; - case 'TableInsertCellAfter' : oCommand = new FCKTableCommand('TableInsertCellAfter') ; break ; - case 'TableInsertCellBefore' : oCommand = new FCKTableCommand('TableInsertCellBefore') ; break ; - case 'TableDeleteCells' : oCommand = new FCKTableCommand('TableDeleteCells') ; break ; - case 'TableMergeCells' : oCommand = new FCKTableCommand('TableMergeCells') ; break ; - case 'TableMergeRight' : oCommand = new FCKTableCommand('TableMergeRight') ; break ; - case 'TableMergeDown' : oCommand = new FCKTableCommand('TableMergeDown') ; break ; - case 'TableHorizontalSplitCell' : oCommand = new FCKTableCommand('TableHorizontalSplitCell') ; break ; - case 'TableVerticalSplitCell' : oCommand = new FCKTableCommand('TableVerticalSplitCell') ; break ; - case 'TableDelete' : oCommand = new FCKTableCommand('TableDelete') ; break ; - - case 'Form' : oCommand = new FCKDialogCommand( 'Form' , FCKLang.Form , 'dialog/fck_form.html' , 380, 210 ) ; break ; - case 'Checkbox' : oCommand = new FCKDialogCommand( 'Checkbox' , FCKLang.Checkbox , 'dialog/fck_checkbox.html' , 380, 200 ) ; break ; - case 'Radio' : oCommand = new FCKDialogCommand( 'Radio' , FCKLang.RadioButton , 'dialog/fck_radiobutton.html' , 380, 200 ) ; break ; - case 'TextField' : oCommand = new FCKDialogCommand( 'TextField' , FCKLang.TextField , 'dialog/fck_textfield.html' , 380, 210 ) ; break ; - case 'Textarea' : oCommand = new FCKDialogCommand( 'Textarea' , FCKLang.Textarea , 'dialog/fck_textarea.html' , 380, 210 ) ; break ; - case 'HiddenField' : oCommand = new FCKDialogCommand( 'HiddenField', FCKLang.HiddenField , 'dialog/fck_hiddenfield.html' , 380, 190 ) ; break ; - case 'Button' : oCommand = new FCKDialogCommand( 'Button' , FCKLang.Button , 'dialog/fck_button.html' , 380, 210 ) ; break ; - case 'Select' : oCommand = new FCKDialogCommand( 'Select' , FCKLang.SelectionField, 'dialog/fck_select.html' , 400, 340 ) ; break ; - case 'ImageButton' : oCommand = new FCKDialogCommand( 'ImageButton', FCKLang.ImageButton , 'dialog/fck_image.html?ImageButton', 450, 390 ) ; break ; - - case 'SpellCheck' : oCommand = new FCKSpellCheckCommand() ; break ; - case 'FitWindow' : oCommand = new FCKFitWindow() ; break ; - - case 'Undo' : oCommand = new FCKUndoCommand() ; break ; - case 'Redo' : oCommand = new FCKRedoCommand() ; break ; - case 'Copy' : oCommand = new FCKCutCopyCommand( false ) ; break ; - case 'Cut' : oCommand = new FCKCutCopyCommand( true ) ; break ; - - case 'SelectAll' : oCommand = new FCKSelectAllCommand() ; break ; - case 'InsertOrderedList' : oCommand = new FCKListCommand( 'insertorderedlist', 'ol' ) ; break ; - case 'InsertUnorderedList' : oCommand = new FCKListCommand( 'insertunorderedlist', 'ul' ) ; break ; - case 'ShowBlocks' : oCommand = new FCKShowBlockCommand( 'ShowBlocks', FCKConfig.StartupShowBlocks ? FCK_TRISTATE_ON : FCK_TRISTATE_OFF ) ; break ; - - // Generic Undefined command (usually used when a command is under development). - case 'Undefined' : oCommand = new FCKUndefinedCommand() ; break ; - - // By default we assume that it is a named command. - default: - if ( FCKRegexLib.NamedCommands.test( commandName ) ) - oCommand = new FCKNamedCommand( commandName ) ; - else - { - alert( FCKLang.UnknownCommand.replace( /%1/g, commandName ) ) ; - return null ; - } - } - - FCKCommands.LoadedCommands[ commandName ] = oCommand ; - - return oCommand ; -} - -// Gets the state of the "Document Properties" button. It must be enabled only -// when "Full Page" editing is available. -FCKCommands.GetFullPageState = function() -{ - return FCKConfig.FullPage ? FCK_TRISTATE_OFF : FCK_TRISTATE_DISABLED ; -} - - -FCKCommands.GetBooleanState = function( isDisabled ) -{ - return isDisabled ? FCK_TRISTATE_DISABLED : FCK_TRISTATE_OFF ; -} diff --git a/include/fckeditor/editor/_source/internals/fckconfig.js b/include/fckeditor/editor/_source/internals/fckconfig.js deleted file mode 100644 index adcbacb52..000000000 --- a/include/fckeditor/editor/_source/internals/fckconfig.js +++ /dev/null @@ -1,237 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Creates and initializes the FCKConfig object. - */ - -var FCKConfig = FCK.Config = new Object() ; - -/* - For the next major version (probably 3.0) we should move all this stuff to - another dedicated object and leave FCKConfig as a holder object for settings only). -*/ - -// Editor Base Path -if ( document.location.protocol == 'file:' ) -{ - FCKConfig.BasePath = decodeURIComponent( document.location.pathname.substr(1) ) ; - FCKConfig.BasePath = FCKConfig.BasePath.replace( /\\/gi, '/' ) ; - - // The way to address local files is different according to the OS. - // In Windows it is file:// but in MacOs it is file:/// so let's get it automatically - var sFullProtocol = document.location.href.match( /^(file\:\/{2,3})/ )[1] ; - // #945 Opera does strange things with files loaded from the disk, and it fails in Mac to load xml files - if ( FCKBrowserInfo.IsOpera ) - sFullProtocol += 'localhost/' ; - - FCKConfig.BasePath = sFullProtocol + FCKConfig.BasePath.substring( 0, FCKConfig.BasePath.lastIndexOf( '/' ) + 1) ; -} -else - FCKConfig.BasePath = document.location.protocol + '//' + document.location.host + - document.location.pathname.substring( 0, document.location.pathname.lastIndexOf( '/' ) + 1) ; - -FCKConfig.FullBasePath = FCKConfig.BasePath ; - -FCKConfig.EditorPath = FCKConfig.BasePath.replace( /editor\/$/, '' ) ; - -// There is a bug in Gecko. If the editor is hidden on startup, an error is -// thrown when trying to get the screen dimensions. -try -{ - FCKConfig.ScreenWidth = screen.width ; - FCKConfig.ScreenHeight = screen.height ; -} -catch (e) -{ - FCKConfig.ScreenWidth = 800 ; - FCKConfig.ScreenHeight = 600 ; -} - -// Override the actual configuration values with the values passed throw the -// hidden field "___Config". -FCKConfig.ProcessHiddenField = function() -{ - this.PageConfig = new Object() ; - - // Get the hidden field. - var oConfigField = window.parent.document.getElementById( FCK.Name + '___Config' ) ; - - // Do nothing if the config field was not defined. - if ( ! oConfigField ) return ; - - var aCouples = oConfigField.value.split('&') ; - - for ( var i = 0 ; i < aCouples.length ; i++ ) - { - if ( aCouples[i].length == 0 ) - continue ; - - var aConfig = aCouples[i].split( '=' ) ; - var sKey = decodeURIComponent( aConfig[0] ) ; - var sVal = decodeURIComponent( aConfig[1] ) ; - - if ( sKey == 'CustomConfigurationsPath' ) // The Custom Config File path must be loaded immediately. - FCKConfig[ sKey ] = sVal ; - - else if ( sVal.toLowerCase() == "true" ) // If it is a boolean TRUE. - this.PageConfig[ sKey ] = true ; - - else if ( sVal.toLowerCase() == "false" ) // If it is a boolean FALSE. - this.PageConfig[ sKey ] = false ; - - else if ( sVal.length > 0 && !isNaN( sVal ) ) // If it is a number. - this.PageConfig[ sKey ] = parseInt( sVal, 10 ) ; - - else // In any other case it is a string. - this.PageConfig[ sKey ] = sVal ; - } -} - -function FCKConfig_LoadPageConfig() -{ - var oPageConfig = FCKConfig.PageConfig ; - for ( var sKey in oPageConfig ) - FCKConfig[ sKey ] = oPageConfig[ sKey ] ; -} - -function FCKConfig_PreProcess() -{ - var oConfig = FCKConfig ; - - // Force debug mode if fckdebug=true in the QueryString (main page). - if ( oConfig.AllowQueryStringDebug ) - { - try - { - if ( (/fckdebug=true/i).test( window.top.location.search ) ) - oConfig.Debug = true ; - } - catch (e) { /* Ignore it. Much probably we are inside a FRAME where the "top" is in another domain (security error). */ } - } - - // Certifies that the "PluginsPath" configuration ends with a slash. - if ( !oConfig.PluginsPath.EndsWith('/') ) - oConfig.PluginsPath += '/' ; - - // If no ToolbarComboPreviewCSS, point it to EditorAreaCSS. - var sComboPreviewCSS = oConfig.ToolbarComboPreviewCSS ; - if ( !sComboPreviewCSS || sComboPreviewCSS.length == 0 ) - oConfig.ToolbarComboPreviewCSS = oConfig.EditorAreaCSS ; - - // Turn the attributes that will be removed in the RemoveFormat from a string to an array - oConfig.RemoveAttributesArray = (oConfig.RemoveAttributes || '').split( ',' ); - - if ( !FCKConfig.SkinEditorCSS || FCKConfig.SkinEditorCSS.length == 0 ) - FCKConfig.SkinEditorCSS = FCKConfig.SkinPath + 'fck_editor.css' ; - - if ( !FCKConfig.SkinDialogCSS || FCKConfig.SkinDialogCSS.length == 0 ) - FCKConfig.SkinDialogCSS = FCKConfig.SkinPath + 'fck_dialog.css' ; -} - -// Define toolbar sets collection. -FCKConfig.ToolbarSets = new Object() ; - -// Defines the plugins collection. -FCKConfig.Plugins = new Object() ; -FCKConfig.Plugins.Items = new Array() ; - -FCKConfig.Plugins.Add = function( name, langs, path ) -{ - FCKConfig.Plugins.Items.AddItem( [name, langs, path] ) ; -} - -// FCKConfig.ProtectedSource: object that holds a collection of Regular -// Expressions that defined parts of the raw HTML that must remain untouched -// like custom tags, scripts, server side code, etc... -FCKConfig.ProtectedSource = new Object() ; - -// Generates a string used to identify and locate the Protected Tags comments. -FCKConfig.ProtectedSource._CodeTag = (new Date()).valueOf() ; - -// Initialize the regex array with the default ones. -FCKConfig.ProtectedSource.RegexEntries = [ - // First of any other protection, we must protect all comments to avoid - // loosing them (of course, IE related). - //g , - - // Script tags will also be forced to be protected, otherwise IE will execute them. - //gi, - - //

    -
  • - - diff --git a/include/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html b/include/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html deleted file mode 100644 index 0ac5acc1e..000000000 --- a/include/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - Document Properties - Preview - - - - - - - - - - - - - - -
    - Normal Text -
    - Visited Link - - Active Link -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_flash.html b/include/fckeditor/editor/dialog/fck_flash.html deleted file mode 100644 index 1569175a6..000000000 --- a/include/fckeditor/editor/dialog/fck_flash.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - - Flash Properties - - - - - - - -
    - - - - - - - - - - -
    - - - - - - - - -
    URL -
    -
    -
    - - - - - - -
    - Width
    - -
      - Height
    - -
    -
    - - - - -
    - - - - - - - -
    Preview
    -
    -
    -
    - - - - diff --git a/include/fckeditor/editor/dialog/fck_flash/fck_flash.js b/include/fckeditor/editor/dialog/fck_flash/fck_flash.js deleted file mode 100644 index 993ba8c3a..000000000 --- a/include/fckeditor/editor/dialog/fck_flash/fck_flash.js +++ /dev/null @@ -1,300 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Scripts related to the Flash dialog window (see fck_flash.html). - */ - -var dialog = window.parent ; -var oEditor = dialog.InnerDialogLoaded() ; -var FCK = oEditor.FCK ; -var FCKLang = oEditor.FCKLang ; -var FCKConfig = oEditor.FCKConfig ; -var FCKTools = oEditor.FCKTools ; - -//#### Dialog Tabs - -// Set the dialog tabs. -dialog.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ; - -if ( FCKConfig.FlashUpload ) - dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ; - -if ( !FCKConfig.FlashDlgHideAdvanced ) - dialog.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ; - -// Function called when a dialog tag is selected. -function OnDialogTabChange( tabCode ) -{ - ShowE('divInfo' , ( tabCode == 'Info' ) ) ; - ShowE('divUpload' , ( tabCode == 'Upload' ) ) ; - ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ; -} - -// Get the selected flash embed (if available). -var oFakeImage = dialog.Selection.GetSelectedElement() ; -var oEmbed ; - -if ( oFakeImage ) -{ - if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') ) - oEmbed = FCK.GetRealElement( oFakeImage ) ; - else - oFakeImage = null ; -} - -window.onload = function() -{ - // Translate the dialog box texts. - oEditor.FCKLanguageManager.TranslatePage(document) ; - - // Load the selected element information (if any). - LoadSelection() ; - - // Show/Hide the "Browse Server" button. - GetE('tdBrowse').style.display = FCKConfig.FlashBrowser ? '' : 'none' ; - - // Set the actual uploader URL. - if ( FCKConfig.FlashUpload ) - GetE('frmUpload').action = FCKConfig.FlashUploadURL ; - - dialog.SetAutoSize( true ) ; - - // Activate the "OK" button. - dialog.SetOkButton( true ) ; - - SelectField( 'txtUrl' ) ; -} - -function LoadSelection() -{ - if ( ! oEmbed ) return ; - - GetE('txtUrl').value = GetAttribute( oEmbed, 'src', '' ) ; - GetE('txtWidth').value = GetAttribute( oEmbed, 'width', '' ) ; - GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ; - - // Get Advances Attributes - GetE('txtAttId').value = oEmbed.id ; - GetE('chkAutoPlay').checked = GetAttribute( oEmbed, 'play', 'true' ) == 'true' ; - GetE('chkLoop').checked = GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ; - GetE('chkMenu').checked = GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ; - GetE('cmbScale').value = GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ; - - GetE('txtAttTitle').value = oEmbed.title ; - - if ( oEditor.FCKBrowserInfo.IsIE ) - { - GetE('txtAttClasses').value = oEmbed.getAttribute('className') || '' ; - GetE('txtAttStyle').value = oEmbed.style.cssText ; - } - else - { - GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ; - GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) || '' ; - } - - UpdatePreview() ; -} - -//#### The OK button was hit. -function Ok() -{ - if ( GetE('txtUrl').value.length == 0 ) - { - dialog.SetSelectedTab( 'Info' ) ; - GetE('txtUrl').focus() ; - - alert( oEditor.FCKLang.DlgAlertUrl ) ; - - return false ; - } - - oEditor.FCKUndo.SaveUndoStep() ; - if ( !oEmbed ) - { - oEmbed = FCK.EditorDocument.createElement( 'EMBED' ) ; - oFakeImage = null ; - } - UpdateEmbed( oEmbed ) ; - - if ( !oFakeImage ) - { - oFakeImage = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__Flash', oEmbed ) ; - oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ; - oFakeImage = FCK.InsertElement( oFakeImage ) ; - } - - oEditor.FCKEmbedAndObjectProcessor.RefreshView( oFakeImage, oEmbed ) ; - - return true ; -} - -function UpdateEmbed( e ) -{ - SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ; - SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ; - - SetAttribute( e, 'src', GetE('txtUrl').value ) ; - SetAttribute( e, "width" , GetE('txtWidth').value ) ; - SetAttribute( e, "height", GetE('txtHeight').value ) ; - - // Advances Attributes - - SetAttribute( e, 'id' , GetE('txtAttId').value ) ; - SetAttribute( e, 'scale', GetE('cmbScale').value ) ; - - SetAttribute( e, 'play', GetE('chkAutoPlay').checked ? 'true' : 'false' ) ; - SetAttribute( e, 'loop', GetE('chkLoop').checked ? 'true' : 'false' ) ; - SetAttribute( e, 'menu', GetE('chkMenu').checked ? 'true' : 'false' ) ; - - SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ; - - if ( oEditor.FCKBrowserInfo.IsIE ) - { - SetAttribute( e, 'className', GetE('txtAttClasses').value ) ; - e.style.cssText = GetE('txtAttStyle').value ; - } - else - { - SetAttribute( e, 'class', GetE('txtAttClasses').value ) ; - SetAttribute( e, 'style', GetE('txtAttStyle').value ) ; - } -} - -var ePreview ; - -function SetPreviewElement( previewEl ) -{ - ePreview = previewEl ; - - if ( GetE('txtUrl').value.length > 0 ) - UpdatePreview() ; -} - -function UpdatePreview() -{ - if ( !ePreview ) - return ; - - while ( ePreview.firstChild ) - ePreview.removeChild( ePreview.firstChild ) ; - - if ( GetE('txtUrl').value.length == 0 ) - ePreview.innerHTML = ' ' ; - else - { - var oDoc = ePreview.ownerDocument || ePreview.document ; - var e = oDoc.createElement( 'EMBED' ) ; - - SetAttribute( e, 'src', GetE('txtUrl').value ) ; - SetAttribute( e, 'type', 'application/x-shockwave-flash' ) ; - SetAttribute( e, 'width', '100%' ) ; - SetAttribute( e, 'height', '100%' ) ; - - ePreview.appendChild( e ) ; - } -} - -// - -function BrowseServer() -{ - OpenFileBrowser( FCKConfig.FlashBrowserURL, FCKConfig.FlashBrowserWindowWidth, FCKConfig.FlashBrowserWindowHeight ) ; -} - -function SetUrl( url, width, height ) -{ - GetE('txtUrl').value = url ; - - if ( width ) - GetE('txtWidth').value = width ; - - if ( height ) - GetE('txtHeight').value = height ; - - UpdatePreview() ; - - dialog.SetSelectedTab( 'Info' ) ; -} - -function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg ) -{ - // Remove animation - window.parent.Throbber.Hide() ; - GetE( 'divUpload' ).style.display = '' ; - - switch ( errorNumber ) - { - case 0 : // No errors - alert( 'Your file has been successfully uploaded' ) ; - break ; - case 1 : // Custom error - alert( customMsg ) ; - return ; - case 101 : // Custom warning - alert( customMsg ) ; - break ; - case 201 : - alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ; - break ; - case 202 : - alert( 'Invalid file type' ) ; - return ; - case 203 : - alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ; - return ; - case 500 : - alert( 'The connector is disabled' ) ; - break ; - default : - alert( 'Error on file upload. Error number: ' + errorNumber ) ; - return ; - } - - SetUrl( fileUrl ) ; - GetE('frmUpload').reset() ; -} - -var oUploadAllowedExtRegex = new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ; -var oUploadDeniedExtRegex = new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ; - -function CheckUpload() -{ - var sFile = GetE('txtUploadFile').value ; - - if ( sFile.length == 0 ) - { - alert( 'Please select a file to upload' ) ; - return false ; - } - - if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) || - ( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) ) - { - OnUploadCompleted( 202 ) ; - return false ; - } - - // Show animation - window.parent.Throbber.Show( 100 ) ; - GetE( 'divUpload' ).style.display = 'none' ; - - return true ; -} diff --git a/include/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html b/include/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html deleted file mode 100644 index 4817c1d1f..000000000 --- a/include/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - - - - diff --git a/include/fckeditor/editor/dialog/fck_form.html b/include/fckeditor/editor/dialog/fck_form.html deleted file mode 100644 index 71edf4944..000000000 --- a/include/fckeditor/editor/dialog/fck_form.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - -
    - - - - - - - - - - -
    - Name
    - -
    - Action
    - -
    - Method
    - -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_hiddenfield.html b/include/fckeditor/editor/dialog/fck_hiddenfield.html deleted file mode 100644 index 3ee162f65..000000000 --- a/include/fckeditor/editor/dialog/fck_hiddenfield.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - Hidden Field Properties - - - - - - - - - - -
    - - - - - - - -
    - Name
    - -
    - Value
    - -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_image.html b/include/fckeditor/editor/dialog/fck_image.html deleted file mode 100644 index 5ce5ecb61..000000000 --- a/include/fckeditor/editor/dialog/fck_image.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - Image Properties - - - - - - - -
    - - - - - - - - - - -
    - - - - - - - - -
    - URL -
    - -
    -
    - Short Description
    -
    -
    - - - - - - -
    -
    - - - - - - - - - - - -
    - Width  - -
    -
    -
    -
    -
    -
    - Height  -
    -
    - - - - - - - - - - - - - - - - - -
    - Border  -
    - HSpace  -
    - VSpace  -
    - Align  - -
    -
    -     - - - - - - - -
    - Preview
    - -
    -
    -
    -
    - - - - - diff --git a/include/fckeditor/editor/dialog/fck_image/fck_image.js b/include/fckeditor/editor/dialog/fck_image/fck_image.js deleted file mode 100644 index 7498e07d3..000000000 --- a/include/fckeditor/editor/dialog/fck_image/fck_image.js +++ /dev/null @@ -1,512 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Scripts related to the Image dialog window (see fck_image.html). - */ - -var dialog = window.parent ; -var oEditor = dialog.InnerDialogLoaded() ; -var FCK = oEditor.FCK ; -var FCKLang = oEditor.FCKLang ; -var FCKConfig = oEditor.FCKConfig ; -var FCKDebug = oEditor.FCKDebug ; -var FCKTools = oEditor.FCKTools ; - -var bImageButton = ( document.location.search.length > 0 && document.location.search.substr(1) == 'ImageButton' ) ; - -//#### Dialog Tabs - -// Set the dialog tabs. -dialog.AddTab( 'Info', FCKLang.DlgImgInfoTab ) ; - -if ( !bImageButton && !FCKConfig.ImageDlgHideLink ) - dialog.AddTab( 'Link', FCKLang.DlgImgLinkTab ) ; - -if ( FCKConfig.ImageUpload ) - dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ; - -if ( !FCKConfig.ImageDlgHideAdvanced ) - dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ; - -// Function called when a dialog tag is selected. -function OnDialogTabChange( tabCode ) -{ - ShowE('divInfo' , ( tabCode == 'Info' ) ) ; - ShowE('divLink' , ( tabCode == 'Link' ) ) ; - ShowE('divUpload' , ( tabCode == 'Upload' ) ) ; - ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ; -} - -// Get the selected image (if available). -var oImage = dialog.Selection.GetSelectedElement() ; - -if ( oImage && oImage.tagName != 'IMG' && !( oImage.tagName == 'INPUT' && oImage.type == 'image' ) ) - oImage = null ; - -// Get the active link. -var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ; - -var oImageOriginal ; - -function UpdateOriginal( resetSize ) -{ - if ( !eImgPreview ) - return ; - - if ( GetE('txtUrl').value.length == 0 ) - { - oImageOriginal = null ; - return ; - } - - oImageOriginal = document.createElement( 'IMG' ) ; // new Image() ; - - if ( resetSize ) - { - oImageOriginal.onload = function() - { - this.onload = null ; - ResetSizes() ; - } - } - - oImageOriginal.src = eImgPreview.src ; -} - -var bPreviewInitialized ; - -window.onload = function() -{ - // Translate the dialog box texts. - oEditor.FCKLanguageManager.TranslatePage(document) ; - - GetE('btnLockSizes').title = FCKLang.DlgImgLockRatio ; - GetE('btnResetSize').title = FCKLang.DlgBtnResetSize ; - - // Load the selected element information (if any). - LoadSelection() ; - - // Show/Hide the "Browse Server" button. - GetE('tdBrowse').style.display = FCKConfig.ImageBrowser ? '' : 'none' ; - GetE('divLnkBrowseServer').style.display = FCKConfig.LinkBrowser ? '' : 'none' ; - - UpdateOriginal() ; - - // Set the actual uploader URL. - if ( FCKConfig.ImageUpload ) - GetE('frmUpload').action = FCKConfig.ImageUploadURL ; - - dialog.SetAutoSize( true ) ; - - // Activate the "OK" button. - dialog.SetOkButton( true ) ; - - SelectField( 'txtUrl' ) ; -} - -function LoadSelection() -{ - if ( ! oImage ) return ; - - var sUrl = oImage.getAttribute( '_fcksavedurl' ) ; - if ( sUrl == null ) - sUrl = GetAttribute( oImage, 'src', '' ) ; - - GetE('txtUrl').value = sUrl ; - GetE('txtAlt').value = GetAttribute( oImage, 'alt', '' ) ; - GetE('txtVSpace').value = GetAttribute( oImage, 'vspace', '' ) ; - GetE('txtHSpace').value = GetAttribute( oImage, 'hspace', '' ) ; - GetE('txtBorder').value = GetAttribute( oImage, 'border', '' ) ; - GetE('cmbAlign').value = GetAttribute( oImage, 'align', '' ) ; - - var iWidth, iHeight ; - - var regexSize = /^\s*(\d+)px\s*$/i ; - - if ( oImage.style.width ) - { - var aMatchW = oImage.style.width.match( regexSize ) ; - if ( aMatchW ) - { - iWidth = aMatchW[1] ; - oImage.style.width = '' ; - SetAttribute( oImage, 'width' , iWidth ) ; - } - } - - if ( oImage.style.height ) - { - var aMatchH = oImage.style.height.match( regexSize ) ; - if ( aMatchH ) - { - iHeight = aMatchH[1] ; - oImage.style.height = '' ; - SetAttribute( oImage, 'height', iHeight ) ; - } - } - - GetE('txtWidth').value = iWidth ? iWidth : GetAttribute( oImage, "width", '' ) ; - GetE('txtHeight').value = iHeight ? iHeight : GetAttribute( oImage, "height", '' ) ; - - // Get Advances Attributes - GetE('txtAttId').value = oImage.id ; - GetE('cmbAttLangDir').value = oImage.dir ; - GetE('txtAttLangCode').value = oImage.lang ; - GetE('txtAttTitle').value = oImage.title ; - GetE('txtLongDesc').value = oImage.longDesc ; - - if ( oEditor.FCKBrowserInfo.IsIE ) - { - GetE('txtAttClasses').value = oImage.className || '' ; - GetE('txtAttStyle').value = oImage.style.cssText ; - } - else - { - GetE('txtAttClasses').value = oImage.getAttribute('class',2) || '' ; - GetE('txtAttStyle').value = oImage.getAttribute('style',2) ; - } - - if ( oLink ) - { - var sLinkUrl = oLink.getAttribute( '_fcksavedurl' ) ; - if ( sLinkUrl == null ) - sLinkUrl = oLink.getAttribute('href',2) ; - - GetE('txtLnkUrl').value = sLinkUrl ; - GetE('cmbLnkTarget').value = oLink.target ; - } - - UpdatePreview() ; -} - -//#### The OK button was hit. -function Ok() -{ - if ( GetE('txtUrl').value.length == 0 ) - { - dialog.SetSelectedTab( 'Info' ) ; - GetE('txtUrl').focus() ; - - alert( FCKLang.DlgImgAlertUrl ) ; - - return false ; - } - - var bHasImage = ( oImage != null ) ; - - if ( bHasImage && bImageButton && oImage.tagName == 'IMG' ) - { - if ( confirm( 'Do you want to transform the selected image on a image button?' ) ) - oImage = null ; - } - else if ( bHasImage && !bImageButton && oImage.tagName == 'INPUT' ) - { - if ( confirm( 'Do you want to transform the selected image button on a simple image?' ) ) - oImage = null ; - } - - oEditor.FCKUndo.SaveUndoStep() ; - if ( !bHasImage ) - { - if ( bImageButton ) - { - oImage = FCK.EditorDocument.createElement( 'input' ) ; - oImage.type = 'image' ; - oImage = FCK.InsertElement( oImage ) ; - } - else - oImage = FCK.InsertElement( 'img' ) ; - } - - UpdateImage( oImage ) ; - - var sLnkUrl = GetE('txtLnkUrl').value.Trim() ; - - if ( sLnkUrl.length == 0 ) - { - if ( oLink ) - FCK.ExecuteNamedCommand( 'Unlink' ) ; - } - else - { - if ( oLink ) // Modifying an existent link. - oLink.href = sLnkUrl ; - else // Creating a new link. - { - if ( !bHasImage ) - oEditor.FCKSelection.SelectNode( oImage ) ; - - oLink = oEditor.FCK.CreateLink( sLnkUrl )[0] ; - - if ( !bHasImage ) - { - oEditor.FCKSelection.SelectNode( oLink ) ; - oEditor.FCKSelection.Collapse( false ) ; - } - } - - SetAttribute( oLink, '_fcksavedurl', sLnkUrl ) ; - SetAttribute( oLink, 'target', GetE('cmbLnkTarget').value ) ; - } - - return true ; -} - -function UpdateImage( e, skipId ) -{ - e.src = GetE('txtUrl').value ; - SetAttribute( e, "_fcksavedurl", GetE('txtUrl').value ) ; - SetAttribute( e, "alt" , GetE('txtAlt').value ) ; - SetAttribute( e, "width" , GetE('txtWidth').value ) ; - SetAttribute( e, "height", GetE('txtHeight').value ) ; - SetAttribute( e, "vspace", GetE('txtVSpace').value ) ; - SetAttribute( e, "hspace", GetE('txtHSpace').value ) ; - SetAttribute( e, "border", GetE('txtBorder').value ) ; - SetAttribute( e, "align" , GetE('cmbAlign').value ) ; - - // Advances Attributes - - if ( ! skipId ) - SetAttribute( e, 'id', GetE('txtAttId').value ) ; - - SetAttribute( e, 'dir' , GetE('cmbAttLangDir').value ) ; - SetAttribute( e, 'lang' , GetE('txtAttLangCode').value ) ; - SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ; - SetAttribute( e, 'longDesc' , GetE('txtLongDesc').value ) ; - - if ( oEditor.FCKBrowserInfo.IsIE ) - { - e.className = GetE('txtAttClasses').value ; - e.style.cssText = GetE('txtAttStyle').value ; - } - else - { - SetAttribute( e, 'class' , GetE('txtAttClasses').value ) ; - SetAttribute( e, 'style', GetE('txtAttStyle').value ) ; - } -} - -var eImgPreview ; -var eImgPreviewLink ; - -function SetPreviewElements( imageElement, linkElement ) -{ - eImgPreview = imageElement ; - eImgPreviewLink = linkElement ; - - UpdatePreview() ; - UpdateOriginal() ; - - bPreviewInitialized = true ; -} - -function UpdatePreview() -{ - if ( !eImgPreview || !eImgPreviewLink ) - return ; - - if ( GetE('txtUrl').value.length == 0 ) - eImgPreviewLink.style.display = 'none' ; - else - { - UpdateImage( eImgPreview, true ) ; - - if ( GetE('txtLnkUrl').value.Trim().length > 0 ) - eImgPreviewLink.href = 'javascript:void(null);' ; - else - SetAttribute( eImgPreviewLink, 'href', '' ) ; - - eImgPreviewLink.style.display = '' ; - } -} - -var bLockRatio = true ; - -function SwitchLock( lockButton ) -{ - bLockRatio = !bLockRatio ; - lockButton.className = bLockRatio ? 'BtnLocked' : 'BtnUnlocked' ; - lockButton.title = bLockRatio ? 'Lock sizes' : 'Unlock sizes' ; - - if ( bLockRatio ) - { - if ( GetE('txtWidth').value.length > 0 ) - OnSizeChanged( 'Width', GetE('txtWidth').value ) ; - else - OnSizeChanged( 'Height', GetE('txtHeight').value ) ; - } -} - -// Fired when the width or height input texts change -function OnSizeChanged( dimension, value ) -{ - // Verifies if the aspect ration has to be maintained - if ( oImageOriginal && bLockRatio ) - { - var e = dimension == 'Width' ? GetE('txtHeight') : GetE('txtWidth') ; - - if ( value.length == 0 || isNaN( value ) ) - { - e.value = '' ; - return ; - } - - if ( dimension == 'Width' ) - value = value == 0 ? 0 : Math.round( oImageOriginal.height * ( value / oImageOriginal.width ) ) ; - else - value = value == 0 ? 0 : Math.round( oImageOriginal.width * ( value / oImageOriginal.height ) ) ; - - if ( !isNaN( value ) ) - e.value = value ; - } - - UpdatePreview() ; -} - -// Fired when the Reset Size button is clicked -function ResetSizes() -{ - if ( ! oImageOriginal ) return ; - if ( oEditor.FCKBrowserInfo.IsGecko && !oImageOriginal.complete ) - { - setTimeout( ResetSizes, 50 ) ; - return ; - } - - GetE('txtWidth').value = oImageOriginal.width ; - GetE('txtHeight').value = oImageOriginal.height ; - - UpdatePreview() ; -} - -function BrowseServer() -{ - OpenServerBrowser( - 'Image', - FCKConfig.ImageBrowserURL, - FCKConfig.ImageBrowserWindowWidth, - FCKConfig.ImageBrowserWindowHeight ) ; -} - -function LnkBrowseServer() -{ - OpenServerBrowser( - 'Link', - FCKConfig.LinkBrowserURL, - FCKConfig.LinkBrowserWindowWidth, - FCKConfig.LinkBrowserWindowHeight ) ; -} - -function OpenServerBrowser( type, url, width, height ) -{ - sActualBrowser = type ; - OpenFileBrowser( url, width, height ) ; -} - -var sActualBrowser ; - -function SetUrl( url, width, height, alt ) -{ - if ( sActualBrowser == 'Link' ) - { - GetE('txtLnkUrl').value = url ; - UpdatePreview() ; - } - else - { - GetE('txtUrl').value = url ; - GetE('txtWidth').value = width ? width : '' ; - GetE('txtHeight').value = height ? height : '' ; - - if ( alt ) - GetE('txtAlt').value = alt; - - UpdatePreview() ; - UpdateOriginal( true ) ; - } - - dialog.SetSelectedTab( 'Info' ) ; -} - -function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg ) -{ - // Remove animation - window.parent.Throbber.Hide() ; - GetE( 'divUpload' ).style.display = '' ; - - switch ( errorNumber ) - { - case 0 : // No errors - alert( 'Your file has been successfully uploaded' ) ; - break ; - case 1 : // Custom error - alert( customMsg ) ; - return ; - case 101 : // Custom warning - alert( customMsg ) ; - break ; - case 201 : - alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ; - break ; - case 202 : - alert( 'Invalid file type' ) ; - return ; - case 203 : - alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ; - return ; - case 500 : - alert( 'The connector is disabled' ) ; - break ; - default : - alert( 'Error on file upload. Error number: ' + errorNumber ) ; - return ; - } - - sActualBrowser = '' ; - SetUrl( fileUrl ) ; - GetE('frmUpload').reset() ; -} - -var oUploadAllowedExtRegex = new RegExp( FCKConfig.ImageUploadAllowedExtensions, 'i' ) ; -var oUploadDeniedExtRegex = new RegExp( FCKConfig.ImageUploadDeniedExtensions, 'i' ) ; - -function CheckUpload() -{ - var sFile = GetE('txtUploadFile').value ; - - if ( sFile.length == 0 ) - { - alert( 'Please select a file to upload' ) ; - return false ; - } - - if ( ( FCKConfig.ImageUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) || - ( FCKConfig.ImageUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) ) - { - OnUploadCompleted( 202 ) ; - return false ; - } - - // Show animation - window.parent.Throbber.Show( 100 ) ; - GetE( 'divUpload' ).style.display = 'none' ; - - return true ; -} diff --git a/include/fckeditor/editor/dialog/fck_image/fck_image_preview.html b/include/fckeditor/editor/dialog/fck_image/fck_image_preview.html deleted file mode 100644 index 81f44e8d0..000000000 --- a/include/fckeditor/editor/dialog/fck_image/fck_image_preview.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - -
    - - Lorem ipsum dolor sit amet, consectetuer adipiscing - elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus - a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, - nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed - velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper - nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices - a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus - faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget - tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, - tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis - id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, - eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur - ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris. -
    - - diff --git a/include/fckeditor/editor/dialog/fck_link.html b/include/fckeditor/editor/dialog/fck_link.html deleted file mode 100644 index 6d69e6e2c..000000000 --- a/include/fckeditor/editor/dialog/fck_link.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - Link Properties - - - - - - - - - - - - diff --git a/include/fckeditor/editor/dialog/fck_link/fck_link.js b/include/fckeditor/editor/dialog/fck_link/fck_link.js deleted file mode 100644 index 817b3e1f4..000000000 --- a/include/fckeditor/editor/dialog/fck_link/fck_link.js +++ /dev/null @@ -1,893 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Scripts related to the Link dialog window (see fck_link.html). - */ - -var dialog = window.parent ; -var oEditor = dialog.InnerDialogLoaded() ; - -var FCK = oEditor.FCK ; -var FCKLang = oEditor.FCKLang ; -var FCKConfig = oEditor.FCKConfig ; -var FCKRegexLib = oEditor.FCKRegexLib ; -var FCKTools = oEditor.FCKTools ; - -//#### Dialog Tabs - -// Set the dialog tabs. -dialog.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ; - -if ( !FCKConfig.LinkDlgHideTarget ) - dialog.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ; - -if ( FCKConfig.LinkUpload ) - dialog.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ; - -if ( !FCKConfig.LinkDlgHideAdvanced ) - dialog.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ; - -// Function called when a dialog tag is selected. -function OnDialogTabChange( tabCode ) -{ - ShowE('divInfo' , ( tabCode == 'Info' ) ) ; - ShowE('divTarget' , ( tabCode == 'Target' ) ) ; - ShowE('divUpload' , ( tabCode == 'Upload' ) ) ; - ShowE('divAttribs' , ( tabCode == 'Advanced' ) ) ; - - dialog.SetAutoSize( true ) ; -} - -//#### Regular Expressions library. -var oRegex = new Object() ; - -oRegex.UriProtocol = /^(((http|https|ftp|news):\/\/)|mailto:)/gi ; - -oRegex.UrlOnChangeProtocol = /^(http|https|ftp|news):\/\/(?=.)/gi ; - -oRegex.UrlOnChangeTestOther = /^((javascript:)|[#\/\.])/gi ; - -oRegex.ReserveTarget = /^_(blank|self|top|parent)$/i ; - -oRegex.PopupUri = /^javascript:void\(\s*window.open\(\s*'([^']+)'\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*\)\s*$/ ; - -// Accessible popups -oRegex.OnClickPopup = /^\s*on[cC]lick="\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*"$/ ; - -oRegex.PopupFeatures = /(?:^|,)([^=]+)=(\d+|yes|no)/gi ; - -//#### Parser Functions - -var oParser = new Object() ; - -// This method simply returns the two inputs in numerical order. You can even -// provide strings, as the method would parseInt() the values. -oParser.SortNumerical = function(a, b) -{ - return parseInt( a, 10 ) - parseInt( b, 10 ) ; -} - -oParser.ParseEMailParams = function(sParams) -{ - // Initialize the oEMailParams object. - var oEMailParams = new Object() ; - oEMailParams.Subject = '' ; - oEMailParams.Body = '' ; - - var aMatch = sParams.match( /(^|^\?|&)subject=([^&]+)/i ) ; - if ( aMatch ) oEMailParams.Subject = decodeURIComponent( aMatch[2] ) ; - - aMatch = sParams.match( /(^|^\?|&)body=([^&]+)/i ) ; - if ( aMatch ) oEMailParams.Body = decodeURIComponent( aMatch[2] ) ; - - return oEMailParams ; -} - -// This method returns either an object containing the email info, or FALSE -// if the parameter is not an email link. -oParser.ParseEMailUri = function( sUrl ) -{ - // Initializes the EMailInfo object. - var oEMailInfo = new Object() ; - oEMailInfo.Address = '' ; - oEMailInfo.Subject = '' ; - oEMailInfo.Body = '' ; - - var aLinkInfo = sUrl.match( /^(\w+):(.*)$/ ) ; - if ( aLinkInfo && aLinkInfo[1] == 'mailto' ) - { - // This seems to be an unprotected email link. - var aParts = aLinkInfo[2].match( /^([^\?]+)\??(.+)?/ ) ; - if ( aParts ) - { - // Set the e-mail address. - oEMailInfo.Address = aParts[1] ; - - // Look for the optional e-mail parameters. - if ( aParts[2] ) - { - var oEMailParams = oParser.ParseEMailParams( aParts[2] ) ; - oEMailInfo.Subject = oEMailParams.Subject ; - oEMailInfo.Body = oEMailParams.Body ; - } - } - return oEMailInfo ; - } - else if ( aLinkInfo && aLinkInfo[1] == 'javascript' ) - { - // This may be a protected email. - - // Try to match the url against the EMailProtectionFunction. - var func = FCKConfig.EMailProtectionFunction ; - if ( func != null ) - { - try - { - // Escape special chars. - func = func.replace( /([\/^$*+.?()\[\]])/g, '\\$1' ) ; - - // Define the possible keys. - var keys = new Array('NAME', 'DOMAIN', 'SUBJECT', 'BODY') ; - - // Get the order of the keys (hold them in the array ) and - // the function replaced by regular expression patterns. - var sFunc = func ; - var pos = new Array() ; - for ( var i = 0 ; i < keys.length ; i ++ ) - { - var rexp = new RegExp( keys[i] ) ; - var p = func.search( rexp ) ; - if ( p >= 0 ) - { - sFunc = sFunc.replace( rexp, '\'([^\']*)\'' ) ; - pos[pos.length] = p + ':' + keys[i] ; - } - } - - // Sort the available keys. - pos.sort( oParser.SortNumerical ) ; - - // Replace the excaped single quotes in the url, such they do - // not affect the regexp afterwards. - aLinkInfo[2] = aLinkInfo[2].replace( /\\'/g, '###SINGLE_QUOTE###' ) ; - - // Create the regexp and execute it. - var rFunc = new RegExp( '^' + sFunc + '$' ) ; - var aMatch = rFunc.exec( aLinkInfo[2] ) ; - if ( aMatch ) - { - var aInfo = new Array(); - for ( var i = 1 ; i < aMatch.length ; i ++ ) - { - var k = pos[i-1].match(/^\d+:(.+)$/) ; - aInfo[k[1]] = aMatch[i].replace(/###SINGLE_QUOTE###/g, '\'') ; - } - - // Fill the EMailInfo object that will be returned - oEMailInfo.Address = aInfo['NAME'] + '@' + aInfo['DOMAIN'] ; - oEMailInfo.Subject = decodeURIComponent( aInfo['SUBJECT'] ) ; - oEMailInfo.Body = decodeURIComponent( aInfo['BODY'] ) ; - - return oEMailInfo ; - } - } - catch (e) - { - } - } - - // Try to match the email against the encode protection. - var aMatch = aLinkInfo[2].match( /^location\.href='mailto:'\+(String\.fromCharCode\([\d,]+\))\+'(.*)'$/ ) ; - if ( aMatch ) - { - // The link is encoded - oEMailInfo.Address = eval( aMatch[1] ) ; - if ( aMatch[2] ) - { - var oEMailParams = oParser.ParseEMailParams( aMatch[2] ) ; - oEMailInfo.Subject = oEMailParams.Subject ; - oEMailInfo.Body = oEMailParams.Body ; - } - return oEMailInfo ; - } - } - return false; -} - -oParser.CreateEMailUri = function( address, subject, body ) -{ - // Switch for the EMailProtection setting. - switch ( FCKConfig.EMailProtection ) - { - case 'function' : - var func = FCKConfig.EMailProtectionFunction ; - if ( func == null ) - { - if ( FCKConfig.Debug ) - { - alert('EMailProtection alert!\nNo function defined. Please set "FCKConfig.EMailProtectionFunction"') ; - } - return ''; - } - - // Split the email address into name and domain parts. - var aAddressParts = address.split( '@', 2 ) ; - if ( aAddressParts[1] == undefined ) - { - aAddressParts[1] = '' ; - } - - // Replace the keys by their values (embedded in single quotes). - func = func.replace(/NAME/g, "'" + aAddressParts[0].replace(/'/g, '\\\'') + "'") ; - func = func.replace(/DOMAIN/g, "'" + aAddressParts[1].replace(/'/g, '\\\'') + "'") ; - func = func.replace(/SUBJECT/g, "'" + encodeURIComponent( subject ).replace(/'/g, '\\\'') + "'") ; - func = func.replace(/BODY/g, "'" + encodeURIComponent( body ).replace(/'/g, '\\\'') + "'") ; - - return 'javascript:' + func ; - - case 'encode' : - var aParams = [] ; - var aAddressCode = [] ; - - if ( subject.length > 0 ) - aParams.push( 'subject='+ encodeURIComponent( subject ) ) ; - if ( body.length > 0 ) - aParams.push( 'body=' + encodeURIComponent( body ) ) ; - for ( var i = 0 ; i < address.length ; i++ ) - aAddressCode.push( address.charCodeAt( i ) ) ; - - return 'javascript:location.href=\'mailto:\'+String.fromCharCode(' + aAddressCode.join( ',' ) + ')+\'?' + aParams.join( '&' ) + '\'' ; - } - - // EMailProtection 'none' - - var sBaseUri = 'mailto:' + address ; - - var sParams = '' ; - - if ( subject.length > 0 ) - sParams = '?subject=' + encodeURIComponent( subject ) ; - - if ( body.length > 0 ) - { - sParams += ( sParams.length == 0 ? '?' : '&' ) ; - sParams += 'body=' + encodeURIComponent( body ) ; - } - - return sBaseUri + sParams ; -} - -//#### Initialization Code - -// oLink: The actual selected link in the editor. -var oLink = dialog.Selection.GetSelection().MoveToAncestorNode( 'A' ) ; -if ( oLink ) - FCK.Selection.SelectNode( oLink ) ; - -window.onload = function() -{ - // Translate the dialog box texts. - oEditor.FCKLanguageManager.TranslatePage(document) ; - - // Fill the Anchor Names and Ids combos. - LoadAnchorNamesAndIds() ; - - // Load the selected link information (if any). - LoadSelection() ; - - // Update the dialog box. - SetLinkType( GetE('cmbLinkType').value ) ; - - // Show/Hide the "Browse Server" button. - GetE('divBrowseServer').style.display = FCKConfig.LinkBrowser ? '' : 'none' ; - - // Show the initial dialog content. - GetE('divInfo').style.display = '' ; - - // Set the actual uploader URL. - if ( FCKConfig.LinkUpload ) - GetE('frmUpload').action = FCKConfig.LinkUploadURL ; - - // Set the default target (from configuration). - SetDefaultTarget() ; - - // Activate the "OK" button. - dialog.SetOkButton( true ) ; - - // Select the first field. - switch( GetE('cmbLinkType').value ) - { - case 'url' : - SelectField( 'txtUrl' ) ; - break ; - case 'email' : - SelectField( 'txtEMailAddress' ) ; - break ; - case 'anchor' : - if ( GetE('divSelAnchor').style.display != 'none' ) - SelectField( 'cmbAnchorName' ) ; - else - SelectField( 'cmbLinkType' ) ; - } -} - -var bHasAnchors ; - -function LoadAnchorNamesAndIds() -{ - // Since version 2.0, the anchors are replaced in the DOM by IMGs so the user see the icon - // to edit them. So, we must look for that images now. - var aAnchors = new Array() ; - var i ; - var oImages = oEditor.FCK.EditorDocument.getElementsByTagName( 'IMG' ) ; - for( i = 0 ; i < oImages.length ; i++ ) - { - if ( oImages[i].getAttribute('_fckanchor') ) - aAnchors[ aAnchors.length ] = oEditor.FCK.GetRealElement( oImages[i] ) ; - } - - // Add also real anchors - var oLinks = oEditor.FCK.EditorDocument.getElementsByTagName( 'A' ) ; - for( i = 0 ; i < oLinks.length ; i++ ) - { - if ( oLinks[i].name && ( oLinks[i].name.length > 0 ) ) - aAnchors[ aAnchors.length ] = oLinks[i] ; - } - - var aIds = FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ; - - bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ; - - for ( i = 0 ; i < aAnchors.length ; i++ ) - { - var sName = aAnchors[i].name ; - if ( sName && sName.length > 0 ) - FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ; - } - - for ( i = 0 ; i < aIds.length ; i++ ) - { - FCKTools.AddSelectOption( GetE('cmbAnchorId'), aIds[i], aIds[i] ) ; - } - - ShowE( 'divSelAnchor' , bHasAnchors ) ; - ShowE( 'divNoAnchor' , !bHasAnchors ) ; -} - -function LoadSelection() -{ - if ( !oLink ) return ; - - var sType = 'url' ; - - // Get the actual Link href. - var sHRef = oLink.getAttribute( '_fcksavedurl' ) ; - if ( sHRef == null ) - sHRef = oLink.getAttribute( 'href' , 2 ) || '' ; - - // Look for a popup javascript link. - var oPopupMatch = oRegex.PopupUri.exec( sHRef ) ; - if( oPopupMatch ) - { - GetE('cmbTarget').value = 'popup' ; - sHRef = oPopupMatch[1] ; - FillPopupFields( oPopupMatch[2], oPopupMatch[3] ) ; - SetTarget( 'popup' ) ; - } - - // Accessible popups, the popup data is in the onclick attribute - if ( !oPopupMatch ) - { - var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ; - if ( onclick ) - { - // Decode the protected string - onclick = decodeURIComponent( onclick ) ; - - oPopupMatch = oRegex.OnClickPopup.exec( onclick ) ; - if( oPopupMatch ) - { - GetE( 'cmbTarget' ).value = 'popup' ; - FillPopupFields( oPopupMatch[1], oPopupMatch[2] ) ; - SetTarget( 'popup' ) ; - } - } - } - - // Search for the protocol. - var sProtocol = oRegex.UriProtocol.exec( sHRef ) ; - - // Search for a protected email link. - var oEMailInfo = oParser.ParseEMailUri( sHRef ); - - if ( oEMailInfo ) - { - sType = 'email' ; - - GetE('txtEMailAddress').value = oEMailInfo.Address ; - GetE('txtEMailSubject').value = oEMailInfo.Subject ; - GetE('txtEMailBody').value = oEMailInfo.Body ; - } - else if ( sProtocol ) - { - sProtocol = sProtocol[0].toLowerCase() ; - GetE('cmbLinkProtocol').value = sProtocol ; - - // Remove the protocol and get the remaining URL. - var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ; - sType = 'url' ; - GetE('txtUrl').value = sUrl ; - } - else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 ) // It is an anchor link. - { - sType = 'anchor' ; - GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ; - } - else // It is another type of link. - { - sType = 'url' ; - - GetE('cmbLinkProtocol').value = '' ; - GetE('txtUrl').value = sHRef ; - } - - if ( !oPopupMatch ) - { - // Get the target. - var sTarget = oLink.target ; - - if ( sTarget && sTarget.length > 0 ) - { - if ( oRegex.ReserveTarget.test( sTarget ) ) - { - sTarget = sTarget.toLowerCase() ; - GetE('cmbTarget').value = sTarget ; - } - else - GetE('cmbTarget').value = 'frame' ; - GetE('txtTargetFrame').value = sTarget ; - } - } - - // Get Advances Attributes - GetE('txtAttId').value = oLink.id ; - GetE('txtAttName').value = oLink.name ; - GetE('cmbAttLangDir').value = oLink.dir ; - GetE('txtAttLangCode').value = oLink.lang ; - GetE('txtAttAccessKey').value = oLink.accessKey ; - GetE('txtAttTabIndex').value = oLink.tabIndex <= 0 ? '' : oLink.tabIndex ; - GetE('txtAttTitle').value = oLink.title ; - GetE('txtAttContentType').value = oLink.type ; - GetE('txtAttCharSet').value = oLink.charset ; - - var sClass ; - if ( oEditor.FCKBrowserInfo.IsIE ) - { - sClass = oLink.getAttribute('className',2) || '' ; - // Clean up temporary classes for internal use: - sClass = sClass.replace( FCKRegexLib.FCK_Class, '' ) ; - - GetE('txtAttStyle').value = oLink.style.cssText ; - } - else - { - sClass = oLink.getAttribute('class',2) || '' ; - GetE('txtAttStyle').value = oLink.getAttribute('style',2) || '' ; - } - GetE('txtAttClasses').value = sClass ; - - // Update the Link type combo. - GetE('cmbLinkType').value = sType ; -} - -//#### Link type selection. -function SetLinkType( linkType ) -{ - ShowE('divLinkTypeUrl' , (linkType == 'url') ) ; - ShowE('divLinkTypeAnchor' , (linkType == 'anchor') ) ; - ShowE('divLinkTypeEMail' , (linkType == 'email') ) ; - - if ( !FCKConfig.LinkDlgHideTarget ) - dialog.SetTabVisibility( 'Target' , (linkType == 'url') ) ; - - if ( FCKConfig.LinkUpload ) - dialog.SetTabVisibility( 'Upload' , (linkType == 'url') ) ; - - if ( !FCKConfig.LinkDlgHideAdvanced ) - dialog.SetTabVisibility( 'Advanced' , (linkType != 'anchor' || bHasAnchors) ) ; - - if ( linkType == 'email' ) - dialog.SetAutoSize( true ) ; -} - -//#### Target type selection. -function SetTarget( targetType ) -{ - GetE('tdTargetFrame').style.display = ( targetType == 'popup' ? 'none' : '' ) ; - GetE('tdPopupName').style.display = - GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ; - - switch ( targetType ) - { - case "_blank" : - case "_self" : - case "_parent" : - case "_top" : - GetE('txtTargetFrame').value = targetType ; - break ; - case "" : - GetE('txtTargetFrame').value = '' ; - break ; - } - - if ( targetType == 'popup' ) - dialog.SetAutoSize( true ) ; -} - -//#### Called while the user types the URL. -function OnUrlChange() -{ - var sUrl = GetE('txtUrl').value ; - var sProtocol = oRegex.UrlOnChangeProtocol.exec( sUrl ) ; - - if ( sProtocol ) - { - sUrl = sUrl.substr( sProtocol[0].length ) ; - GetE('txtUrl').value = sUrl ; - GetE('cmbLinkProtocol').value = sProtocol[0].toLowerCase() ; - } - else if ( oRegex.UrlOnChangeTestOther.test( sUrl ) ) - { - GetE('cmbLinkProtocol').value = '' ; - } -} - -//#### Called while the user types the target name. -function OnTargetNameChange() -{ - var sFrame = GetE('txtTargetFrame').value ; - - if ( sFrame.length == 0 ) - GetE('cmbTarget').value = '' ; - else if ( oRegex.ReserveTarget.test( sFrame ) ) - GetE('cmbTarget').value = sFrame.toLowerCase() ; - else - GetE('cmbTarget').value = 'frame' ; -} - -// Accessible popups -function BuildOnClickPopup() -{ - var sWindowName = "'" + GetE('txtPopupName').value.replace(/\W/gi, "") + "'" ; - - var sFeatures = '' ; - var aChkFeatures = document.getElementsByName( 'chkFeature' ) ; - for ( var i = 0 ; i < aChkFeatures.length ; i++ ) - { - if ( i > 0 ) sFeatures += ',' ; - sFeatures += aChkFeatures[i].value + '=' + ( aChkFeatures[i].checked ? 'yes' : 'no' ) ; - } - - if ( GetE('txtPopupWidth').value.length > 0 ) sFeatures += ',width=' + GetE('txtPopupWidth').value ; - if ( GetE('txtPopupHeight').value.length > 0 ) sFeatures += ',height=' + GetE('txtPopupHeight').value ; - if ( GetE('txtPopupLeft').value.length > 0 ) sFeatures += ',left=' + GetE('txtPopupLeft').value ; - if ( GetE('txtPopupTop').value.length > 0 ) sFeatures += ',top=' + GetE('txtPopupTop').value ; - - if ( sFeatures != '' ) - sFeatures = sFeatures + ",status" ; - - return ( "window.open(this.href," + sWindowName + ",'" + sFeatures + "'); return false" ) ; -} - -//#### Fills all Popup related fields. -function FillPopupFields( windowName, features ) -{ - if ( windowName ) - GetE('txtPopupName').value = windowName ; - - var oFeatures = new Object() ; - var oFeaturesMatch ; - while( ( oFeaturesMatch = oRegex.PopupFeatures.exec( features ) ) != null ) - { - var sValue = oFeaturesMatch[2] ; - if ( sValue == ( 'yes' || '1' ) ) - oFeatures[ oFeaturesMatch[1] ] = true ; - else if ( ! isNaN( sValue ) && sValue != 0 ) - oFeatures[ oFeaturesMatch[1] ] = sValue ; - } - - // Update all features check boxes. - var aChkFeatures = document.getElementsByName('chkFeature') ; - for ( var i = 0 ; i < aChkFeatures.length ; i++ ) - { - if ( oFeatures[ aChkFeatures[i].value ] ) - aChkFeatures[i].checked = true ; - } - - // Update position and size text boxes. - if ( oFeatures['width'] ) GetE('txtPopupWidth').value = oFeatures['width'] ; - if ( oFeatures['height'] ) GetE('txtPopupHeight').value = oFeatures['height'] ; - if ( oFeatures['left'] ) GetE('txtPopupLeft').value = oFeatures['left'] ; - if ( oFeatures['top'] ) GetE('txtPopupTop').value = oFeatures['top'] ; -} - -//#### The OK button was hit. -function Ok() -{ - var sUri, sInnerHtml ; - oEditor.FCKUndo.SaveUndoStep() ; - - switch ( GetE('cmbLinkType').value ) - { - case 'url' : - sUri = GetE('txtUrl').value ; - - if ( sUri.length == 0 ) - { - alert( FCKLang.DlnLnkMsgNoUrl ) ; - return false ; - } - - sUri = GetE('cmbLinkProtocol').value + sUri ; - - break ; - - case 'email' : - sUri = GetE('txtEMailAddress').value ; - - if ( sUri.length == 0 ) - { - alert( FCKLang.DlnLnkMsgNoEMail ) ; - return false ; - } - - sUri = oParser.CreateEMailUri( - sUri, - GetE('txtEMailSubject').value, - GetE('txtEMailBody').value ) ; - break ; - - case 'anchor' : - var sAnchor = GetE('cmbAnchorName').value ; - if ( sAnchor.length == 0 ) sAnchor = GetE('cmbAnchorId').value ; - - if ( sAnchor.length == 0 ) - { - alert( FCKLang.DlnLnkMsgNoAnchor ) ; - return false ; - } - - sUri = '#' + sAnchor ; - break ; - } - - // If no link is selected, create a new one (it may result in more than one link creation - #220). - var aLinks = oLink ? [ oLink ] : oEditor.FCK.CreateLink( sUri, true ) ; - - // If no selection, no links are created, so use the uri as the link text (by dom, 2006-05-26) - var aHasSelection = ( aLinks.length > 0 ) ; - if ( !aHasSelection ) - { - sInnerHtml = sUri; - - // Built a better text for empty links. - switch ( GetE('cmbLinkType').value ) - { - // anchor: use old behavior --> return true - case 'anchor': - sInnerHtml = sInnerHtml.replace( /^#/, '' ) ; - break ; - - // url: try to get path - case 'url': - var oLinkPathRegEx = new RegExp("//?([^?\"']+)([?].*)?$") ; - var asLinkPath = oLinkPathRegEx.exec( sUri ) ; - if (asLinkPath != null) - sInnerHtml = asLinkPath[1]; // use matched path - break ; - - // mailto: try to get email address - case 'email': - sInnerHtml = GetE('txtEMailAddress').value ; - break ; - } - - // Create a new (empty) anchor. - aLinks = [ oEditor.FCK.InsertElement( 'a' ) ] ; - } - - for ( var i = 0 ; i < aLinks.length ; i++ ) - { - oLink = aLinks[i] ; - - if ( aHasSelection ) - sInnerHtml = oLink.innerHTML ; // Save the innerHTML (IE changes it if it is like an URL). - - oLink.href = sUri ; - SetAttribute( oLink, '_fcksavedurl', sUri ) ; - - var onclick; - // Accessible popups - if( GetE('cmbTarget').value == 'popup' ) - { - onclick = BuildOnClickPopup() ; - // Encode the attribute - onclick = encodeURIComponent( " onclick=\"" + onclick + "\"" ) ; - SetAttribute( oLink, 'onclick_fckprotectedatt', onclick ) ; - } - else - { - // Check if the previous onclick was for a popup: - // In that case remove the onclick handler. - onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ; - if ( onclick ) - { - // Decode the protected string - onclick = decodeURIComponent( onclick ) ; - - if( oRegex.OnClickPopup.test( onclick ) ) - SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ; - } - } - - oLink.innerHTML = sInnerHtml ; // Set (or restore) the innerHTML - - // Target - if( GetE('cmbTarget').value != 'popup' ) - SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ; - else - SetAttribute( oLink, 'target', null ) ; - - // Let's set the "id" only for the first link to avoid duplication. - if ( i == 0 ) - SetAttribute( oLink, 'id', GetE('txtAttId').value ) ; - - // Advances Attributes - SetAttribute( oLink, 'name' , GetE('txtAttName').value ) ; - SetAttribute( oLink, 'dir' , GetE('cmbAttLangDir').value ) ; - SetAttribute( oLink, 'lang' , GetE('txtAttLangCode').value ) ; - SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ; - SetAttribute( oLink, 'tabindex' , ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ; - SetAttribute( oLink, 'title' , GetE('txtAttTitle').value ) ; - SetAttribute( oLink, 'type' , GetE('txtAttContentType').value ) ; - SetAttribute( oLink, 'charset' , GetE('txtAttCharSet').value ) ; - - if ( oEditor.FCKBrowserInfo.IsIE ) - { - var sClass = GetE('txtAttClasses').value ; - // If it's also an anchor add an internal class - if ( GetE('txtAttName').value.length != 0 ) - sClass += ' FCK__AnchorC' ; - SetAttribute( oLink, 'className', sClass ) ; - - oLink.style.cssText = GetE('txtAttStyle').value ; - } - else - { - SetAttribute( oLink, 'class', GetE('txtAttClasses').value ) ; - SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ; - } - } - - // Select the (first) link. - oEditor.FCKSelection.SelectNode( aLinks[0] ); - - return true ; -} - -function BrowseServer() -{ - OpenFileBrowser( FCKConfig.LinkBrowserURL, FCKConfig.LinkBrowserWindowWidth, FCKConfig.LinkBrowserWindowHeight ) ; -} - -function SetUrl( url ) -{ - GetE('txtUrl').value = url ; - OnUrlChange() ; - dialog.SetSelectedTab( 'Info' ) ; -} - -function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg ) -{ - // Remove animation - window.parent.Throbber.Hide() ; - GetE( 'divUpload' ).style.display = '' ; - - switch ( errorNumber ) - { - case 0 : // No errors - alert( 'Your file has been successfully uploaded' ) ; - break ; - case 1 : // Custom error - alert( customMsg ) ; - return ; - case 101 : // Custom warning - alert( customMsg ) ; - break ; - case 201 : - alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ; - break ; - case 202 : - alert( 'Invalid file type' ) ; - return ; - case 203 : - alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ; - return ; - case 500 : - alert( 'The connector is disabled' ) ; - break ; - default : - alert( 'Error on file upload. Error number: ' + errorNumber ) ; - return ; - } - - SetUrl( fileUrl ) ; - GetE('frmUpload').reset() ; -} - -var oUploadAllowedExtRegex = new RegExp( FCKConfig.LinkUploadAllowedExtensions, 'i' ) ; -var oUploadDeniedExtRegex = new RegExp( FCKConfig.LinkUploadDeniedExtensions, 'i' ) ; - -function CheckUpload() -{ - var sFile = GetE('txtUploadFile').value ; - - if ( sFile.length == 0 ) - { - alert( 'Please select a file to upload' ) ; - return false ; - } - - if ( ( FCKConfig.LinkUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) || - ( FCKConfig.LinkUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) ) - { - OnUploadCompleted( 202 ) ; - return false ; - } - - // Show animation - window.parent.Throbber.Show( 100 ) ; - GetE( 'divUpload' ).style.display = 'none' ; - - return true ; -} - -function SetDefaultTarget() -{ - var target = FCKConfig.DefaultLinkTarget || '' ; - - if ( oLink || target.length == 0 ) - return ; - - switch ( target ) - { - case '_blank' : - case '_self' : - case '_parent' : - case '_top' : - GetE('cmbTarget').value = target ; - break ; - default : - GetE('cmbTarget').value = 'frame' ; - break ; - } - - GetE('txtTargetFrame').value = target ; -} diff --git a/include/fckeditor/editor/dialog/fck_listprop.html b/include/fckeditor/editor/dialog/fck_listprop.html deleted file mode 100644 index ef30a94b3..000000000 --- a/include/fckeditor/editor/dialog/fck_listprop.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - -
    - - - - - -
    - List Type
    - - -   -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_paste.html b/include/fckeditor/editor/dialog/fck_paste.html deleted file mode 100644 index 40cc6f56c..000000000 --- a/include/fckeditor/editor/dialog/fck_paste.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - Please paste inside the following box using the keyboard - (Ctrl+V) and hit OK.
    -   -
    -
    - -
    - - - -
    - - - -
    - - diff --git a/include/fckeditor/editor/dialog/fck_radiobutton.html b/include/fckeditor/editor/dialog/fck_radiobutton.html deleted file mode 100644 index eb9aa5d10..000000000 --- a/include/fckeditor/editor/dialog/fck_radiobutton.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - Radio Button Properties - - - - - - - - - - -
    - - - - - - - - - - -
    - Name
    - -
    - Value
    - -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_replace.html b/include/fckeditor/editor/dialog/fck_replace.html deleted file mode 100644 index f334d7f06..000000000 --- a/include/fckeditor/editor/dialog/fck_replace.html +++ /dev/null @@ -1,648 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/dialog/fck_select.html b/include/fckeditor/editor/dialog/fck_select.html deleted file mode 100644 index a1735a127..000000000 --- a/include/fckeditor/editor/dialog/fck_select.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - Select Properties - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    Name 
    Value 
    Size  lines
    -
    -
    -  Available - Options  - - - - - - - - - - - - - - - - - - -
    Text
    - -
    Value
    - -
    - - -
    -
    - -
       -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_select/fck_select.js b/include/fckeditor/editor/dialog/fck_select/fck_select.js deleted file mode 100644 index 167e24d60..000000000 --- a/include/fckeditor/editor/dialog/fck_select/fck_select.js +++ /dev/null @@ -1,194 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Scripts for the fck_select.html page. - */ - -function Select( combo ) -{ - var iIndex = combo.selectedIndex ; - - oListText.selectedIndex = iIndex ; - oListValue.selectedIndex = iIndex ; - - var oTxtText = document.getElementById( "txtText" ) ; - var oTxtValue = document.getElementById( "txtValue" ) ; - - oTxtText.value = oListText.value ; - oTxtValue.value = oListValue.value ; -} - -function Add() -{ - var oTxtText = document.getElementById( "txtText" ) ; - var oTxtValue = document.getElementById( "txtValue" ) ; - - AddComboOption( oListText, oTxtText.value, oTxtText.value ) ; - AddComboOption( oListValue, oTxtValue.value, oTxtValue.value ) ; - - oListText.selectedIndex = oListText.options.length - 1 ; - oListValue.selectedIndex = oListValue.options.length - 1 ; - - oTxtText.value = '' ; - oTxtValue.value = '' ; - - oTxtText.focus() ; -} - -function Modify() -{ - var iIndex = oListText.selectedIndex ; - - if ( iIndex < 0 ) return ; - - var oTxtText = document.getElementById( "txtText" ) ; - var oTxtValue = document.getElementById( "txtValue" ) ; - - oListText.options[ iIndex ].innerHTML = HTMLEncode( oTxtText.value ) ; - oListText.options[ iIndex ].value = oTxtText.value ; - - oListValue.options[ iIndex ].innerHTML = HTMLEncode( oTxtValue.value ) ; - oListValue.options[ iIndex ].value = oTxtValue.value ; - - oTxtText.value = '' ; - oTxtValue.value = '' ; - - oTxtText.focus() ; -} - -function Move( steps ) -{ - ChangeOptionPosition( oListText, steps ) ; - ChangeOptionPosition( oListValue, steps ) ; -} - -function Delete() -{ - RemoveSelectedOptions( oListText ) ; - RemoveSelectedOptions( oListValue ) ; -} - -function SetSelectedValue() -{ - var iIndex = oListValue.selectedIndex ; - if ( iIndex < 0 ) return ; - - var oTxtValue = document.getElementById( "txtSelValue" ) ; - - oTxtValue.value = oListValue.options[ iIndex ].value ; -} - -// Moves the selected option by a number of steps (also negative) -function ChangeOptionPosition( combo, steps ) -{ - var iActualIndex = combo.selectedIndex ; - - if ( iActualIndex < 0 ) - return ; - - var iFinalIndex = iActualIndex + steps ; - - if ( iFinalIndex < 0 ) - iFinalIndex = 0 ; - - if ( iFinalIndex > ( combo.options.length - 1 ) ) - iFinalIndex = combo.options.length - 1 ; - - if ( iActualIndex == iFinalIndex ) - return ; - - var oOption = combo.options[ iActualIndex ] ; - var sText = HTMLDecode( oOption.innerHTML ) ; - var sValue = oOption.value ; - - combo.remove( iActualIndex ) ; - - oOption = AddComboOption( combo, sText, sValue, null, iFinalIndex ) ; - - oOption.selected = true ; -} - -// Remove all selected options from a SELECT object -function RemoveSelectedOptions(combo) -{ - // Save the selected index - var iSelectedIndex = combo.selectedIndex ; - - var oOptions = combo.options ; - - // Remove all selected options - for ( var i = oOptions.length - 1 ; i >= 0 ; i-- ) - { - if (oOptions[i].selected) combo.remove(i) ; - } - - // Reset the selection based on the original selected index - if ( combo.options.length > 0 ) - { - if ( iSelectedIndex >= combo.options.length ) iSelectedIndex = combo.options.length - 1 ; - combo.selectedIndex = iSelectedIndex ; - } -} - -// Add a new option to a SELECT object (combo or list) -function AddComboOption( combo, optionText, optionValue, documentObject, index ) -{ - var oOption ; - - if ( documentObject ) - oOption = documentObject.createElement("OPTION") ; - else - oOption = document.createElement("OPTION") ; - - if ( index != null ) - combo.options.add( oOption, index ) ; - else - combo.options.add( oOption ) ; - - oOption.innerHTML = optionText.length > 0 ? HTMLEncode( optionText ) : ' ' ; - oOption.value = optionValue ; - - return oOption ; -} - -function HTMLEncode( text ) -{ - if ( !text ) - return '' ; - - text = text.replace( /&/g, '&' ) ; - text = text.replace( //g, '>' ) ; - - return text ; -} - - -function HTMLDecode( text ) -{ - if ( !text ) - return '' ; - - text = text.replace( />/g, '>' ) ; - text = text.replace( /</g, '<' ) ; - text = text.replace( /&/g, '&' ) ; - - return text ; -} diff --git a/include/fckeditor/editor/dialog/fck_smiley.html b/include/fckeditor/editor/dialog/fck_smiley.html deleted file mode 100644 index 0d6f63fd8..000000000 --- a/include/fckeditor/editor/dialog/fck_smiley.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - -
    - - diff --git a/include/fckeditor/editor/dialog/fck_source.html b/include/fckeditor/editor/dialog/fck_source.html deleted file mode 100644 index d66c28118..000000000 --- a/include/fckeditor/editor/dialog/fck_source.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - Source - - - - - - - - - - -
    - - diff --git a/include/fckeditor/editor/dialog/fck_specialchar.html b/include/fckeditor/editor/dialog/fck_specialchar.html deleted file mode 100644 index d7fda32de..000000000 --- a/include/fckeditor/editor/dialog/fck_specialchar.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - - - - - - - - - - - - -
    - - -
    -
         - - - - -
     
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_spellerpages.html b/include/fckeditor/editor/dialog/fck_spellerpages.html deleted file mode 100644 index 87cf2c47e..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - Spell Check - - - - - - - - - - - diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html deleted file mode 100644 index e69de29bb..000000000 diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js deleted file mode 100644 index 80af84995..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +++ /dev/null @@ -1,87 +0,0 @@ -//////////////////////////////////////////////////// -// controlWindow object -//////////////////////////////////////////////////// -function controlWindow( controlForm ) { - // private properties - this._form = controlForm; - - // public properties - this.windowType = "controlWindow"; -// this.noSuggestionSelection = "- No suggestions -"; // by FredCK - this.noSuggestionSelection = FCKLang.DlgSpellNoSuggestions ; - // set up the properties for elements of the given control form - this.suggestionList = this._form.sugg; - this.evaluatedText = this._form.misword; - this.replacementText = this._form.txtsugg; - this.undoButton = this._form.btnUndo; - - // public methods - this.addSuggestion = addSuggestion; - this.clearSuggestions = clearSuggestions; - this.selectDefaultSuggestion = selectDefaultSuggestion; - this.resetForm = resetForm; - this.setSuggestedText = setSuggestedText; - this.enableUndo = enableUndo; - this.disableUndo = disableUndo; -} - -function resetForm() { - if( this._form ) { - this._form.reset(); - } -} - -function setSuggestedText() { - var slct = this.suggestionList; - var txt = this.replacementText; - var str = ""; - if( (slct.options[0].text) && slct.options[0].text != this.noSuggestionSelection ) { - str = slct.options[slct.selectedIndex].text; - } - txt.value = str; -} - -function selectDefaultSuggestion() { - var slct = this.suggestionList; - var txt = this.replacementText; - if( slct.options.length == 0 ) { - this.addSuggestion( this.noSuggestionSelection ); - } else { - slct.options[0].selected = true; - } - this.setSuggestedText(); -} - -function addSuggestion( sugg_text ) { - var slct = this.suggestionList; - if( sugg_text ) { - var i = slct.options.length; - var newOption = new Option( sugg_text, 'sugg_text'+i ); - slct.options[i] = newOption; - } -} - -function clearSuggestions() { - var slct = this.suggestionList; - for( var j = slct.length - 1; j > -1; j-- ) { - if( slct.options[j] ) { - slct.options[j] = null; - } - } -} - -function enableUndo() { - if( this.undoButton ) { - if( this.undoButton.disabled == true ) { - this.undoButton.disabled = false; - } - } -} - -function disableUndo() { - if( this.undoButton ) { - if( this.undoButton.disabled == false ) { - this.undoButton.disabled = true; - } - } -} diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html deleted file mode 100644 index d91bcce2d..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -
    - - - - - - - - - - - - - - - - - - -
    Not in dictionary:
    Change to:
    - - - - - - - -
    - -
    - -
    -
       - - - - - - - - - - - - - - - - - - - - - - -
    - -    - -
    - -    - -
    - -    - -
    -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm deleted file mode 100644 index 27e368e8b..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ]+>", " ", "all")> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php deleted file mode 100644 index 9c747c916..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +++ /dev/null @@ -1,199 +0,0 @@ -$val ) { - # $val = str_replace( "'", "%27", $val ); - echo "textinputs[$key] = decodeURIComponent(\"" . $val . "\");\n"; - } -} - -# make declarations for the text input index -function print_textindex_decl( $text_input_idx ) { - echo "words[$text_input_idx] = [];\n"; - echo "suggs[$text_input_idx] = [];\n"; -} - -# set an element of the JavaScript 'words' array to a misspelled word -function print_words_elem( $word, $index, $text_input_idx ) { - echo "words[$text_input_idx][$index] = '" . escape_quote( $word ) . "';\n"; -} - - -# set an element of the JavaScript 'suggs' array to a list of suggestions -function print_suggs_elem( $suggs, $index, $text_input_idx ) { - echo "suggs[$text_input_idx][$index] = ["; - foreach( $suggs as $key=>$val ) { - if( $val ) { - echo "'" . escape_quote( $val ) . "'"; - if ( $key+1 < count( $suggs )) { - echo ", "; - } - } - } - echo "];\n"; -} - -# escape single quote -function escape_quote( $str ) { - return preg_replace ( "/'/", "\\'", $str ); -} - - -# handle a server-side error. -function error_handler( $err ) { - echo "error = '" . preg_replace( "/['\\\\]/", "\\\\$0", $err ) . "';\n"; -} - -## get the list of misspelled words. Put the results in the javascript words array -## for each misspelled word, get suggestions and put in the javascript suggs array -function print_checker_results() { - - global $aspell_prog; - global $aspell_opts; - global $tempfiledir; - global $textinputs; - global $input_separator; - $aspell_err = ""; - # create temp file - $tempfile = tempnam( $tempfiledir, 'aspell_data_' ); - - # open temp file, add the submitted text. - if( $fh = fopen( $tempfile, 'w' )) { - for( $i = 0; $i < count( $textinputs ); $i++ ) { - $text = urldecode( $textinputs[$i] ); - - // Strip all tags for the text. (by FredCK - #339 / #681) - $text = preg_replace( "/<[^>]+>/", " ", $text ) ; - - $lines = explode( "\n", $text ); - fwrite ( $fh, "%\n" ); # exit terse mode - fwrite ( $fh, "^$input_separator\n" ); - fwrite ( $fh, "!\n" ); # enter terse mode - foreach( $lines as $key=>$value ) { - # use carat on each line to escape possible aspell commands - fwrite( $fh, "^$value\n" ); - } - } - fclose( $fh ); - - # exec aspell command - redirect STDERR to STDOUT - $cmd = "$aspell_prog $aspell_opts < $tempfile 2>&1"; - if( $aspellret = shell_exec( $cmd )) { - $linesout = explode( "\n", $aspellret ); - $index = 0; - $text_input_index = -1; - # parse each line of aspell return - foreach( $linesout as $key=>$val ) { - $chardesc = substr( $val, 0, 1 ); - # if '&', then not in dictionary but has suggestions - # if '#', then not in dictionary and no suggestions - # if '*', then it is a delimiter between text inputs - # if '@' then version info - if( $chardesc == '&' || $chardesc == '#' ) { - $line = explode( " ", $val, 5 ); - print_words_elem( $line[1], $index, $text_input_index ); - if( isset( $line[4] )) { - $suggs = explode( ", ", $line[4] ); - } else { - $suggs = array(); - } - print_suggs_elem( $suggs, $index, $text_input_index ); - $index++; - } elseif( $chardesc == '*' ) { - $text_input_index++; - print_textindex_decl( $text_input_index ); - $index = 0; - } elseif( $chardesc != '@' && $chardesc != "" ) { - # assume this is error output - $aspell_err .= $val; - } - } - if( $aspell_err ) { - $aspell_err = "Error executing `$cmd`\\n$aspell_err"; - error_handler( $aspell_err ); - } - } else { - error_handler( "System error: Aspell program execution failed (`$cmd`)" ); - } - } else { - error_handler( "System error: Could not open file '$tempfile' for writing" ); - } - - # close temp file, delete file - unlink( $tempfile ); -} - - -?> - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl deleted file mode 100644 index fae010d9b..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/perl - -use CGI qw/ :standard /; -use File::Temp qw/ tempfile tempdir /; - -# my $spellercss = '/speller/spellerStyle.css'; # by FredCK -my $spellercss = '../spellerStyle.css'; # by FredCK -# my $wordWindowSrc = '/speller/wordWindow.js'; # by FredCK -my $wordWindowSrc = '../wordWindow.js'; # by FredCK -my @textinputs = param( 'textinputs[]' ); # array -# my $aspell_cmd = 'aspell'; # by FredCK (for Linux) -my $aspell_cmd = '"C:\Program Files\Aspell\bin\aspell.exe"'; # by FredCK (for Windows) -my $lang = 'en_US'; -# my $aspell_opts = "-a --lang=$lang --encoding=utf-8"; # by FredCK -my $aspell_opts = "-a --lang=$lang --encoding=utf-8 -H --rem-sgml-check=alt"; # by FredCK -my $input_separator = "A"; - -# set the 'wordtext' JavaScript variable to the submitted text. -sub printTextVar { - for( my $i = 0; $i <= $#textinputs; $i++ ) { - print "textinputs[$i] = decodeURIComponent('" . escapeQuote( $textinputs[$i] ) . "')\n"; - } -} - -sub printTextIdxDecl { - my $idx = shift; - print "words[$idx] = [];\n"; - print "suggs[$idx] = [];\n"; -} - -sub printWordsElem { - my( $textIdx, $wordIdx, $word ) = @_; - print "words[$textIdx][$wordIdx] = '" . escapeQuote( $word ) . "';\n"; -} - -sub printSuggsElem { - my( $textIdx, $wordIdx, @suggs ) = @_; - print "suggs[$textIdx][$wordIdx] = ["; - for my $i ( 0..$#suggs ) { - print "'" . escapeQuote( $suggs[$i] ) . "'"; - if( $i < $#suggs ) { - print ", "; - } - } - print "];\n"; -} - -sub printCheckerResults { - my $textInputIdx = -1; - my $wordIdx = 0; - my $unhandledText; - # create temp file - my $dir = tempdir( CLEANUP => 1 ); - my( $fh, $tmpfilename ) = tempfile( DIR => $dir ); - - # temp file was created properly? - - # open temp file, add the submitted text. - for( my $i = 0; $i <= $#textinputs; $i++ ) { - $text = url_decode( $textinputs[$i] ); - # Strip all tags for the text. (by FredCK - #339 / #681) - $text =~ s/<[^>]+>/ /g; - @lines = split( /\n/, $text ); - print $fh "\%\n"; # exit terse mode - print $fh "^$input_separator\n"; - print $fh "!\n"; # enter terse mode - for my $line ( @lines ) { - # use carat on each line to escape possible aspell commands - print $fh "^$line\n"; - } - - } - # exec aspell command - my $cmd = "$aspell_cmd $aspell_opts < $tmpfilename 2>&1"; - open ASPELL, "$cmd |" or handleError( "Could not execute `$cmd`\\n$!" ) and return; - # parse each line of aspell return - for my $ret ( ) { - chomp( $ret ); - # if '&', then not in dictionary but has suggestions - # if '#', then not in dictionary and no suggestions - # if '*', then it is a delimiter between text inputs - if( $ret =~ /^\*/ ) { - $textInputIdx++; - printTextIdxDecl( $textInputIdx ); - $wordIdx = 0; - - } elsif( $ret =~ /^(&|#)/ ) { - my @tokens = split( " ", $ret, 5 ); - printWordsElem( $textInputIdx, $wordIdx, $tokens[1] ); - my @suggs = (); - if( $tokens[4] ) { - @suggs = split( ", ", $tokens[4] ); - } - printSuggsElem( $textInputIdx, $wordIdx, @suggs ); - $wordIdx++; - } else { - $unhandledText .= $ret; - } - } - close ASPELL or handleError( "Error executing `$cmd`\\n$unhandledText" ) and return; -} - -sub escapeQuote { - my $str = shift; - $str =~ s/'/\\'/g; - return $str; -} - -sub handleError { - my $err = shift; - print "error = '" . escapeQuote( $err ) . "';\n"; -} - -sub url_decode { - local $_ = @_ ? shift : $_; - defined or return; - # change + signs to spaces - tr/+/ /; - # change hex escapes to the proper characters - s/%([a-fA-F0-9]{2})/pack "H2", $1/eg; - return $_; -} - -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# Display HTML -# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # - -print < - - - - - - - - - - - - - -EOF diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js deleted file mode 100644 index c85be9ab6..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +++ /dev/null @@ -1,461 +0,0 @@ -//////////////////////////////////////////////////// -// spellChecker.js -// -// spellChecker object -// -// This file is sourced on web pages that have a textarea object to evaluate -// for spelling. It includes the implementation for the spellCheckObject. -// -//////////////////////////////////////////////////// - - -// constructor -function spellChecker( textObject ) { - - // public properties - configurable -// this.popUpUrl = '/speller/spellchecker.html'; // by FredCK - this.popUpUrl = 'fck_spellerpages/spellerpages/spellchecker.html'; // by FredCK - this.popUpName = 'spellchecker'; -// this.popUpProps = "menu=no,width=440,height=350,top=70,left=120,resizable=yes,status=yes"; // by FredCK - this.popUpProps = null ; // by FredCK -// this.spellCheckScript = '/speller/server-scripts/spellchecker.php'; // by FredCK - //this.spellCheckScript = '/cgi-bin/spellchecker.pl'; - - // values used to keep track of what happened to a word - this.replWordFlag = "R"; // single replace - this.ignrWordFlag = "I"; // single ignore - this.replAllFlag = "RA"; // replace all occurances - this.ignrAllFlag = "IA"; // ignore all occurances - this.fromReplAll = "~RA"; // an occurance of a "replace all" word - this.fromIgnrAll = "~IA"; // an occurance of a "ignore all" word - // properties set at run time - this.wordFlags = new Array(); - this.currentTextIndex = 0; - this.currentWordIndex = 0; - this.spellCheckerWin = null; - this.controlWin = null; - this.wordWin = null; - this.textArea = textObject; // deprecated - this.textInputs = arguments; - - // private methods - this._spellcheck = _spellcheck; - this._getSuggestions = _getSuggestions; - this._setAsIgnored = _setAsIgnored; - this._getTotalReplaced = _getTotalReplaced; - this._setWordText = _setWordText; - this._getFormInputs = _getFormInputs; - - // public methods - this.openChecker = openChecker; - this.startCheck = startCheck; - this.checkTextBoxes = checkTextBoxes; - this.checkTextAreas = checkTextAreas; - this.spellCheckAll = spellCheckAll; - this.ignoreWord = ignoreWord; - this.ignoreAll = ignoreAll; - this.replaceWord = replaceWord; - this.replaceAll = replaceAll; - this.terminateSpell = terminateSpell; - this.undo = undo; - - // set the current window's "speller" property to the instance of this class. - // this object can now be referenced by child windows/frames. - window.speller = this; -} - -// call this method to check all text boxes (and only text boxes) in the HTML document -function checkTextBoxes() { - this.textInputs = this._getFormInputs( "^text$" ); - this.openChecker(); -} - -// call this method to check all textareas (and only textareas ) in the HTML document -function checkTextAreas() { - this.textInputs = this._getFormInputs( "^textarea$" ); - this.openChecker(); -} - -// call this method to check all text boxes and textareas in the HTML document -function spellCheckAll() { - this.textInputs = this._getFormInputs( "^text(area)?$" ); - this.openChecker(); -} - -// call this method to check text boxe(s) and/or textarea(s) that were passed in to the -// object's constructor or to the textInputs property -function openChecker() { - this.spellCheckerWin = window.open( this.popUpUrl, this.popUpName, this.popUpProps ); - if( !this.spellCheckerWin.opener ) { - this.spellCheckerWin.opener = window; - } -} - -function startCheck( wordWindowObj, controlWindowObj ) { - - // set properties from args - this.wordWin = wordWindowObj; - this.controlWin = controlWindowObj; - - // reset properties - this.wordWin.resetForm(); - this.controlWin.resetForm(); - this.currentTextIndex = 0; - this.currentWordIndex = 0; - // initialize the flags to an array - one element for each text input - this.wordFlags = new Array( this.wordWin.textInputs.length ); - // each element will be an array that keeps track of each word in the text - for( var i=0; i wi ) || i > ti ) { - // future word: set as "from ignore all" if - // 1) do not already have a flag and - // 2) have the same value as current word - if(( this.wordWin.getTextVal( i, j ) == s_word_to_repl ) - && ( !this.wordFlags[i][j] )) { - this._setAsIgnored( i, j, this.fromIgnrAll ); - } - } - } - } - - // finally, move on - this.currentWordIndex++; - this._spellcheck(); - return true; -} - -function replaceWord() { - var wi = this.currentWordIndex; - var ti = this.currentTextIndex; - if( !this.wordWin ) { - alert( 'Error: Word frame not available.' ); - return false; - } - if( !this.wordWin.getTextVal( ti, wi )) { - alert( 'Error: "Not in dictionary" text is missing' ); - return false; - } - if( !this.controlWin.replacementText ) { - return false ; - } - var txt = this.controlWin.replacementText; - if( txt.value ) { - var newspell = new String( txt.value ); - if( this._setWordText( ti, wi, newspell, this.replWordFlag )) { - this.currentWordIndex++; - this._spellcheck(); - } - } - return true; -} - -function replaceAll() { - var ti = this.currentTextIndex; - var wi = this.currentWordIndex; - if( !this.wordWin ) { - alert( 'Error: Word frame not available.' ); - return false; - } - var s_word_to_repl = this.wordWin.getTextVal( ti, wi ); - if( !s_word_to_repl ) { - alert( 'Error: "Not in dictionary" text is missing' ); - return false; - } - var txt = this.controlWin.replacementText; - if( !txt.value ) return false; - var newspell = new String( txt.value ); - - // set this word as a "replace all" word. - this._setWordText( ti, wi, newspell, this.replAllFlag ); - - // loop through all the words after this word - for( var i = ti; i < this.wordWin.textInputs.length; i++ ) { - for( var j = 0; j < this.wordWin.totalWords( i ); j++ ) { - if(( i == ti && j > wi ) || i > ti ) { - // future word: set word text to s_word_to_repl if - // 1) do not already have a flag and - // 2) have the same value as s_word_to_repl - if(( this.wordWin.getTextVal( i, j ) == s_word_to_repl ) - && ( !this.wordFlags[i][j] )) { - this._setWordText( i, j, newspell, this.fromReplAll ); - } - } - } - } - - // finally, move on - this.currentWordIndex++; - this._spellcheck(); - return true; -} - -function terminateSpell() { - // called when we have reached the end of the spell checking. - var msg = ""; // by FredCK - var numrepl = this._getTotalReplaced(); - if( numrepl == 0 ) { - // see if there were no misspellings to begin with - if( !this.wordWin ) { - msg = ""; - } else { - if( this.wordWin.totalMisspellings() ) { -// msg += "No words changed."; // by FredCK - msg += FCKLang.DlgSpellNoChanges ; // by FredCK - } else { -// msg += "No misspellings found."; // by FredCK - msg += FCKLang.DlgSpellNoMispell ; // by FredCK - } - } - } else if( numrepl == 1 ) { -// msg += "One word changed."; // by FredCK - msg += FCKLang.DlgSpellOneChange ; // by FredCK - } else { -// msg += numrepl + " words changed."; // by FredCK - msg += FCKLang.DlgSpellManyChanges.replace( /%1/g, numrepl ) ; - } - if( msg ) { -// msg += "\n"; // by FredCK - alert( msg ); - } - - if( numrepl > 0 ) { - // update the text field(s) on the opener window - for( var i = 0; i < this.textInputs.length; i++ ) { - // this.textArea.value = this.wordWin.text; - if( this.wordWin ) { - if( this.wordWin.textInputs[i] ) { - this.textInputs[i].value = this.wordWin.textInputs[i]; - } - } - } - } - - // return back to the calling window -// this.spellCheckerWin.close(); // by FredCK - if ( typeof( this.OnFinished ) == 'function' ) // by FredCK - this.OnFinished(numrepl) ; // by FredCK - - return true; -} - -function undo() { - // skip if this is the first word! - var ti = this.currentTextIndex; - var wi = this.currentWordIndex; - - if( this.wordWin.totalPreviousWords( ti, wi ) > 0 ) { - this.wordWin.removeFocus( ti, wi ); - - // go back to the last word index that was acted upon - do { - // if the current word index is zero then reset the seed - if( this.currentWordIndex == 0 && this.currentTextIndex > 0 ) { - this.currentTextIndex--; - this.currentWordIndex = this.wordWin.totalWords( this.currentTextIndex )-1; - if( this.currentWordIndex < 0 ) this.currentWordIndex = 0; - } else { - if( this.currentWordIndex > 0 ) { - this.currentWordIndex--; - } - } - } while ( - this.wordWin.totalWords( this.currentTextIndex ) == 0 - || this.wordFlags[this.currentTextIndex][this.currentWordIndex] == this.fromIgnrAll - || this.wordFlags[this.currentTextIndex][this.currentWordIndex] == this.fromReplAll - ); - - var text_idx = this.currentTextIndex; - var idx = this.currentWordIndex; - var preReplSpell = this.wordWin.originalSpellings[text_idx][idx]; - - // if we got back to the first word then set the Undo button back to disabled - if( this.wordWin.totalPreviousWords( text_idx, idx ) == 0 ) { - this.controlWin.disableUndo(); - } - - var i, j, origSpell ; - // examine what happened to this current word. - switch( this.wordFlags[text_idx][idx] ) { - // replace all: go through this and all the future occurances of the word - // and revert them all to the original spelling and clear their flags - case this.replAllFlag : - for( i = text_idx; i < this.wordWin.textInputs.length; i++ ) { - for( j = 0; j < this.wordWin.totalWords( i ); j++ ) { - if(( i == text_idx && j >= idx ) || i > text_idx ) { - origSpell = this.wordWin.originalSpellings[i][j]; - if( origSpell == preReplSpell ) { - this._setWordText ( i, j, origSpell, undefined ); - } - } - } - } - break; - - // ignore all: go through all the future occurances of the word - // and clear their flags - case this.ignrAllFlag : - for( i = text_idx; i < this.wordWin.textInputs.length; i++ ) { - for( j = 0; j < this.wordWin.totalWords( i ); j++ ) { - if(( i == text_idx && j >= idx ) || i > text_idx ) { - origSpell = this.wordWin.originalSpellings[i][j]; - if( origSpell == preReplSpell ) { - this.wordFlags[i][j] = undefined; - } - } - } - } - break; - - // replace: revert the word to its original spelling - case this.replWordFlag : - this._setWordText ( text_idx, idx, preReplSpell, undefined ); - break; - } - - // For all four cases, clear the wordFlag of this word. re-start the process - this.wordFlags[text_idx][idx] = undefined; - this._spellcheck(); - } -} - -function _spellcheck() { - var ww = this.wordWin; - - // check if this is the last word in the current text element - if( this.currentWordIndex == ww.totalWords( this.currentTextIndex) ) { - this.currentTextIndex++; - this.currentWordIndex = 0; - // keep going if we're not yet past the last text element - if( this.currentTextIndex < this.wordWin.textInputs.length ) { - this._spellcheck(); - return; - } else { - this.terminateSpell(); - return; - } - } - - // if this is after the first one make sure the Undo button is enabled - if( this.currentWordIndex > 0 ) { - this.controlWin.enableUndo(); - } - - // skip the current word if it has already been worked on - if( this.wordFlags[this.currentTextIndex][this.currentWordIndex] ) { - // increment the global current word index and move on. - this.currentWordIndex++; - this._spellcheck(); - } else { - var evalText = ww.getTextVal( this.currentTextIndex, this.currentWordIndex ); - if( evalText ) { - this.controlWin.evaluatedText.value = evalText; - ww.setFocus( this.currentTextIndex, this.currentWordIndex ); - this._getSuggestions( this.currentTextIndex, this.currentWordIndex ); - } - } -} - -function _getSuggestions( text_num, word_num ) { - this.controlWin.clearSuggestions(); - // add suggestion in list for each suggested word. - // get the array of suggested words out of the - // three-dimensional array containing all suggestions. - var a_suggests = this.wordWin.suggestions[text_num][word_num]; - if( a_suggests ) { - // got an array of suggestions. - for( var ii = 0; ii < a_suggests.length; ii++ ) { - this.controlWin.addSuggestion( a_suggests[ii] ); - } - } - this.controlWin.selectDefaultSuggestion(); -} - -function _setAsIgnored( text_num, word_num, flag ) { - // set the UI - this.wordWin.removeFocus( text_num, word_num ); - // do the bookkeeping - this.wordFlags[text_num][word_num] = flag; - return true; -} - -function _getTotalReplaced() { - var i_replaced = 0; - for( var i = 0; i < this.wordFlags.length; i++ ) { - for( var j = 0; j < this.wordFlags[i].length; j++ ) { - if(( this.wordFlags[i][j] == this.replWordFlag ) - || ( this.wordFlags[i][j] == this.replAllFlag ) - || ( this.wordFlags[i][j] == this.fromReplAll )) { - i_replaced++; - } - } - } - return i_replaced; -} - -function _setWordText( text_num, word_num, newText, flag ) { - // set the UI and form inputs - this.wordWin.setText( text_num, word_num, newText ); - // keep track of what happened to this word: - this.wordFlags[text_num][word_num] = flag; - return true; -} - -function _getFormInputs( inputPattern ) { - var inputs = new Array(); - for( var i = 0; i < document.forms.length; i++ ) { - for( var j = 0; j < document.forms[i].elements.length; j++ ) { - if( document.forms[i].elements[j].type.match( inputPattern )) { - inputs[inputs.length] = document.forms[i].elements[j]; - } - } - } - return inputs; -} diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html deleted file mode 100644 index cbcd7db79..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - -Speller Pages - - - - - - diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css deleted file mode 100644 index 9928086e1..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +++ /dev/null @@ -1,49 +0,0 @@ -.blend { - font-family: courier new; - font-size: 10pt; - border: 0; - margin-bottom:-1; -} -.normalLabel { - font-size:8pt; -} -.normalText { - font-family:arial, helvetica, sans-serif; - font-size:10pt; - color:000000; - background-color:FFFFFF; -} -.plainText { - font-family: courier new, courier, monospace; - font-size: 10pt; - color:000000; - background-color:FFFFFF; -} -.controlWindowBody { - font-family:arial, helvetica, sans-serif; - font-size:8pt; - padding: 7px ; /* by FredCK */ - margin: 0px ; /* by FredCK */ - /* color:000000; by FredCK */ - /* background-color:DADADA; by FredCK */ -} -.readonlyInput { - background-color:DADADA; - color:000000; - font-size:8pt; - width:392px; -} -.textDefault { - font-size:8pt; - width: 200px; -} -.buttonDefault { - width:90px; - height:22px; - font-size:8pt; -} -.suggSlct { - width:200px; - margin-top:2; - font-size:8pt; -} diff --git a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js b/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js deleted file mode 100644 index 7990296a2..000000000 --- a/include/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +++ /dev/null @@ -1,272 +0,0 @@ -//////////////////////////////////////////////////// -// wordWindow object -//////////////////////////////////////////////////// -function wordWindow() { - // private properties - this._forms = []; - - // private methods - this._getWordObject = _getWordObject; - //this._getSpellerObject = _getSpellerObject; - this._wordInputStr = _wordInputStr; - this._adjustIndexes = _adjustIndexes; - this._isWordChar = _isWordChar; - this._lastPos = _lastPos; - - // public properties - this.wordChar = /[a-zA-Z]/; - this.windowType = "wordWindow"; - this.originalSpellings = new Array(); - this.suggestions = new Array(); - this.checkWordBgColor = "pink"; - this.normWordBgColor = "white"; - this.text = ""; - this.textInputs = new Array(); - this.indexes = new Array(); - //this.speller = this._getSpellerObject(); - - // public methods - this.resetForm = resetForm; - this.totalMisspellings = totalMisspellings; - this.totalWords = totalWords; - this.totalPreviousWords = totalPreviousWords; - //this.getTextObjectArray = getTextObjectArray; - this.getTextVal = getTextVal; - this.setFocus = setFocus; - this.removeFocus = removeFocus; - this.setText = setText; - //this.getTotalWords = getTotalWords; - this.writeBody = writeBody; - this.printForHtml = printForHtml; -} - -function resetForm() { - if( this._forms ) { - for( var i = 0; i < this._forms.length; i++ ) { - this._forms[i].reset(); - } - } - return true; -} - -function totalMisspellings() { - var total_words = 0; - for( var i = 0; i < this.textInputs.length; i++ ) { - total_words += this.totalWords( i ); - } - return total_words; -} - -function totalWords( textIndex ) { - return this.originalSpellings[textIndex].length; -} - -function totalPreviousWords( textIndex, wordIndex ) { - var total_words = 0; - for( var i = 0; i <= textIndex; i++ ) { - for( var j = 0; j < this.totalWords( i ); j++ ) { - if( i == textIndex && j == wordIndex ) { - break; - } else { - total_words++; - } - } - } - return total_words; -} - -//function getTextObjectArray() { -// return this._form.elements; -//} - -function getTextVal( textIndex, wordIndex ) { - var word = this._getWordObject( textIndex, wordIndex ); - if( word ) { - return word.value; - } -} - -function setFocus( textIndex, wordIndex ) { - var word = this._getWordObject( textIndex, wordIndex ); - if( word ) { - if( word.type == "text" ) { - word.focus(); - word.style.backgroundColor = this.checkWordBgColor; - } - } -} - -function removeFocus( textIndex, wordIndex ) { - var word = this._getWordObject( textIndex, wordIndex ); - if( word ) { - if( word.type == "text" ) { - word.blur(); - word.style.backgroundColor = this.normWordBgColor; - } - } -} - -function setText( textIndex, wordIndex, newText ) { - var word = this._getWordObject( textIndex, wordIndex ); - var beginStr; - var endStr; - if( word ) { - var pos = this.indexes[textIndex][wordIndex]; - var oldText = word.value; - // update the text given the index of the string - beginStr = this.textInputs[textIndex].substring( 0, pos ); - endStr = this.textInputs[textIndex].substring( - pos + oldText.length, - this.textInputs[textIndex].length - ); - this.textInputs[textIndex] = beginStr + newText + endStr; - - // adjust the indexes on the stack given the differences in - // length between the new word and old word. - var lengthDiff = newText.length - oldText.length; - this._adjustIndexes( textIndex, wordIndex, lengthDiff ); - - word.size = newText.length; - word.value = newText; - this.removeFocus( textIndex, wordIndex ); - } -} - - -function writeBody() { - var d = window.document; - var is_html = false; - - d.open(); - - // iterate through each text input. - for( var txtid = 0; txtid < this.textInputs.length; txtid++ ) { - var end_idx = 0; - var begin_idx = 0; - d.writeln( '
    ' ); - var wordtxt = this.textInputs[txtid]; - this.indexes[txtid] = []; - - if( wordtxt ) { - var orig = this.originalSpellings[txtid]; - if( !orig ) break; - - //!!! plain text, or HTML mode? - d.writeln( '
    ' ); - // iterate through each occurrence of a misspelled word. - for( var i = 0; i < orig.length; i++ ) { - // find the position of the current misspelled word, - // starting at the last misspelled word. - // and keep looking if it's a substring of another word - do { - begin_idx = wordtxt.indexOf( orig[i], end_idx ); - end_idx = begin_idx + orig[i].length; - // word not found? messed up! - if( begin_idx == -1 ) break; - // look at the characters immediately before and after - // the word. If they are word characters we'll keep looking. - var before_char = wordtxt.charAt( begin_idx - 1 ); - var after_char = wordtxt.charAt( end_idx ); - } while ( - this._isWordChar( before_char ) - || this._isWordChar( after_char ) - ); - - // keep track of its position in the original text. - this.indexes[txtid][i] = begin_idx; - - // write out the characters before the current misspelled word - for( var j = this._lastPos( txtid, i ); j < begin_idx; j++ ) { - // !!! html mode? make it html compatible - d.write( this.printForHtml( wordtxt.charAt( j ))); - } - - // write out the misspelled word. - d.write( this._wordInputStr( orig[i] )); - - // if it's the last word, write out the rest of the text - if( i == orig.length-1 ){ - d.write( printForHtml( wordtxt.substr( end_idx ))); - } - } - - d.writeln( '
    ' ); - - } - d.writeln( '
    ' ); - } - //for ( var j = 0; j < d.forms.length; j++ ) { - // alert( d.forms[j].name ); - // for( var k = 0; k < d.forms[j].elements.length; k++ ) { - // alert( d.forms[j].elements[k].name + ": " + d.forms[j].elements[k].value ); - // } - //} - - // set the _forms property - this._forms = d.forms; - d.close(); -} - -// return the character index in the full text after the last word we evaluated -function _lastPos( txtid, idx ) { - if( idx > 0 ) - return this.indexes[txtid][idx-1] + this.originalSpellings[txtid][idx-1].length; - else - return 0; -} - -function printForHtml( n ) { - return n ; // by FredCK -/* - var htmlstr = n; - if( htmlstr.length == 1 ) { - // do simple case statement if it's just one character - switch ( n ) { - case "\n": - htmlstr = '
    '; - break; - case "<": - htmlstr = '<'; - break; - case ">": - htmlstr = '>'; - break; - } - return htmlstr; - } else { - htmlstr = htmlstr.replace( //g, '>' ); - htmlstr = htmlstr.replace( /\n/g, '
    ' ); - return htmlstr; - } -*/ -} - -function _isWordChar( letter ) { - if( letter.search( this.wordChar ) == -1 ) { - return false; - } else { - return true; - } -} - -function _getWordObject( textIndex, wordIndex ) { - if( this._forms[textIndex] ) { - if( this._forms[textIndex].elements[wordIndex] ) { - return this._forms[textIndex].elements[wordIndex]; - } - } - return null; -} - -function _wordInputStr( word ) { - var str = ''; - return str; -} - -function _adjustIndexes( textIndex, wordIndex, lengthDiff ) { - for( var i = wordIndex + 1; i < this.originalSpellings[textIndex].length; i++ ) { - this.indexes[textIndex][i] = this.indexes[textIndex][i] + lengthDiff; - } -} diff --git a/include/fckeditor/editor/dialog/fck_table.html b/include/fckeditor/editor/dialog/fck_table.html deleted file mode 100644 index e3792d746..000000000 --- a/include/fckeditor/editor/dialog/fck_table.html +++ /dev/null @@ -1,298 +0,0 @@ - - - - - Table Properties - - - - - - - - - - -
    - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - -
    - Rows: -  
    - Columns: -  
    -   -  
    - Border size: -  
    - Alignment: -  
    -
    -     - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Width: -   -  
    - Height: -   -  pixels
    -   -   -  
    - Cell spacing: -   -  
    - Cell padding: -   -  
    -
    - - - - - - - - - - - -
    - Caption -   -
    - Summary -   -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_tablecell.html b/include/fckeditor/editor/dialog/fck_tablecell.html deleted file mode 100644 index 3d7429627..000000000 --- a/include/fckeditor/editor/dialog/fck_tablecell.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - - Table Cell Properties - - - - - - - - - - -
    - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Width: -   
    - Height: -   pixels
    -   -  
    - Word Wrap: -  
    -   -  
    - Horizontal Alignment: -  
    - Vertical Alignment: -  
    -
    -     - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - Rows Span: -   - -
    - Columns Span: -   - -
    -   -   -  
    - Background Color: -   -   -
    - Border Color: -   -   -
    -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_template.html b/include/fckeditor/editor/dialog/fck_template.html deleted file mode 100644 index 4f3629ba0..000000000 --- a/include/fckeditor/editor/dialog/fck_template.html +++ /dev/null @@ -1,242 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - -
    - Please select the template to open in the editor
    - (the actual contents will be lost):
    -
    -
    - - -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_template/images/template1.gif b/include/fckeditor/editor/dialog/fck_template/images/template1.gif deleted file mode 100644 index efdabbebd4503ceb55c948fa73b9b83cbd373e57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 375 zcmV--0f_!bNk%w1VPpVC0FeLyva+%O00960{{R30A^8LV00000EC2ui0Av7000092 zgpaAq?GK}zwAu@W-n{z{hT=$;9b%^H%BpA!$8!13_AS@=&Xal%3~GMDB95pDD3{Ep z^T{;k4xj+g%7JRP+$IPq!1Bb&uKB$DQa@x|8x8NO4b`hO25#TOnRw~9=3yE0xyeE4CQ8$(2)Mz>8udZCXX=BRr7DZbW_#-a zYZEHlJM(KAEc4dditDMnJ4(CC+&uK06fIp0D*Z|wX5EYpGb{?;a*WKVoEoWp!Y!`y zeo4*}FFC(bZf@duda#%D-q zaHzPUxA@lRm;@PFNk%w1VPpVC0FeLyva+%O00960{{R30A^8LV00000EC2ui0Av7000092 zgpaAq?GK}zwAu@W-n{z{hT=$;9b%^H%BpA!$8!13_AS@=&Xal%3~GMDB93TG#*l%g z^9hYgr_`$T`us4l+^+W<)gC_JviY3#AeC&_xD98m<8-m1jvsB&<_@0q~XXRsCap^IRqK$(K#c!N9pBf82AawVH$?WN){q&IjedXiz+EX zOS+od%WDgp+d909toAG5`lTy-9D18rOxWx+T}>D*o&1Qa9n5V^96nACtqfi*?*05t zZSMX~zfpQ^<%jRPUfiDEO8=eEuB)DKv}S_cJW8uTxqL`=(AMXYB~Aenu4SM=e_ zrj6M`kqsZ_xrlC}y^5evW>krApudqWP2zFM5Fo{b%sA$2wGU)SI5vkKVQCad(WEn$ zGF`IFr&KONpB8ayRSwduHn4I{;q@zxs8h=VDkqjl*t8(;n#c+zd*_U=jy QeEa(S3plV~2n7HDJNoX*`2YX_ diff --git a/include/fckeditor/editor/dialog/fck_textarea.html b/include/fckeditor/editor/dialog/fck_textarea.html deleted file mode 100644 index 3a1c56dcd..000000000 --- a/include/fckeditor/editor/dialog/fck_textarea.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - Text Area Properties - - - - - - - - - - -
    - - - - -
    - Name
    - - Collumns
    - -
    - Rows
    - -
    -
    - - diff --git a/include/fckeditor/editor/dialog/fck_textfield.html b/include/fckeditor/editor/dialog/fck_textfield.html deleted file mode 100644 index cf3ce03d3..000000000 --- a/include/fckeditor/editor/dialog/fck_textfield.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - -
    - Name
    - -
    - - Value
    - -
    - Character Width
    - -
    - - Maximum Characters
    - -
    - Type
    - -
    -   -
    -
    - - diff --git a/include/fckeditor/editor/dtd/fck_dtd_test.html b/include/fckeditor/editor/dtd/fck_dtd_test.html deleted file mode 100644 index c149d15c1..000000000 --- a/include/fckeditor/editor/dtd/fck_dtd_test.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - DTD Test Page - - - - - -

    - DTD Contents -

    - - -
    - - diff --git a/include/fckeditor/editor/dtd/fck_xhtml10strict.js b/include/fckeditor/editor/dtd/fck_xhtml10strict.js deleted file mode 100644 index 0849b528a..000000000 --- a/include/fckeditor/editor/dtd/fck_xhtml10strict.js +++ /dev/null @@ -1,116 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Contains the DTD mapping for XHTML 1.0 Strict. - * This file was automatically generated from the file: xhtml10-strict.dtd - */ -FCK.DTD = (function() -{ - var X = FCKTools.Merge ; - - var H,I,J,K,C,L,M,A,B,D,E,G,N,F ; - A = {ins:1, del:1, script:1} ; - B = {hr:1, ul:1, div:1, blockquote:1, noscript:1, table:1, address:1, pre:1, p:1, h5:1, dl:1, h4:1, ol:1, h6:1, h1:1, h3:1, h2:1} ; - C = X({fieldset:1}, B) ; - D = X({sub:1, bdo:1, 'var':1, sup:1, br:1, kbd:1, map:1, samp:1, b:1, acronym:1, '#':1, abbr:1, code:1, i:1, cite:1, tt:1, strong:1, q:1, em:1, big:1, small:1, span:1, dfn:1}, A) ; - E = X({img:1, object:1}, D) ; - F = {input:1, button:1, textarea:1, select:1, label:1} ; - G = X({a:1}, F) ; - H = {img:1, noscript:1, br:1, kbd:1, button:1, h5:1, h4:1, samp:1, h6:1, ol:1, h1:1, h3:1, h2:1, form:1, select:1, '#':1, ins:1, abbr:1, label:1, code:1, table:1, script:1, cite:1, input:1, strong:1, textarea:1, big:1, small:1, span:1, hr:1, sub:1, bdo:1, 'var':1, div:1, object:1, sup:1, map:1, dl:1, del:1, fieldset:1, ul:1, b:1, acronym:1, a:1, blockquote:1, i:1, address:1, tt:1, q:1, pre:1, p:1, em:1, dfn:1} ; - - I = X({form:1, fieldset:1}, B, E, G) ; - J = {tr:1} ; - K = {'#':1} ; - L = X(E, G) ; - M = {li:1} ; - N = X({form:1}, A, C) ; - - return { - col: {}, - tr: {td:1, th:1}, - img: {}, - colgroup: {col:1}, - noscript: N, - td: I, - br: {}, - th: I, - kbd: L, - button: X(B, E), - h5: L, - h4: L, - samp: L, - h6: L, - ol: M, - h1: L, - h3: L, - option: K, - h2: L, - form: X(A, C), - select: {optgroup:1, option:1}, - ins: I, - abbr: L, - label: L, - code: L, - table: {thead:1, col:1, tbody:1, tr:1, colgroup:1, caption:1, tfoot:1}, - script: K, - tfoot: J, - cite: L, - li: I, - input: {}, - strong: L, - textarea: K, - big: L, - small: L, - span: L, - dt: L, - hr: {}, - sub: L, - optgroup: {option:1}, - bdo: L, - param: {}, - 'var': L, - div: I, - object: X({param:1}, H), - sup: L, - dd: I, - area: {}, - map: X({form:1, area:1}, A, C), - dl: {dt:1, dd:1}, - del: I, - fieldset: X({legend:1}, H), - thead: J, - ul: M, - acronym: L, - b: L, - a: X({img:1, object:1}, D, F), - blockquote: N, - caption: L, - i: L, - tbody: J, - address: L, - tt: L, - legend: L, - q: L, - pre: X({a:1}, D, F), - p: L, - em: L, - dfn: L - } ; -})() ; diff --git a/include/fckeditor/editor/dtd/fck_xhtml10transitional.js b/include/fckeditor/editor/dtd/fck_xhtml10transitional.js deleted file mode 100644 index 5857ea9ff..000000000 --- a/include/fckeditor/editor/dtd/fck_xhtml10transitional.js +++ /dev/null @@ -1,140 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Contains the DTD mapping for XHTML 1.0 Transitional. - * This file was automatically generated from the file: xhtml10-transitional.dtd - */ -FCK.DTD = (function() -{ - var X = FCKTools.Merge ; - - var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I ; - A = {isindex:1, fieldset:1} ; - B = {input:1, button:1, select:1, textarea:1, label:1} ; - C = X({a:1}, B) ; - D = X({iframe:1}, C) ; - E = {hr:1, ul:1, menu:1, div:1, blockquote:1, noscript:1, table:1, center:1, address:1, dir:1, pre:1, h5:1, dl:1, h4:1, noframes:1, h6:1, ol:1, h1:1, h3:1, h2:1} ; - F = {ins:1, del:1, script:1} ; - G = X({b:1, acronym:1, bdo:1, 'var':1, '#':1, abbr:1, code:1, br:1, i:1, cite:1, kbd:1, u:1, strike:1, s:1, tt:1, strong:1, q:1, samp:1, em:1, dfn:1, span:1}, F) ; - H = X({sub:1, img:1, object:1, sup:1, basefont:1, map:1, applet:1, font:1, big:1, small:1}, G) ; - I = X({p:1}, H) ; - J = X({iframe:1}, H, B) ; - K = {img:1, noscript:1, br:1, kbd:1, center:1, button:1, basefont:1, h5:1, h4:1, samp:1, h6:1, ol:1, h1:1, h3:1, h2:1, form:1, font:1, '#':1, select:1, menu:1, ins:1, abbr:1, label:1, code:1, table:1, script:1, cite:1, input:1, iframe:1, strong:1, textarea:1, noframes:1, big:1, small:1, span:1, hr:1, sub:1, bdo:1, 'var':1, div:1, object:1, sup:1, strike:1, dir:1, map:1, dl:1, applet:1, del:1, isindex:1, fieldset:1, ul:1, b:1, acronym:1, a:1, blockquote:1, i:1, u:1, s:1, tt:1, address:1, q:1, pre:1, p:1, em:1, dfn:1} ; - - L = X({a:1}, J) ; - M = {tr:1} ; - N = {'#':1} ; - O = X({param:1}, K) ; - P = X({form:1}, A, D, E, I) ; - Q = {li:1} ; - - return { - col: {}, - tr: {td:1, th:1}, - img: {}, - colgroup: {col:1}, - noscript: P, - td: P, - br: {}, - th: P, - center: P, - kbd: L, - button: X(I, E), - basefont: {}, - h5: L, - h4: L, - samp: L, - h6: L, - ol: Q, - h1: L, - h3: L, - option: N, - h2: L, - form: X(A, D, E, I), - select: {optgroup:1, option:1}, - font: J, // Changed from L to J (see (1)) - ins: P, - menu: Q, - abbr: L, - label: L, - table: {thead:1, col:1, tbody:1, tr:1, colgroup:1, caption:1, tfoot:1}, - code: L, - script: N, - tfoot: M, - cite: L, - li: P, - input: {}, - iframe: P, - strong: J, // Changed from L to J (see (1)) - textarea: N, - noframes: P, - big: J, // Changed from L to J (see (1)) - small: J, // Changed from L to J (see (1)) - span: J, // Changed from L to J (see (1)) - hr: {}, - dt: L, - sub: J, // Changed from L to J (see (1)) - optgroup: {option:1}, - param: {}, - bdo: L, - 'var': J, // Changed from L to J (see (1)) - div: P, - object: O, - sup: J, // Changed from L to J (see (1)) - dd: P, - strike: J, // Changed from L to J (see (1)) - area: {}, - dir: Q, - map: X({area:1, form:1, p:1}, A, F, E), - applet: O, - dl: {dt:1, dd:1}, - del: P, - isindex: {}, - fieldset: X({legend:1}, K), - thead: M, - ul: Q, - acronym: L, - b: J, // Changed from L to J (see (1)) - a: J, - blockquote: P, - caption: L, - i: J, // Changed from L to J (see (1)) - u: J, // Changed from L to J (see (1)) - tbody: M, - s: L, - address: X(D, I), - tt: J, // Changed from L to J (see (1)) - legend: L, - q: L, - pre: X(G, C), - p: L, - em: J, // Changed from L to J (see (1)) - dfn: L - } ; -})() ; - -/* - Notes: - (1) According to the DTD, many elements, like accept elements - inside of them. But, to produce better output results, we have manually - changed the map to avoid breaking the links on pieces, having - "this is a link test", instead of - "this is a link test". -*/ diff --git a/include/fckeditor/editor/fckdebug.html b/include/fckeditor/editor/fckdebug.html deleted file mode 100644 index ddb622406..000000000 --- a/include/fckeditor/editor/fckdebug.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - FCKeditor Debug Window - - - - - - - - - - - -
    - - - - - -
    - FCKeditor Debug Window -
    -
    - -
    - - diff --git a/include/fckeditor/editor/fckdialog.html b/include/fckeditor/editor/fckdialog.html deleted file mode 100644 index 4bbc36985..000000000 --- a/include/fckeditor/editor/fckdialog.html +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - - - - - -
    - -
    -
    - - - - - -
      - -   - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - - diff --git a/include/fckeditor/editor/fckeditor.html b/include/fckeditor/editor/fckeditor.html deleted file mode 100644 index aba4c483b..000000000 --- a/include/fckeditor/editor/fckeditor.html +++ /dev/null @@ -1,317 +0,0 @@ - - - - - FCKeditor - - - - - - - - - - - - - - - - - - - -
    - - diff --git a/include/fckeditor/editor/fckeditor.original.html b/include/fckeditor/editor/fckeditor.original.html deleted file mode 100644 index 529148618..000000000 --- a/include/fckeditor/editor/fckeditor.original.html +++ /dev/null @@ -1,424 +0,0 @@ - - - - - FCKeditor - - - - - - - - - - - - - - - - - - - -
    - - diff --git a/include/fckeditor/editor/filemanager/browser/default/browser.css b/include/fckeditor/editor/filemanager/browser/default/browser.css deleted file mode 100644 index 948330889..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/browser.css +++ /dev/null @@ -1,87 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * CSS styles used by all pages that compose the File Browser. - */ - -body -{ - background-color: #f1f1e3; - margin-top:0; - margin-bottom:0; -} - -form -{ - margin: 0; - padding: 0; -} - -.Frame -{ - background-color: #f1f1e3; - border: thin inset #f1f1e3; -} - -body.FileArea -{ - background-color: #ffffff; - margin: 10px; -} - -body, td, input, select -{ - font-size: 11px; - font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; -} - -.ActualFolder -{ - font-weight: bold; - font-size: 14px; -} - -.PopupButtons -{ - border-top: #d5d59d 1px solid; - background-color: #e3e3c7; - padding: 7px 10px 7px 10px; -} - -.Button, button -{ - color: #3b3b1f; - border: #737357 1px solid; - background-color: #c7c78f; -} - -.FolderListCurrentFolder img -{ - background-image: url(images/FolderOpened.gif); -} - -.FolderListFolder img -{ - background-image: url(images/Folder.gif); -} - -.fullHeight { - height: 100%; -} diff --git a/include/fckeditor/editor/filemanager/browser/default/browser.html b/include/fckeditor/editor/filemanager/browser/default/browser.html deleted file mode 100644 index 7a7e92042..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/browser.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - FCKeditor - Resources Browser - - - - - - - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/browser/default/frmactualfolder.html b/include/fckeditor/editor/filemanager/browser/default/frmactualfolder.html deleted file mode 100644 index 1b70fa9c6..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - Folder path - - - - - - - - - -
    - -
    - - diff --git a/include/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html b/include/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html deleted file mode 100644 index 01ca1357a..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - Create Folder - - - - - - - - - - -
    - -
    - - diff --git a/include/fckeditor/editor/filemanager/browser/default/frmfolders.html b/include/fckeditor/editor/filemanager/browser/default/frmfolders.html deleted file mode 100644 index 58a3c6166..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/frmfolders.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - Folders - - - - - - - - - - - -
    - - diff --git a/include/fckeditor/editor/filemanager/browser/default/frmresourceslist.html b/include/fckeditor/editor/filemanager/browser/default/frmresourceslist.html deleted file mode 100644 index e7d0e8e3d..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - Resources - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/browser/default/frmresourcetype.html b/include/fckeditor/editor/filemanager/browser/default/frmresourcetype.html deleted file mode 100644 index 4e8731222..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - Available types - - - - - - - - - - -
    - Resource Type
    - -
    - - diff --git a/include/fckeditor/editor/filemanager/browser/default/frmupload.html b/include/fckeditor/editor/filemanager/browser/default/frmupload.html deleted file mode 100644 index e80683206..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/frmupload.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - File Upload - - - - - - -
    - - - - -
    - Upload a new file in this folder
    - - - - - -
     
    -
    -
    - - diff --git a/include/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif b/include/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif deleted file mode 100644 index a355e5a449014d40f6e686aec027356b9e72c626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ?wbhEHb?doRyP?sz1@R%qk?NW&|^ p|eTtnS=Y)v`XcZE0Wm%(S+{n>TgunLDTH*uh2T&!5`4%$c3C%y;hIyZ_+f R9g8PVpFMx^^0^>`H30UMeqjIr diff --git a/include/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif b/include/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif deleted file mode 100644 index 0c5dd413efe52ef8df245c62d38abd3fb5531faf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmZ?wbhEHb6krfwSj5I~?p*T!b93g*Vfg=l&j0`a85n>J5UKc+g^_`QjX?*<2C5Wb zU|{yl*mXxoV3&KA=w%M0D)qo6IdPeS4hsuYt(PRqFy=dMJ1DS(;Y^uj?AqnKDvKH$ h4uqvBmU_;}`s(90J$U9C1Ji>22?c3Bc`6JH)&Op|Ft`8! diff --git a/include/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif b/include/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif deleted file mode 100644 index 3e3fcf56cc471cb8f44c5edb5f23407f120b75a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmV+j0r&n#Nk%w1VITk?0HOx~fPet_`1s7sW&i*HnVA6p%$fiHng9R)A^8LW000L7 zEC2ui03ZM$000Bcc)HyFFv{78y_ZT7y6*y^J)B{lXE-t?>Kf|WzJ*zbST3@`>l>e7 zXTYP`jx|Fqxg-!3v!5%8G&mPg=26MzE|piEc$^ay3Qmr2&HfAsp|@13xD0Kw@Z;yk4lxJy}TbYwv1&v{IeS%6~q)(8cfvHH9 z1FWAXijuHrXtPjLUZ*y?s=NoSsJ^hlX9AX3p}@()!dFnYxLu3VoKMAM-ecScv*YCD O=I1Nv>g((j2>?5Tf_QiU diff --git a/include/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif b/include/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif deleted file mode 100644 index ad5bc202670bfa12195e767c28050b236089e940..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmV-~0DJ#ONk%w1VGsZi0HOx~_xJbz|IYu;oSd8h&dy{1|C|5-0RR90A^8LW000L7 zEC2ui01yBW0009?c)Hv>5E}PD2&Iha2KgWnMapoU=v5GtnPtYC3GCs*Ml2M2edj

    h0KmVcuWJD*FM9~M9v0;0gPtyf2D4lb<@_VjwB*Bz)~b>#zfjC@IsD5w|Oidff-V#g8}2kNqXb| z3*=vg3;-`U_%`_V2~bM`Zz#+RT^Sx39b;sQ1LKpSLm`J&E4zlMTrP)fis|!OD8)8jZh1;Bx0l-= z|5olUpD))!On*&71F@oVS4HgTQTv+9Iq!CAXG00xRC*#ce9p0;gBC#?#*V6(fm&gZ6(iJ-?<*$cbd*Pk~-cu8ti%)$w~m zF}hZExT5MvJfM2lQ43BrJ}jtiY)z1z1`ujO>Tf(rd_j!es+s?@v3Z@+H#wzy1)VN~ z@>^29db%?9H2l8(hXn%^4iv!}88EbHo(0)mmo&(%=?eP|btA=e;a;G2Q0DP z{-2wtWFHm{1TQkUDOA}p5{MVR_NXWH$j~Q!`r_`FL9mV*0)_R8X_@LhsNeFX+sNR+ zSfg*(_dLbjNJHJs(*8ZS&&0=-PQx#BQM^m*xk9gs-%qS znBFlNEK&BnY6)r2oZVd1)G6?=(lHPMAXN*g^vz7X7pY-0Z6&Aw2(%UNZ;9`9D~)47 zrrC(Kl^)sZ>YQrb0&SZ5`MJ2}gUe;0&|w@Y2TdTqQnY+2%QP)b0SNt_6c z?vCNb#g{jS zqzS1F7Yi`j+&oF3vk@0`c_AlBY-{D z_{yQ;#4A33CbnP$uv<4j5!vO4<#7+FSQ$k_Zp>IRAV4-*NE~_OF;=T}DqVd0X!Bwp wStD5{bcIq>&_CW_%>cTRhtqE{M<8rT)nil z!>wDl1_cGpIX9=cxY)_bDS6JhrAwC@0;zN7lIJ9Qd3jyCc5Tj_ImyXD;@rJ^_ma;g z8yY5`d;cG#;{UlRQ>F+A2pqe249Ed0F-%To`2XJ!Xvn$mii(QIjvZ@hX<_)!zyK8e z52b({B7x#h7DfgJLk1m?dXS$O*!~}wQ6SMQ*?%Hs(g~SEVHZ}EoNC$|w?XZ5<=d*g ztFz3tLuQ?K`?%vx*6#ZsEPVF1?cDu#wReB{`LnL&mDMf!E$w>6I^8|>%FP4+RFsZbl(HUW2zRj7*mpIc#(i7%CXAa&G$1 zb$HJi?&sBSc@@$XSXf!41ycM4mR3*HJEyr}!-dTZEo^K(lB@3>s9p2_-O+~A4J>>T HEDY8FY?%te diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif deleted file mode 100644 index b62bd026061c32a9c6e5e0b7bb0f63f29e2b3dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 224 zcmZ?wbhEHbRA5kGSj5J_(8AEt(sJzBF^2yPK=2<7fDFZ-EQ|~cYz#UeQIJ{&=A{`~ z7yn&Y>lvzH@j8}i<%6w^G1qDysAQ$w*7Cw zb)JWJSY*qv{Jo}@*85%ep#_^mxz@^Ek!v|my$+pkc#iYHgR|<)Hv*145}Xzy*?#uy zW+72u^}VkibX`f?;iJ!XMxcLs>SwXJYbV{lxV?&3^z_y8;(O=jz293O)tFaX(OQ+m V(AC}3+t;1pIBD{fscM`I)&R&*NlyR( diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif deleted file mode 100644 index 9b54964576b86bdff354807f15bf8d7b45c26a87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmZ?wbhEHbRA5kGSj5KA(!y};*s+$DmjC}5fZ#tE02zuuSr{1@*cfy`q9C;l%*Qjd z?)>vVsp-1YB3p;!?=`iwp6{W_Q5=rtdap9Js!4P!*0z~@{&9%b7hSQiZSf+3>%l=4 zbC?{xRHYJ^JbD!_YN>wVRmm#fINl3>={^y&r(Zh2+A*{0{Dp5OF3+;}xtHpSu`tBg zGna`sL=;C?F*CGG>|*W7kZQMY%L(e5o+#PMJTG{P!~)G$mL+Rfuc**k!@v;4&?&i6 zd2`3?whaZ+?fYX6_}i99@A5dc@yywS=ck>!bS&ZO&I-occkbT1e<$7H@sp>|OgR~> E0d_=epa1{> diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif deleted file mode 100644 index b557568b3d1ca19f9520b38a4c74de4e4abe0301..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 260 zcmZ?wbhEHbRA5kGSj5WE($aG5*f9o%{|rD320#W7DE?$&WME)r&;fBkY8jYMM(kq! zXJF^1sbKNi_rQt=M|)>{Hf)}-F6;CphX;mvXV)1h&Uf|7+UJv?arlkMs(3X`m9CP_ zv)3+@oW^!z&6Ep|?ycG7>(EguSdif;%5!b$-mI&xN9DLr?#s-QF^TF-@eHzvD|N|b zOf4v2R;u;NYnoIoQPMuWEU$95PkPn_w-&EyGa42)SIuA0xw3g_dy3)$ug*<%>t}2f z_1`SBb+_-1>AS@Cs_Z|y`tZVS$C7M#_MAI&;Bx2%Zo@;jPiRElfABCu;mOly&tE8T HGFSruuDNnD diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif deleted file mode 100644 index 758499394afc5814b9da3e02d6b2996623ea3ece..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmZ?wbhEHbRA5kGSj5V3?AWoEmKKKp{}~v71PA~bK%n@Og^_`Ql|cu@0jXtR&X3r2 z=bynT&((V^Uh}fgcb2F-r!c4K#l%&et8O!#Y3N#3U@Bnaczx0Bu1&8c>vg>^p7?UH zZNaiF>{E4?pUHaCwNz`jZ!Y_szmxXvGM=^K87~uK*>B$dd{+jey?NVLeM+n`tOzMk R;r49r>h9_76XRsC1^{%DM?C-l diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif deleted file mode 100644 index 923079fc6bbc36b0f3cef03c381d42fb9962c753..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 946 zcmdUs-ET{A9EZO<+S9YC?Wob8m!v&2wj#5`EE?U~b1XJhOV`LE=R#U_A%>LBTk4|S zDr>A5I=U%J+YM1$%pthhOzORHK?$-Hd%=a%c}WpTjsL=P_1t})AeVLSTYuigUXan3z0}9Eu?9h z4g>-bhr_|LX#{*U>a$wohya=sD6q38WU|M2-pz4VO66u*f^)O9+M!lQeLk<%>M)rS z@wg8m9uWb%T~Db3Za0TeOoiOEDnX+NMMe>+W=#Q_8XFq2BNU$qP77YIcVbf*696Fd zj|ur7p?-?809aV`H~#M@Ajvq{CbpuYvZaL}@K*dVj_I0@`ubTVq)>xVDrh4rms5^3Spr$J-t`?u;zkBE4#^Dz7jki4oSKP`v#fm9opMHCnZ;} zz1GBI{`)<+KP-zs;Tg$M-Djcl;f+t)SC6%Q2YyxP#?LXbXR8Ot7T)hy{Qg~6P_(9= zkQdf^l{=`riw%{(Tm{ue)-_qW)%G&WtZSVquZKD9wz*vvb@{U-2|A~ACfIDf%*e$P z?cUS3lIChBh={$LNy`98ZaqW`&r0BuD z4e~{vlsT1)@1B+?J7{TnC0!%;?@hifwn#f%#%SZ*H~5S4*^M6Md&ZgN-V?5w@~~=t z{vj(Nr0)EH;qJQ9o~mu@T=}_;Ri6HWl}~Q2nBysSj+e}{F=hLUxurkNGZZr8)2@BH zc*QJFQiqE)DV<5`2@a_I-->GXJTEl6a!_e0hA-#`rlP|j&e=bb4-A%VXakYh*qgmk zvHe)KIKK@GwKB_#Mav3D*S`~KYRv;jX8bUE+RCqgjUTO z!>wDl1_cGpIX9=cxY)_bDS6JhrAwC@0;zN7lIJ9Qd3jyCc5Tj_ImyXD;@rJ^_ma;g z8yY5`d;cG#;{UlRQ>F+A2pqe249Ed0F-%To`2XJ!Xvn$mii(QIjvZ@hX<=w#VE7Ld z{?7oU!6cAD3{d>Z!pOj2$e;sK4Du5L+y4VI3M85(`%k1yIw5l??81tYQ%!s0HmH5B zd|S15b(Xny$gJ~jA9viz+I|0nh0or$qwC-1oqj!Uc6Wh(V`Y&}TYG3|b5l!oMQw0E zU2}DBPkvau_T>@iN3<4dSxx*7gJJ}yHGHWubb-ZC< zSlGlWA{rr3aE6m1Db7hm;O9fu#z~Ku=EN*`;OKotHpw{YmFPBEF7n0SPh z-5{fcDcGTDk%p2-0>i<1jU3uMQ*0^|Rtd8?vkEi_C^|6;eq&3yu%Yol*KBr%M_EkF zYZ-VLm6m7(GRQOXifBkk9A$F2w>LUu!BPQ*!<<6eDjpXepmF>6I+p(?v&mbqn H!e9*mGolF; diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif deleted file mode 100644 index a9bdf0030869bb72b8115ce01f776f080576c7b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1527 zcmeH`{ZA8j0LH)9QYgijQL3Xb9mPUCP}fsqdcG`2MWB@s=vZ*wTcIvP>jLr2GVQVz zsSK7QR(9EZxjA2Q#At5f;%#Q}wifXeUv8S=#l7Ts(Rs#Su5P-onwal!f5HBMJwHBq zl24u|d20PNUb3|WlmN&99U=pwfS}>5j&nK@pj8723W`QKf);~}MALjMAw)PO5@89> zfDlR=jIbgv>yZR6s4zGkQcx(w_#%l=h$UFV6_Z3+4X7x_Nt}U14Kac$Du@;|R?-E< zAbCjekWmes*9A!-SuGF~d@_uPT2MlafpEc4bSMZYz$$`@=!8fLkQ5DEG>Bjf=M9!u zI8hT-gI1AYKr$gSoETIg&gi~S3>TrSL!8wTyv$9bRTzk}E>>5kP0nB?m5`u|(}PjQ zCm=$EQAP;S3`z451-Tf-6`%!(SRLUZhLsTw5wD|!ti?D1XXJ#ABt;Jh22S%n5rqU@ z)*vAwLO_~ss5(+LgA}LfhO8TSLc;|_G71Y3!DzB-Xb{C@o#b?y;YbNZbi`|hD;RSz z8mk$>U_w?kQi34`iPHnh2u~ZYig>O`E6zO$w${GbK~PbwtSb3mHwSqnssSQ)8U-}b8HPg_%>_x zBa>>fIL03gpPN^)w#SV+8-Q)r+?LX&lOIh!p)e}g2`O;-;CQ9i`y!RwzimCp_U?@R zlK+k0JpW9xx(Ev`)qt4;Yv-<6Zk>qV#E1Iqx%Vj0TvCxq^}Y)BV9x9fUX$tOyoD*( z(hLKd)h=*;7*6e`zP{NubIIL9!;aS-hi(tlS3FLaeE~M5utm1heOY8( z`kbR-(VrGJ+_T+Zwk)wJRhHvT{o3{M2G=dn?FM&d=Z@jkGu=rKR@^o?xzDeuOf1vXFIQ&Z5CaSncE@`o)s?@Yvp&Gd|+sxQr}rC5+;yoa`Jb8YWvo}>;o{{qmZ0^wKHN~U0k<{~VI7%+gT2)wO zaTc7dJbCs(+l4fU-X67DTIw=gBc=6?>2%H~$ysb; za64Ysd4;-jJbz>Gud6HcvxI+!XDIbkUigo=xhPC+yI$Ddc-pcn+_I;jLr2GVQVz zsSK7QR(9EZxjA2Q#At5f;%#Q}wifXeUv8S=#l7Ts(Rs#Su5P-onwal!f5HBMJwHBq zl24u|d20PNUb3|WlmN&99U=pwfS}>5j&nK@pj8723W`QKf);~}MALjMAw)PO5@89> zfDlR=jIbgv>yZR6s4zGkQcx(w_#%l=h$UFV6_Z3+4X7x_Nt}U14Kac$Du@;|R?-E< zAbCjekWmes*9A!-SuGF~d@_uPT2MlafpEc4bSMZYz$$`@=!8fLkQ5DEG>Bjf=M9!u zI8hT-gI1AYKr$gSoETIg&gi~S3>TrSL!8wTyv$9bRTzk}E>>5kP0nB?m5`u|(}PjQ zCm=$EQAP;S3`z451-Tf-6`%!(SRLUZhLsTw5wD|!ti?D1XXJ#ABt;Jh22S%n5rqU@ z)*vAwLO_~ss5(+LgA}LfhO8TSLc;|_G71Y3!DzB-Xb{C@o#b?y;YbNZbi`|hD;RSz z8mk$>U_w?kQi34`iPHnh2u~ZYig>O`E6zO$w${GbK~PbwtSb3mHwSqnssSQ)8U-}b8HPg_%>_x zBa>>fIL03gpPN^)w#SV+8-Q)r+?LX&lOIh!p)e}g2`O;-;CQ9i`y!RwzimCp_U?@R zlK+k0JpW9xx(Ev`)qt4;Yv-<6Zk>qV#E1Iqx%Vj0TvCxq^}Y)BV9x9fUX$tOyoD*( z(hLKd)h=*;7*6e`zP{NubIIL9!;aS-hi(tlS3FLaeE~M5utm1heOY8( z`kbR-(VrGJ+_T+Zwk)wJRhHvT{o3{M2G=dn?FM&d=Z@jkGu=rKR@^o?xzDeuOf1vXFIQ&Z5CaSncE@`o)s?@Yvp&Gd|+sxQr}rC5+;yoa`Jb8YWvo}>;o{{qmZ0^wKHN~U0k<{~VI7%+gT2)wO zaTc7dJbCs(+l4fU-X67DTIw=gBc=6?>2%H~$ysb; za64Ysd4;-jJbz>Gud6HcvxI+!XDIbkUigo=xhPC+yI$Ddc-pcn+_I;Rw% zgoK0u0RI60|Nj600RR90A^8LW000jFEC2ui03ZM$000F4@X7g{y*Over%PZcj*8PX zPRD&`>$*wVrjlmgmOR%>@BhG{L$`DMT#J_P^c&hL!A4J-tOAFMtkxNwGON_yXO!SB ztzop!^eUH*;dC<1hM9wS;j7`s`7wKLDp*>DhI@QNg9!o+0tN&L0099CjEIQ}9w`}xc~qK1}B2eunLhO1qbA^(8kG)-OZLR3gZX7ufVg|lgu6kyp9dh2Lp`={0ea3 zRk2Bt6j2zmPk^)m0|*c>7hphwdAIZ_Tu9)AfCB}5AQpJ`>%gY~7hP4_$kEY6ivuWr zG7x}|0$2f9dO*-I!MFjSBu46|fSW;`HDGmoXF$NCPz@$-^C$~x1)sz&7Wm{;z|D>@ zT50Ow!0F9suh7Qo*i~JLu`3*bN(-%0)23ZRSgqsKfC6c-Vo@4Qc<-OXa5)%S%y@AG F06XGF$;AKw diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif deleted file mode 100644 index fe0c98e975c3e36eb30275c584f5cfdaf2bb0b52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274 zcmV+t0qy=rNk%w1VITk?0HOu}goFUb#>Rw%g#Z5l00030|NsC0{{R30A^8LW000I6 zEC2ui03ZM$000BmXe!+PP|3N9y*Oh*C>2_$F`ZY5XdwigX@IE+vgH@c7VW_sE=S8CAk;96zye@OEi4J7%yYsMBs14lfQi{kx>D-2z!ZXXBlpHGLXfU%%aXw0F>cMSa3P;YN@~85 zXs1wZZWz^I$sBYt#31HnOf{Juf_6(VW^93iSL5Ui2-3o>8d&O_<;{7#7K;Vu(OKI1 z;;nFSdR=&TNjQdbgFbA98Gu(;7;}G#8%mLqI%r`kjz?`jI+KK=hk>Yqn`^8sag(rR zlwho{Z*H_0P?(bV5^7Hid_8W(lfGF~=&@ij1P5SHA!N?yuXeKm(zYURrXvvm z02f3pqh`0;IW=%{9SIi~0s#OTdVEQ2Ol&zEl$9KW28V}scnlMdOpzUuf|p+%1)7?P z01XV0D}SVKrgN#Pn~IA~O|XEpgtw{zx&ywUzrd%Nxy1wo$jCSwwH=v>x)%i*2akTq zHq?X(tPK|nG~C`lOry0C7kB42j-ocmf3*q&0}5#WYDWEvmd}fogI6N`T1e}k!-tOq z(ohn}-H8`1Wc?9D>*5=M-@a9>NX;Y2kQ+xsakOZHqDGMu1u7}oQqW64yn5l}LW1JS wh3#O{lo3win^+%9nY4LhR#Tomen<@mRfIy6Sg}_1V5zIuua$U+O%VbBJG0Wu*8l(j diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif deleted file mode 100644 index 4950ec87c13f9918009b13ae2db6732e07317cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 567 zcmZ?wbhEHbRA5kGxT?c&?%cWOmX-nn0?EnA&*#k9yLa!kYuBE81--YlJa+8Z+O=z= zqN28L-TFKz$jQm+d3Ls!m)G;X$DT(;JvTIbuW9(arRBM$;q&V1=Rr|Zrc8OBocum0 z>iOQi_cS%Lv$N*_4RmsP@8tEoXUg-Qp6A)c?~98qEiH?Si~j=w0|?x^cMrw{^GPHW zf3h$#Fz5gw5P@~~Qom*ewqZhw7 zKBurJtN!*1^O!YOYu9|)YB8_t^WW6ca;6rh2(6sF+WgwC%rb5DN$RB?)j2&i$xXpi zXH<91Dwz;8FKv0soTXD@*19hVEcJDrymhOr!sL)mzWyOW976j8_W0~Otj(@`;%MZF z07c$2>YI-rW@Nm4^}HZEi}c~Me&>Z*v_(|+KXSSjEdDG&n311fNae_ty(exka&YjA z3b14-FdgnHb#0U7V94icWRT)}X6&|fc5Aw}g~uJWRtM%biI0UgiAk;v%sgIhj0-kh zc1hP(n4!^dprL6J+ky=&8(u%P2${xg#2}GysD*KoI+sXnLPBFRqx9EWgM|t!Ij4C= zs_n>1(muUHq|?e^qLB9WHL>g!0Swn9Z;EDi%b6A`9lXKl>+6tVt+!-b+&ZS;DoLw1 LBt|rC3S diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif deleted file mode 100644 index 0a79ebfdf5f97176aa1605e4cc4d779d6c49487c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 464 zcmV;>0WbbXNk%w1VITk?0J9GO($&>MW1Lc_&Z()eL9#*Z@$WY`I#66uAt52g#>Rw% zgn$450RI60|Nj600RR90A^8LW000jFEC2ui03ZM$000F4@X7g{y*Over%PZcj*8PX zPRD&`>$*wVrjlmgmOR%>@BhG{L$`DMTD?Xxsq_tPmE*FhZ2pFdtoC_4F&9}#IfTeiWdb` z1O?!L8wIfrwDf?$V*+vlLQRz9PeHeXJ8Q)92oFF3NTM20D zmu}o7y+v%V%zmD2V?;>*==MW7XXv~x5)aMfBoK?F zW6zSoF1YE1%;Xl!+`|~*F%!825>LA^kD=kxDLIWMmuhA@4aseU*nlRFhyRAJe17_T zednEgTH2cH8+u%Xi^xwCx~}JPxqLn^%Q8ZU<2Y8uilPXDpsK1M$f77FRLmRXFfhr&_Mo^w%1SiCjqEi$FfC3CdWW#Vx#+XI9hG0Y#wXle3m_taUP(G1Bk%%bi zd5%*7FENslF#v987>gJtA&5B&>WZQ=Fb5Pp9HGJyIv5N>H3vAAW!Z2z40t7sbU{*C zNskB`r|3|WSp{pFM$*GP~H>s_TyfBt%-F5T8;J#~8H?0~s+ zXXB9PW>r(KZ`8W`gfA8$e1fNO%=5#NJh;x~k4ES33@n~zf1OYA*v&hGHzSS4?YPRQ&w4x)AxOBAXi6+*mu{KIuGh-r|Wzv*e+FR&JZ$xH1zUYu>cG z&uzI9Yq2%M2+ZunHb+$N1&swYAuDxyBGP!IrSI*qb3{MTMZ?x0V6mWcE z|9I}gv+Zq5){pLIssew!b1CU`96NN@Lmgc;S&v>{nR6wN1qU|2T6&+L3hhaM(Mw%* z=Cbw&*_@SYooKank`p0e+U}nkcSN&;J5R;>2P@wHG7vNmO}g(4+wR?39xu;~%vQg< zR5uH^PL`HTjZgH3$5R)tj|9pq+DGQe#QhXwJ1IW#TFzKpt=1433zr-oN$pzWPW3N) z3vDY`$G2a5h9EB2ESek@@obZ&?AYo9?}a@b{_0IaO93CVWK6}Ix*b7F+;uhM-Q5?z=G__V3lY5wu~{Q`c_Bd p$!sXy?YxvMau4r&IQrbrt}oV%E%z;d_m?(Y)4DIetHV#c_%B&pUbg@M diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif deleted file mode 100644 index 5df7de574966c8f4738c337d97c97b362cfb9f91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 725 zcmZ?wbhEHbRA5kGxN5}U<>i%K-E;5x^Y7o^pSyOC!7ym=-o5X?f6va&j*5y}yLRol zbJrLYoz9&**D__!lqqwfidzf~4XbDFV}EmQU$yT;&^-7{zD+O2zova1E6 zTHe3^Uft3o5mY>7=~@QOpgC*zdL>sU7gulHdoH_rN_NlEDRY)aRZoe^Zn<~w`L%1; zdU|@^e}7+HUH$&~dj&K6yl zojL~V+xsHH@c`o|9UhyC1r82J zxwvJ|?KtsmX#fwSz>CD02Ob=1WztX6Yq-Gqe2S+w&#yg)7Bt*sVo!_W*x)34c}@Y7 zfW?X=#ttTpbtl%GzNUM0S(}W`jNJ=z7`bH9q-4uKzYW*nGST5k*x}Susnz8aaN);% zk-6GdPqd>OoiEPR_xjSi@ycd_dkEKgTed$ sRj~fxwYl+MVLG=`U+uM14J=|F5Athe7Cva=(YhfkFW{!(D!^b300g%yMgRZ+ diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif deleted file mode 100644 index 7807c075c4082d561fd2f08c9a20ab4844d8cee4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 724 zcmZ?wbhEHbRA5kGxN5}U<>i%K-E;5x^Y7o^pSyOC!7ym=-o5X?f6va&j*5y}yLRol zbJrLYoz9&**D__!lqqwfidzf~4XbDFV}EmQU$yT;&^-7{zD+O2zova1E6 zTHe3^Uft3o5mY>7=~@QOpgC*zdL>sU7gulHdoH_rN_NlEDRY)aRZoe^Zn<~w`L%1; zdU|@^e}7+HUH$&~dj6nnc&>9RAQ*ojz&Z49h@M%{gzUy7xRu}X=tXv8QUvk`Ss)JT|f=Hm=e z*-sPK9%x)~MqKsBv4C5Z9>La?bkD@4;205_cZ-x olY3FW;k4_-V{to`9yGAAE9cT`#-ccAhw4`jpjrZ$Po=+>rS<-e!jPxbB|+;eoCFoy*4?8no+b9O@c7 znu6TZTic2fJ10d?=r%vv9_HjDCz zuLzsz8*EthN5gskqy(RPrt4~5-RICX$;@Huv^eHaHuZ)ITCWCd#;pH0iBv~AT` zy{2TX>>jQNx6%cN_>V4GmXLeO{Gvrq>3P1>XKIxXvqqdd(YocrnJ3qzF1@(?>e;q6 V@7}Mula%u1>$flJKLt4%tN|w0c+CI+ diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif deleted file mode 100644 index afe724a3d06a51d2810f8d956f9a2042f4127e39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmV+q0r37uNk%w1VITk?0HOr|0E7U9goMV%#sB~S|NsC0|Nj6000000A^8LW000F5 zEC2ui03ZM$000BjSh^MdFg`|UAUNwy!l>ZIjhOQ>0g$e0%aVcMF>cMSLY`-rd^P}* zCI!Rz6e@y?mrRaCgd_3RX;pPt-(bsaDsRo0Mlj9@21Mm|c`cjG1E-q(&D!Bg(+7An)+;^79}G06U9=e5U{a diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif deleted file mode 100644 index 4fae35662f0ff048d4004fdc74cda6b63f16d119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 408 zcmZ?wbhEHbRA5kGI3mViIETS7`9A~09EN0urRTmg%=vGa%wTx#zu`GU28RFV-v2*# z?AW>g=g$5AZ}|T|Lkq*XbLR|`=d`r6eEY<3j9Dk`OoZE`nWr*xa<<-Z+HtMSBJn{^u;`V&6mSzrNEt?LH`~3Ax?=4JrY*0GX#-Qk=qQTsLv|qx~^^Qg0 iVuwC~AkkGZCpV>f)n+A~n&Y{-{p@Uu;&~j54AuZc3Y?7q diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif deleted file mode 100644 index 7157f72ad82ea877fcb6995070a6563f56ef67d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmZ?wbhEHbRA5kGI3mt)ZwdoL@|2!y|Nno#_WxKm!<2grhC%{EB};slLq*~Wvao7t(4YcThC6;%`Yr24Zi4PaOV6eOA}Gnc(I#ahItQPFz&i!!1#jo#hY7? xFH}7HYVuU?=dbU7{-(T977Tb`-^99F#>8mh!o%$X%5o`g8JrTL0dyds<4RV^aVB z|57BDbA&H|IUoo#=W(zoP=va&U;d8QcCBXbFE`S zIUx{AF)?dGF|DPoy|um8l$26hT61GsrId``*3Q<>#_!(N_xJC;lzX*=bN97#y`_w; zoRr4a-o4J&oRpmJ@Ar&zW5%telzVgk@2%FQQj}6cwR2kk-jp#pIT#oib8~zD|Nj60 z00000A^8LW002DzEC2ui01yBW000KCz@CstEEa{x;b0IOxF9c{E~y-RE*p%ErCXs53AutGm1iI;a&9 x77a8B0W|>v8K@@^5iJcNH3tSG6{sd9*aZa#2L%MDNFqA#5;_tRJN5NJ06RZNq>TUo diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif deleted file mode 100644 index 6f3bac9bf1593da0934d7ce02064ef74e484c1a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmZ?wbhEHb6krfwI3mMvZjPa$VRCZvIm6^RbLO1;{{8!$ImuhMZvFrNTynDExpT=; zQBh7#PUq$Tr48R-J9cgk!?|-n9>bhupf;f9IseZw{GY?n($aG5*f9nMhW}syWI%x8 zPZmZ71{nq&5Eo=818bRrdQwVemqvT;n`v8Ts6~~;GQZY}p1#>*LidNJlNo(daVY@{ zWwUaL(+k*J$tlM*YK{1NYI`ZnW)mW{>#=ysy0hLX0`cg&BbkJ4}^gUQzaPeB<)#Q2S7Oc~`%`->q#0Q%_#rF={k17wA&Fi)#cna}i9!sV4Aub8Vl3$Z diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif deleted file mode 100644 index 4d927230b980dbbdca5b06f12a98449647ca0fe7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmZ?wbhEHb6krfwSj5V}(8AEt(sJzBF$M;P|6l-Q0DA+ z&boq$o(!ph*Rni6Ts&TSB!TY&dxW+s#|ou&Pgs`UaTDBbb9LQ}wC%4m<4%bCYbdc5 Z?pbo_Mu}eVr8OUpyyY@Z@L*!F1^}CaF8}}l diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif deleted file mode 100644 index 6ce26a4dc516f5962623445396862c753a875900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113 zcmZ?wbhEHb6krfwSj56`?AWoEmKFvEhW}syWI%x8PZmZ71{MY#5ErDDf!WMMz)wYHuMVva8^OvzO GSOWls#w7~? diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif deleted file mode 100644 index 48d445acd2feab875c2d42c246e9010814314bb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmZ?wbhEHb6krfwSj5KA(!%inKf|$O$6A0a1|S;*fDFZ-EQ|~cYz#U;Hc+Ji0|T>X z#^yWU3Z{52m-ukf%k`k3yP%3-*W8u93=RcNt9)D@gcWkI9QhQriC6L4&!=I+p7|fF f&bcuq9o#ATcbQ|zt0ha__CHv$#zk+n5Q8-UbUQQ< diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif deleted file mode 100644 index 6535b4c0e72aa2cded728e28ee6440c1fe0a954c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmZ?wbhEHb6krfwSj5WE($aG5*f9o%{|rD320#W7DE?$&WME)r&;fBkY8jXVBe?FY z+rZ$Y&Fb8_(OO=7Vq=(Ufb*})xCcUxyE@a|Sq$%KqPl7^Ro&=#&h4hzE(^L jR*hU`(7bxhmuZnxV$QBxlGW+R@Sr5BCvfLoP6lfLw_`LY diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif deleted file mode 100644 index 315817f5d93a2a6fa5db3ca5e1c9d9e72297c1b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmZ?wbhEHb6krfwSj5V3?AWoEmKKKpAi%%?qJbn3DE?$&WME)r&;fBkY8jY~B6i*R zXJF>^RLSWASNXZw&O8U&G9N8irFy(4+h@r~EB~#sJ|Y3ajSDg!Grv<&><*gAz+epk D58Wo= diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif deleted file mode 100644 index 8f91a98ecb196dbcf5424e266ca58d216cd4a9eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 382 zcmZ?wbhEHb6krfwxT?XhR8hdo%PTuO`&>{EgJIPFI}I;|Dp zc%Pgc6&3aV`}^-fUeCQOdwP0~X-ZUASHFM${{R2~3=9kq63CzsDE?$&WMI%>&;gkP z@)HBwYzL7p7om#2#si)wL?(F!2%98Cm<2ZVZ~3Ch>UA|+?3QVy&oYC{!ISECotivn zi=MmpqCcH_Dg71<%DDkb)jrCNqP!hVYOOUI?7WH`68uu^LH$n3d{a32xdr%?``R=Z z6crRi1i6?MXU<-+T7iX|hf_g(S&gzHs}Re21x4km3ChAO(z2|q%0r28usf7#SE?8FWBAkXi<2r--O4 z|FS1KXsZVL9;`07c&+ei^1O2k*6G|{AtTej{=zM0yDLAt%B`L9e?;#s+CMY!M%Jo; V3vL<)Qnkyb>9`50G6*qP0|1+DE=>Rc diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif deleted file mode 100644 index 0b5d6ba1fc35ab7dccc0f27ef14f2bdbefe75859..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmd6k&ui0A0Dxb+VB4{+?YgxUTV^K{qg5LnvM_(lIJz`RQF6>pa?C||-g?<)1gmc# znuA~%2n(Jb2oms;!(;>zd@zI@a}ZpP&%@y1>FN9{{7&ETgKuNdUy&bHKm{BPf$bAQ zctp74_-+tm!XZvY7?`FD-7q4V=#n7LI(|kO*D!S=`qxAh%U-Hr9ul5XK60@Xu`r=B zBBGZmgli+L*e=OYPhmpijCBxUoJ%MbLzXcv!BBQQ+xAQo#TmCOWTHs45W)$B zkpBbxmvnv$IRJ*Bds27u1Qfn*4!1S;sax6}KQYjbQ3B6j7}Xo@=~BM;N(1VyYBVSI z8e>(xbhXt4Mx}Z?-_VC5xY?bZoxa#MW@hqN!goSp%D6mNTdCj8Pw4U5t#bL!;#_;O zeyAHlYkKhW=-%Y@`E^~83TFlv`p5l+YYX!m-)p~?m8p91_~pKu6ZFTu!$)iDJFV5T zZ$4EQ5B8T%6}v|Mhfpk^(}do$596)Zxh8s0**y3H8nw1;?w$YkcG+37K7V|Fe|HOj F)j#Az*75)V diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/html.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/html.gif deleted file mode 100644 index 0b5d6ba1fc35ab7dccc0f27ef14f2bdbefe75859..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmd6k&ui0A0Dxb+VB4{+?YgxUTV^K{qg5LnvM_(lIJz`RQF6>pa?C||-g?<)1gmc# znuA~%2n(Jb2oms;!(;>zd@zI@a}ZpP&%@y1>FN9{{7&ETgKuNdUy&bHKm{BPf$bAQ zctp74_-+tm!XZvY7?`FD-7q4V=#n7LI(|kO*D!S=`qxAh%U-Hr9ul5XK60@Xu`r=B zBBGZmgli+L*e=OYPhmpijCBxUoJ%MbLzXcv!BBQQ+xAQo#TmCOWTHs45W)$B zkpBbxmvnv$IRJ*Bds27u1Qfn*4!1S;sax6}KQYjbQ3B6j7}Xo@=~BM;N(1VyYBVSI z8e>(xbhXt4Mx}Z?-_VC5xY?bZoxa#MW@hqN!goSp%D6mNTdCj8Pw4U5t#bL!;#_;O zeyAHlYkKhW=-%Y@`E^~83TFlv`p5l+YYX!m-)p~?m8p91_~pKu6ZFTu!$)iDJFV5T zZ$4EQ5B8T%6}v|Mhfpk^(}do$596)Zxh8s0**y3H8nw1;?w$YkcG+37K7V|Fe|HOj F)j#Az*75)V diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif deleted file mode 100644 index 634b386139ac697806757c8d34bed36b5a2e5b45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmZ?wbhEHb6krfwSj5WE($aG5*s=fr|F^U-00EEzq8Jzyf3h$#Ft9S{fH)wv49rdu zQCI$DPjt{$4fH)&U2ySQ;nn1M=N7Efxy>W1vu4h(L$B8CcA0nH;sGzmk%w`nkI!Gr Xww$>lL&HF-cG)x?H=$exAqHyz+f*-Z diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/js.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/js.gif deleted file mode 100644 index 4ea17d452edaf63a5f599042879cc05a3b05905d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmZ?wbhEHb6krfwSj524(!y};*s=frfs7Ug28RDY78of0WC7DUAQGgOfjPip*Bukp zV`_&dr*>@0-Etv>LB&I4!HI?a)6OrXSt1KqtHVsZE6pPt-9GvFF^A}XUv*^C r;ak22hG!S;yY$xUOU2HaM|C{I+Ek;sd6_hJPfqX2@(WjGV6X-NZuBx8 diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif deleted file mode 100644 index 6f3bac9bf1593da0934d7ce02064ef74e484c1a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 249 zcmZ?wbhEHb6krfwI3mMvZjPa$VRCZvIm6^RbLO1;{{8!$ImuhMZvFrNTynDExpT=; zQBh7#PUq$Tr48R-J9cgk!?|-n9>bhupf;f9IseZw{GY?n($aG5*f9nMhW}syWI%x8 zPZmZ71{nq&5Eo=818bRrdQwVemqvT;n`v8Ts6~~;GQZY}p1#>*LidNJlNo(daVY@{ zWwUaL(+k*J$tlM*YK{1NYI`ZnW)mW{>#=ysy0hLX0`cgv>ev^SyhYS64r8X?YK12So`82>fRNfqVDv z{r?YPGARCJVPs&CWzYdhfb3*oO-@kHONmUIxgsy-^|qPQW|^Ek`f1r)oAdK_#q~cu zbtPl{l^0V5_T;S=Z~hQc)}ed!aA|{HGz;^B2|Yz@;*5(PawLd_EmCDzp}@k>p>l2} b%e-`vLRL<;1{wB3!FE?Ijs6J}6d9}meKBOp diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/png.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/png.gif deleted file mode 100644 index b6d1b32011afe305d35026c66cf3a0564e6cfbe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmZ?wbhEHb6krfwSj5WE($aG5*s=fr|2Hsz0FVKu85DoAFfuT(GU$M~Ahit4P7zU8 z{$)>e&{hrfJy>0E@mk^4!zWU*s{&Jd<`>yWH_^+2I#AA{J%s7G|&p0BKw|IsgCw diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif deleted file mode 100644 index 916cd7e639de75276e3fac7d4a4466479285fbc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 606 zcmchU&ubGw6vrpo{HP7Ji>awd!Ny-jsS1MH`U@LtlcrQ_s3zIwU|DauxyQX|x?q%1 zq|BkhKtPz|fCvMEEP~*e(;VkGD5!f}3&P@Qocc%jk8i|G!%@<`A|b55u$#WP!&Un9G3XLps}Wj7D9Eqf$#fJ8H5p*G7e=-si0JO zNL85WQFn?71c9mX?Aw@`|sb+UAvcE-BaB&M=_}Q+_`f-OSf)4 zb}qYTDT7yb%al3Su3fu#?|E`@wO3T}oV9xy6rIkUyY~J2djY3pLqo%$?CQP8u1N$H zzyJQ;%gbx&)?@dcKL={->FM!Gt_Fhl&)@(5|DS<@0YU;9lmo?|EQ|~c>I^y{qdwUe4Gl+*;-lwkB+sYUz^1v;|)#6j^vpu37T# zmUD%0Y=v2e3tNhqVwDfO5R;r7Q-i8ZOSQU^94jjq2ZyAL>I5eRE_r!5X$}Qpc9pr4 zSQql}D#)`c&1sz^&mzyuz#u2Ed6fdUDiZ^b6pNe!-zs$lh21Qw^6W*$K1?FwqAc7B ROoA@15eoGR5k8I#)&SOyb=v>{ diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif deleted file mode 100644 index 314469da14a51a3079a95b10deff5e4af2f14dd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmZ?wbhEHb6krfwxT?;;U>Fn?71c9mX?Aw@`|sb+UAvcE-BaB&M=_}Q+_`f-OSf)4 zb}qYTDT7yb%al3Su3fu#?|E`@wO3T}oV9xy6rIkUyY~J2djY3pLqo%$?CQP8u1N$H zzyJQ;%gbx&)?@dcKL={->FM!Gt_Fhl&)@(5|DS<@0YU;9lmo?|EQ|~c>I^y{qdwUe4Gl+*;-lwkB+sYUz^1v;|)#6j^vpu37T# zmUD%0Y=v2e3tNhqVwDfO5R;r7Q-i8ZOSQU^94jjq2ZyAL>I5eRE_r!5X$}Qpc9pr4 zSQql}D#)`c&1sz^&mzyuz#u2Ed6fdUDiZ^b6pNe!-zs$lh21Qw^6W*$K1?FwqAc7B ROoA@15eoGR5k8I#)&SOyb=v>{ diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif deleted file mode 100644 index 1511ba3e9fa53d21b23d74e5430199f52107b8c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122 zcmZ?wbhEHb6krfwSj586($aG5*f9nMhW}syWI%x8PZmZ71{MY#5ErDDf!W?edQV`N^25{1 dUq#HdJfRXbF>~kLGf7@*-Ks0MSTQnK0|4?|F*N`H diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif deleted file mode 100644 index f57715d6a0cf03d3d392fb78d1477fcb1756edc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZ?wbhEHb6krfwSj5V}(86%+*f9nm-O}BIae?UME_83{kohvOm*4@L8Aw=661Zc_WCg}SOWmuf-oWg diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif deleted file mode 100644 index 455992877e103d01bd247e45d96e33412ae706d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmZ?wbhEHb6krfwI3mEn(9&}3*fGQ8|AuoI4Cnke{QuwZ+HPD{sTJjBd9|(eHjSNmO^r^D{SzDo6d9}m>N8Dk diff --git a/include/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif b/include/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif deleted file mode 100644 index b1e24921e56f8b71282f953c690d152dd986f6ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 235 zcmZ?wbhEHb6krfwI3mLE|M^yid-wjYW%$3>>;GEC|Np;dAN!x(^Z)< mytest.example.com => example.com ... - d = d.replace( /.*?(?:\.|$)/, '' ) ; - - if ( d.length == 0 ) - break ; // It was not able to detect the domain. - - try - { - document.domain = d ; - } - catch (e) - { - break ; - } - } -})() ; - -function AddSelectOption( selectElement, optionText, optionValue ) -{ - var oOption = document.createElement("OPTION") ; - - oOption.text = optionText ; - oOption.value = optionValue ; - - selectElement.options.add(oOption) ; - - return oOption ; -} - -var oConnector = window.parent.oConnector ; -var oIcons = window.parent.oIcons ; - - -function StringBuilder( value ) -{ - this._Strings = new Array( value || '' ) ; -} - -StringBuilder.prototype.Append = function( value ) -{ - if ( value ) - this._Strings.push( value ) ; -} - -StringBuilder.prototype.ToString = function() -{ - return this._Strings.join( '' ) ; -} diff --git a/include/fckeditor/editor/filemanager/browser/default/js/fckxml.js b/include/fckeditor/editor/filemanager/browser/default/js/fckxml.js deleted file mode 100644 index 82d1cbb5f..000000000 --- a/include/fckeditor/editor/filemanager/browser/default/js/fckxml.js +++ /dev/null @@ -1,147 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Defines the FCKXml object that is used for XML data calls - * and XML processing. - * - * This script is shared by almost all pages that compose the - * File Browser frameset. - */ - -var FCKXml = function() -{} - -FCKXml.prototype.GetHttpRequest = function() -{ - // Gecko / IE7 - try { return new XMLHttpRequest(); } - catch(e) {} - - // IE6 - try { return new ActiveXObject( 'Msxml2.XMLHTTP' ) ; } - catch(e) {} - - // IE5 - try { return new ActiveXObject( 'Microsoft.XMLHTTP' ) ; } - catch(e) {} - - return null ; -} - -FCKXml.prototype.LoadUrl = function( urlToCall, asyncFunctionPointer ) -{ - var oFCKXml = this ; - - var bAsync = ( typeof(asyncFunctionPointer) == 'function' ) ; - - var oXmlHttp = this.GetHttpRequest() ; - - oXmlHttp.open( "GET", urlToCall, bAsync ) ; - - if ( bAsync ) - { - oXmlHttp.onreadystatechange = function() - { - if ( oXmlHttp.readyState == 4 ) - { - var oXml ; - try - { - // this is the same test for an FF2 bug as in fckxml_gecko.js - // but we've moved the responseXML assignment into the try{} - // so we don't even have to check the return status codes. - var test = oXmlHttp.responseXML.firstChild ; - oXml = oXmlHttp.responseXML ; - } - catch ( e ) - { - try - { - oXml = (new DOMParser()).parseFromString( oXmlHttp.responseText, 'text/xml' ) ; - } - catch ( e ) {} - } - - if ( !oXml || !oXml.firstChild || oXml.firstChild.nodeName == 'parsererror' ) - { - alert( 'The server didn\'t send back a proper XML response. Please contact your system administrator.\n\n' + - 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')\n\n' + - 'Requested URL:\n' + urlToCall + '\n\n' + - 'Response text:\n' + oXmlHttp.responseText ) ; - return ; - } - - oFCKXml.DOMDocument = oXml ; - asyncFunctionPointer( oFCKXml ) ; - } - } - } - - oXmlHttp.send( null ) ; - - if ( ! bAsync ) - { - if ( oXmlHttp.status == 200 || oXmlHttp.status == 304 ) - this.DOMDocument = oXmlHttp.responseXML ; - else - { - alert( 'XML request error: ' + oXmlHttp.statusText + ' (' + oXmlHttp.status + ')' ) ; - } - } -} - -FCKXml.prototype.SelectNodes = function( xpath ) -{ - if ( navigator.userAgent.indexOf('MSIE') >= 0 ) // IE - return this.DOMDocument.selectNodes( xpath ) ; - else // Gecko - { - var aNodeArray = new Array(); - - var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument, - this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), XPathResult.ORDERED_NODE_ITERATOR_TYPE, null) ; - if ( xPathResult ) - { - var oNode = xPathResult.iterateNext() ; - while( oNode ) - { - aNodeArray[aNodeArray.length] = oNode ; - oNode = xPathResult.iterateNext(); - } - } - return aNodeArray ; - } -} - -FCKXml.prototype.SelectSingleNode = function( xpath ) -{ - if ( navigator.userAgent.indexOf('MSIE') >= 0 ) // IE - return this.DOMDocument.selectSingleNode( xpath ) ; - else // Gecko - { - var xPathResult = this.DOMDocument.evaluate( xpath, this.DOMDocument, - this.DOMDocument.createNSResolver(this.DOMDocument.documentElement), 9, null); - - if ( xPathResult && xPathResult.singleNodeValue ) - return xPathResult.singleNodeValue ; - else - return null ; - } -} diff --git a/include/fckeditor/editor/filemanager/connectors/asp/basexml.asp b/include/fckeditor/editor/filemanager/connectors/asp/basexml.asp deleted file mode 100644 index a01520466..000000000 --- a/include/fckeditor/editor/filemanager/connectors/asp/basexml.asp +++ /dev/null @@ -1,63 +0,0 @@ -<% - ' FCKeditor - The text editor for Internet - http://www.fckeditor.net - ' Copyright (C) 2003-2008 Frederico Caldeira Knabben - ' - ' == BEGIN LICENSE == - ' - ' Licensed under the terms of any of the following licenses at your - ' choice: - ' - ' - GNU General Public License Version 2 or later (the "GPL") - ' http://www.gnu.org/licenses/gpl.html - ' - ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - ' http://www.gnu.org/licenses/lgpl.html - ' - ' - Mozilla Public License Version 1.1 or later (the "MPL") - ' http://www.mozilla.org/MPL/MPL-1.1.html - ' - ' == END LICENSE == - ' - ' This file include the functions that create the base XML output. -%> -<% - -Sub SetXmlHeaders() - ' Cleans the response buffer. - Response.Clear() - - ' Prevent the browser from caching the result. - Response.CacheControl = "no-cache" - - ' Set the response format. - Response.CodePage = 65001 - Response.CharSet = "UTF-8" - Response.ContentType = "text/xml" -End Sub - -Sub CreateXmlHeader( command, resourceType, currentFolder, url ) - ' Create the XML document header. - Response.Write "" - - ' Create the main "Connector" node. - Response.Write "" - - ' Add the current folder node. - Response.Write "" -End Sub - -Sub CreateXmlFooter() - Response.Write "" -End Sub - -Sub SendError( number, text ) - SetXmlHeaders - - ' Create the XML document header. - Response.Write "" - - Response.Write "" - - Response.End -End Sub -%> diff --git a/include/fckeditor/editor/filemanager/connectors/asp/class_upload.asp b/include/fckeditor/editor/filemanager/connectors/asp/class_upload.asp deleted file mode 100644 index 91c008860..000000000 --- a/include/fckeditor/editor/filemanager/connectors/asp/class_upload.asp +++ /dev/null @@ -1,353 +0,0 @@ -<% - ' FCKeditor - The text editor for Internet - http://www.fckeditor.net - ' Copyright (C) 2003-2008 Frederico Caldeira Knabben - ' - ' == BEGIN LICENSE == - ' - ' Licensed under the terms of any of the following licenses at your - ' choice: - ' - ' - GNU General Public License Version 2 or later (the "GPL") - ' http://www.gnu.org/licenses/gpl.html - ' - ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - ' http://www.gnu.org/licenses/lgpl.html - ' - ' - Mozilla Public License Version 1.1 or later (the "MPL") - ' http://www.mozilla.org/MPL/MPL-1.1.html - ' - ' == END LICENSE == - ' - ' These are the classes used to handle ASP upload without using third - ' part components (OCX/DLL). -%> -<% -'********************************************** -' File: NetRube_Upload.asp -' Version: NetRube Upload Class Version 2.3 Build 20070528 -' Author: NetRube -' Email: NetRube@126.com -' Date: 05/28/2007 -' Comments: The code for the Upload. -' This can free usage, but please -' not to delete this copyright information. -' If you have a modification version, -' Please send out a duplicate to me. -'********************************************** -' 文件名: NetRube_Upload.asp -' 版本: NetRube Upload Class Version 2.3 Build 20070528 -' 作者: NetRube(网络乡巴佬) -' 电子邮件: NetRube@126.com -' 日期: 2007年05月28日 -' 声明: 文件上传类 -' 本上传类可以自由使用,但请保留此版权声明信息 -' 如果您对本上传类进行修改增强, -' 请发送一份给俺。 -'********************************************** - -Class NetRube_Upload - - Public File, Form - Private oSourceData - Private nMaxSize, nErr, sAllowed, sDenied, sHtmlExtensions - - Private Sub Class_Initialize - nErr = 0 - nMaxSize = 1048576 - - Set File = Server.CreateObject("Scripting.Dictionary") - File.CompareMode = 1 - Set Form = Server.CreateObject("Scripting.Dictionary") - Form.CompareMode = 1 - - Set oSourceData = Server.CreateObject("ADODB.Stream") - oSourceData.Type = 1 - oSourceData.Mode = 3 - oSourceData.Open - End Sub - - Private Sub Class_Terminate - Form.RemoveAll - Set Form = Nothing - File.RemoveAll - Set File = Nothing - - oSourceData.Close - Set oSourceData = Nothing - End Sub - - Public Property Get Version - Version = "NetRube Upload Class Version 2.3 Build 20070528" - End Property - - Public Property Get ErrNum - ErrNum = nErr - End Property - - Public Property Let MaxSize(nSize) - nMaxSize = nSize - End Property - - Public Property Let Allowed(sExt) - sAllowed = sExt - End Property - - Public Property Let Denied(sExt) - sDenied = sExt - End Property - - Public Property Let HtmlExtensions(sExt) - sHtmlExtensions = sExt - End Property - - Public Sub GetData - Dim aCType - aCType = Split(Request.ServerVariables("HTTP_CONTENT_TYPE"), ";") - if ( uBound(aCType) < 0 ) then - nErr = 1 - Exit Sub - end if - If aCType(0) <> "multipart/form-data" Then - nErr = 1 - Exit Sub - End If - - Dim nTotalSize - nTotalSize = Request.TotalBytes - If nTotalSize < 1 Then - nErr = 2 - Exit Sub - End If - If nMaxSize > 0 And nTotalSize > nMaxSize Then - nErr = 3 - Exit Sub - End If - - 'Thankful long(yrl031715@163.com) - 'Fix upload large file. - '********************************************** - ' 修正作者:long - ' 联系邮件: yrl031715@163.com - ' 修正时间:2007年5月6日 - ' 修正说明:由于iis6的Content-Length 头信息中包含的请求长度超过了 AspMaxRequestEntityAllowed 的值(默认200K), IIS 将返回一个 403 错误信息. - ' 直接导致在iis6下调试FCKeditor上传功能时,一旦文件超过200K,上传文件时文件管理器失去响应,受此影响,文件的快速上传功能也存在在缺陷。 - ' 在参考 宝玉 的 Asp无组件上传带进度条 演示程序后作出如下修改,以修正在iis6下的错误。 - - Dim nTotalBytes, nPartBytes, ReadBytes - ReadBytes = 0 - nTotalBytes = Request.TotalBytes - '循环分块读取 - Do While ReadBytes < nTotalBytes - '分块读取 - nPartBytes = 64 * 1024 '分成每块64k - If nPartBytes + ReadBytes > nTotalBytes Then - nPartBytes = nTotalBytes - ReadBytes - End If - oSourceData.Write Request.BinaryRead(nPartBytes) - ReadBytes = ReadBytes + nPartBytes - Loop - '********************************************** - oSourceData.Position = 0 - - Dim oTotalData, oFormStream, sFormHeader, sFormName, bCrLf, nBoundLen, nFormStart, nFormEnd, nPosStart, nPosEnd, sBoundary - - oTotalData = oSourceData.Read - bCrLf = ChrB(13) & ChrB(10) - sBoundary = MidB(oTotalData, 1, InStrB(1, oTotalData, bCrLf) - 1) - nBoundLen = LenB(sBoundary) + 2 - nFormStart = nBoundLen - - Set oFormStream = Server.CreateObject("ADODB.Stream") - - Do While (nFormStart + 2) < nTotalSize - nFormEnd = InStrB(nFormStart, oTotalData, bCrLf & bCrLf) + 3 - - With oFormStream - .Type = 1 - .Mode = 3 - .Open - oSourceData.Position = nFormStart - oSourceData.CopyTo oFormStream, nFormEnd - nFormStart - .Position = 0 - .Type = 2 - .CharSet = "UTF-8" - sFormHeader = .ReadText - .Close - End With - - nFormStart = InStrB(nFormEnd, oTotalData, sBoundary) - 1 - nPosStart = InStr(22, sFormHeader, " name=", 1) + 7 - nPosEnd = InStr(nPosStart, sFormHeader, """") - sFormName = Mid(sFormHeader, nPosStart, nPosEnd - nPosStart) - - If InStr(45, sFormHeader, " filename=", 1) > 0 Then - Set File(sFormName) = New NetRube_FileInfo - File(sFormName).FormName = sFormName - File(sFormName).Start = nFormEnd - File(sFormName).Size = nFormStart - nFormEnd - 2 - nPosStart = InStr(nPosEnd, sFormHeader, " filename=", 1) + 11 - nPosEnd = InStr(nPosStart, sFormHeader, """") - File(sFormName).ClientPath = Mid(sFormHeader, nPosStart, nPosEnd - nPosStart) - File(sFormName).Name = Mid(File(sFormName).ClientPath, InStrRev(File(sFormName).ClientPath, "\") + 1) - File(sFormName).Ext = LCase(Mid(File(sFormName).Name, InStrRev(File(sFormName).Name, ".") + 1)) - nPosStart = InStr(nPosEnd, sFormHeader, "Content-Type: ", 1) + 14 - nPosEnd = InStr(nPosStart, sFormHeader, vbCr) - File(sFormName).MIME = Mid(sFormHeader, nPosStart, nPosEnd - nPosStart) - Else - With oFormStream - .Type = 1 - .Mode = 3 - .Open - oSourceData.Position = nFormEnd - oSourceData.CopyTo oFormStream, nFormStart - nFormEnd - 2 - .Position = 0 - .Type = 2 - .CharSet = "UTF-8" - Form(sFormName) = .ReadText - .Close - End With - End If - - nFormStart = nFormStart + nBoundLen - Loop - - oTotalData = "" - Set oFormStream = Nothing - End Sub - - Public Sub SaveAs(sItem, sFileName) - If File(sItem).Size < 1 Then - nErr = 2 - Exit Sub - End If - - If Not IsAllowed(File(sItem).Ext) Then - nErr = 4 - Exit Sub - End If - - If InStr( LCase( sFileName ), "::$data" ) > 0 Then - nErr = 4 - Exit Sub - End If - - Dim sFileExt, iFileSize - sFileExt = File(sItem).Ext - iFileSize = File(sItem).Size - - ' Check XSS. - If Not IsHtmlExtension( sFileExt ) Then - ' Calculate the size of data to load (max 1Kb). - Dim iXSSSize - iXSSSize = iFileSize - - If iXSSSize > 1024 Then - iXSSSize = 1024 - End If - - ' Read the data. - Dim sData - oSourceData.Position = File(sItem).Start - sData = oSourceData.Read( iXSSSize ) ' Byte Array - sData = ByteArray2Text( sData ) ' String - - ' Sniff HTML data. - If SniffHtml( sData ) Then - nErr = 4 - Exit Sub - End If - End If - - Dim oFileStream - Set oFileStream = Server.CreateObject("ADODB.Stream") - With oFileStream - .Type = 1 - .Mode = 3 - .Open - oSourceData.Position = File(sItem).Start - oSourceData.CopyTo oFileStream, File(sItem).Size - .Position = 0 - .SaveToFile sFileName, 2 - .Close - End With - Set oFileStream = Nothing - End Sub - - Private Function IsAllowed(sExt) - Dim oRE - Set oRE = New RegExp - oRE.IgnoreCase = True - oRE.Global = True - - If sDenied = "" Then - oRE.Pattern = sAllowed - IsAllowed = (sAllowed = "") Or oRE.Test(sExt) - Else - oRE.Pattern = sDenied - IsAllowed = Not oRE.Test(sExt) - End If - - Set oRE = Nothing - End Function - - Private Function IsHtmlExtension( sExt ) - If sHtmlExtensions = "" Then - Exit Function - End If - - Dim oRE - Set oRE = New RegExp - oRE.IgnoreCase = True - oRE.Global = True - oRE.Pattern = sHtmlExtensions - - IsHtmlExtension = oRE.Test(sExt) - - Set oRE = Nothing - End Function - - Private Function SniffHtml( sData ) - - Dim oRE - Set oRE = New RegExp - oRE.IgnoreCase = True - oRE.Global = True - - Dim aPatterns - aPatterns = Array( " diff --git a/include/fckeditor/editor/filemanager/connectors/asp/commands.asp b/include/fckeditor/editor/filemanager/connectors/asp/commands.asp deleted file mode 100644 index 25767cc2d..000000000 --- a/include/fckeditor/editor/filemanager/connectors/asp/commands.asp +++ /dev/null @@ -1,198 +0,0 @@ -<% - ' FCKeditor - The text editor for Internet - http://www.fckeditor.net - ' Copyright (C) 2003-2008 Frederico Caldeira Knabben - ' - ' == BEGIN LICENSE == - ' - ' Licensed under the terms of any of the following licenses at your - ' choice: - ' - ' - GNU General Public License Version 2 or later (the "GPL") - ' http://www.gnu.org/licenses/gpl.html - ' - ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - ' http://www.gnu.org/licenses/lgpl.html - ' - ' - Mozilla Public License Version 1.1 or later (the "MPL") - ' http://www.mozilla.org/MPL/MPL-1.1.html - ' - ' == END LICENSE == - ' - ' This file include the functions that handle the Command requests - ' in the ASP Connector. -%> -<% -Sub GetFolders( resourceType, currentFolder ) - ' Map the virtual path to the local server path. - Dim sServerDir - sServerDir = ServerMapFolder( resourceType, currentFolder, "GetFolders" ) - - ' Open the "Folders" node. - Response.Write "" - - Dim oFSO, oCurrentFolder, oFolders, oFolder - Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) - if not (oFSO.FolderExists( sServerDir ) ) then - Set oFSO = Nothing - SendError 102, currentFolder - end if - - Set oCurrentFolder = oFSO.GetFolder( sServerDir ) - Set oFolders = oCurrentFolder.SubFolders - - For Each oFolder in oFolders - Response.Write "" - Next - - Set oFSO = Nothing - - ' Close the "Folders" node. - Response.Write "" -End Sub - -Sub GetFoldersAndFiles( resourceType, currentFolder ) - ' Map the virtual path to the local server path. - Dim sServerDir - sServerDir = ServerMapFolder( resourceType, currentFolder, "GetFoldersAndFiles" ) - - Dim oFSO, oCurrentFolder, oFolders, oFolder, oFiles, oFile - Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) - if not (oFSO.FolderExists( sServerDir ) ) then - Set oFSO = Nothing - SendError 102, currentFolder - end if - - Set oCurrentFolder = oFSO.GetFolder( sServerDir ) - Set oFolders = oCurrentFolder.SubFolders - Set oFiles = oCurrentFolder.Files - - ' Open the "Folders" node. - Response.Write "" - - For Each oFolder in oFolders - Response.Write "" - Next - - ' Close the "Folders" node. - Response.Write "" - - ' Open the "Files" node. - Response.Write "" - - For Each oFile in oFiles - Dim iFileSize - iFileSize = Round( oFile.size / 1024 ) - If ( iFileSize < 1 AND oFile.size <> 0 ) Then iFileSize = 1 - - Response.Write "" - Next - - ' Close the "Files" node. - Response.Write "" -End Sub - -Sub CreateFolder( resourceType, currentFolder ) - Dim sErrorNumber - - Dim sNewFolderName - sNewFolderName = Request.QueryString( "NewFolderName" ) - sNewFolderName = SanitizeFolderName( sNewFolderName ) - - If ( sNewFolderName = "" OR InStr( 1, sNewFolderName, ".." ) > 0 ) Then - sErrorNumber = "102" - Else - ' Map the virtual path to the local server path of the current folder. - Dim sServerDir - sServerDir = ServerMapFolder( resourceType, CombineLocalPaths(currentFolder, sNewFolderName), "CreateFolder" ) - - On Error Resume Next - - CreateServerFolder sServerDir - - Dim iErrNumber, sErrDescription - iErrNumber = err.number - sErrDescription = err.Description - - On Error Goto 0 - - Select Case iErrNumber - Case 0 - sErrorNumber = "0" - Case 52 - sErrorNumber = "102" ' Invalid Folder Name. - Case 70 - sErrorNumber = "103" ' Security Error. - Case 76 - sErrorNumber = "102" ' Path too long. - Case Else - sErrorNumber = "110" - End Select - End If - - ' Create the "Error" node. - Response.Write "" -End Sub - -Sub FileUpload( resourceType, currentFolder, sCommand ) - Dim oUploader - Set oUploader = New NetRube_Upload - oUploader.MaxSize = 0 - oUploader.Allowed = ConfigAllowedExtensions.Item( resourceType ) - oUploader.Denied = ConfigDeniedExtensions.Item( resourceType ) - oUploader.HtmlExtensions = ConfigHtmlExtensions - oUploader.GetData - - Dim sErrorNumber - sErrorNumber = "0" - - Dim sFileName, sOriginalFileName, sExtension - sFileName = "" - - If oUploader.ErrNum > 0 Then - sErrorNumber = "202" - Else - ' Map the virtual path to the local server path. - Dim sServerDir - sServerDir = ServerMapFolder( resourceType, currentFolder, sCommand ) - - Dim oFSO - Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) - if not (oFSO.FolderExists( sServerDir ) ) then - sErrorNumber = "102" - else - ' Get the uploaded file name. - sFileName = oUploader.File( "NewFile" ).Name - sExtension = oUploader.File( "NewFile" ).Ext - sFileName = SanitizeFileName( sFileName ) - sOriginalFileName = sFileName - - Dim iCounter - iCounter = 0 - - Do While ( True ) - Dim sFilePath - sFilePath = CombineLocalPaths(sServerDir, sFileName) - - If ( oFSO.FileExists( sFilePath ) ) Then - iCounter = iCounter + 1 - sFileName = RemoveExtension( sOriginalFileName ) & "(" & iCounter & ")." & sExtension - sErrorNumber = "201" - Else - oUploader.SaveAs "NewFile", sFilePath - If oUploader.ErrNum > 0 Then sErrorNumber = "202" - Exit Do - End If - Loop - end if - End If - - Set oUploader = Nothing - - dim sFileUrl - sFileUrl = CombinePaths( GetResourceTypePath( resourceType, sCommand ) , currentFolder ) - sFileUrl = CombinePaths( sFileUrl, sFileName ) - - SendUploadResults sErrorNumber, sFileUrl, sFileName, "" -End Sub - -%> diff --git a/include/fckeditor/editor/filemanager/connectors/asp/config.asp b/include/fckeditor/editor/filemanager/connectors/asp/config.asp deleted file mode 100644 index abc574a58..000000000 --- a/include/fckeditor/editor/filemanager/connectors/asp/config.asp +++ /dev/null @@ -1,128 +0,0 @@ -<% - ' FCKeditor - The text editor for Internet - http://www.fckeditor.net - ' Copyright (C) 2003-2008 Frederico Caldeira Knabben - ' - ' == BEGIN LICENSE == - ' - ' Licensed under the terms of any of the following licenses at your - ' choice: - ' - ' - GNU General Public License Version 2 or later (the "GPL") - ' http://www.gnu.org/licenses/gpl.html - ' - ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - ' http://www.gnu.org/licenses/lgpl.html - ' - ' - Mozilla Public License Version 1.1 or later (the "MPL") - ' http://www.mozilla.org/MPL/MPL-1.1.html - ' - ' == END LICENSE == - ' - ' Configuration file for the File Manager Connector for ASP. -%> -<% - -' SECURITY: You must explicitly enable this "connector" (set it to "True"). -' WARNING: don't just set "ConfigIsEnabled = true", you must be sure that only -' authenticated users can access this file or use some kind of session checking. -Dim ConfigIsEnabled -ConfigIsEnabled = False - -' Path to user files relative to the document root. -' This setting is preserved only for backward compatibility. -' You should look at the settings for each resource type to get the full potential -Dim ConfigUserFilesPath -ConfigUserFilesPath = "/userfiles/" - -' Due to security issues with Apache modules, it is recommended to leave the -' following setting enabled. -Dim ConfigForceSingleExtension -ConfigForceSingleExtension = true - -' What the user can do with this connector -Dim ConfigAllowedCommands -ConfigAllowedCommands = "QuickUpload|FileUpload|GetFolders|GetFoldersAndFiles|CreateFolder" - -' Allowed Resource Types -Dim ConfigAllowedTypes -ConfigAllowedTypes = "File|Image|Flash|Media" - -' For security, HTML is allowed in the first Kb of data for files having the -' following extensions only. -Dim ConfigHtmlExtensions -ConfigHtmlExtensions = "html|htm|xml|xsd|txt|js" -' -' Configuration settings for each Resource Type -' -' - AllowedExtensions: the possible extensions that can be allowed. -' If it is empty then any file type can be uploaded. -' -' - DeniedExtensions: The extensions that won't be allowed. -' If it is empty then no restrictions are done here. -' -' For a file to be uploaded it has to fulfill both the AllowedExtensions -' and DeniedExtensions (that's it: not being denied) conditions. -' -' - FileTypesPath: the virtual folder relative to the document root where -' these resources will be located. -' Attention: It must start and end with a slash: '/' -' -' - FileTypesAbsolutePath: the physical path to the above folder. It must be -' an absolute path. -' If it's an empty string then it will be autocalculated. -' Useful if you are using a virtual directory, symbolic link or alias. -' Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'. -' Attention: The above 'FileTypesPath' must point to the same directory. -' Attention: It must end with a slash: '/' -' -' - QuickUploadPath: the virtual folder relative to the document root where -' these resources will be uploaded using the Upload tab in the resources -' dialogs. -' Attention: It must start and end with a slash: '/' -' -' - QuickUploadAbsolutePath: the physical path to the above folder. It must be -' an absolute path. -' If it's an empty string then it will be autocalculated. -' Useful if you are using a virtual directory, symbolic link or alias. -' Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'. -' Attention: The above 'QuickUploadPath' must point to the same directory. -' Attention: It must end with a slash: '/' -' - -Dim ConfigAllowedExtensions, ConfigDeniedExtensions, ConfigFileTypesPath, ConfigFileTypesAbsolutePath, ConfigQuickUploadPath, ConfigQuickUploadAbsolutePath -Set ConfigAllowedExtensions = CreateObject( "Scripting.Dictionary" ) -Set ConfigDeniedExtensions = CreateObject( "Scripting.Dictionary" ) -Set ConfigFileTypesPath = CreateObject( "Scripting.Dictionary" ) -Set ConfigFileTypesAbsolutePath = CreateObject( "Scripting.Dictionary" ) -Set ConfigQuickUploadPath = CreateObject( "Scripting.Dictionary" ) -Set ConfigQuickUploadAbsolutePath = CreateObject( "Scripting.Dictionary" ) - -ConfigAllowedExtensions.Add "File", "7z|aiff|asf|avi|bmp|csv|doc|fla|flv|gif|gz|gzip|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|ods|odt|pdf|png|ppt|pxd|qt|ram|rar|rm|rmi|rmvb|rtf|sdc|sitd|swf|sxc|sxw|tar|tgz|tif|tiff|txt|vsd|wav|wma|wmv|xls|xml|zip" -ConfigDeniedExtensions.Add "File", "" -ConfigFileTypesPath.Add "File", ConfigUserFilesPath & "file/" -ConfigFileTypesAbsolutePath.Add "File", "" -ConfigQuickUploadPath.Add "File", ConfigUserFilesPath -ConfigQuickUploadAbsolutePath.Add "File", "" - -ConfigAllowedExtensions.Add "Image", "bmp|gif|jpeg|jpg|png" -ConfigDeniedExtensions.Add "Image", "" -ConfigFileTypesPath.Add "Image", ConfigUserFilesPath & "image/" -ConfigFileTypesAbsolutePath.Add "Image", "" -ConfigQuickUploadPath.Add "Image", ConfigUserFilesPath -ConfigQuickUploadAbsolutePath.Add "Image", "" - -ConfigAllowedExtensions.Add "Flash", "swf|flv" -ConfigDeniedExtensions.Add "Flash", "" -ConfigFileTypesPath.Add "Flash", ConfigUserFilesPath & "flash/" -ConfigFileTypesAbsolutePath.Add "Flash", "" -ConfigQuickUploadPath.Add "Flash", ConfigUserFilesPath -ConfigQuickUploadAbsolutePath.Add "Flash", "" - -ConfigAllowedExtensions.Add "Media", "aiff|asf|avi|bmp|fla|flv|gif|jpeg|jpg|mid|mov|mp3|mp4|mpc|mpeg|mpg|png|qt|ram|rm|rmi|rmvb|swf|tif|tiff|wav|wma|wmv" -ConfigDeniedExtensions.Add "Media", "" -ConfigFileTypesPath.Add "Media", ConfigUserFilesPath & "media/" -ConfigFileTypesAbsolutePath.Add "Media", "" -ConfigQuickUploadPath.Add "Media", ConfigUserFilesPath -ConfigQuickUploadAbsolutePath.Add "Media", "" - -%> diff --git a/include/fckeditor/editor/filemanager/connectors/asp/connector.asp b/include/fckeditor/editor/filemanager/connectors/asp/connector.asp deleted file mode 100644 index dc113a90b..000000000 --- a/include/fckeditor/editor/filemanager/connectors/asp/connector.asp +++ /dev/null @@ -1,88 +0,0 @@ -<%@ CodePage=65001 Language="VBScript"%> -<% -Option Explicit -Response.Buffer = True -%> -<% - ' FCKeditor - The text editor for Internet - http://www.fckeditor.net - ' Copyright (C) 2003-2008 Frederico Caldeira Knabben - ' - ' == BEGIN LICENSE == - ' - ' Licensed under the terms of any of the following licenses at your - ' choice: - ' - ' - GNU General Public License Version 2 or later (the "GPL") - ' http://www.gnu.org/licenses/gpl.html - ' - ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - ' http://www.gnu.org/licenses/lgpl.html - ' - ' - Mozilla Public License Version 1.1 or later (the "MPL") - ' http://www.mozilla.org/MPL/MPL-1.1.html - ' - ' == END LICENSE == - ' - ' This is the File Manager Connector for ASP. -%> - - - - - - -<% - -If ( ConfigIsEnabled = False ) Then - SendError 1, "This connector is disabled. Please check the ""editor/filemanager/connectors/asp/config.asp"" file" -End If - -DoResponse - -Sub DoResponse() - Dim sCommand, sResourceType, sCurrentFolder - - ' Get the main request information. - sCommand = Request.QueryString("Command") - - sResourceType = Request.QueryString("Type") - If ( sResourceType = "" ) Then sResourceType = "File" - - sCurrentFolder = GetCurrentFolder() - - ' Check if it is an allowed command - if ( Not IsAllowedCommand( sCommand ) ) then - SendError 1, "The """ & sCommand & """ command isn't allowed" - end if - - ' Check if it is an allowed resource type. - if ( Not IsAllowedType( sResourceType ) ) Then - SendError 1, "The """ & sResourceType & """ resource type isn't allowed" - end if - - ' File Upload doesn't have to Return XML, so it must be intercepted before anything. - If ( sCommand = "FileUpload" ) Then - FileUpload sResourceType, sCurrentFolder, sCommand - Exit Sub - End If - - SetXmlHeaders - - CreateXmlHeader sCommand, sResourceType, sCurrentFolder, GetUrlFromPath( sResourceType, sCurrentFolder, sCommand) - - ' Execute the required command. - Select Case sCommand - Case "GetFolders" - GetFolders sResourceType, sCurrentFolder - Case "GetFoldersAndFiles" - GetFoldersAndFiles sResourceType, sCurrentFolder - Case "CreateFolder" - CreateFolder sResourceType, sCurrentFolder - End Select - - CreateXmlFooter - - Response.End -End Sub - -%> diff --git a/include/fckeditor/editor/filemanager/connectors/asp/io.asp b/include/fckeditor/editor/filemanager/connectors/asp/io.asp deleted file mode 100644 index ba6315fea..000000000 --- a/include/fckeditor/editor/filemanager/connectors/asp/io.asp +++ /dev/null @@ -1,236 +0,0 @@ -<% - ' FCKeditor - The text editor for Internet - http://www.fckeditor.net - ' Copyright (C) 2003-2008 Frederico Caldeira Knabben - ' - ' == BEGIN LICENSE == - ' - ' Licensed under the terms of any of the following licenses at your - ' choice: - ' - ' - GNU General Public License Version 2 or later (the "GPL") - ' http://www.gnu.org/licenses/gpl.html - ' - ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - ' http://www.gnu.org/licenses/lgpl.html - ' - ' - Mozilla Public License Version 1.1 or later (the "MPL") - ' http://www.mozilla.org/MPL/MPL-1.1.html - ' - ' == END LICENSE == - ' - ' This file include IO specific functions used by the ASP Connector. -%> -<% -function CombinePaths( sBasePath, sFolder) - CombinePaths = RemoveFromEnd( sBasePath, "/" ) & "/" & RemoveFromStart( sFolder, "/" ) -end function - -function CombineLocalPaths( sBasePath, sFolder) - sFolder = replace(sFolder, "/", "\") - ' The RemoveFrom* functions use RegExp, so we must escape the \ - CombineLocalPaths = RemoveFromEnd( sBasePath, "\\" ) & "\" & RemoveFromStart( sFolder, "\\" ) -end function - -Function GetResourceTypePath( resourceType, sCommand ) - if ( sCommand = "QuickUpload") then - GetResourceTypePath = ConfigQuickUploadPath.Item( resourceType ) - else - GetResourceTypePath = ConfigFileTypesPath.Item( resourceType ) - end if -end Function - -Function GetResourceTypeDirectory( resourceType, sCommand ) - if ( sCommand = "QuickUpload") then - - if ( ConfigQuickUploadAbsolutePath.Item( resourceType ) <> "" ) then - GetResourceTypeDirectory = ConfigQuickUploadAbsolutePath.Item( resourceType ) - else - ' Map the "UserFiles" path to a local directory. - GetResourceTypeDirectory = Server.MapPath( ConfigQuickUploadPath.Item( resourceType ) ) - end if - else - if ( ConfigFileTypesAbsolutePath.Item( resourceType ) <> "" ) then - GetResourceTypeDirectory = ConfigFileTypesAbsolutePath.Item( resourceType ) - else - ' Map the "UserFiles" path to a local directory. - GetResourceTypeDirectory = Server.MapPath( ConfigFileTypesPath.Item( resourceType ) ) - end if - end if -end Function - -Function GetUrlFromPath( resourceType, folderPath, sCommand ) - GetUrlFromPath = CombinePaths( GetResourceTypePath( resourceType, sCommand ), folderPath ) -End Function - -Function RemoveExtension( fileName ) - RemoveExtension = Left( fileName, InStrRev( fileName, "." ) - 1 ) -End Function - -Function ServerMapFolder( resourceType, folderPath, sCommand ) - Dim sResourceTypePath - ' Get the resource type directory. - sResourceTypePath = GetResourceTypeDirectory( resourceType, sCommand ) - - ' Ensure that the directory exists. - CreateServerFolder sResourceTypePath - - ' Return the resource type directory combined with the required path. - ServerMapFolder = CombineLocalPaths( sResourceTypePath, folderPath ) -End Function - -Sub CreateServerFolder( folderPath ) - Dim oFSO - Set oFSO = Server.CreateObject( "Scripting.FileSystemObject" ) - - Dim sParent - sParent = oFSO.GetParentFolderName( folderPath ) - - ' If folderPath is a network path (\\server\folder\) then sParent is an empty string. - ' Get out. - if (sParent = "") then exit sub - - ' Check if the parent exists, or create it. - If ( NOT oFSO.FolderExists( sParent ) ) Then CreateServerFolder( sParent ) - - If ( oFSO.FolderExists( folderPath ) = False ) Then - On Error resume next - oFSO.CreateFolder( folderPath ) - - if err.number<>0 then - dim sErrorNumber - Dim iErrNumber, sErrDescription - iErrNumber = err.number - sErrDescription = err.Description - - On Error Goto 0 - - Select Case iErrNumber - Case 52 - sErrorNumber = "102" ' Invalid Folder Name. - Case 70 - sErrorNumber = "103" ' Security Error. - Case 76 - sErrorNumber = "102" ' Path too long. - Case Else - sErrorNumber = "110" - End Select - - SendError sErrorNumber, "CreateServerFolder(" & folderPath & ") : " & sErrDescription - end if - - End If - - Set oFSO = Nothing -End Sub - -Function IsAllowedExt( extension, resourceType ) - Dim oRE - Set oRE = New RegExp - oRE.IgnoreCase = True - oRE.Global = True - - Dim sAllowed, sDenied - sAllowed = ConfigAllowedExtensions.Item( resourceType ) - sDenied = ConfigDeniedExtensions.Item( resourceType ) - - IsAllowedExt = True - - If sDenied <> "" Then - oRE.Pattern = sDenied - IsAllowedExt = Not oRE.Test( extension ) - End If - - If IsAllowedExt And sAllowed <> "" Then - oRE.Pattern = sAllowed - IsAllowedExt = oRE.Test( extension ) - End If - - Set oRE = Nothing -End Function - -Function IsAllowedType( resourceType ) - Dim oRE - Set oRE = New RegExp - oRE.IgnoreCase = True - oRE.Global = True - oRE.Pattern = "^(" & ConfigAllowedTypes & ")$" - - IsAllowedType = oRE.Test( resourceType ) - - Set oRE = Nothing -End Function - -Function IsAllowedCommand( sCommand ) - Dim oRE - Set oRE = New RegExp - oRE.IgnoreCase = True - oRE.Global = True - oRE.Pattern = "^(" & ConfigAllowedCommands & ")$" - - IsAllowedCommand = oRE.Test( sCommand ) - - Set oRE = Nothing -End Function - -function GetCurrentFolder() - dim sCurrentFolder - sCurrentFolder = Request.QueryString("CurrentFolder") - If ( sCurrentFolder = "" ) Then sCurrentFolder = "/" - - ' Check the current folder syntax (must begin and start with a slash). - If ( Right( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = sCurrentFolder & "/" - If ( Left( sCurrentFolder, 1 ) <> "/" ) Then sCurrentFolder = "/" & sCurrentFolder - - ' Check for invalid folder paths (..) - If ( InStr( 1, sCurrentFolder, ".." ) <> 0 OR InStr( 1, sCurrentFolder, "\" ) <> 0) Then - SendError 102, "" - End If - - GetCurrentFolder = sCurrentFolder -end function - -' Do a cleanup of the folder name to avoid possible problems -function SanitizeFolderName( sNewFolderName ) - Dim oRegex - Set oRegex = New RegExp - oRegex.Global = True - -' remove . \ / | : ? * " < > and control characters - oRegex.Pattern = "(\.|\\|\/|\||:|\?|\*|""|\<|\>|[\u0000-\u001F]|\u007F)" - SanitizeFolderName = oRegex.Replace( sNewFolderName, "_" ) - - Set oRegex = Nothing -end function - -' Do a cleanup of the file name to avoid possible problems -function SanitizeFileName( sNewFileName ) - Dim oRegex - Set oRegex = New RegExp - oRegex.Global = True - - if ( ConfigForceSingleExtension = True ) then - oRegex.Pattern = "\.(?![^.]*$)" - sNewFileName = oRegex.Replace( sNewFileName, "_" ) - end if - -' remove \ / | : ? * " < > and control characters - oRegex.Pattern = "(\\|\/|\||:|\?|\*|""|\<|\>|[\u0000-\u001F]|\u007F)" - SanitizeFileName = oRegex.Replace( sNewFileName, "_" ) - - Set oRegex = Nothing -end function - -' This is the function that sends the results of the uploading process. -Sub SendUploadResults( errorNumber, fileUrl, fileName, customMsg ) - Response.Clear - Response.Write "" - Response.End -End Sub - -%> diff --git a/include/fckeditor/editor/filemanager/connectors/asp/upload.asp b/include/fckeditor/editor/filemanager/connectors/asp/upload.asp deleted file mode 100644 index 8fa11c2ce..000000000 --- a/include/fckeditor/editor/filemanager/connectors/asp/upload.asp +++ /dev/null @@ -1,65 +0,0 @@ -<%@ CodePage=65001 Language="VBScript"%> -<% -Option Explicit -Response.Buffer = True -%> -<% - ' FCKeditor - The text editor for Internet - http://www.fckeditor.net - ' Copyright (C) 2003-2008 Frederico Caldeira Knabben - ' - ' == BEGIN LICENSE == - ' - ' Licensed under the terms of any of the following licenses at your - ' choice: - ' - ' - GNU General Public License Version 2 or later (the "GPL") - ' http://www.gnu.org/licenses/gpl.html - ' - ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - ' http://www.gnu.org/licenses/lgpl.html - ' - ' - Mozilla Public License Version 1.1 or later (the "MPL") - ' http://www.mozilla.org/MPL/MPL-1.1.html - ' - ' == END LICENSE == - ' - ' This is the "File Uploader" for ASP. -%> - - - - - -<% - -Sub SendError( number, text ) - SendUploadResults number, "", "", text -End Sub - -' Check if this uploader has been enabled. -If ( ConfigIsEnabled = False ) Then - SendUploadResults "1", "", "", "This file uploader is disabled. Please check the ""editor/filemanager/connectors/asp/config.asp"" file" -End If - - Dim sCommand, sResourceType, sCurrentFolder - - sCommand = "QuickUpload" - - sResourceType = Request.QueryString("Type") - If ( sResourceType = "" ) Then sResourceType = "File" - - sCurrentFolder = GetCurrentFolder() - - ' Is Upload enabled? - if ( Not IsAllowedCommand( sCommand ) ) then - SendUploadResults "1", "", "", "The """ & sCommand & """ command isn't allowed" - end if - - ' Check if it is an allowed resource type. - if ( Not IsAllowedType( sResourceType ) ) Then - SendUploadResults "1", "", "", "The " & sResourceType & " resource type isn't allowed" - end if - - FileUpload sResourceType, sCurrentFolder, sCommand - -%> diff --git a/include/fckeditor/editor/filemanager/connectors/asp/util.asp b/include/fckeditor/editor/filemanager/connectors/asp/util.asp deleted file mode 100644 index ba414f591..000000000 --- a/include/fckeditor/editor/filemanager/connectors/asp/util.asp +++ /dev/null @@ -1,55 +0,0 @@ -<% - ' FCKeditor - The text editor for Internet - http://www.fckeditor.net - ' Copyright (C) 2003-2008 Frederico Caldeira Knabben - ' - ' == BEGIN LICENSE == - ' - ' Licensed under the terms of any of the following licenses at your - ' choice: - ' - ' - GNU General Public License Version 2 or later (the "GPL") - ' http://www.gnu.org/licenses/gpl.html - ' - ' - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - ' http://www.gnu.org/licenses/lgpl.html - ' - ' - Mozilla Public License Version 1.1 or later (the "MPL") - ' http://www.mozilla.org/MPL/MPL-1.1.html - ' - ' == END LICENSE == - ' - ' This file include generic functions used by the ASP Connector. -%> -<% -Function RemoveFromStart( sourceString, charToRemove ) - Dim oRegex - Set oRegex = New RegExp - oRegex.Pattern = "^" & charToRemove & "+" - - RemoveFromStart = oRegex.Replace( sourceString, "" ) -End Function - -Function RemoveFromEnd( sourceString, charToRemove ) - Dim oRegex - Set oRegex = New RegExp - oRegex.Pattern = charToRemove & "+$" - - RemoveFromEnd = oRegex.Replace( sourceString, "" ) -End Function - -Function ConvertToXmlAttribute( value ) - ConvertToXmlAttribute = Replace( value, "&", "&" ) -End Function - -Function InArray( value, sourceArray ) - Dim i - For i = 0 to UBound( sourceArray ) - If sourceArray(i) = value Then - InArray = True - Exit Function - End If - Next - InArray = False -End Function - -%> diff --git a/include/fckeditor/editor/filemanager/connectors/aspx/config.ascx b/include/fckeditor/editor/filemanager/connectors/aspx/config.ascx deleted file mode 100644 index fafd7d70a..000000000 --- a/include/fckeditor/editor/filemanager/connectors/aspx/config.ascx +++ /dev/null @@ -1,98 +0,0 @@ -<%@ Control Language="C#" EnableViewState="false" AutoEventWireup="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Config" %> -<%-- - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Configuration file for the File Browser Connector for ASP.NET. ---%> - diff --git a/include/fckeditor/editor/filemanager/connectors/aspx/connector.aspx b/include/fckeditor/editor/filemanager/connectors/aspx/connector.aspx deleted file mode 100644 index 8f27ade79..000000000 --- a/include/fckeditor/editor/filemanager/connectors/aspx/connector.aspx +++ /dev/null @@ -1,32 +0,0 @@ -<%@ Page Language="c#" Trace="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Connector" AutoEventWireup="false" %> -<%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %> -<%-- - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * This is the File Browser Connector for ASP.NET. - * - * The code of this page if included in the FCKeditor.Net package, - * in the FredCK.FCKeditorV2.dll assembly file. So to use it you must - * include that DLL in your "bin" directory. - * - * To download the FCKeditor.Net package, go to our official web site: - * http://www.fckeditor.net ---%> - diff --git a/include/fckeditor/editor/filemanager/connectors/aspx/upload.aspx b/include/fckeditor/editor/filemanager/connectors/aspx/upload.aspx deleted file mode 100644 index 4c295cdc1..000000000 --- a/include/fckeditor/editor/filemanager/connectors/aspx/upload.aspx +++ /dev/null @@ -1,32 +0,0 @@ -<%@ Page Language="c#" Trace="false" Inherits="FredCK.FCKeditorV2.FileBrowser.Uploader" AutoEventWireup="false" %> -<%@ Register Src="config.ascx" TagName="Config" TagPrefix="FCKeditor" %> -<%-- - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * This is the Uploader for ASP.NET. - * - * The code of this page if included in the FCKeditor.Net package, - * in the FredCK.FCKeditorV2.dll assemblyfile. So to use it you must - * include that DLL in your "bin" directory. - * - * To download the FCKeditor.Net package, go to our official web site: - * http://www.fckeditor.net ---%> - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/ImageObject.cfc b/include/fckeditor/editor/filemanager/connectors/cfm/ImageObject.cfc deleted file mode 100644 index b9b919c77..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/ImageObject.cfc +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm deleted file mode 100644 index ce21a3adc..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/cf5_connector.cfm +++ /dev/null @@ -1,315 +0,0 @@ - - - - - - - - - - - - userFilesPath = config.userFilesPath; - - if ( userFilesPath eq "" ) - { - userFilesPath = "/userfiles/"; - } - - // make sure the user files path is correctly formatted - userFilesPath = replace(userFilesPath, "\", "/", "ALL"); - userFilesPath = replace(userFilesPath, '//', '/', 'ALL'); - if ( right(userFilesPath,1) NEQ "/" ) - { - userFilesPath = userFilesPath & "/"; - } - if ( left(userFilesPath,1) NEQ "/" ) - { - userFilesPath = "/" & userFilesPath; - } - - // make sure the current folder is correctly formatted - url.currentFolder = replace(url.currentFolder, "\", "/", "ALL"); - url.currentFolder = replace(url.currentFolder, '//', '/', 'ALL'); - if ( right(url.currentFolder,1) neq "/" ) - { - url.currentFolder = url.currentFolder & "/"; - } - if ( left(url.currentFolder,1) neq "/" ) - { - url.currentFolder = "/" & url.currentFolder; - } - - if ( find("/",getBaseTemplatePath()) neq 0 ) - { - fs = "/"; - } - else - { - fs = "\"; - } - - // Get the base physical path to the web root for this application. The code to determine the path automatically assumes that - // the "FCKeditor" directory in the http request path is directly off the web root for the application and that it's not a - // virtual directory or a symbolic link / junction. Use the serverPath config setting to force a physical path if necessary. - if ( len(config.serverPath) ) - { - serverPath = config.serverPath; - - if ( right(serverPath,1) neq fs ) - { - serverPath = serverPath & fs; - } - } - else - { - serverPath = replaceNoCase(getBaseTemplatePath(),replace(cgi.script_name,"/",fs,"all"),"") & replace(userFilesPath,"/",fs,"all"); - } - - rootPath = left( serverPath, Len(serverPath) - Len(userFilesPath) ) ; - xmlContent = ""; // append to this string to build content - - - - - - - - - - - - - - - - - - - - - - - - "> - - - - "> - - - - '> - - - - '> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i=1; - folders = ""; - while( i lte qDir.recordCount ) { - if( not compareNoCase( qDir.type[i], "FILE" )) - break; - if( not listFind(".,..", qDir.name[i]) ) - folders = folders & ''; - i=i+1; - } - - xmlContent = xmlContent & '' & folders & ''; - - - - - - - - - - - - i=1; - folders = ""; - files = ""; - while( i lte qDir.recordCount ) { - if( not compareNoCase( qDir.type[i], "DIR" ) and not listFind(".,..", qDir.name[i]) ) { - folders = folders & ''; - } else if( not compareNoCase( qDir.type[i], "FILE" ) ) { - fileSizeKB = round(qDir.size[i] / 1024); - files = files & ''; - } - i=i+1; - } - - xmlContent = xmlContent & '' & folders & ''; - xmlContent = xmlContent & '' & files & ''; - - - - - - - - - - - newFolderName = url.newFolderName; - if( reFind("[^A-Za-z0-9_\-\.]", newFolderName) ) { - // Munge folder name same way as we do the filename - // This means folder names are always US-ASCII so we don't have to worry about CF5 and UTF-8 - newFolderName = reReplace(newFolderName, "[^A-Za-z0-9\-\.]", "_", "all"); - newFolderName = reReplace(newFolderName, "_{2,}", "_", "all"); - newFolderName = reReplace(newFolderName, "([^_]+)_+$", "\1", "all"); - newFolderName = reReplace(newFolderName, "$_([^_]+)$", "\1", "all"); - } - - - - - - - - - - - - - - - - - - - - - '> - - - - - - - - - - - - xmlHeader = ''; - xmlHeader = xmlHeader & ''; - xmlFooter = ''; - - - - - - -#xmlHeader##xmlContent##xmlFooter# diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm deleted file mode 100644 index daebaf0d2..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/cf5_upload.cfm +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - - - - - - - function SendUploadResults(errorNumber, fileUrl, fileName, customMsg) - { - WriteOutput(''); - } - - - - - - - - - - - - - - - - - - - - - - - - userFilesPath = config.userFilesPath; - - if ( userFilesPath eq "" ) { - userFilesPath = "/userfiles/"; - } - - // make sure the user files path is correctly formatted - userFilesPath = replace(userFilesPath, "\", "/", "ALL"); - userFilesPath = replace(userFilesPath, '//', '/', 'ALL'); - if ( right(userFilesPath,1) NEQ "/" ) { - userFilesPath = userFilesPath & "/"; - } - if ( left(userFilesPath,1) NEQ "/" ) { - userFilesPath = "/" & userFilesPath; - } - - // make sure the current folder is correctly formatted - url.currentFolder = replace(url.currentFolder, "\", "/", "ALL"); - url.currentFolder = replace(url.currentFolder, '//', '/', 'ALL'); - if ( right(url.currentFolder,1) neq "/" ) { - url.currentFolder = url.currentFolder & "/"; - } - if ( left(url.currentFolder,1) neq "/" ) { - url.currentFolder = "/" & url.currentFolder; - } - - if (find("/",getBaseTemplatePath())) { - fs = "/"; - } else { - fs = "\"; - } - - // Get the base physical path to the web root for this application. The code to determine the path automatically assumes that - // the "FCKeditor" directory in the http request path is directly off the web root for the application and that it's not a - // virtual directory or a symbolic link / junction. Use the serverPath config setting to force a physical path if necessary. - if ( len(config.serverPath) ) { - serverPath = config.serverPath; - - if ( right(serverPath,1) neq fs ) { - serverPath = serverPath & fs; - } - } else { - serverPath = replaceNoCase(getBaseTemplatePath(),replace(cgi.script_name,"/",fs,"all"),"") & replace(userFilesPath,"/",fs,"all"); - } - - rootPath = left( serverPath, Len(serverPath) - Len(userFilesPath) ) ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - errorNumber = 0; - fileName = cffile.ClientFileName ; - fileExt = cffile.ServerFileExt ; - fileExisted = false ; - - // munge filename for html download. Only a-z, 0-9, _, - and . are allowed - if( reFind("[^A-Za-z0-9_\-\.]", fileName) ) { - fileName = reReplace(fileName, "[^A-Za-z0-9\-\.]", "_", "ALL"); - fileName = reReplace(fileName, "_{2,}", "_", "ALL"); - fileName = reReplace(fileName, "([^_]+)_+$", "\1", "ALL"); - fileName = reReplace(fileName, "$_([^_]+)$", "\1", "ALL"); - } - - // remove additional dots from file name - if( isDefined("Config.ForceSingleExtension") and Config.ForceSingleExtension ) - fileName = replace( fileName, '.', "_", "all" ) ; - - // When the original filename already exists, add numbers (0), (1), (2), ... at the end of the filename. - if( compare( cffile.ServerFileName, fileName ) ) { - counter = 0; - tmpFileName = fileName; - while( fileExists("#currentFolderPath##fileName#.#fileExt#") ) { - fileExisted = true ; - counter = counter + 1 ; - fileName = tmpFileName & '(#counter#)' ; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm deleted file mode 100644 index 61a784cc9..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/cf_basexml.cfm +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/cf_commands.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/cf_commands.cfm deleted file mode 100644 index 2a900ce1a..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/cf_commands.cfm +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sFileExt = GetExtension( sFileName ) ; - sFilePart = RemoveExtension( sFileName ); - while( fileExists( sServerDir & sFileName ) ) - { - counter = counter + 1; - sFileName = sFilePart & '(#counter#).' & CFFILE.ClientFileExt; - errorNumber = 201; - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - while( i lte qDir.recordCount ) - { - if( compareNoCase( qDir.type[i], "FILE" ) and not listFind( ".,..", qDir.name[i] ) ) - { - folders = folders & '' ; - } - i = i + 1; - } - - #folders# - - - - - - - - - - - - - - - - while( i lte qDir.recordCount ) - { - if( not compareNoCase( qDir.type[i], "DIR" ) and not listFind( ".,..", qDir.name[i] ) ) - { - folders = folders & '' ; - } - else if( not compareNoCase( qDir.type[i], "FILE" ) ) - { - fileSizeKB = round(qDir.size[i] / 1024) ; - files = files & '' ; - } - i = i + 1 ; - } - - #folders# - #files# - - - - - - - - - - - - - - - - sNewFolderName = SanitizeFolderName( sNewFolderName ) ; - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/cf_connector.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/cf_connector.cfm deleted file mode 100644 index 8bd1e7558..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/cf_connector.cfm +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/cf_io.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/cf_io.cfm deleted file mode 100644 index e07e4dfb9..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/cf_io.cfm +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +|[[:cntrl:]]+', "_", "all" )> - - - - - - - - - - var chunk = ""; - var fileReaderClass = ""; - var fileReader = ""; - var file = ""; - var done = false; - var counter = 0; - var byteArray = ""; - - if( not fileExists( ARGUMENTS.fileName ) ) - { - return "" ; - } - - if (REQUEST.CFVersion gte 8) - { - file = FileOpen( ARGUMENTS.fileName, "readbinary" ) ; - byteArray = FileRead( file, 1024 ) ; - chunk = toString( toBinary( toBase64( byteArray ) ) ) ; - FileClose( file ) ; - } - else - { - fileReaderClass = createObject("java", "java.io.FileInputStream"); - fileReader = fileReaderClass.init(fileName); - - while(not done) - { - char = fileReader.read(); - counter = counter + 1; - if ( char eq -1 or counter eq ARGUMENTS.bytes) - { - done = true; - } - else - { - chunk = chunk & chr(char) ; - } - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - +|[[:cntrl:]]+', "_", "all" )> - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/cf_upload.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/cf_upload.cfm deleted file mode 100644 index 9bef3c40a..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/cf_upload.cfm +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/cf_util.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/cf_util.cfm deleted file mode 100644 index 3b8b9b117..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/cf_util.cfm +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/config.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/config.cfm deleted file mode 100644 index f4b908616..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/config.cfm +++ /dev/null @@ -1,189 +0,0 @@ - - - - - Config = StructNew() ; - - // SECURITY: You must explicitly enable this "connector". (Set enabled to "true") - Config.Enabled = false ; - - - // Path to uploaded files relative to the document root. - Config.UserFilesPath = "/userfiles/" ; - - // Use this to force the server path if FCKeditor is not running directly off - // the root of the application or the FCKeditor directory in the URL is a virtual directory - // or a symbolic link / junction - // Example: C:\inetpub\wwwroot\myDocs\ - Config.ServerPath = "" ; - - // Due to security issues with Apache modules, it is recommended to leave the - // following setting enabled. - Config.ForceSingleExtension = true ; - - // Perform additional checks for image files - if set to true, validate image size - // (This feature works in MX 6.0 and above) - Config.SecureImageUploads = true; - - // What the user can do with this connector - Config.ConfigAllowedCommands = "QuickUpload,FileUpload,GetFolders,GetFoldersAndFiles,CreateFolder" ; - - //Allowed Resource Types - Config.ConfigAllowedTypes = "File,Image,Flash,Media" ; - - // For security, HTML is allowed in the first Kb of data for files having the - // following extensions only. - // (This feature works in MX 6.0 and above)) - Config.HtmlExtensions = "html,htm,xml,xsd,txt,js" ; - - //Due to known issues with GetTempDirectory function, it is - //recommended to set this vairiable to a valid directory - //instead of using the GetTempDirectory function - //(used by MX 6.0 and above) - Config.TempDirectory = GetTempDirectory(); - -// Configuration settings for each Resource Type -// -// - AllowedExtensions: the possible extensions that can be allowed. -// If it is empty then any file type can be uploaded. -// - DeniedExtensions: The extensions that won't be allowed. -// If it is empty then no restrictions are done here. -// -// For a file to be uploaded it has to fulfill both the AllowedExtensions -// and DeniedExtensions (that's it: not being denied) conditions. -// -// - FileTypesPath: the virtual folder relative to the document root where -// these resources will be located. -// Attention: It must start and end with a slash: '/' -// -// - FileTypesAbsolutePath: the physical path to the above folder. It must be -// an absolute path. -// If it's an empty string then it will be autocalculated. -// Usefull if you are using a virtual directory, symbolic link or alias. -// Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'. -// Attention: The above 'FileTypesPath' must point to the same directory. -// Attention: It must end with a slash: '/' -// -// -// - QuickUploadPath: the virtual folder relative to the document root where -// these resources will be uploaded using the Upload tab in the resources -// dialogs. -// Attention: It must start and end with a slash: '/' -// -// - QuickUploadAbsolutePath: the physical path to the above folder. It must be -// an absolute path. -// If it's an empty string then it will be autocalculated. -// Usefull if you are using a virtual directory, symbolic link or alias. -// Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'. -// Attention: The above 'QuickUploadPath' must point to the same directory. -// Attention: It must end with a slash: '/' - - Config.AllowedExtensions = StructNew() ; - Config.DeniedExtensions = StructNew() ; - Config.FileTypesPath = StructNew() ; - Config.FileTypesAbsolutePath = StructNew() ; - Config.QuickUploadPath = StructNew() ; - Config.QuickUploadAbsolutePath = StructNew() ; - - Config.AllowedExtensions["File"] = "7z,aiff,asf,avi,bmp,csv,doc,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xml,zip" ; - Config.DeniedExtensions["File"] = "" ; - Config.FileTypesPath["File"] = Config.UserFilesPath & 'file/' ; - Config.FileTypesAbsolutePath["File"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'file/') ) ; - Config.QuickUploadPath["File"] = Config.FileTypesPath["File"] ; - Config.QuickUploadAbsolutePath["File"] = Config.FileTypesAbsolutePath["File"] ; - - Config.AllowedExtensions["Image"] = "bmp,gif,jpeg,jpg,png" ; - Config.DeniedExtensions["Image"] = "" ; - Config.FileTypesPath["Image"] = Config.UserFilesPath & 'image/' ; - Config.FileTypesAbsolutePath["Image"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'image/') ) ; - Config.QuickUploadPath["Image"] = Config.FileTypesPath["Image"] ; - Config.QuickUploadAbsolutePath["Image"] = Config.FileTypesAbsolutePath["Image"] ; - - Config.AllowedExtensions["Flash"] = "swf,flv" ; - Config.DeniedExtensions["Flash"] = "" ; - Config.FileTypesPath["Flash"] = Config.UserFilesPath & 'flash/' ; - Config.FileTypesAbsolutePath["Flash"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'flash/') ) ; - Config.QuickUploadPath["Flash"] = Config.FileTypesPath["Flash"] ; - Config.QuickUploadAbsolutePath["Flash"] = Config.FileTypesAbsolutePath["Flash"] ; - - Config.AllowedExtensions["Media"] = "aiff,asf,avi,bmp,fla,flv,gif,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,png,qt,ram,rm,rmi,rmvb,swf,tif,tiff,wav,wma,wmv" ; - Config.DeniedExtensions["Media"] = "" ; - Config.FileTypesPath["Media"] = Config.UserFilesPath & 'media/' ; - Config.FileTypesAbsolutePath["Media"] = iif( Config.ServerPath eq "", de(""), de(Config.ServerPath & 'media/') ) ; - Config.QuickUploadPath["Media"] = Config.FileTypesPath["Media"] ; - Config.QuickUploadAbsolutePath["Media"] = Config.FileTypesAbsolutePath["Media"] ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - function structCopyKeys(stFrom, stTo) { - for ( key in stFrom ) { - if ( isStruct(stFrom[key]) ) { - structCopyKeys(stFrom[key],stTo[key]); - } else { - stTo[key] = stFrom[key]; - } - } - } - structCopyKeys(FCKeditor, config); - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/connector.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/connector.cfm deleted file mode 100644 index 342e449c6..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/connector.cfm +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/image.cfc b/include/fckeditor/editor/filemanager/connectors/cfm/image.cfc deleted file mode 100644 index 378c4b4b9..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/image.cfc +++ /dev/null @@ -1,1324 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - paths = arrayNew(1); - paths[1] = expandPath("metadata-extractor-2.3.1.jar"); - loader = createObject("component", "javaloader.JavaLoader").init(paths); - - //at this stage we only have access to the class, but we don't have an instance - JpegMetadataReader = loader.create("com.drew.imaging.jpeg.JpegMetadataReader"); - - myMetaData = JpegMetadataReader.readMetadata(inFile); - directories = myMetaData.getDirectoryIterator(); - while (directories.hasNext()) { - currentDirectory = directories.next(); - tags = currentDirectory.getTagIterator(); - while (tags.hasNext()) { - currentTag = tags.next(); - if (currentTag.getTagName() DOES NOT CONTAIN "Unknown") { //leave out the junk data - queryAddRow(retQry); - querySetCell(retQry,"dirName",replace(currentTag.getDirectoryName(),' ','_','ALL')); - tagName = replace(currentTag.getTagName(),' ','','ALL'); - tagName = replace(tagName,'/','','ALL'); - querySetCell(retQry,"tagName",tagName); - querySetCell(retQry,"tagValue",currentTag.getDescription()); - } - } - } - return retQry; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - resizedImage = CreateObject("java", "java.awt.image.BufferedImage"); - at = CreateObject("java", "java.awt.geom.AffineTransform"); - op = CreateObject("java", "java.awt.image.AffineTransformOp"); - - w = img.getWidth(); - h = img.getHeight(); - - if (preserveAspect and cropToExact and newHeight gt 0 and newWidth gt 0) - { - if (w / h gt newWidth / newHeight){ - newWidth = 0; - } else if (w / h lt newWidth / newHeight){ - newHeight = 0; - } - } else if (preserveAspect and newHeight gt 0 and newWidth gt 0) { - if (w / h gt newWidth / newHeight){ - newHeight = 0; - } else if (w / h lt newWidth / newHeight){ - newWidth = 0; - } - } - if (newWidth gt 0 and newHeight eq 0) { - scale = newWidth / w; - w = newWidth; - h = round(h*scale); - } else if (newHeight gt 0 and newWidth eq 0) { - scale = newHeight / h; - h = newHeight; - w = round(w*scale); - } else if (newHeight gt 0 and newWidth gt 0) { - w = newWidth; - h = newHeight; - } else { - retVal = throw( retVal.errorMessage); - return retVal; - } - resizedImage.init(javacast("int",w),javacast("int",h),img.getType()); - - w = w / img.getWidth(); - h = h / img.getHeight(); - - - - op.init(at.getScaleInstance(javacast("double",w),javacast("double",h)), rh); - // resizedImage = op.createCompatibleDestImage(img, img.getColorModel()); - op.filter(img, resizedImage); - - imgInfo = getimageinfo(resizedImage, ""); - if (imgInfo.errorCode gt 0) - { - return imgInfo; - } - - cropOffsetX = max( Int( (imgInfo.width/2) - (newWidth/2) ), 0 ); - cropOffsetY = max( Int( (imgInfo.height/2) - (newHeight/2) ), 0 ); - // There is a chance that the image is exactly the correct - // width and height and don't need to be cropped - if - ( - preserveAspect and cropToExact - and - (imgInfo.width IS NOT specifiedWidth OR imgInfo.height IS NOT specifiedHeight) - ) - { - // Get the correct offset to get the center of the image - cropOffsetX = max( Int( (imgInfo.width/2) - (specifiedWidth/2) ), 0 ); - cropOffsetY = max( Int( (imgInfo.height/2) - (specifiedHeight/2) ), 0 ); - - cropImageResult = crop( resizedImage, "", "", cropOffsetX, cropOffsetY, specifiedWidth, specifiedHeight ); - if ( cropImageResult.errorCode GT 0) - { - return cropImageResult; - } else { - resizedImage = cropImageResult.img; - } - } - if (outputFile eq "") - { - retVal.img = resizedImage; - return retVal; - } else { - saveImage = writeImage(outputFile, resizedImage, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (fromX + newWidth gt img.getWidth() - OR - fromY + newHeight gt img.getHeight() - ) - { - retval = throw( "The cropped image dimensions go beyond the original image dimensions."); - return retVal; - } - croppedImage = img.getSubimage(javaCast("int", fromX), javaCast("int", fromY), javaCast("int", newWidth), javaCast("int", newHeight) ); - if (outputFile eq "") - { - retVal.img = croppedImage; - return retVal; - } else { - saveImage = writeImage(outputFile, croppedImage, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - rotatedImage = CreateObject("java", "java.awt.image.BufferedImage"); - at = CreateObject("java", "java.awt.geom.AffineTransform"); - op = CreateObject("java", "java.awt.image.AffineTransformOp"); - - iw = img.getWidth(); h = iw; - ih = img.getHeight(); w = ih; - - if(arguments.degrees eq 180) { w = iw; h = ih; } - - x = (w/2)-(iw/2); - y = (h/2)-(ih/2); - - rotatedImage.init(javacast("int",w),javacast("int",h),img.getType()); - - at.rotate(arguments.degrees * 0.0174532925,w/2,h/2); - at.translate(x,y); - op.init(at, rh); - - op.filter(img, rotatedImage); - - if (outputFile eq "") - { - retVal.img = rotatedImage; - return retVal; - } else { - saveImage = writeImage(outputFile, rotatedImage, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - if (outputFile eq "") - { - retVal = throw( "The convert method requires a valid output filename."); - return retVal; - } else { - saveImage = writeImage(outputFile, img, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /* - JPEG output method handles compression - */ - out = createObject("java", "java.io.BufferedOutputStream"); - fos = createObject("java", "java.io.FileOutputStream"); - fos.init(tempOutputFile); - out.init(fos); - JPEGCodec = createObject("java", "com.sun.image.codec.jpeg.JPEGCodec"); - encoder = JPEGCodec.createJPEGEncoder(out); - param = encoder.getDefaultJPEGEncodeParam(img); - param.setQuality(quality, false); - encoder.setJPEGEncodeParam(param); - encoder.encode(img); - out.close(); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - flippedImage = CreateObject("java", "java.awt.image.BufferedImage"); - at = CreateObject("java", "java.awt.geom.AffineTransform"); - op = CreateObject("java", "java.awt.image.AffineTransformOp"); - - flippedImage.init(img.getWidth(), img.getHeight(), img.getType()); - - if (direction eq "horizontal") { - at = at.getScaleInstance(-1, 1); - at.translate(-img.getWidth(), 0); - } else { - at = at.getScaleInstance(1,-1); - at.translate(0, -img.getHeight()); - } - op.init(at, rh); - op.filter(img, flippedImage); - - if (outputFile eq "") - { - retVal.img = flippedImage; - return retVal; - } else { - saveImage = writeImage(outputFile, flippedImage, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // initialize the blur filter - variables.blurFilter.init(arguments.blurAmount); - // move the source image into the destination image - // so we can repeatedly blur it. - destImage = srcImage; - - for (i=1; i lte iterations; i=i+1) - { - // do the blur i times - destImage = variables.blurFilter.filter(destImage); - } - - - if (outputFile eq "") - { - // return the image object - retVal.img = destImage; - return retVal; - } else { - // write the image object to the specified file. - saveImage = writeImage(outputFile, destImage, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // initialize the sharpen filter - variables.sharpenFilter.init(); - - destImage = variables.sharpenFilter.filter(srcImage); - - - if (outputFile eq "") - { - // return the image object - retVal.img = destImage; - return retVal; - } else { - // write the image object to the specified file. - saveImage = writeImage(outputFile, destImage, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // initialize the posterize filter - variables.posterizeFilter.init(arguments.amount); - - destImage = variables.posterizeFilter.filter(srcImage); - - - if (outputFile eq "") - { - // return the image object - retVal.img = destImage; - return retVal; - } else { - // write the image object to the specified file. - saveImage = writeImage(outputFile, destImage, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // load objects - bgImage = CreateObject("java", "java.awt.image.BufferedImage"); - fontImage = CreateObject("java", "java.awt.image.BufferedImage"); - overlayImage = CreateObject("java", "java.awt.image.BufferedImage"); - Color = CreateObject("java","java.awt.Color"); - font = createObject("java","java.awt.Font"); - font_stream = createObject("java","java.io.FileInputStream"); - ac = CreateObject("Java", "java.awt.AlphaComposite"); - - // set up basic needs - fontColor = Color.init(javacast("int", rgb.red), javacast("int", rgb.green), javacast("int", rgb.blue)); - - if (fontDetails.fontFile neq "") - { - font_stream.init(arguments.fontDetails.fontFile); - font = font.createFont(font.TRUETYPE_FONT, font_stream); - font = font.deriveFont(javacast("float",arguments.fontDetails.size)); - } else { - font.init(fontDetails.fontName, evaluate(fontDetails.style), fontDetails.size); - } - // get font metrics using a 1x1 bufferedImage - fontImage.init(1,1,img.getType()); - g2 = fontImage.createGraphics(); - g2.setRenderingHints(getRenderingHints()); - fc = g2.getFontRenderContext(); - bounds = font.getStringBounds(content,fc); - - g2 = img.createGraphics(); - g2.setRenderingHints(getRenderingHints()); - g2.setFont(font); - g2.setColor(fontColor); - // in case you want to change the alpha - // g2.setComposite(ac.getInstance(ac.SRC_OVER, 0.50)); - - // the location (arguments.fontDetails.size+y) doesn't really work - // the way I want it to. - g2.drawString(content,javacast("int",x),javacast("int",arguments.fontDetails.size+y)); - - if (outputFile eq "") - { - retVal.img = img; - return retVal; - } else { - saveImage = writeImage(outputFile, img, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - at = CreateObject("java", "java.awt.geom.AffineTransform"); - op = CreateObject("java", "java.awt.image.AffineTransformOp"); - ac = CreateObject("Java", "java.awt.AlphaComposite"); - gfx = originalImage.getGraphics(); - gfx.setComposite(ac.getInstance(ac.SRC_OVER, alpha)); - - at.init(); - // op.init(at,op.TYPE_BILINEAR); - op.init(at, rh); - - gfx.drawImage(wmImage, op, javaCast("int",arguments.placeAtX), javacast("int", arguments.placeAtY)); - - gfx.dispose(); - - if (outputFile eq "") - { - retVal.img = originalImage; - return retVal; - } else { - saveImage = writeImage(outputFile, originalImage, jpegCompression); - if (saveImage.errorCode gt 0) - { - return saveImage; - } else { - return retVal; - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // convert the image to a specified BufferedImage type and return it - - var width = bImage.getWidth(); - var height = bImage.getHeight(); - var newImage = createObject("java","java.awt.image.BufferedImage").init(javacast("int",width), javacast("int",height), javacast("int",type)); - // int[] rgbArray = new int[width*height]; - var rgbArray = variables.arrObj.newInstance(variables.intClass, javacast("int",width*height)); - - bImage.getRGB( - javacast("int",0), - javacast("int",0), - javacast("int",width), - javacast("int",height), - rgbArray, - javacast("int",0), - javacast("int",width) - ); - newImage.setRGB( - javacast("int",0), - javacast("int",0), - javacast("int",width), - javacast("int",height), - rgbArray, - javacast("int",0), - javacast("int",width) - ); - return newImage; - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/cfm/upload.cfm b/include/fckeditor/editor/filemanager/connectors/cfm/upload.cfm deleted file mode 100644 index 0da40ae70..000000000 --- a/include/fckeditor/editor/filemanager/connectors/cfm/upload.cfm +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - diff --git a/include/fckeditor/editor/filemanager/connectors/lasso/config.lasso b/include/fckeditor/editor/filemanager/connectors/lasso/config.lasso deleted file mode 100644 index da683cbe6..000000000 --- a/include/fckeditor/editor/filemanager/connectors/lasso/config.lasso +++ /dev/null @@ -1,65 +0,0 @@ -[//lasso -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Configuration file for the File Manager Connector for Lasso. - */ - - /*..................................................................... - The connector uses the file tags, which require authentication. Enter a - valid username and password from Lasso admin for a group with file tags - permissions for uploads and the path you define in UserFilesPath below. - */ - - var('connection') = array( - -username='xxxxxxxx', - -password='xxxxxxxx' - ); - - - /*..................................................................... - Set the base path for files that users can upload and browse (relative - to server root). - - Set which file extensions are allowed and/or denied for each file type. - */ - var('config') = map( - 'Enabled' = false, - 'UserFilesPath' = '/userfiles/', - 'Subdirectories' = map( - 'File' = 'File/', - 'Image' = 'Image/', - 'Flash' = 'Flash/', - 'Media' = 'Media/' - ), - 'AllowedExtensions' = map( - 'File' = array('7z','aiff','asf','avi','bmp','csv','doc','fla','flv','gif','gz','gzip','jpeg','jpg','mid','mov','mp3','mp4','mpc','mpeg','mpg','ods','odt','pdf','png','ppt','pxd','qt','ram','rar','rm','rmi','rmvb','rtf','sdc','sitd','swf','sxc','sxw','tar','tgz','tif','tiff','txt','vsd','wav','wma','wmv','xls','xml','zip'), - 'Image' = array('bmp','gif','jpeg','jpg','png'), - 'Flash' = array('swf','flv'), - 'Media' = array('aiff','asf','avi','bmp','fla','flv','gif','jpeg','jpg','mid','mov','mp3','mp4','mpc','mpeg','mpg','png','qt','ram','rm','rmi','rmvb','swf','tif','tiff','wav','wma','wmv') - ), - 'DeniedExtensions' = map( - 'File' = array(), - 'Image' = array(), - 'Flash' = array(), - 'Media' = array() - ) - ); -] diff --git a/include/fckeditor/editor/filemanager/connectors/lasso/connector.lasso b/include/fckeditor/editor/filemanager/connectors/lasso/connector.lasso deleted file mode 100644 index 96d0db0bc..000000000 --- a/include/fckeditor/editor/filemanager/connectors/lasso/connector.lasso +++ /dev/null @@ -1,322 +0,0 @@ -[//lasso -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * This is the File Manager Connector for Lasso. - */ - - /*..................................................................... - Include global configuration. See config.lasso for details. - */ - include('config.lasso'); - - - /*..................................................................... - Translate current date/time to GMT for custom header. - */ - var('headerDate') = date_localtogmt(date)->format('%a, %d %b %Y %T GMT'); - - - /*..................................................................... - Convert query string parameters to variables and initialize output. - */ - var( - 'Command' = action_param('Command'), - 'Type' = action_param('Type'), - 'CurrentFolder' = action_param('CurrentFolder'), - 'ServerPath' = action_param('ServerPath'), - 'NewFolderName' = action_param('NewFolderName'), - 'NewFile' = null, - 'NewFileName' = string, - 'OrigFilePath' = string, - 'NewFilePath' = string, - 'commandData' = string, - 'folders' = '\t\n', - 'files' = '\t\n', - 'errorNumber' = integer, - 'responseType' = 'xml', - 'uploadResult' = '0' - ); - - /*..................................................................... - Custom tag sets the HTML response. - */ - - define_tag( - 'htmlreply', - -namespace='fck_', - -priority='replace', - -required='uploadResult', - -optional='NewFilePath', - -type='string', - -description='Sets the HTML response for the FCKEditor File Upload feature.' - ); - $__html_reply__ = '\ - - '; - else; - $__html_reply__ = $__html_reply__ + '\ - window.parent.OnUploadCompleted(' + $uploadResult + '); - - '; - /if; - /define_tag; - - - /*..................................................................... - Calculate the path to the current folder. - */ - $ServerPath == '' ? $ServerPath = $config->find('UserFilesPath'); - - var('currentFolderURL' = $ServerPath - + $config->find('Subdirectories')->find(action_param('Type')) - + $CurrentFolder - ); - - if($CurrentFolder->(Find: '..') || $CurrentFolder->(Find: '\\')); - if($Command == 'FileUpload'); - $responseType = 'html'; - $uploadResult = '102'; - fck_htmlreply( - -uploadResult=$uploadResult - ); - else; - $errorNumber = 102; - $commandData += '\n'; - /if; - else; - - /*..................................................................... - Build the appropriate response per the 'Command' parameter. Wrap the - entire process in an inline for file tag permissions. - */ - inline($connection); - select($Command); - /*............................................................. - List all subdirectories in the 'Current Folder' directory. - */ - case('GetFolders'); - $commandData += '\t\n'; - - iterate(file_listdirectory($currentFolderURL), local('this')); - #this->endswith('/') ? $commandData += '\t\t\n'; - /iterate; - - $commandData += '\t\n'; - - - /*............................................................. - List both files and folders in the 'Current Folder' directory. - Include the file sizes in kilobytes. - */ - case('GetFoldersAndFiles'); - iterate(file_listdirectory($currentFolderURL), local('this')); - if(#this->endswith('/')); - $folders += '\t\t\n'; - else; - local('size') = file_getsize($currentFolderURL + #this) / 1024; - $files += '\t\t\n'; - /if; - /iterate; - - $folders += '\t\n'; - $files += '\t\n'; - - $commandData += $folders + $files; - - - /*............................................................. - Create a directory 'NewFolderName' within the 'Current Folder.' - */ - case('CreateFolder'); - $NewFolderName = (String_ReplaceRegExp: $NewFolderName, -find='\\.|\\\\|\\/|\\||\\:|\\?|\\*|"|<|>', -replace='_'); - var('newFolder' = $currentFolderURL + $NewFolderName + '/'); - file_create($newFolder); - - - /*......................................................... - Map Lasso's file error codes to FCKEditor's error codes. - */ - select(file_currenterror( -errorcode)); - case(0); - $errorNumber = 0; - case( -9983); - $errorNumber = 101; - case( -9976); - $errorNumber = 102; - case( -9977); - $errorNumber = 102; - case( -9961); - $errorNumber = 103; - case; - $errorNumber = 110; - /select; - - $commandData += '\n'; - - - /*............................................................. - Process an uploaded file. - */ - case('FileUpload'); - /*......................................................... - This is the only command that returns an HTML response. - */ - $responseType = 'html'; - - - /*......................................................... - Was a file actually uploaded? - */ - if(file_uploads->size); - $NewFile = file_uploads->get(1); - else; - $uploadResult = '202'; - /if; - - if($uploadResult == '0'); - /*..................................................... - Split the file's extension from the filename in order - to follow the API's naming convention for duplicate - files. (Test.txt, Test(1).txt, Test(2).txt, etc.) - */ - $NewFileName = $NewFile->find('OrigName'); - $NewFileName = (String_ReplaceRegExp: $NewFileName, -find='\\\\|\\/|\\||\\:|\\?|\\*|"|<|>', -replace='_'); - $OrigFilePath = $currentFolderURL + $NewFileName; - $NewFilePath = $OrigFilePath; - local('fileExtension') = '.' + $NewFile->find('OrigExtension'); - #fileExtension = (String_ReplaceRegExp: #fileExtension, -find='\\\\|\\/|\\||\\:|\\?|\\*|"|<|>', -replace='_'); - local('shortFileName') = $NewFileName->removetrailing(#fileExtension)&; - - - /*..................................................... - Make sure the file extension is allowed. - */ - if($config->find('DeniedExtensions')->find($Type) >> $NewFile->find('OrigExtension')); - $uploadResult = '202'; - else; - /*................................................. - Rename the target path until it is unique. - */ - while(file_exists($NewFilePath)); - $NewFilePath = $currentFolderURL + #shortFileName + '(' + loop_count + ')' + #fileExtension; - /while; - - - /*................................................. - Copy the uploaded file to its final location. - */ - file_copy($NewFile->find('path'), $NewFilePath); - - - /*................................................. - Set the error code for the response. Note whether - the file had to be renamed. - */ - select(file_currenterror( -errorcode)); - case(0); - $OrigFilePath != $NewFilePath ? $uploadResult = 201; - case; - $uploadResult = file_currenterror( -errorcode); - /select; - /if; - /if; - fck_htmlreply( - -uploadResult=$uploadResult, - -NewFilePath=$NewFilePath - ); - /select; - /inline; - /if; - - /*..................................................................... - Send a custom header for xml responses. - */ - if($responseType == 'xml'); - header; -] -HTTP/1.0 200 OK -Date: [$headerDate] -Server: Lasso Professional [lasso_version( -lassoversion)] -Expires: Mon, 26 Jul 1997 05:00:00 GMT -Last-Modified: [$headerDate] -Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 -Pragma: no-cache -Keep-Alive: timeout=15, max=98 -Connection: Keep-Alive -Content-Type: text/xml; charset=utf-8 -[//lasso -/header; - - /* - Set the content type encoding for Lasso. - */ - content_type('text/xml; charset=utf-8'); - - /* - Wrap the response as XML and output. - */ - $__html_reply__ = '\ - -'; - - if($errorNumber != '102'); - $__html_reply__ += ''; - /if; - - $__html_reply__ += $commandData + ' -'; - /if; -] diff --git a/include/fckeditor/editor/filemanager/connectors/lasso/upload.lasso b/include/fckeditor/editor/filemanager/connectors/lasso/upload.lasso deleted file mode 100644 index fbbe915b6..000000000 --- a/include/fckeditor/editor/filemanager/connectors/lasso/upload.lasso +++ /dev/null @@ -1,168 +0,0 @@ -[//lasso -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * This is the "File Uploader" for Lasso. - */ - - /*..................................................................... - Include global configuration. See config.lasso for details. - */ - include('config.lasso'); - - - /*..................................................................... - Convert query string parameters to variables and initialize output. - */ - var( - 'Type' = action_param('Type'), - 'CurrentFolder' = action_param('CurrentFolder'), - 'ServerPath' = action_param('ServerPath'), - 'NewFile' = null, - 'NewFileName' = string, - 'OrigFilePath' = string, - 'NewFilePath' = string, - 'errorNumber' = 0, - 'customMsg' = '' - ); - - $Type == '' ? $Type = 'File'; - - - /*..................................................................... - Calculate the path to the current folder. - */ - $ServerPath == '' ? $ServerPath = $config->find('UserFilesPath'); - - var('currentFolderURL' = $ServerPath - + $config->find('Subdirectories')->find(action_param('Type')) - + action_param('CurrentFolder') - ); - - /*..................................................................... - Custom tag sets the HTML response. - */ - - define_tag( - 'sendresults', - -namespace='fck_', - -priority='replace', - -required='errorNumber', - -type='integer', - -optional='fileUrl', - -type='string', - -optional='fileName', - -type='string', - -optional='customMsg', - -type='string', - -description='Sets the HTML response for the FCKEditor Quick Upload feature.' - ); - - $__html_reply__ = ' - '; - /define_tag; - - if($CurrentFolder->(Find: '..') || $CurrentFolder->(Find: '\\')); - $errorNumber = 102; - /if; - - if($config->find('Enabled')); - /*................................................................. - Process an uploaded file. - */ - inline($connection); - /*............................................................. - Was a file actually uploaded? - */ - if($errorNumber != '102'); - file_uploads->size ? $NewFile = file_uploads->get(1) | $errorNumber = 202; - /if; - - if($errorNumber == 0); - /*......................................................... - Split the file's extension from the filename in order - to follow the API's naming convention for duplicate - files. (Test.txt, Test(1).txt, Test(2).txt, etc.) - */ - $NewFileName = $NewFile->find('OrigName'); - $OrigFilePath = $currentFolderURL + $NewFileName; - $NewFilePath = $OrigFilePath; - local('fileExtension') = '.' + $NewFile->find('OrigExtension'); - local('shortFileName') = $NewFileName->removetrailing(#fileExtension)&; - - - /*......................................................... - Make sure the file extension is allowed. - */ - - if($config->find('DeniedExtensions')->find($Type) >> $NewFile->find('OrigExtension')); - $errorNumber = 202; - else; - /*..................................................... - Rename the target path until it is unique. - */ - while(file_exists($NewFilePath)); - $NewFileName = #shortFileName + '(' + loop_count + ')' + #fileExtension; - $NewFilePath = $currentFolderURL + $NewFileName; - /while; - - - /*..................................................... - Copy the uploaded file to its final location. - */ - file_copy($NewFile->find('path'), $NewFilePath); - - - /*..................................................... - Set the error code for the response. - */ - select(file_currenterror( -errorcode)); - case(0); - $OrigFilePath != $NewFilePath ? $errorNumber = 201; - case; - $errorNumber = 202; - /select; - /if; - /if; - /inline; - else; - $errorNumber = 1; - $customMsg = 'This file uploader is disabled. Please check the "editor/filemanager/upload/lasso/config.lasso" file.'; - /if; - - fck_sendresults( - -errorNumber=$errorNumber, - -fileUrl=$NewFilePath, - -fileName=$NewFileName, - -customMsg=$customMsg - ); -] diff --git a/include/fckeditor/editor/filemanager/connectors/perl/basexml.pl b/include/fckeditor/editor/filemanager/connectors/perl/basexml.pl deleted file mode 100644 index c3afa72fa..000000000 --- a/include/fckeditor/editor/filemanager/connectors/perl/basexml.pl +++ /dev/null @@ -1,63 +0,0 @@ -##### -# FCKeditor - The text editor for Internet - http://www.fckeditor.net -# Copyright (C) 2003-2008 Frederico Caldeira Knabben -# -# == BEGIN LICENSE == -# -# Licensed under the terms of any of the following licenses at your -# choice: -# -# - GNU General Public License Version 2 or later (the "GPL") -# http://www.gnu.org/licenses/gpl.html -# -# - GNU Lesser General Public License Version 2.1 or later (the "LGPL") -# http://www.gnu.org/licenses/lgpl.html -# -# - Mozilla Public License Version 1.1 or later (the "MPL") -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# == END LICENSE == -# -# This is the File Manager Connector for Perl. -##### - -sub CreateXmlHeader -{ - local($command,$resourceType,$currentFolder) = @_; - - # Create the XML document header. - print ''; - - # Create the main "Connector" node. - print ''; - - # Add the current folder node. - print ''; -} - -sub CreateXmlFooter -{ - print ''; -} - -sub SendError -{ - local( $number, $text ) = @_; - - print << "_HTML_HEAD_"; -Content-Type:text/xml; charset=utf-8 -Pragma: no-cache -Cache-Control: no-cache -Expires: Thu, 01 Dec 1994 16:00:00 GMT - -_HTML_HEAD_ - - # Create the XML document header - print '' ; - - print '' ; - - exit ; -} - -1; diff --git a/include/fckeditor/editor/filemanager/connectors/perl/commands.pl b/include/fckeditor/editor/filemanager/connectors/perl/commands.pl deleted file mode 100644 index 683f64214..000000000 --- a/include/fckeditor/editor/filemanager/connectors/perl/commands.pl +++ /dev/null @@ -1,187 +0,0 @@ -##### -# FCKeditor - The text editor for Internet - http://www.fckeditor.net -# Copyright (C) 2003-2008 Frederico Caldeira Knabben -# -# == BEGIN LICENSE == -# -# Licensed under the terms of any of the following licenses at your -# choice: -# -# - GNU General Public License Version 2 or later (the "GPL") -# http://www.gnu.org/licenses/gpl.html -# -# - GNU Lesser General Public License Version 2.1 or later (the "LGPL") -# http://www.gnu.org/licenses/lgpl.html -# -# - Mozilla Public License Version 1.1 or later (the "MPL") -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# == END LICENSE == -# -# This is the File Manager Connector for Perl. -##### - -sub GetFolders -{ - - local($resourceType, $currentFolder) = @_; - - # Map the virtual path to the local server path. - $sServerDir = &ServerMapFolder($resourceType, $currentFolder); - print ""; # Open the "Folders" node. - - opendir(DIR,"$sServerDir"); - @files = grep(!/^\.\.?$/,readdir(DIR)); - closedir(DIR); - - foreach $sFile (@files) { - if($sFile != '.' && $sFile != '..' && (-d "$sServerDir$sFile")) { - $cnv_filename = &ConvertToXmlAttribute($sFile); - print ''; - } - } - print ""; # Close the "Folders" node. -} - -sub GetFoldersAndFiles -{ - - local($resourceType, $currentFolder) = @_; - # Map the virtual path to the local server path. - $sServerDir = &ServerMapFolder($resourceType,$currentFolder); - - # Initialize the output buffers for "Folders" and "Files". - $sFolders = ''; - $sFiles = ''; - - opendir(DIR,"$sServerDir"); - @files = grep(!/^\.\.?$/,readdir(DIR)); - closedir(DIR); - - foreach $sFile (@files) { - if($sFile ne '.' && $sFile ne '..') { - if(-d "$sServerDir$sFile") { - $cnv_filename = &ConvertToXmlAttribute($sFile); - $sFolders .= '' ; - } else { - ($iFileSize,$refdate,$filedate,$fileperm) = (stat("$sServerDir$sFile"))[7,8,9,2]; - if($iFileSize > 0) { - $iFileSize = int($iFileSize / 1024); - if($iFileSize < 1) { - $iFileSize = 1; - } - } - $cnv_filename = &ConvertToXmlAttribute($sFile); - $sFiles .= '' ; - } - } - } - print $sFolders ; - print ''; # Close the "Folders" node. - print $sFiles ; - print ''; # Close the "Files" node. -} - -sub CreateFolder -{ - - local($resourceType, $currentFolder) = @_; - $sErrorNumber = '0' ; - $sErrorMsg = '' ; - - if($FORM{'NewFolderName'} ne "") { - $sNewFolderName = $FORM{'NewFolderName'}; - $sNewFolderName =~ s/\.|\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g; - # Map the virtual path to the local server path of the current folder. - $sServerDir = &ServerMapFolder($resourceType, $currentFolder); - if(-w $sServerDir) { - $sServerDir .= $sNewFolderName; - $sErrorMsg = &CreateServerFolder($sServerDir); - if($sErrorMsg == 0) { - $sErrorNumber = '0'; - } elsif($sErrorMsg eq 'Invalid argument' || $sErrorMsg eq 'No such file or directory') { - $sErrorNumber = '102'; #// Path too long. - } else { - $sErrorNumber = '110'; - } - } else { - $sErrorNumber = '103'; - } - } else { - $sErrorNumber = '102' ; - } - # Create the "Error" node. - $cnv_errmsg = &ConvertToXmlAttribute($sErrorMsg); - print ''; -} - -sub FileUpload -{ -eval("use File::Copy;"); - - local($resourceType, $currentFolder) = @_; - - $sErrorNumber = '0' ; - $sFileName = '' ; - if($new_fname) { - # Map the virtual path to the local server path. - $sServerDir = &ServerMapFolder($resourceType,$currentFolder); - - # Get the uploaded file name. - $sFileName = $new_fname; - $sFileName =~ s/\\|\/|\||\:|\?|\*|\"|<|>|[[:cntrl:]]/_/g; - $sOriginalFileName = $sFileName; - - $iCounter = 0; - while(1) { - $sFilePath = $sServerDir . $sFileName; - if(-e $sFilePath) { - $iCounter++ ; - ($path,$BaseName,$ext) = &RemoveExtension($sOriginalFileName); - $sFileName = $BaseName . '(' . $iCounter . ').' . $ext; - $sErrorNumber = '201'; - } else { - copy("$img_dir/$new_fname","$sFilePath"); - if (defined $CHMOD_ON_UPLOAD) { - if ($CHMOD_ON_UPLOAD) { - umask(000); - chmod($CHMOD_ON_UPLOAD,$sFilePath); - } - } - else { - umask(000); - chmod(0777,$sFilePath); - } - unlink("$img_dir/$new_fname"); - last; - } - } - } else { - $sErrorNumber = '202' ; - } - $sFileName =~ s/"/\\"/g; - - SendUploadResults($sErrorNumber, $resourceType.$currentFolder.$sFileName, $sFileName, ''); -} - -sub SendUploadResults -{ - - local($sErrorNumber, $sFileUrl, $sFileName, $customMsg) = @_; - - # Minified version of the document.domain automatic fix script (#1919). - # The original script can be found at _dev/domain_fix_template.js - # Note: in Perl replace \ with \\ and $ with \$ - print < -(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|\$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})(); - -EOF - print 'window.parent.OnUploadCompleted(' . $sErrorNumber . ',"' . JS_cnv($sFileUrl) . '","' . JS_cnv($sFileName) . '","' . JS_cnv($customMsg) . '") ;'; - print ''; - exit ; -} - -1; diff --git a/include/fckeditor/editor/filemanager/connectors/perl/connector.cgi b/include/fckeditor/editor/filemanager/connectors/perl/connector.cgi deleted file mode 100644 index c4631573c..000000000 --- a/include/fckeditor/editor/filemanager/connectors/perl/connector.cgi +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/env perl - -##### -# FCKeditor - The text editor for Internet - http://www.fckeditor.net -# Copyright (C) 2003-2008 Frederico Caldeira Knabben -# -# == BEGIN LICENSE == -# -# Licensed under the terms of any of the following licenses at your -# choice: -# -# - GNU General Public License Version 2 or later (the "GPL") -# http://www.gnu.org/licenses/gpl.html -# -# - GNU Lesser General Public License Version 2.1 or later (the "LGPL") -# http://www.gnu.org/licenses/lgpl.html -# -# - Mozilla Public License Version 1.1 or later (the "MPL") -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# == END LICENSE == -# -# This is the File Manager Connector for Perl. -##### - -## -# ATTENTION: To enable this connector, look for the "SECURITY" comment in this file. -## - -## START: Hack for Windows (Not important to understand the editor code... Perl specific). -if(Windows_check()) { - chdir(GetScriptPath($0)); -} - -sub Windows_check -{ - # IIS,PWS(NT/95) - $www_server_os = $^O; - # Win98 & NT(SP4) - if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; } - # AnHTTPd/Omni/IIS - if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; } - # Win Apache - if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; } - if($www_server_os=~ /win/i) { return(1); } - return(0); -} - -sub GetScriptPath { - local($path) = @_; - if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; } - $path; -} -## END: Hack for IIS - -require 'util.pl'; -require 'io.pl'; -require 'basexml.pl'; -require 'commands.pl'; -require 'upload_fck.pl'; - -## -# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR. -## - &SendError( 1, 'This connector is disabled. Please check the "editor/filemanager/connectors/perl/connector.cgi" file' ) ; - - &read_input(); - - if($FORM{'ServerPath'} ne "") { - $GLOBALS{'UserFilesPath'} = $FORM{'ServerPath'}; - if(!($GLOBALS{'UserFilesPath'} =~ /\/$/)) { - $GLOBALS{'UserFilesPath'} .= '/' ; - } - } else { - $GLOBALS{'UserFilesPath'} = '/userfiles/'; - } - - # Map the "UserFiles" path to a local directory. - $rootpath = &GetRootPath(); - $GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'}; - - &DoResponse(); - -sub DoResponse -{ - - if($FORM{'Command'} eq "" || $FORM{'Type'} eq "" || $FORM{'CurrentFolder'} eq "") { - return ; - } - # Get the main request informaiton. - $sCommand = $FORM{'Command'}; - $sResourceType = $FORM{'Type'}; - $sCurrentFolder = $FORM{'CurrentFolder'}; - - # Check the current folder syntax (must begin and start with a slash). - if(!($sCurrentFolder =~ /\/$/)) { - $sCurrentFolder .= '/'; - } - if(!($sCurrentFolder =~ /^\//)) { - $sCurrentFolder = '/' . $sCurrentFolder; - } - - # Check for invalid folder paths (..) - if ( $sCurrentFolder =~ /(?:\.\.|\\)/ ) { - SendError( 102, "" ) ; - } - - # File Upload doesn't have to Return XML, so it must be intercepted before anything. - if($sCommand eq 'FileUpload') { - FileUpload($sResourceType,$sCurrentFolder); - return ; - } - - print << "_HTML_HEAD_"; -Content-Type:text/xml; charset=utf-8 -Pragma: no-cache -Cache-Control: no-cache -Expires: Thu, 01 Dec 1994 16:00:00 GMT - -_HTML_HEAD_ - - &CreateXmlHeader($sCommand,$sResourceType,$sCurrentFolder); - - # Execute the required command. - if($sCommand eq 'GetFolders') { - &GetFolders($sResourceType,$sCurrentFolder); - } elsif($sCommand eq 'GetFoldersAndFiles') { - &GetFoldersAndFiles($sResourceType,$sCurrentFolder); - } elsif($sCommand eq 'CreateFolder') { - &CreateFolder($sResourceType,$sCurrentFolder); - } - - &CreateXmlFooter(); - - exit ; -} diff --git a/include/fckeditor/editor/filemanager/connectors/perl/io.pl b/include/fckeditor/editor/filemanager/connectors/perl/io.pl deleted file mode 100644 index aa6cb367c..000000000 --- a/include/fckeditor/editor/filemanager/connectors/perl/io.pl +++ /dev/null @@ -1,141 +0,0 @@ -##### -# FCKeditor - The text editor for Internet - http://www.fckeditor.net -# Copyright (C) 2003-2008 Frederico Caldeira Knabben -# -# == BEGIN LICENSE == -# -# Licensed under the terms of any of the following licenses at your -# choice: -# -# - GNU General Public License Version 2 or later (the "GPL") -# http://www.gnu.org/licenses/gpl.html -# -# - GNU Lesser General Public License Version 2.1 or later (the "LGPL") -# http://www.gnu.org/licenses/lgpl.html -# -# - Mozilla Public License Version 1.1 or later (the "MPL") -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# == END LICENSE == -# -# This is the File Manager Connector for Perl. -##### - -sub GetUrlFromPath -{ - local($resourceType, $folderPath) = @_; - - if($resourceType eq '') { - $rmpath = &RemoveFromEnd($GLOBALS{'UserFilesPath'},'/'); - return("$rmpath$folderPath"); - } else { - return("$GLOBALS{'UserFilesPath'}$resourceType$folderPath"); - } -} - -sub RemoveExtension -{ - local($fileName) = @_; - local($path, $base, $ext); - if($fileName !~ /\./) { - $fileName .= '.'; - } - if($fileName =~ /([^\\\/]*)\.(.*)$/) { - $base = $1; - $ext = $2; - if($fileName =~ /(.*)$base\.$ext$/) { - $path = $1; - } - } - return($path,$base,$ext); - -} - -sub ServerMapFolder -{ - local($resourceType,$folderPath) = @_; - - # Get the resource type directory. - $sResourceTypePath = $GLOBALS{'UserFilesDirectory'} . $resourceType . '/'; - - # Ensure that the directory exists. - &CreateServerFolder($sResourceTypePath); - - # Return the resource type directory combined with the required path. - $rmpath = &RemoveFromStart($folderPath,'/'); - return("$sResourceTypePath$rmpath"); -} - -sub GetParentFolder -{ - local($folderPath) = @_; - - $folderPath =~ s/[\/][^\/]+[\/]?$//g; - return $folderPath; -} - -sub CreateServerFolder -{ - local($folderPath) = @_; - - $sParent = &GetParentFolder($folderPath); - # Check if the parent exists, or create it. - if(!(-e $sParent)) { - $sErrorMsg = &CreateServerFolder($sParent); - if($sErrorMsg == 1) { - return(1); - } - } - if(!(-e $folderPath)) { - if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) { - mkdir("$folderPath"); - } - else { - umask(000); - if (defined $CHMOD_ON_FOLDER_CREATE) { - mkdir("$folderPath",$CHMOD_ON_FOLDER_CREATE); - } - else { - mkdir("$folderPath",0777); - } - } - - return(0); - } else { - return(1); - } -} - -sub GetRootPath -{ -#use Cwd; - -# my $dir = getcwd; -# print $dir; -# $dir =~ s/$ENV{'DOCUMENT_ROOT'}//g; -# print $dir; -# return($dir); - -# $wk = $0; -# $wk =~ s/\/connector\.cgi//g; -# if($wk) { -# $current_dir = $wk; -# } else { -# $current_dir = `pwd`; -# } -# return($current_dir); -use Cwd; - - if($ENV{'DOCUMENT_ROOT'}) { - $dir = $ENV{'DOCUMENT_ROOT'}; - } else { - my $dir = getcwd; - $workdir =~ s/\/connector\.cgi//g; - $dir =~ s/$workdir//g; - } - return($dir); - - - -} -1; diff --git a/include/fckeditor/editor/filemanager/connectors/perl/upload.cgi b/include/fckeditor/editor/filemanager/connectors/perl/upload.cgi deleted file mode 100644 index 1efca6139..000000000 --- a/include/fckeditor/editor/filemanager/connectors/perl/upload.cgi +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env perl - -##### -# FCKeditor - The text editor for Internet - http://www.fckeditor.net -# Copyright (C) 2003-2008 Frederico Caldeira Knabben -# -# == BEGIN LICENSE == -# -# Licensed under the terms of any of the following licenses at your -# choice: -# -# - GNU General Public License Version 2 or later (the "GPL") -# http://www.gnu.org/licenses/gpl.html -# -# - GNU Lesser General Public License Version 2.1 or later (the "LGPL") -# http://www.gnu.org/licenses/lgpl.html -# -# - Mozilla Public License Version 1.1 or later (the "MPL") -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# == END LICENSE == -# -# This is the File Manager Connector for Perl. -##### - -## -# ATTENTION: To enable this connector, look for the "SECURITY" comment in this file. -## - -## START: Hack for Windows (Not important to understand the editor code... Perl specific). -if(Windows_check()) { - chdir(GetScriptPath($0)); -} - -sub Windows_check -{ - # IIS,PWS(NT/95) - $www_server_os = $^O; - # Win98 & NT(SP4) - if($www_server_os eq "") { $www_server_os= $ENV{'OS'}; } - # AnHTTPd/Omni/IIS - if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) { $www_server_os= 'win'; } - # Win Apache - if($ENV{'WINDIR'} ne "") { $www_server_os= 'win'; } - if($www_server_os=~ /win/i) { return(1); } - return(0); -} - -sub GetScriptPath { - local($path) = @_; - if($path =~ /[\:\/\\]/) { $path =~ s/(.*?)[\/\\][^\/\\]+$/$1/; } else { $path = '.'; } - $path; -} -## END: Hack for IIS - -require 'util.pl'; -require 'io.pl'; -require 'basexml.pl'; -require 'commands.pl'; -require 'upload_fck.pl'; - -## -# SECURITY: REMOVE/COMMENT THE FOLLOWING LINE TO ENABLE THIS CONNECTOR. -## - &SendUploadResults(1, '', '', 'This connector is disabled. Please check the "editor/filemanager/connectors/perl/upload.cgi" file' ) ; - - &read_input(); - - if($FORM{'ServerPath'} ne "") { - $GLOBALS{'UserFilesPath'} = $FORM{'ServerPath'}; - if(!($GLOBALS{'UserFilesPath'} =~ /\/$/)) { - $GLOBALS{'UserFilesPath'} .= '/' ; - } - } else { - $GLOBALS{'UserFilesPath'} = '/userfiles/'; - } - - # Map the "UserFiles" path to a local directory. - $rootpath = &GetRootPath(); - $GLOBALS{'UserFilesDirectory'} = $rootpath . $GLOBALS{'UserFilesPath'}; - - &DoResponse(); - -sub DoResponse -{ - # Get the main request information. - $sCommand = 'FileUpload'; #$FORM{'Command'}; - $sResourceType = $FORM{'Type'}; - $sCurrentFolder = $FORM{'CurrentFolder'}; - - if ($sResourceType eq '') { - $sResourceType = 'File' ; - } - if ($sCurrentFolder eq '') { - $sCurrentFolder = '/' ; - } - - # Check the current folder syntax (must begin and start with a slash). - if(!($sCurrentFolder =~ /\/$/)) { - $sCurrentFolder .= '/'; - } - if(!($sCurrentFolder =~ /^\//)) { - $sCurrentFolder = '/' . $sCurrentFolder; - } - - # Check for invalid folder paths (..) - if ( $sCurrentFolder =~ /(?:\.\.|\\)/ ) { - SendError( 102, "" ) ; - } - - # File Upload doesn't have to Return XML, so it must be intercepted before anything. - if($sCommand eq 'FileUpload') { - FileUpload($sResourceType,$sCurrentFolder); - return ; - } - -} diff --git a/include/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl b/include/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl deleted file mode 100644 index dad9bb8f8..000000000 --- a/include/fckeditor/editor/filemanager/connectors/perl/upload_fck.pl +++ /dev/null @@ -1,686 +0,0 @@ -##### -# FCKeditor - The text editor for Internet - http://www.fckeditor.net -# Copyright (C) 2003-2008 Frederico Caldeira Knabben -# -# == BEGIN LICENSE == -# -# Licensed under the terms of any of the following licenses at your -# choice: -# -# - GNU General Public License Version 2 or later (the "GPL") -# http://www.gnu.org/licenses/gpl.html -# -# - GNU Lesser General Public License Version 2.1 or later (the "LGPL") -# http://www.gnu.org/licenses/lgpl.html -# -# - Mozilla Public License Version 1.1 or later (the "MPL") -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# == END LICENSE == -# -# This is the File Manager Connector for Perl. -##### - -# image data save dir -$img_dir = './temp/'; - - -# File size max(unit KB) -$MAX_CONTENT_SIZE = 30000; - -# After file is uploaded, sometimes it is required to change its permissions -# so that it was possible to access it at the later time. -# If possible, it is recommended to set more restrictive permissions, like 0755. -# Set to 0 to disable this feature. -$CHMOD_ON_UPLOAD = 0777; - -# See comments above. -# Used when creating folders that does not exist. -$CHMOD_ON_FOLDER_CREATE = 0755; - -# Filelock (1=use,0=not use) -$PM{'flock'} = '1'; - - -# upload Content-Type list -my %UPLOAD_CONTENT_TYPE_LIST = ( - 'image/(x-)?png' => 'png', # PNG image - 'image/p?jpe?g' => 'jpg', # JPEG image - 'image/gif' => 'gif', # GIF image - 'image/x-xbitmap' => 'xbm', # XBM image - - 'image/(x-(MS-)?)?bmp' => 'bmp', # Windows BMP image - 'image/pict' => 'pict', # Macintosh PICT image - 'image/tiff' => 'tif', # TIFF image - 'application/pdf' => 'pdf', # PDF image - 'application/x-shockwave-flash' => 'swf', # Shockwave Flash - - 'video/(x-)?msvideo' => 'avi', # Microsoft Video - 'video/quicktime' => 'mov', # QuickTime Video - 'video/mpeg' => 'mpeg', # MPEG Video - 'video/x-mpeg2' => 'mpv2', # MPEG2 Video - - 'audio/(x-)?midi?' => 'mid', # MIDI Audio - 'audio/(x-)?wav' => 'wav', # WAV Audio - 'audio/basic' => 'au', # ULAW Audio - 'audio/mpeg' => 'mpga', # MPEG Audio - - 'application/(x-)?zip(-compressed)?' => 'zip', # ZIP Compress - - 'text/html' => 'html', # HTML - 'text/plain' => 'txt', # TEXT - '(?:application|text)/(?:rtf|richtext)' => 'rtf', # RichText - - 'application/msword' => 'doc', # Microsoft Word - 'application/vnd.ms-excel' => 'xls', # Microsoft Excel - - '' -); - -# Upload is permitted. -# A regular expression is possible. -my %UPLOAD_EXT_LIST = ( - 'png' => 'PNG image', - 'p?jpe?g|jpe|jfif|pjp' => 'JPEG image', - 'gif' => 'GIF image', - 'xbm' => 'XBM image', - - 'bmp|dib|rle' => 'Windows BMP image', - 'pi?ct' => 'Macintosh PICT image', - 'tiff?' => 'TIFF image', - 'pdf' => 'PDF image', - 'swf' => 'Shockwave Flash', - - 'avi' => 'Microsoft Video', - 'moo?v|qt' => 'QuickTime Video', - 'm(p(e?gv?|e|v)|1v)' => 'MPEG Video', - 'mp(v2|2v)' => 'MPEG2 Video', - - 'midi?|kar|smf|rmi|mff' => 'MIDI Audio', - 'wav' => 'WAVE Audio', - 'au|snd' => 'ULAW Audio', - 'mp(e?ga|2|a|3)|abs' => 'MPEG Audio', - - 'zip' => 'ZIP Compress', - 'lzh' => 'LZH Compress', - 'cab' => 'CAB Compress', - - 'd?html?' => 'HTML', - 'rtf|rtx' => 'RichText', - 'txt|text' => 'Text', - - '' -); - - -# sjis or euc -my $CHARCODE = 'sjis'; - -$TRANS_2BYTE_CODE = 0; - -############################################################################## -# Summary -# -# Form Read input -# -# Parameters -# Returns -# Memo -############################################################################## -sub read_input -{ -eval("use File::Copy;"); -eval("use File::Path;"); - - my ($FORM) = @_; - - if (defined $CHMOD_ON_FOLDER_CREATE && !$CHMOD_ON_FOLDER_CREATE) { - mkdir("$img_dir"); - } - else { - umask(000); - if (defined $CHMOD_ON_FOLDER_CREATE) { - mkdir("$img_dir",$CHMOD_ON_FOLDER_CREATE); - } - else { - mkdir("$img_dir",0777); - } - } - - undef $img_data_exists; - undef @NEWFNAMES; - undef @NEWFNAME_DATA; - - if($ENV{'CONTENT_LENGTH'} > 10000000 || $ENV{'CONTENT_LENGTH'} > $MAX_CONTENT_SIZE * 1024) { - &upload_error( - 'Size Error', - sprintf( - "Transmitting size is too large.MAX %d KB Now Size %d KB(%d bytes Over)", - $MAX_CONTENT_SIZE, - int($ENV{'CONTENT_LENGTH'} / 1024), - $ENV{'CONTENT_LENGTH'} - $MAX_CONTENT_SIZE * 1024 - ) - ); - } - - my $Buffer; - if($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/) { - # METHOD POST only - return unless($ENV{'CONTENT_LENGTH'}); - - binmode(STDIN); - # STDIN A pause character is detected.'(MacIE3.0 boundary of $ENV{'CONTENT_TYPE'} cannot be trusted.) - my $Boundary = ; - $Boundary =~ s/\x0D\x0A//; - $Boundary = quotemeta($Boundary); - while() { - if(/^\s*Content-Disposition:/i) { - my($name,$ContentType,$FileName); - # form data get - if(/\bname="([^"]+)"/i || /\bname=([^\s:;]+)/i) { - $name = $1; - $name =~ tr/+/ /; - $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; - &Encode(\$name); - } - if(/\bfilename="([^"]*)"/i || /\bfilename=([^\s:;]*)/i) { - $FileName = $1 || 'unknown'; - } - # head read - while() { - last if(! /\w/); - if(/^\s*Content-Type:\s*"([^"]+)"/i || /^\s*Content-Type:\s*([^\s:;]+)/i) { - $ContentType = $1; - } - } - # body read - $value = ""; - while() { - last if(/^$Boundary/o); - $value .= $_; - }; - $lastline = $_; - $value =~s /\x0D\x0A$//; - if($value ne '') { - if($FileName || $ContentType) { - $img_data_exists = 1; - ( - $FileName, # - $Ext, # - $Length, # - $ImageWidth, # - $ImageHeight, # - $ContentName # - ) = &CheckContentType(\$value,$FileName,$ContentType); - - $FORM{$name} = $FileName; - $new_fname = $FileName; - push(@NEWFNAME_DATA,"$FileName\t$Ext\t$Length\t$ImageWidth\t$ImageHeight\t$ContentName"); - - # Multi-upload correspondence - push(@NEWFNAMES,$new_fname); - open(OUT,">$img_dir/$new_fname"); - binmode(OUT); - eval "flock(OUT,2);" if($PM{'flock'} == 1); - print OUT $value; - eval "flock(OUT,8);" if($PM{'flock'} == 1); - close(OUT); - - } elsif($name) { - $value =~ tr/+/ /; - $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; - &Encode(\$value,'trans'); - $FORM{$name} .= "\0" if(defined($FORM{$name})); - $FORM{$name} .= $value; - } - } - }; - last if($lastline =~ /^$Boundary\-\-/o); - } - } elsif($ENV{'CONTENT_LENGTH'}) { - read(STDIN,$Buffer,$ENV{'CONTENT_LENGTH'}); - } - foreach(split(/&/,$Buffer),split(/&/,$ENV{'QUERY_STRING'})) { - my($name, $value) = split(/=/); - $name =~ tr/+/ /; - $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; - $value =~ tr/+/ /; - $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; - - &Encode(\$name); - &Encode(\$value,'trans'); - $FORM{$name} .= "\0" if(defined($FORM{$name})); - $FORM{$name} .= $value; - - } - -} - -############################################################################## -# Summary -# -# CheckContentType -# -# Parameters -# Returns -# Memo -############################################################################## -sub CheckContentType -{ - - my($DATA,$FileName,$ContentType) = @_; - my($Ext,$ImageWidth,$ImageHeight,$ContentName,$Infomation); - my $DataLength = length($$DATA); - - # An unknown file type - - $_ = $ContentType; - my $UnknownType = ( - !$_ - || /^application\/(x-)?macbinary$/i - || /^application\/applefile$/i - || /^application\/octet-stream$/i - || /^text\/plane$/i - || /^x-unknown-content-type/i - ); - - # MacBinary(Mac Unnecessary data are deleted.) - if($UnknownType || $ENV{'HTTP_USER_AGENT'} =~ /Macintosh|Mac_/) { - if($DataLength > 128 && !unpack("C",substr($$DATA,0,1)) && !unpack("C",substr($$DATA,74,1)) && !unpack("C",substr($$DATA,82,1)) ) { - my $MacBinary_ForkLength = unpack("N", substr($$DATA, 83, 4)); # ForkLength Get - my $MacBinary_FileName = quotemeta(substr($$DATA, 2, unpack("C",substr($$DATA, 1, 1)))); - if($MacBinary_FileName && $MacBinary_ForkLength && $DataLength >= $MacBinary_ForkLength + 128 - && ($FileName =~ /$MacBinary_FileName/i || substr($$DATA,102,4) eq 'mBIN')) { # DATA TOP 128byte MacBinary!! - $$DATA = substr($$DATA,128,$MacBinary_ForkLength); - my $ResourceLength = $DataLength - $MacBinary_ForkLength - 128; - $DataLength = $MacBinary_ForkLength; - } - } - } - - # A file name is changed into EUC. -# &jcode::convert(\$FileName,'euc',$FormCodeDefault); -# &jcode::h2z_euc(\$FileName); - $FileName =~ s/^.*\\//; # Windows, Mac - $FileName =~ s/^.*\///; # UNIX - $FileName =~ s/&/&/g; - $FileName =~ s/"/"/g; - $FileName =~ s//>/g; -# -# if($CHARCODE ne 'euc') { -# &jcode::convert(\$FileName,$CHARCODE,'euc'); -# } - - # An extension is extracted and it changes into a small letter. - my $FileExt; - if($FileName =~ /\.(\w+)$/) { - $FileExt = $1; - $FileExt =~ tr/A-Z/a-z/; - } - - # Executable file detection (ban on upload) - if($$DATA =~ /^MZ/) { - $Ext = 'exe'; - } - # text - if(!$Ext && ($UnknownType || $ContentType =~ /^text\//i || $ContentType =~ /^application\/(?:rtf|richtext)$/i || $ContentType =~ /^image\/x-xbitmap$/i) - && ! $$DATA =~ /[\000-\006\177\377]/) { -# $$DATA =~ s/\x0D\x0A/\n/g; -# $$DATA =~ tr/\x0D\x0A/\n\n/; -# -# if( -# $$DATA =~ /<\s*SCRIPT(?:.|\n)*?>/i -# || $$DATA =~ /<\s*(?:.|\n)*?\bONLOAD\s*=(?:.|\n)*?>/i -# || $$DATA =~ /<\s*(?:.|\n)*?\bONCLICK\s*=(?:.|\n)*?>/i -# ) { -# $Infomation = '(JavaScript contains)'; -# } -# if($$DATA =~ /<\s*TABLE(?:.|\n)*?>/i -# || $$DATA =~ /<\s*BLINK(?:.|\n)*?>/i -# || $$DATA =~ /<\s*MARQUEE(?:.|\n)*?>/i -# || $$DATA =~ /<\s*OBJECT(?:.|\n)*?>/i -# || $$DATA =~ /<\s*EMBED(?:.|\n)*?>/i -# || $$DATA =~ /<\s*FRAME(?:.|\n)*?>/i -# || $$DATA =~ /<\s*APPLET(?:.|\n)*?>/i -# || $$DATA =~ /<\s*FORM(?:.|\n)*?>/i -# || $$DATA =~ /<\s*(?:.|\n)*?\bSRC\s*=(?:.|\n)*?>/i -# || $$DATA =~ /<\s*(?:.|\n)*?\bDYNSRC\s*=(?:.|\n)*?>/i -# ) { -# $Infomation = '(the HTML tag which is not safe is included)'; -# } - - if($FileExt =~ /^txt$/i || $FileExt =~ /^cgi$/i || $FileExt =~ /^pl$/i) { # Text File - $Ext = 'txt'; - } elsif($ContentType =~ /^text\/html$/i || $FileExt =~ /html?/i || $$DATA =~ /<\s*HTML(?:.|\n)*?>/i) { # HTML File - $Ext = 'html'; - } elsif($ContentType =~ /^image\/x-xbitmap$/i || $FileExt =~ /^xbm$/i) { # XBM(x-BitMap) Image - my $XbmName = $1; - my ($XbmWidth, $XbmHeight); - if($$DATA =~ /\#define\s*$XbmName\_width\s*(\d+)/i) { - $XbmWidth = $1; - } - if($$DATA =~ /\#define\s*$XbmName\_height\s*(\d+)/i) { - $XbmHeight = $1; - } - if($XbmWidth && $XbmHeight) { - $Ext = 'xbm'; - $ImageWidth = $XbmWidth; - $ImageHeight = $XbmHeight; - } - } else { # - $Ext = 'txt'; - } - } - - # image - if(!$Ext && ($UnknownType || $ContentType =~ /^image\//i)) { - # PNG - if($$DATA =~ /^\x89PNG\x0D\x0A\x1A\x0A/) { - if(substr($$DATA, 12, 4) eq 'IHDR') { - $Ext = 'png'; - ($ImageWidth, $ImageHeight) = unpack("N2", substr($$DATA, 16, 8)); - } - } elsif($$DATA =~ /^GIF8(?:9|7)a/) { # GIF89a(modified), GIF89a, GIF87a - $Ext = 'gif'; - ($ImageWidth, $ImageHeight) = unpack("v2", substr($$DATA, 6, 4)); - } elsif($$DATA =~ /^II\x2a\x00\x08\x00\x00\x00/ || $$DATA =~ /^MM\x00\x2a\x00\x00\x00\x08/) { # TIFF - $Ext = 'tif'; - } elsif($$DATA =~ /^BM/) { # BMP - $Ext = 'bmp'; - } elsif($$DATA =~ /^\xFF\xD8\xFF/ || $$DATA =~ /JFIF/) { # JPEG - my $HeaderPoint = index($$DATA, "\xFF\xD8\xFF", 0); - my $Point = $HeaderPoint + 2; - while($Point < $DataLength) { - my($Maker, $MakerType, $MakerLength) = unpack("C2n",substr($$DATA,$Point,4)); - if($Maker != 0xFF || $MakerType == 0xd9 || $MakerType == 0xda) { - last; - } elsif($MakerType >= 0xC0 && $MakerType <= 0xC3) { - $Ext = 'jpg'; - ($ImageHeight, $ImageWidth) = unpack("n2", substr($$DATA, $Point + 5, 4)); - if($HeaderPoint > 0) { - $$DATA = substr($$DATA, $HeaderPoint); - $DataLength = length($$DATA); - } - last; - } else { - $Point += $MakerLength + 2; - } - } - } - } - - # audio - if(!$Ext && ($UnknownType || $ContentType =~ /^audio\//i)) { - # MIDI Audio - if($$DATA =~ /^MThd/) { - $Ext = 'mid'; - } elsif($$DATA =~ /^\x2esnd/) { # ULAW Audio - $Ext = 'au'; - } elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) { - my $HeaderPoint = index($$DATA, "RIFF", 0); - $_ = substr($$DATA, $HeaderPoint + 8, 8); - if(/^WAVEfmt $/) { - # WAVE - if(unpack("V",substr($$DATA, $HeaderPoint + 16, 4)) == 16) { - $Ext = 'wav'; - } else { # RIFF WAVE MP3 - $Ext = 'mp3'; - } - } elsif(/^RMIDdata$/) { # RIFF MIDI - $Ext = 'rmi'; - } elsif(/^RMP3data$/) { # RIFF MP3 - $Ext = 'rmp'; - } - if($ContentType =~ /^audio\//i) { - $Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')'; - } - } - } - - # a binary file - unless ($Ext) { - # PDF image - if($$DATA =~ /^\%PDF/) { - # Picture size is not measured. - $Ext = 'pdf'; - } elsif($$DATA =~ /^FWS/) { # Shockwave Flash - $Ext = 'swf'; - } elsif($$DATA =~ /^RIFF/ || $$DATA =~ /^ID3/ && $$DATA =~ /RIFF/) { - my $HeaderPoint = index($$DATA, "RIFF", 0); - $_ = substr($$DATA,$HeaderPoint + 8, 8); - # AVI - if(/^AVI LIST$/) { - $Ext = 'avi'; - } - if($ContentType =~ /^video\//i) { - $Infomation .= '(RIFF '. substr($$DATA, $HeaderPoint + 8, 4). ')'; - } - } elsif($$DATA =~ /^PK/) { # ZIP Compress File - $Ext = 'zip'; - } elsif($$DATA =~ /^MSCF/) { # CAB Compress File - $Ext = 'cab'; - } elsif($$DATA =~ /^Rar\!/) { # RAR Compress File - $Ext = 'rar'; - } elsif(substr($$DATA, 2, 5) =~ /^\-lh(\d+|d)\-$/) { # LHA Compress File - $Infomation .= "(lh$1)"; - $Ext = 'lzh'; - } elsif(substr($$DATA, 325, 25) eq "Apple Video Media Handler" || substr($$DATA, 325, 30) eq "Apple \x83\x72\x83\x66\x83\x49\x81\x45\x83\x81\x83\x66\x83\x42\x83\x41\x83\x6E\x83\x93\x83\x68\x83\x89") { - # QuickTime - $Ext = 'mov'; - } - } - - # Header analysis failure - unless ($Ext) { - # It will be followed if it applies for the MIME type from the browser. - foreach (keys %UPLOAD_CONTENT_TYPE_LIST) { - next unless ($_); - if($ContentType =~ /^$_$/i) { - $Ext = $UPLOAD_CONTENT_TYPE_LIST{$_}; - $ContentName = &CheckContentExt($Ext); - if( - grep {$_ eq $Ext;} ( - 'png', - 'gif', - 'jpg', - 'xbm', - 'tif', - 'bmp', - 'pdf', - 'swf', - 'mov', - 'zip', - 'cab', - 'lzh', - 'rar', - 'mid', - 'rmi', - 'au', - 'wav', - 'avi', - 'exe' - ) - ) { - $Infomation .= ' / Header analysis failure'; - } - if($Ext ne $FileExt && &CheckContentExt($FileExt) eq $ContentName) { - $Ext = $FileExt; - } - last; - } - } - # a MIME type is unknown--It judges from an extension. - unless ($Ext) { - $ContentName = &CheckContentExt($FileExt); - if($ContentName) { - $Ext = $FileExt; - $Infomation .= ' / MIME type is unknown('. $ContentType. ')'; - last; - } - } - } - -# $ContentName = &CheckContentExt($Ext) unless($ContentName); -# if($Ext && $ContentName) { -# $ContentName .= $Infomation; -# } else { -# &upload_error( -# 'Extension Error', -# "$FileName A not corresponding extension ($Ext)
    The extension which can be responded ". join(',', sort values(%UPLOAD_EXT_LIST)) -# ); -# } - -# # SSI Tag Deletion -# if($Ext =~ /.?html?/ && $$DATA =~ /<\!/) { -# foreach ( -# 'config', -# 'echo', -# 'exec', -# 'flastmod', -# 'fsize', -# 'include' -# ) { -# $$DATA =~ s/\#\s*$_/\&\#35\;$_/ig -# } -# } - - return ( - $FileName, - $Ext, - int($DataLength / 1024 + 1), - $ImageWidth, - $ImageHeight, - $ContentName - ); -} - -############################################################################## -# Summary -# -# Extension discernment -# -# Parameters -# Returns -# Memo -############################################################################## - -sub CheckContentExt -{ - - my($Ext) = @_; - my $ContentName; - foreach (keys %UPLOAD_EXT_LIST) { - next unless ($_); - if($_ && $Ext =~ /^$_$/) { - $ContentName = $UPLOAD_EXT_LIST{$_}; - last; - } - } - return $ContentName; - -} - -############################################################################## -# Summary -# -# Form decode -# -# Parameters -# Returns -# Memo -############################################################################## -sub Encode -{ - - my($value,$Trans) = @_; - -# my $FormCode = &jcode::getcode($value) || $FormCodeDefault; -# $FormCodeDefault ||= $FormCode; -# -# if($Trans && $TRANS_2BYTE_CODE) { -# if($FormCode ne 'euc') { -# &jcode::convert($value, 'euc', $FormCode); -# } -# &jcode::tr( -# $value, -# "\xA3\xB0-\xA3\xB9\xA3\xC1-\xA3\xDA\xA3\xE1-\xA3\xFA", -# '0-9A-Za-z' -# ); -# if($CHARCODE ne 'euc') { -# &jcode::convert($value,$CHARCODE,'euc'); -# } -# } else { -# if($CHARCODE ne $FormCode) { -# &jcode::convert($value,$CHARCODE,$FormCode); -# } -# } -# if($CHARCODE eq 'euc') { -# &jcode::h2z_euc($value); -# } elsif($CHARCODE eq 'sjis') { -# &jcode::h2z_sjis($value); -# } - -} - -############################################################################## -# Summary -# -# Error Msg -# -# Parameters -# Returns -# Memo -############################################################################## - -sub upload_error -{ - - local($error_message) = $_[0]; - local($error_message2) = $_[1]; - - print "Content-type: text/html\n\n"; - print< - -Error Message - - - - - -
    Error Message
    -

      -

      $error_message

      -$error_message2
      -
    - - -EOF - &rm_tmp_uploaded_files; # Image Temporary deletion - exit; -} - -############################################################################## -# Summary -# -# Image Temporary deletion -# -# Parameters -# Returns -# Memo -############################################################################## - -sub rm_tmp_uploaded_files -{ - if($img_data_exists == 1){ - sleep 1; - foreach $fname_list(@NEWFNAMES) { - if(-e "$img_dir/$fname_list") { - unlink("$img_dir/$fname_list"); - } - } - } - -} -1; diff --git a/include/fckeditor/editor/filemanager/connectors/perl/util.pl b/include/fckeditor/editor/filemanager/connectors/perl/util.pl deleted file mode 100644 index 8d1220d6e..000000000 --- a/include/fckeditor/editor/filemanager/connectors/perl/util.pl +++ /dev/null @@ -1,68 +0,0 @@ -##### -# FCKeditor - The text editor for Internet - http://www.fckeditor.net -# Copyright (C) 2003-2008 Frederico Caldeira Knabben -# -# == BEGIN LICENSE == -# -# Licensed under the terms of any of the following licenses at your -# choice: -# -# - GNU General Public License Version 2 or later (the "GPL") -# http://www.gnu.org/licenses/gpl.html -# -# - GNU Lesser General Public License Version 2.1 or later (the "LGPL") -# http://www.gnu.org/licenses/lgpl.html -# -# - Mozilla Public License Version 1.1 or later (the "MPL") -# http://www.mozilla.org/MPL/MPL-1.1.html -# -# == END LICENSE == -# -# This is the File Manager Connector for Perl. -##### - -sub RemoveFromStart -{ - local($sourceString, $charToRemove) = @_; - $sPattern = '^' . $charToRemove . '+' ; - $sourceString =~ s/^$charToRemove+//g; - return $sourceString; -} - -sub RemoveFromEnd -{ - local($sourceString, $charToRemove) = @_; - $sPattern = $charToRemove . '+$' ; - $sourceString =~ s/$charToRemove+$//g; - return $sourceString; -} - -sub ConvertToXmlAttribute -{ - local($value) = @_; - return $value; -# return utf8_encode(htmlspecialchars($value)); - -} - -sub specialchar_cnv -{ - local($ch) = @_; - - $ch =~ s/&/&/g; # & - $ch =~ s/\"/"/g; #" - $ch =~ s/\'/'/g; # ' - $ch =~ s//>/g; # > - return($ch); -} - -sub JS_cnv -{ - local($ch) = @_; - - $ch =~ s/\"/\\\"/g; #" - return($ch); -} - -1; diff --git a/include/fckeditor/editor/filemanager/connectors/php/basexml.php b/include/fckeditor/editor/filemanager/connectors/php/basexml.php deleted file mode 100644 index 76b41581c..000000000 --- a/include/fckeditor/editor/filemanager/connectors/php/basexml.php +++ /dev/null @@ -1,93 +0,0 @@ -' ; - - // Create the main "Connector" node. - echo '' ; - - // Add the current folder node. - echo '' ; - - $GLOBALS['HeaderSent'] = true ; -} - -function CreateXmlFooter() -{ - echo '' ; -} - -function SendError( $number, $text ) -{ - if ( isset( $GLOBALS['HeaderSent'] ) && $GLOBALS['HeaderSent'] ) - { - SendErrorNode( $number, $text ) ; - CreateXmlFooter() ; - } - else - { - SetXmlHeaders() ; - - // Create the XML document header - echo '' ; - - echo '' ; - - SendErrorNode( $number, $text ) ; - - echo '' ; - } - exit ; -} - -function SendErrorNode( $number, $text ) -{ - echo '' ; -} -?> diff --git a/include/fckeditor/editor/filemanager/connectors/php/commands.php b/include/fckeditor/editor/filemanager/connectors/php/commands.php deleted file mode 100644 index 382fc1970..000000000 --- a/include/fckeditor/editor/filemanager/connectors/php/commands.php +++ /dev/null @@ -1,273 +0,0 @@ -' ; - } - - closedir( $oCurrentFolder ) ; - - // Open the "Folders" node. - echo "" ; - - natcasesort( $aFolders ) ; - foreach ( $aFolders as $sFolder ) - echo $sFolder ; - - // Close the "Folders" node. - echo "" ; -} - -function GetFoldersAndFiles( $resourceType, $currentFolder ) -{ - // Map the virtual path to the local server path. - $sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'GetFoldersAndFiles' ) ; - - // Arrays that will hold the folders and files names. - $aFolders = array() ; - $aFiles = array() ; - - $oCurrentFolder = opendir( $sServerDir ) ; - - while ( $sFile = readdir( $oCurrentFolder ) ) - { - if ( $sFile != '.' && $sFile != '..' ) - { - if ( is_dir( $sServerDir . $sFile ) ) - $aFolders[] = '' ; - else - { - $iFileSize = @filesize( $sServerDir . $sFile ) ; - if ( !$iFileSize ) { - $iFileSize = 0 ; - } - if ( $iFileSize > 0 ) - { - $iFileSize = round( $iFileSize / 1024 ) ; - if ( $iFileSize < 1 ) $iFileSize = 1 ; - } - - $aFiles[] = '' ; - } - } - } - - // Send the folders - natcasesort( $aFolders ) ; - echo '' ; - - foreach ( $aFolders as $sFolder ) - echo $sFolder ; - - echo '' ; - - // Send the files - natcasesort( $aFiles ) ; - echo '' ; - - foreach ( $aFiles as $sFiles ) - echo $sFiles ; - - echo '' ; -} - -function CreateFolder( $resourceType, $currentFolder ) -{ - if (!isset($_GET)) { - global $_GET; - } - $sErrorNumber = '0' ; - $sErrorMsg = '' ; - - if ( isset( $_GET['NewFolderName'] ) ) - { - $sNewFolderName = $_GET['NewFolderName'] ; - $sNewFolderName = SanitizeFolderName( $sNewFolderName ) ; - - if ( strpos( $sNewFolderName, '..' ) !== FALSE ) - $sErrorNumber = '102' ; // Invalid folder name. - else - { - // Map the virtual path to the local server path of the current folder. - $sServerDir = ServerMapFolder( $resourceType, $currentFolder, 'CreateFolder' ) ; - - if ( is_writable( $sServerDir ) ) - { - $sServerDir .= $sNewFolderName ; - - $sErrorMsg = CreateServerFolder( $sServerDir ) ; - - switch ( $sErrorMsg ) - { - case '' : - $sErrorNumber = '0' ; - break ; - case 'Invalid argument' : - case 'No such file or directory' : - $sErrorNumber = '102' ; // Path too long. - break ; - default : - $sErrorNumber = '110' ; - break ; - } - } - else - $sErrorNumber = '103' ; - } - } - else - $sErrorNumber = '102' ; - - // Create the "Error" node. - echo '' ; -} - -function FileUpload( $resourceType, $currentFolder, $sCommand ) -{ - if (!isset($_FILES)) { - global $_FILES; - } - $sErrorNumber = '0' ; - $sFileName = '' ; - - if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) ) - { - global $Config ; - - $oFile = $_FILES['NewFile'] ; - - // Map the virtual path to the local server path. - $sServerDir = ServerMapFolder( $resourceType, $currentFolder, $sCommand ) ; - - // Get the uploaded file name. - $sFileName = $oFile['name'] ; - $sFileName = SanitizeFileName( $sFileName ) ; - - $sOriginalFileName = $sFileName ; - - // Get the extension. - $sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ; - $sExtension = strtolower( $sExtension ) ; - - if ( isset( $Config['SecureImageUploads'] ) ) - { - if ( ( $isImageValid = IsImageValid( $oFile['tmp_name'], $sExtension ) ) === false ) - { - $sErrorNumber = '202' ; - } - } - - if ( isset( $Config['HtmlExtensions'] ) ) - { - if ( !IsHtmlExtension( $sExtension, $Config['HtmlExtensions'] ) && - ( $detectHtml = DetectHtml( $oFile['tmp_name'] ) ) === true ) - { - $sErrorNumber = '202' ; - } - } - - // Check if it is an allowed extension. - if ( !$sErrorNumber && IsAllowedExt( $sExtension, $resourceType ) ) - { - $iCounter = 0 ; - - while ( true ) - { - $sFilePath = $sServerDir . $sFileName ; - - if ( is_file( $sFilePath ) ) - { - $iCounter++ ; - $sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ; - $sErrorNumber = '201' ; - } - else - { - move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ; - - if ( is_file( $sFilePath ) ) - { - if ( isset( $Config['ChmodOnUpload'] ) && !$Config['ChmodOnUpload'] ) - { - break ; - } - - $permissions = 0777; - - if ( isset( $Config['ChmodOnUpload'] ) && $Config['ChmodOnUpload'] ) - { - $permissions = $Config['ChmodOnUpload'] ; - } - - $oldumask = umask(0) ; - chmod( $sFilePath, $permissions ) ; - umask( $oldumask ) ; - } - - break ; - } - } - - if ( file_exists( $sFilePath ) ) - { - //previous checks failed, try once again - if ( isset( $isImageValid ) && $isImageValid === -1 && IsImageValid( $sFilePath, $sExtension ) === false ) - { - @unlink( $sFilePath ) ; - $sErrorNumber = '202' ; - } - else if ( isset( $detectHtml ) && $detectHtml === -1 && DetectHtml( $sFilePath ) === true ) - { - @unlink( $sFilePath ) ; - $sErrorNumber = '202' ; - } - } - } - else - $sErrorNumber = '202' ; - } - else - $sErrorNumber = '202' ; - - - $sFileUrl = CombinePaths( GetResourceTypePath( $resourceType, $sCommand ) , $currentFolder ) ; - $sFileUrl = CombinePaths( $sFileUrl, $sFileName ) ; - - SendUploadResults( $sErrorNumber, $sFileUrl, $sFileName ) ; - - exit ; -} -?> diff --git a/include/fckeditor/editor/filemanager/connectors/php/config.php b/include/fckeditor/editor/filemanager/connectors/php/config.php deleted file mode 100644 index 24d7c7eef..000000000 --- a/include/fckeditor/editor/filemanager/connectors/php/config.php +++ /dev/null @@ -1,151 +0,0 @@ - diff --git a/include/fckeditor/editor/filemanager/connectors/php/connector.php b/include/fckeditor/editor/filemanager/connectors/php/connector.php deleted file mode 100644 index d6373ac94..000000000 --- a/include/fckeditor/editor/filemanager/connectors/php/connector.php +++ /dev/null @@ -1,87 +0,0 @@ - diff --git a/include/fckeditor/editor/filemanager/connectors/php/io.php b/include/fckeditor/editor/filemanager/connectors/php/io.php deleted file mode 100644 index 6d4c1a2a8..000000000 --- a/include/fckeditor/editor/filemanager/connectors/php/io.php +++ /dev/null @@ -1,295 +0,0 @@ - 0 ) - return $Config['QuickUploadAbsolutePath'][$resourceType] ; - - // Map the "UserFiles" path to a local directory. - return Server_MapPath( $Config['QuickUploadPath'][$resourceType] ) ; - } - else - { - if ( strlen( $Config['FileTypesAbsolutePath'][$resourceType] ) > 0 ) - return $Config['FileTypesAbsolutePath'][$resourceType] ; - - // Map the "UserFiles" path to a local directory. - return Server_MapPath( $Config['FileTypesPath'][$resourceType] ) ; - } -} - -function GetUrlFromPath( $resourceType, $folderPath, $sCommand ) -{ - return CombinePaths( GetResourceTypePath( $resourceType, $sCommand ), $folderPath ) ; -} - -function RemoveExtension( $fileName ) -{ - return substr( $fileName, 0, strrpos( $fileName, '.' ) ) ; -} - -function ServerMapFolder( $resourceType, $folderPath, $sCommand ) -{ - // Get the resource type directory. - $sResourceTypePath = GetResourceTypeDirectory( $resourceType, $sCommand ) ; - - // Ensure that the directory exists. - $sErrorMsg = CreateServerFolder( $sResourceTypePath ) ; - if ( $sErrorMsg != '' ) - SendError( 1, "Error creating folder \"{$sResourceTypePath}\" ({$sErrorMsg})" ) ; - - // Return the resource type directory combined with the required path. - return CombinePaths( $sResourceTypePath , $folderPath ) ; -} - -function GetParentFolder( $folderPath ) -{ - $sPattern = "-[/\\\\][^/\\\\]+[/\\\\]?$-" ; - return preg_replace( $sPattern, '', $folderPath ) ; -} - -function CreateServerFolder( $folderPath, $lastFolder = null ) -{ - global $Config ; - $sParent = GetParentFolder( $folderPath ) ; - - // Ensure the folder path has no double-slashes, or mkdir may fail on certain platforms - while ( strpos($folderPath, '//') !== false ) - { - $folderPath = str_replace( '//', '/', $folderPath ) ; - } - - // Check if the parent exists, or create it. - if ( !file_exists( $sParent ) ) - { - //prevents agains infinite loop when we can't create root folder - if ( !is_null( $lastFolder ) && $lastFolder === $sParent) { - return "Can't create $folderPath directory" ; - } - - $sErrorMsg = CreateServerFolder( $sParent, $folderPath ) ; - if ( $sErrorMsg != '' ) - return $sErrorMsg ; - } - - if ( !file_exists( $folderPath ) ) - { - // Turn off all error reporting. - error_reporting( 0 ) ; - - $php_errormsg = '' ; - // Enable error tracking to catch the error. - ini_set( 'track_errors', '1' ) ; - - if ( isset( $Config['ChmodOnFolderCreate'] ) && !$Config['ChmodOnFolderCreate'] ) - { - mkdir( $folderPath ) ; - } - else - { - $permissions = 0777 ; - if ( isset( $Config['ChmodOnFolderCreate'] ) ) - { - $permissions = $Config['ChmodOnFolderCreate'] ; - } - // To create the folder with 0777 permissions, we need to set umask to zero. - $oldumask = umask(0) ; - mkdir( $folderPath, $permissions ) ; - umask( $oldumask ) ; - } - - $sErrorMsg = $php_errormsg ; - - // Restore the configurations. - ini_restore( 'track_errors' ) ; - ini_restore( 'error_reporting' ) ; - - return $sErrorMsg ; - } - else - return '' ; -} - -function GetRootPath() -{ - if (!isset($_SERVER)) { - global $_SERVER; - } - $sRealPath = realpath( './' ) ; - // #2124 ensure that no slash is at the end - $sRealPath = rtrim($sRealPath,"\\/"); - - $sSelfPath = $_SERVER['PHP_SELF'] ; - $sSelfPath = substr( $sSelfPath, 0, strrpos( $sSelfPath, '/' ) ) ; - - $sSelfPath = str_replace( '/', DIRECTORY_SEPARATOR, $sSelfPath ) ; - - $position = strpos( $sRealPath, $sSelfPath ) ; - - // This can check only that this script isn't run from a virtual dir - // But it avoids the problems that arise if it isn't checked - if ( $position === false || $position <> strlen( $sRealPath ) - strlen( $sSelfPath ) ) - SendError( 1, 'Sorry, can\'t map "UserFilesPath" to a physical path. You must set the "UserFilesAbsolutePath" value in "editor/filemanager/connectors/php/config.php".' ) ; - - return substr( $sRealPath, 0, $position ) ; -} - -// Emulate the asp Server.mapPath function. -// given an url path return the physical directory that it corresponds to -function Server_MapPath( $path ) -{ - // This function is available only for Apache - if ( function_exists( 'apache_lookup_uri' ) ) - { - $info = apache_lookup_uri( $path ) ; - return $info->filename . $info->path_info ; - } - - // This isn't correct but for the moment there's no other solution - // If this script is under a virtual directory or symlink it will detect the problem and stop - return GetRootPath() . $path ; -} - -function IsAllowedExt( $sExtension, $resourceType ) -{ - global $Config ; - // Get the allowed and denied extensions arrays. - $arAllowed = $Config['AllowedExtensions'][$resourceType] ; - $arDenied = $Config['DeniedExtensions'][$resourceType] ; - - if ( count($arAllowed) > 0 && !in_array( $sExtension, $arAllowed ) ) - return false ; - - if ( count($arDenied) > 0 && in_array( $sExtension, $arDenied ) ) - return false ; - - return true ; -} - -function IsAllowedType( $resourceType ) -{ - global $Config ; - if ( !in_array( $resourceType, $Config['ConfigAllowedTypes'] ) ) - return false ; - - return true ; -} - -function IsAllowedCommand( $sCommand ) -{ - global $Config ; - - if ( !in_array( $sCommand, $Config['ConfigAllowedCommands'] ) ) - return false ; - - return true ; -} - -function GetCurrentFolder() -{ - if (!isset($_GET)) { - global $_GET; - } - $sCurrentFolder = isset( $_GET['CurrentFolder'] ) ? $_GET['CurrentFolder'] : '/' ; - - // Check the current folder syntax (must begin and start with a slash). - if ( !preg_match( '|/$|', $sCurrentFolder ) ) - $sCurrentFolder .= '/' ; - if ( strpos( $sCurrentFolder, '/' ) !== 0 ) - $sCurrentFolder = '/' . $sCurrentFolder ; - - // Ensure the folder path has no double-slashes - while ( strpos ($sCurrentFolder, '//') !== false ) { - $sCurrentFolder = str_replace ('//', '/', $sCurrentFolder) ; - } - - // Check for invalid folder paths (..) - if ( strpos( $sCurrentFolder, '..' ) || strpos( $sCurrentFolder, "\\" )) - SendError( 102, '' ) ; - - return $sCurrentFolder ; -} - -// Do a cleanup of the folder name to avoid possible problems -function SanitizeFolderName( $sNewFolderName ) -{ - $sNewFolderName = stripslashes( $sNewFolderName ) ; - - // Remove . \ / | : ? * " < > - $sNewFolderName = preg_replace( '/\\.|\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFolderName ) ; - - return $sNewFolderName ; -} - -// Do a cleanup of the file name to avoid possible problems -function SanitizeFileName( $sNewFileName ) -{ - global $Config ; - - $sNewFileName = stripslashes( $sNewFileName ) ; - - // Replace dots in the name with underscores (only one dot can be there... security issue). - if ( $Config['ForceSingleExtension'] ) - $sNewFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sNewFileName ) ; - - // Remove \ / | : ? * " < > - $sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName ) ; - - return $sNewFileName ; -} - -// This is the function that sends the results of the uploading process. -function SendUploadResults( $errorNumber, $fileUrl = '', $fileName = '', $customMsg = '' ) -{ - // Minified version of the document.domain automatic fix script (#1919). - // The original script can be found at _dev/domain_fix_template.js - echo << -(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})(); -EOF; - - $rpl = array( '\\' => '\\\\', '"' => '\\"' ) ; - echo 'window.parent.OnUploadCompleted(' . $errorNumber . ',"' . strtr( $fileUrl, $rpl ) . '","' . strtr( $fileName, $rpl ) . '", "' . strtr( $customMsg, $rpl ) . '") ;' ; - echo '' ; - exit ; -} - -?> diff --git a/include/fckeditor/editor/filemanager/connectors/php/phpcompat.php b/include/fckeditor/editor/filemanager/connectors/php/phpcompat.php deleted file mode 100644 index 6fc89e593..000000000 --- a/include/fckeditor/editor/filemanager/connectors/php/phpcompat.php +++ /dev/null @@ -1,17 +0,0 @@ - diff --git a/include/fckeditor/editor/filemanager/connectors/php/util.php b/include/fckeditor/editor/filemanager/connectors/php/util.php deleted file mode 100644 index 30dc6c046..000000000 --- a/include/fckeditor/editor/filemanager/connectors/php/util.php +++ /dev/null @@ -1,220 +0,0 @@ - $val ) - { - $lcaseHtmlExtensions[$key] = strtolower( $val ) ; - } - return in_array( $ext, $lcaseHtmlExtensions ) ; -} - -/** - * Detect HTML in the first KB to prevent against potential security issue with - * IE/Safari/Opera file type auto detection bug. - * Returns true if file contain insecure HTML code at the beginning. - * - * @param string $filePath absolute path to file - * @return boolean - */ -function DetectHtml( $filePath ) -{ - $fp = @fopen( $filePath, 'rb' ) ; - - //open_basedir restriction, see #1906 - if ( $fp === false || !flock( $fp, LOCK_SH ) ) - { - return -1 ; - } - - $chunk = fread( $fp, 1024 ) ; - flock( $fp, LOCK_UN ) ; - fclose( $fp ) ; - - $chunk = strtolower( $chunk ) ; - - if (!$chunk) - { - return false ; - } - - $chunk = trim( $chunk ) ; - - if ( preg_match( "/= 4.0.7 - if ( function_exists( 'version_compare' ) ) { - $sCurrentVersion = phpversion(); - if ( version_compare( $sCurrentVersion, "4.2.0" ) >= 0 ) { - $imageCheckExtensions[] = "tiff"; - $imageCheckExtensions[] = "tif"; - } - if ( version_compare( $sCurrentVersion, "4.3.0" ) >= 0 ) { - $imageCheckExtensions[] = "swc"; - } - if ( version_compare( $sCurrentVersion, "4.3.2" ) >= 0 ) { - $imageCheckExtensions[] = "jpc"; - $imageCheckExtensions[] = "jp2"; - $imageCheckExtensions[] = "jpx"; - $imageCheckExtensions[] = "jb2"; - $imageCheckExtensions[] = "xbm"; - $imageCheckExtensions[] = "wbmp"; - } - } - - if ( !in_array( $extension, $imageCheckExtensions ) ) { - return true; - } - - if ( @getimagesize( $filePath ) === false ) { - return false ; - } - - return true; -} - -?> diff --git a/include/fckeditor/editor/filemanager/connectors/py/config.py b/include/fckeditor/editor/filemanager/connectors/py/config.py deleted file mode 100644 index 094800dcb..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/config.py +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env python -""" - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Configuration file for the File Manager Connector for Python -""" - -# INSTALLATION NOTE: You must set up your server environment accordingly to run -# python scripts. This connector requires Python 2.4 or greater. -# -# Supported operation modes: -# * WSGI (recommended): You'll need apache + mod_python + modpython_gateway -# or any web server capable of the WSGI python standard -# * Plain Old CGI: Any server capable of running standard python scripts -# (although mod_python is recommended for performance) -# This was the previous connector version operation mode -# -# If you're using Apache web server, replace the htaccess.txt to to .htaccess, -# and set the proper options and paths. -# For WSGI and mod_python, you may need to download modpython_gateway from: -# http://projects.amor.org/misc/svn/modpython_gateway.py and copy it in this -# directory. - - -# SECURITY: You must explicitly enable this "connector". (Set it to "True"). -# WARNING: don't just set "ConfigIsEnabled = True", you must be sure that only -# authenticated users can access this file or use some kind of session checking. -Enabled = False - -# Path to user files relative to the document root. -UserFilesPath = '/userfiles/' - -# Fill the following value it you prefer to specify the absolute path for the -# user files directory. Useful if you are using a virtual directory, symbolic -# link or alias. Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'. -# Attention: The above 'UserFilesPath' must point to the same directory. -# WARNING: GetRootPath may not work in virtual or mod_python configurations, and -# may not be thread safe. Use this configuration parameter instead. -UserFilesAbsolutePath = '' - -# Due to security issues with Apache modules, it is recommended to leave the -# following setting enabled. -ForceSingleExtension = True - -# What the user can do with this connector -ConfigAllowedCommands = [ 'QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder' ] - -# Allowed Resource Types -ConfigAllowedTypes = ['File', 'Image', 'Flash', 'Media'] - -# After file is uploaded, sometimes it is required to change its permissions -# so that it was possible to access it at the later time. -# If possible, it is recommended to set more restrictive permissions, like 0755. -# Set to 0 to disable this feature. -# Note: not needed on Windows-based servers. -ChmodOnUpload = 0755 - -# See comments above. -# Used when creating folders that does not exist. -ChmodOnFolderCreate = 0755 - -# Do not touch this 3 lines, see "Configuration settings for each Resource Type" -AllowedExtensions = {}; DeniedExtensions = {}; -FileTypesPath = {}; FileTypesAbsolutePath = {}; -QuickUploadPath = {}; QuickUploadAbsolutePath = {}; - -# Configuration settings for each Resource Type -# -# - AllowedExtensions: the possible extensions that can be allowed. -# If it is empty then any file type can be uploaded. -# - DeniedExtensions: The extensions that won't be allowed. -# If it is empty then no restrictions are done here. -# -# For a file to be uploaded it has to fulfill both the AllowedExtensions -# and DeniedExtensions (that's it: not being denied) conditions. -# -# - FileTypesPath: the virtual folder relative to the document root where -# these resources will be located. -# Attention: It must start and end with a slash: '/' -# -# - FileTypesAbsolutePath: the physical path to the above folder. It must be -# an absolute path. -# If it's an empty string then it will be autocalculated. -# Useful if you are using a virtual directory, symbolic link or alias. -# Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'. -# Attention: The above 'FileTypesPath' must point to the same directory. -# Attention: It must end with a slash: '/' -# -# -# - QuickUploadPath: the virtual folder relative to the document root where -# these resources will be uploaded using the Upload tab in the resources -# dialogs. -# Attention: It must start and end with a slash: '/' -# -# - QuickUploadAbsolutePath: the physical path to the above folder. It must be -# an absolute path. -# If it's an empty string then it will be autocalculated. -# Useful if you are using a virtual directory, symbolic link or alias. -# Examples: 'C:\\MySite\\userfiles\\' or '/root/mysite/userfiles/'. -# Attention: The above 'QuickUploadPath' must point to the same directory. -# Attention: It must end with a slash: '/' - -AllowedExtensions['File'] = ['7z','aiff','asf','avi','bmp','csv','doc','fla','flv','gif','gz','gzip','jpeg','jpg','mid','mov','mp3','mp4','mpc','mpeg','mpg','ods','odt','pdf','png','ppt','pxd','qt','ram','rar','rm','rmi','rmvb','rtf','sdc','sitd','swf','sxc','sxw','tar','tgz','tif','tiff','txt','vsd','wav','wma','wmv','xls','xml','zip'] -DeniedExtensions['File'] = [] -FileTypesPath['File'] = UserFilesPath + 'file/' -FileTypesAbsolutePath['File'] = (not UserFilesAbsolutePath == '') and (UserFilesAbsolutePath + 'file/') or '' -QuickUploadPath['File'] = FileTypesPath['File'] -QuickUploadAbsolutePath['File'] = FileTypesAbsolutePath['File'] - -AllowedExtensions['Image'] = ['bmp','gif','jpeg','jpg','png'] -DeniedExtensions['Image'] = [] -FileTypesPath['Image'] = UserFilesPath + 'image/' -FileTypesAbsolutePath['Image'] = (not UserFilesAbsolutePath == '') and UserFilesAbsolutePath + 'image/' or '' -QuickUploadPath['Image'] = FileTypesPath['Image'] -QuickUploadAbsolutePath['Image']= FileTypesAbsolutePath['Image'] - -AllowedExtensions['Flash'] = ['swf','flv'] -DeniedExtensions['Flash'] = [] -FileTypesPath['Flash'] = UserFilesPath + 'flash/' -FileTypesAbsolutePath['Flash'] = ( not UserFilesAbsolutePath == '') and UserFilesAbsolutePath + 'flash/' or '' -QuickUploadPath['Flash'] = FileTypesPath['Flash'] -QuickUploadAbsolutePath['Flash']= FileTypesAbsolutePath['Flash'] - -AllowedExtensions['Media'] = ['aiff','asf','avi','bmp','fla', 'flv','gif','jpeg','jpg','mid','mov','mp3','mp4','mpc','mpeg','mpg','png','qt','ram','rm','rmi','rmvb','swf','tif','tiff','wav','wma','wmv'] -DeniedExtensions['Media'] = [] -FileTypesPath['Media'] = UserFilesPath + 'media/' -FileTypesAbsolutePath['Media'] = ( not UserFilesAbsolutePath == '') and UserFilesAbsolutePath + 'media/' or '' -QuickUploadPath['Media'] = FileTypesPath['Media'] -QuickUploadAbsolutePath['Media']= FileTypesAbsolutePath['Media'] diff --git a/include/fckeditor/editor/filemanager/connectors/py/connector.py b/include/fckeditor/editor/filemanager/connectors/py/connector.py deleted file mode 100644 index e3a4c20aa..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/connector.py +++ /dev/null @@ -1,118 +0,0 @@ -#!/usr/bin/env python - -""" -FCKeditor - The text editor for Internet - http://www.fckeditor.net -Copyright (C) 2003-2008 Frederico Caldeira Knabben - -== BEGIN LICENSE == - -Licensed under the terms of any of the following licenses at your -choice: - - - GNU General Public License Version 2 or later (the "GPL") - http://www.gnu.org/licenses/gpl.html - - - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - http://www.gnu.org/licenses/lgpl.html - - - Mozilla Public License Version 1.1 or later (the "MPL") - http://www.mozilla.org/MPL/MPL-1.1.html - -== END LICENSE == - -Connector for Python (CGI and WSGI). - -See config.py for configuration settings - -""" -import os - -from fckutil import * -from fckcommands import * # default command's implementation -from fckoutput import * # base http, xml and html output mixins -from fckconnector import FCKeditorConnectorBase # import base connector -import config as Config - -class FCKeditorConnector( FCKeditorConnectorBase, - GetFoldersCommandMixin, - GetFoldersAndFilesCommandMixin, - CreateFolderCommandMixin, - UploadFileCommandMixin, - BaseHttpMixin, BaseXmlMixin, BaseHtmlMixin ): - "The Standard connector class." - def doResponse(self): - "Main function. Process the request, set headers and return a string as response." - s = "" - # Check if this connector is disabled - if not(Config.Enabled): - return self.sendError(1, "This connector is disabled. Please check the connector configurations in \"editor/filemanager/connectors/py/config.py\" and try again.") - # Make sure we have valid inputs - for key in ("Command","Type","CurrentFolder"): - if not self.request.has_key (key): - return - # Get command, resource type and current folder - command = self.request.get("Command") - resourceType = self.request.get("Type") - currentFolder = getCurrentFolder(self.request.get("CurrentFolder")) - # Check for invalid paths - if currentFolder is None: - return self.sendError(102, "") - - # Check if it is an allowed command - if ( not command in Config.ConfigAllowedCommands ): - return self.sendError( 1, 'The %s command isn\'t allowed' % command ) - - if ( not resourceType in Config.ConfigAllowedTypes ): - return self.sendError( 1, 'Invalid type specified' ) - - # Setup paths - if command == "QuickUpload": - self.userFilesFolder = Config.QuickUploadAbsolutePath[resourceType] - self.webUserFilesFolder = Config.QuickUploadPath[resourceType] - else: - self.userFilesFolder = Config.FileTypesAbsolutePath[resourceType] - self.webUserFilesFolder = Config.FileTypesPath[resourceType] - - if not self.userFilesFolder: # no absolute path given (dangerous...) - self.userFilesFolder = mapServerPath(self.environ, - self.webUserFilesFolder) - # Ensure that the directory exists. - if not os.path.exists(self.userFilesFolder): - try: - self.createServerFoldercreateServerFolder( self.userFilesFolder ) - except: - return self.sendError(1, "This connector couldn\'t access to local user\'s files directories. Please check the UserFilesAbsolutePath in \"editor/filemanager/connectors/py/config.py\" and try again. ") - - # File upload doesn't have to return XML, so intercept here - if (command == "FileUpload"): - return self.uploadFile(resourceType, currentFolder) - - # Create Url - url = combinePaths( self.webUserFilesFolder, currentFolder ) - - # Begin XML - s += self.createXmlHeader(command, resourceType, currentFolder, url) - # Execute the command - selector = {"GetFolders": self.getFolders, - "GetFoldersAndFiles": self.getFoldersAndFiles, - "CreateFolder": self.createFolder, - } - s += selector[command](resourceType, currentFolder) - s += self.createXmlFooter() - return s - -# Running from command line (plain old CGI) -if __name__ == '__main__': - try: - # Create a Connector Instance - conn = FCKeditorConnector() - data = conn.doResponse() - for header in conn.headers: - print '%s: %s' % header - print - print data - except: - print "Content-Type: text/plain" - print - import cgi - cgi.print_exception() diff --git a/include/fckeditor/editor/filemanager/connectors/py/fckcommands.py b/include/fckeditor/editor/filemanager/connectors/py/fckcommands.py deleted file mode 100644 index 0f4f8eb33..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/fckcommands.py +++ /dev/null @@ -1,198 +0,0 @@ -#!/usr/bin/env python - -""" -FCKeditor - The text editor for Internet - http://www.fckeditor.net -Copyright (C) 2003-2008 Frederico Caldeira Knabben - -== BEGIN LICENSE == - -Licensed under the terms of any of the following licenses at your -choice: - -- GNU General Public License Version 2 or later (the "GPL") -http://www.gnu.org/licenses/gpl.html - -- GNU Lesser General Public License Version 2.1 or later (the "LGPL") -http://www.gnu.org/licenses/lgpl.html - -- Mozilla Public License Version 1.1 or later (the "MPL") -http://www.mozilla.org/MPL/MPL-1.1.html - -== END LICENSE == - -Connector for Python (CGI and WSGI). - -""" - -import os -try: # Windows needs stdio set for binary mode for file upload to work. - import msvcrt - msvcrt.setmode (0, os.O_BINARY) # stdin = 0 - msvcrt.setmode (1, os.O_BINARY) # stdout = 1 -except ImportError: - pass - -from fckutil import * -from fckoutput import * -import config as Config - -class GetFoldersCommandMixin (object): - def getFolders(self, resourceType, currentFolder): - """ - Purpose: command to recieve a list of folders - """ - # Map the virtual path to our local server - serverPath = mapServerFolder(self.userFilesFolder,currentFolder) - s = """""" # Open the folders node - for someObject in os.listdir(serverPath): - someObjectPath = mapServerFolder(serverPath, someObject) - if os.path.isdir(someObjectPath): - s += """""" % ( - convertToXmlAttribute(someObject) - ) - s += """""" # Close the folders node - return s - -class GetFoldersAndFilesCommandMixin (object): - def getFoldersAndFiles(self, resourceType, currentFolder): - """ - Purpose: command to recieve a list of folders and files - """ - # Map the virtual path to our local server - serverPath = mapServerFolder(self.userFilesFolder,currentFolder) - # Open the folders / files node - folders = """""" - files = """""" - for someObject in os.listdir(serverPath): - someObjectPath = mapServerFolder(serverPath, someObject) - if os.path.isdir(someObjectPath): - folders += """""" % ( - convertToXmlAttribute(someObject) - ) - elif os.path.isfile(someObjectPath): - size = os.path.getsize(someObjectPath) - files += """""" % ( - convertToXmlAttribute(someObject), - os.path.getsize(someObjectPath) - ) - # Close the folders / files node - folders += """""" - files += """""" - return folders + files - -class CreateFolderCommandMixin (object): - def createFolder(self, resourceType, currentFolder): - """ - Purpose: command to create a new folder - """ - errorNo = 0; errorMsg =''; - if self.request.has_key("NewFolderName"): - newFolder = self.request.get("NewFolderName", None) - newFolder = sanitizeFolderName (newFolder) - try: - newFolderPath = mapServerFolder(self.userFilesFolder, combinePaths(currentFolder, newFolder)) - self.createServerFolder(newFolderPath) - except Exception, e: - errorMsg = str(e).decode('iso-8859-1').encode('utf-8') # warning with encodigns!!! - if hasattr(e,'errno'): - if e.errno==17: #file already exists - errorNo=0 - elif e.errno==13: # permission denied - errorNo = 103 - elif e.errno==36 or e.errno==2 or e.errno==22: # filename too long / no such file / invalid name - errorNo = 102 - else: - errorNo = 110 - else: - errorNo = 102 - return self.sendErrorNode ( errorNo, errorMsg ) - - def createServerFolder(self, folderPath): - "Purpose: physically creates a folder on the server" - # No need to check if the parent exists, just create all hierachy - - try: - permissions = Config.ChmodOnFolderCreate - if not permissions: - os.makedirs(folderPath) - except AttributeError: #ChmodOnFolderCreate undefined - permissions = 0755 - - if permissions: - oldumask = os.umask(0) - os.makedirs(folderPath,mode=0755) - os.umask( oldumask ) - -class UploadFileCommandMixin (object): - def uploadFile(self, resourceType, currentFolder): - """ - Purpose: command to upload files to server (same as FileUpload) - """ - errorNo = 0 - if self.request.has_key("NewFile"): - # newFile has all the contents we need - newFile = self.request.get("NewFile", "") - # Get the file name - newFileName = newFile.filename - newFileName = sanitizeFileName( newFileName ) - newFileNameOnly = removeExtension(newFileName) - newFileExtension = getExtension(newFileName).lower() - allowedExtensions = Config.AllowedExtensions[resourceType] - deniedExtensions = Config.DeniedExtensions[resourceType] - - if (allowedExtensions): - # Check for allowed - isAllowed = False - if (newFileExtension in allowedExtensions): - isAllowed = True - elif (deniedExtensions): - # Check for denied - isAllowed = True - if (newFileExtension in deniedExtensions): - isAllowed = False - else: - # No extension limitations - isAllowed = True - - if (isAllowed): - # Upload to operating system - # Map the virtual path to the local server path - currentFolderPath = mapServerFolder(self.userFilesFolder, currentFolder) - i = 0 - while (True): - newFilePath = os.path.join (currentFolderPath,newFileName) - if os.path.exists(newFilePath): - i += 1 - newFileName = "%s(%04d).%s" % ( - newFileNameOnly, i, newFileExtension - ) - errorNo= 201 # file renamed - else: - # Read file contents and write to the desired path (similar to php's move_uploaded_file) - fout = file(newFilePath, 'wb') - while (True): - chunk = newFile.file.read(100000) - if not chunk: break - fout.write (chunk) - fout.close() - - if os.path.exists ( newFilePath ): - doChmod = False - try: - doChmod = Config.ChmodOnUpload - permissions = Config.ChmodOnUpload - except AttributeError: #ChmodOnUpload undefined - doChmod = True - permissions = 0755 - if ( doChmod ): - oldumask = os.umask(0) - os.chmod( newFilePath, permissions ) - os.umask( oldumask ) - - newFileUrl = self.webUserFilesFolder + currentFolder + newFileName - - return self.sendUploadResults( errorNo , newFileUrl, newFileName ) - else: - return self.sendUploadResults( errorNo = 203, customMsg = "Extension not allowed" ) - else: - return self.sendUploadResults( errorNo = 202, customMsg = "No File" ) diff --git a/include/fckeditor/editor/filemanager/connectors/py/fckconnector.py b/include/fckeditor/editor/filemanager/connectors/py/fckconnector.py deleted file mode 100644 index 329aec941..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/fckconnector.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python - -""" -FCKeditor - The text editor for Internet - http://www.fckeditor.net -Copyright (C) 2003-2008 Frederico Caldeira Knabben - -== BEGIN LICENSE == - -Licensed under the terms of any of the following licenses at your -choice: - -- GNU General Public License Version 2 or later (the "GPL") -http://www.gnu.org/licenses/gpl.html - -- GNU Lesser General Public License Version 2.1 or later (the "LGPL") -http://www.gnu.org/licenses/lgpl.html - -- Mozilla Public License Version 1.1 or later (the "MPL") -http://www.mozilla.org/MPL/MPL-1.1.html - -== END LICENSE == - -Base Connector for Python (CGI and WSGI). - -See config.py for configuration settings - -""" -import cgi, os - -from fckutil import * -from fckcommands import * # default command's implementation -from fckoutput import * # base http, xml and html output mixins -import config as Config - -class FCKeditorConnectorBase( object ): - "The base connector class. Subclass it to extend functionality (see Zope example)" - - def __init__(self, environ=None): - "Constructor: Here you should parse request fields, initialize variables, etc." - self.request = FCKeditorRequest(environ) # Parse request - self.headers = [] # Clean Headers - if environ: - self.environ = environ - else: - self.environ = os.environ - - # local functions - - def setHeader(self, key, value): - self.headers.append ((key, value)) - return - -class FCKeditorRequest(object): - "A wrapper around the request object" - def __init__(self, environ): - if environ: # WSGI - self.request = cgi.FieldStorage(fp=environ['wsgi.input'], - environ=environ, - keep_blank_values=1) - self.environ = environ - else: # plain old cgi - self.environ = os.environ - self.request = cgi.FieldStorage() - if 'REQUEST_METHOD' in self.environ and 'QUERY_STRING' in self.environ: - if self.environ['REQUEST_METHOD'].upper()=='POST': - # we are in a POST, but GET query_string exists - # cgi parses by default POST data, so parse GET QUERY_STRING too - self.get_request = cgi.FieldStorage(fp=None, - environ={ - 'REQUEST_METHOD':'GET', - 'QUERY_STRING':self.environ['QUERY_STRING'], - }, - ) - else: - self.get_request={} - - def has_key(self, key): - return self.request.has_key(key) or self.get_request.has_key(key) - - def get(self, key, default=None): - if key in self.request.keys(): - field = self.request[key] - elif key in self.get_request.keys(): - field = self.get_request[key] - else: - return default - if hasattr(field,"filename") and field.filename: #file upload, do not convert return value - return field - else: - return field.value diff --git a/include/fckeditor/editor/filemanager/connectors/py/fckoutput.py b/include/fckeditor/editor/filemanager/connectors/py/fckoutput.py deleted file mode 100644 index 12bcc0463..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/fckoutput.py +++ /dev/null @@ -1,116 +0,0 @@ -#!/usr/bin/env python - -""" -FCKeditor - The text editor for Internet - http://www.fckeditor.net -Copyright (C) 2003-2008 Frederico Caldeira Knabben - -== BEGIN LICENSE == - -Licensed under the terms of any of the following licenses at your -choice: - -- GNU General Public License Version 2 or later (the "GPL") -http://www.gnu.org/licenses/gpl.html - -- GNU Lesser General Public License Version 2.1 or later (the "LGPL") -http://www.gnu.org/licenses/lgpl.html - -- Mozilla Public License Version 1.1 or later (the "MPL") -http://www.mozilla.org/MPL/MPL-1.1.html - -== END LICENSE == - -Connector for Python (CGI and WSGI). - -""" - -from time import gmtime, strftime -import string - -def escape(text, replace=string.replace): - """ - Converts the special characters '<', '>', and '&'. - - RFC 1866 specifies that these characters be represented - in HTML as < > and & respectively. In Python - 1.5 we use the new string.replace() function for speed. - """ - text = replace(text, '&', '&') # must be done 1st - text = replace(text, '<', '<') - text = replace(text, '>', '>') - text = replace(text, '"', '"') - return text - -def convertToXmlAttribute(value): - if (value is None): - value = "" - return escape(value) - -class BaseHttpMixin(object): - def setHttpHeaders(self, content_type='text/xml'): - "Purpose: to prepare the headers for the xml to return" - # Prevent the browser from caching the result. - # Date in the past - self.setHeader('Expires','Mon, 26 Jul 1997 05:00:00 GMT') - # always modified - self.setHeader('Last-Modified',strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime())) - # HTTP/1.1 - self.setHeader('Cache-Control','no-store, no-cache, must-revalidate') - self.setHeader('Cache-Control','post-check=0, pre-check=0') - # HTTP/1.0 - self.setHeader('Pragma','no-cache') - - # Set the response format. - self.setHeader( 'Content-Type', content_type + '; charset=utf-8' ) - return - -class BaseXmlMixin(object): - def createXmlHeader(self, command, resourceType, currentFolder, url): - "Purpose: returns the xml header" - self.setHttpHeaders() - # Create the XML document header - s = """""" - # Create the main connector node - s += """""" % ( - command, - resourceType - ) - # Add the current folder node - s += """""" % ( - convertToXmlAttribute(currentFolder), - convertToXmlAttribute(url), - ) - return s - - def createXmlFooter(self): - "Purpose: returns the xml footer" - return """""" - - def sendError(self, number, text): - "Purpose: in the event of an error, return an xml based error" - self.setHttpHeaders() - return ("""""" + - """""" + - self.sendErrorNode (number, text) + - """""" ) - - def sendErrorNode(self, number, text): - return """""" % (number, convertToXmlAttribute(text)) - -class BaseHtmlMixin(object): - def sendUploadResults( self, errorNo = 0, fileUrl = '', fileName = '', customMsg = '' ): - self.setHttpHeaders("text/html") - "This is the function that sends the results of the uploading process" - - "Minified version of the document.domain automatic fix script (#1919)." - "The original script can be found at _dev/domain_fix_template.js" - return """""" % { - 'errorNumber': errorNo, - 'fileUrl': fileUrl.replace ('"', '\\"'), - 'fileName': fileName.replace ( '"', '\\"' ) , - 'customMsg': customMsg.replace ( '"', '\\"' ), - } diff --git a/include/fckeditor/editor/filemanager/connectors/py/fckutil.py b/include/fckeditor/editor/filemanager/connectors/py/fckutil.py deleted file mode 100644 index eac508d46..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/fckutil.py +++ /dev/null @@ -1,126 +0,0 @@ -#!/usr/bin/env python - -""" -FCKeditor - The text editor for Internet - http://www.fckeditor.net -Copyright (C) 2003-2008 Frederico Caldeira Knabben - -== BEGIN LICENSE == - -Licensed under the terms of any of the following licenses at your -choice: - -- GNU General Public License Version 2 or later (the "GPL") -http://www.gnu.org/licenses/gpl.html - -- GNU Lesser General Public License Version 2.1 or later (the "LGPL") -http://www.gnu.org/licenses/lgpl.html - -- Mozilla Public License Version 1.1 or later (the "MPL") -http://www.mozilla.org/MPL/MPL-1.1.html - -== END LICENSE == - -Utility functions for the File Manager Connector for Python - -""" - -import string, re -import os -import config as Config - -# Generic manipulation functions - -def removeExtension(fileName): - index = fileName.rindex(".") - newFileName = fileName[0:index] - return newFileName - -def getExtension(fileName): - index = fileName.rindex(".") + 1 - fileExtension = fileName[index:] - return fileExtension - -def removeFromStart(string, char): - return string.lstrip(char) - -def removeFromEnd(string, char): - return string.rstrip(char) - -# Path functions - -def combinePaths( basePath, folder ): - return removeFromEnd( basePath, '/' ) + '/' + removeFromStart( folder, '/' ) - -def getFileName(filename): - " Purpose: helper function to extrapolate the filename " - for splitChar in ["/", "\\"]: - array = filename.split(splitChar) - if (len(array) > 1): - filename = array[-1] - return filename - -def sanitizeFolderName( newFolderName ): - "Do a cleanup of the folder name to avoid possible problems" - # Remove . \ / | : ? * " < > and control characters - return re.sub( '(?u)\\.|\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[^\u0000-\u001f\u007f-\u009f]', '_', newFolderName ) - -def sanitizeFileName( newFileName ): - "Do a cleanup of the file name to avoid possible problems" - # Replace dots in the name with underscores (only one dot can be there... security issue). - if ( Config.ForceSingleExtension ): # remove dots - newFileName = re.sub ( '/\\.(?![^.]*$)/', '_', newFileName ) ; - newFileName = newFileName.replace('\\','/') # convert windows to unix path - newFileName = os.path.basename (newFileName) # strip directories - # Remove \ / | : ? * - return re.sub ( '(?u)/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[^\u0000-\u001f\u007f-\u009f]/', '_', newFileName ) - -def getCurrentFolder(currentFolder): - if not currentFolder: - currentFolder = '/' - - # Check the current folder syntax (must begin and end with a slash). - if (currentFolder[-1] <> "/"): - currentFolder += "/" - if (currentFolder[0] <> "/"): - currentFolder = "/" + currentFolder - - # Ensure the folder path has no double-slashes - while '//' in currentFolder: - currentFolder = currentFolder.replace('//','/') - - # Check for invalid folder paths (..) - if '..' in currentFolder or '\\' in currentFolder: - return None - - return currentFolder - -def mapServerPath( environ, url): - " Emulate the asp Server.mapPath function. Given an url path return the physical directory that it corresponds to " - # This isn't correct but for the moment there's no other solution - # If this script is under a virtual directory or symlink it will detect the problem and stop - return combinePaths( getRootPath(environ), url ) - -def mapServerFolder(resourceTypePath, folderPath): - return combinePaths ( resourceTypePath , folderPath ) - -def getRootPath(environ): - "Purpose: returns the root path on the server" - # WARNING: this may not be thread safe, and doesn't work w/ VirtualServer/mod_python - # Use Config.UserFilesAbsolutePath instead - - if environ.has_key('DOCUMENT_ROOT'): - return environ['DOCUMENT_ROOT'] - else: - realPath = os.path.realpath( './' ) - selfPath = environ['SCRIPT_FILENAME'] - selfPath = selfPath [ : selfPath.rfind( '/' ) ] - selfPath = selfPath.replace( '/', os.path.sep) - - position = realPath.find(selfPath) - - # This can check only that this script isn't run from a virtual dir - # But it avoids the problems that arise if it isn't checked - raise realPath - if ( position < 0 or position <> len(realPath) - len(selfPath) or realPath[ : position ]==''): - raise Exception('Sorry, can\'t map "UserFilesPath" to a physical path. You must set the "UserFilesAbsolutePath" value in "editor/filemanager/connectors/py/config.py".') - return realPath[ : position ] diff --git a/include/fckeditor/editor/filemanager/connectors/py/htaccess.txt b/include/fckeditor/editor/filemanager/connectors/py/htaccess.txt deleted file mode 100644 index 82374196a..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/htaccess.txt +++ /dev/null @@ -1,23 +0,0 @@ -# replace the name of this file to .htaccess (if using apache), -# and set the proper options and paths according your enviroment - -Allow from all - -# If using mod_python uncomment this: -PythonPath "[r'C:\Archivos de programa\Apache Software Foundation\Apache2.2\htdocs\fckeditor\editor\filemanager\connectors\py'] + sys.path" - - -# Recomended: WSGI application running with mod_python and modpython_gateway -SetHandler python-program -PythonHandler modpython_gateway::handler -PythonOption wsgi.application wsgi::App - - -# Emulated CGI with mod_python and cgihandler -#AddHandler mod_python .py -#PythonHandler mod_python.cgihandler - - -# Plain old CGI -#Options +ExecCGI -#AddHandler cgi-script py diff --git a/include/fckeditor/editor/filemanager/connectors/py/upload.py b/include/fckeditor/editor/filemanager/connectors/py/upload.py deleted file mode 100644 index db5a5ab1a..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/upload.py +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env python - -""" -FCKeditor - The text editor for Internet - http://www.fckeditor.net -Copyright (C) 2003-2008 Frederico Caldeira Knabben - -== BEGIN LICENSE == - -Licensed under the terms of any of the following licenses at your -choice: - -- GNU General Public License Version 2 or later (the "GPL") -http://www.gnu.org/licenses/gpl.html - -- GNU Lesser General Public License Version 2.1 or later (the "LGPL") -http://www.gnu.org/licenses/lgpl.html - -- Mozilla Public License Version 1.1 or later (the "MPL") -http://www.mozilla.org/MPL/MPL-1.1.html - -== END LICENSE == - -This is the "File Uploader" for Python - -""" -import os - -from fckutil import * -from fckcommands import * # default command's implementation -from fckconnector import FCKeditorConnectorBase # import base connector -import config as Config - -class FCKeditorQuickUpload( FCKeditorConnectorBase, - UploadFileCommandMixin, - BaseHttpMixin, BaseHtmlMixin): - def doResponse(self): - "Main function. Process the request, set headers and return a string as response." - # Check if this connector is disabled - if not(Config.Enabled): - return self.sendUploadResults(1, "This file uploader is disabled. Please check the \"editor/filemanager/connectors/py/config.py\"") - command = 'QuickUpload' - # The file type (from the QueryString, by default 'File'). - resourceType = self.request.get('Type','File') - currentFolder = getCurrentFolder(self.request.get("CurrentFolder","")) - # Check for invalid paths - if currentFolder is None: - return self.sendUploadResults(102, '', '', "") - - # Check if it is an allowed command - if ( not command in Config.ConfigAllowedCommands ): - return self.sendUploadResults( 1, '', '', 'The %s command isn\'t allowed' % command ) - - if ( not resourceType in Config.ConfigAllowedTypes ): - return self.sendUploadResults( 1, '', '', 'Invalid type specified' ) - - # Setup paths - self.userFilesFolder = Config.QuickUploadAbsolutePath[resourceType] - self.webUserFilesFolder = Config.QuickUploadPath[resourceType] - if not self.userFilesFolder: # no absolute path given (dangerous...) - self.userFilesFolder = mapServerPath(self.environ, - self.webUserFilesFolder) - - # Ensure that the directory exists. - if not os.path.exists(self.userFilesFolder): - try: - self.createServerFoldercreateServerFolder( self.userFilesFolder ) - except: - return self.sendError(1, "This connector couldn\'t access to local user\'s files directories. Please check the UserFilesAbsolutePath in \"editor/filemanager/connectors/py/config.py\" and try again. ") - - # File upload doesn't have to return XML, so intercept here - return self.uploadFile(resourceType, currentFolder) - -# Running from command line (plain old CGI) -if __name__ == '__main__': - try: - # Create a Connector Instance - conn = FCKeditorQuickUpload() - data = conn.doResponse() - for header in conn.headers: - if not header is None: - print '%s: %s' % header - print - print data - except: - print "Content-Type: text/plain" - print - import cgi - cgi.print_exception() diff --git a/include/fckeditor/editor/filemanager/connectors/py/wsgi.py b/include/fckeditor/editor/filemanager/connectors/py/wsgi.py deleted file mode 100644 index 9b6c43204..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/wsgi.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python - -""" -FCKeditor - The text editor for Internet - http://www.fckeditor.net -Copyright (C) 2003-2008 Frederico Caldeira Knabben - -== BEGIN LICENSE == - -Licensed under the terms of any of the following licenses at your -choice: - - - GNU General Public License Version 2 or later (the "GPL") - http://www.gnu.org/licenses/gpl.html - - - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - http://www.gnu.org/licenses/lgpl.html - - - Mozilla Public License Version 1.1 or later (the "MPL") - http://www.mozilla.org/MPL/MPL-1.1.html - -== END LICENSE == - -Connector/QuickUpload for Python (WSGI wrapper). - -See config.py for configuration settings - -""" - -from connector import FCKeditorConnector -from upload import FCKeditorQuickUpload - -import cgitb -from cStringIO import StringIO - -# Running from WSGI capable server (recomended) -def App(environ, start_response): - "WSGI entry point. Run the connector" - if environ['SCRIPT_NAME'].endswith("connector.py"): - conn = FCKeditorConnector(environ) - elif environ['SCRIPT_NAME'].endswith("upload.py"): - conn = FCKeditorQuickUpload(environ) - else: - start_response ("200 Ok", [('Content-Type','text/html')]) - yield "Unknown page requested: " - yield environ['SCRIPT_NAME'] - return - try: - # run the connector - data = conn.doResponse() - # Start WSGI response: - start_response ("200 Ok", conn.headers) - # Send response text - yield data - except: - start_response("500 Internal Server Error",[("Content-type","text/html")]) - file = StringIO() - cgitb.Hook(file = file).handle() - yield file.getvalue() diff --git a/include/fckeditor/editor/filemanager/connectors/py/zope.py b/include/fckeditor/editor/filemanager/connectors/py/zope.py deleted file mode 100644 index ed0d5f452..000000000 --- a/include/fckeditor/editor/filemanager/connectors/py/zope.py +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/env python - -""" -FCKeditor - The text editor for Internet - http://www.fckeditor.net -Copyright (C) 2003-2008 Frederico Caldeira Knabben - -== BEGIN LICENSE == - -Licensed under the terms of any of the following licenses at your -choice: - -- GNU General Public License Version 2 or later (the "GPL") -http://www.gnu.org/licenses/gpl.html - -- GNU Lesser General Public License Version 2.1 or later (the "LGPL") -http://www.gnu.org/licenses/lgpl.html - -- Mozilla Public License Version 1.1 or later (the "MPL") -http://www.mozilla.org/MPL/MPL-1.1.html - -== END LICENSE == - -Connector for Python and Zope. - -This code was not tested at all. -It just was ported from pre 2.5 release, so for further reference see -\editor\filemanager\browser\default\connectors\py\connector.py in previous -releases. - -""" - -from fckutil import * -from connector import * -import config as Config - -class FCKeditorConnectorZope(FCKeditorConnector): - """ - Zope versiof FCKeditorConnector - """ - # Allow access (Zope) - __allow_access_to_unprotected_subobjects__ = 1 - - def __init__(self, context=None): - """ - Constructor - """ - FCKeditorConnector.__init__(self, environ=None) # call superclass constructor - # Instance Attributes - self.context = context - self.request = FCKeditorRequest(context) - - def getZopeRootContext(self): - if self.zopeRootContext is None: - self.zopeRootContext = self.context.getPhysicalRoot() - return self.zopeRootContext - - def getZopeUploadContext(self): - if self.zopeUploadContext is None: - folderNames = self.userFilesFolder.split("/") - c = self.getZopeRootContext() - for folderName in folderNames: - if (folderName <> ""): - c = c[folderName] - self.zopeUploadContext = c - return self.zopeUploadContext - - def setHeader(self, key, value): - self.context.REQUEST.RESPONSE.setHeader(key, value) - - def getFolders(self, resourceType, currentFolder): - # Open the folders node - s = "" - s += """""" - zopeFolder = self.findZopeFolder(resourceType, currentFolder) - for (name, o) in zopeFolder.objectItems(["Folder"]): - s += """""" % ( - convertToXmlAttribute(name) - ) - # Close the folders node - s += """""" - return s - - def getZopeFoldersAndFiles(self, resourceType, currentFolder): - folders = self.getZopeFolders(resourceType, currentFolder) - files = self.getZopeFiles(resourceType, currentFolder) - s = folders + files - return s - - def getZopeFiles(self, resourceType, currentFolder): - # Open the files node - s = "" - s += """""" - zopeFolder = self.findZopeFolder(resourceType, currentFolder) - for (name, o) in zopeFolder.objectItems(["File","Image"]): - s += """""" % ( - convertToXmlAttribute(name), - ((o.get_size() / 1024) + 1) - ) - # Close the files node - s += """""" - return s - - def findZopeFolder(self, resourceType, folderName): - # returns the context of the resource / folder - zopeFolder = self.getZopeUploadContext() - folderName = self.removeFromStart(folderName, "/") - folderName = self.removeFromEnd(folderName, "/") - if (resourceType <> ""): - try: - zopeFolder = zopeFolder[resourceType] - except: - zopeFolder.manage_addProduct["OFSP"].manage_addFolder(id=resourceType, title=resourceType) - zopeFolder = zopeFolder[resourceType] - if (folderName <> ""): - folderNames = folderName.split("/") - for folderName in folderNames: - zopeFolder = zopeFolder[folderName] - return zopeFolder - - def createFolder(self, resourceType, currentFolder): - # Find out where we are - zopeFolder = self.findZopeFolder(resourceType, currentFolder) - errorNo = 0 - errorMsg = "" - if self.request.has_key("NewFolderName"): - newFolder = self.request.get("NewFolderName", None) - zopeFolder.manage_addProduct["OFSP"].manage_addFolder(id=newFolder, title=newFolder) - else: - errorNo = 102 - return self.sendErrorNode ( errorNo, errorMsg ) - - def uploadFile(self, resourceType, currentFolder, count=None): - zopeFolder = self.findZopeFolder(resourceType, currentFolder) - file = self.request.get("NewFile", None) - fileName = self.getFileName(file.filename) - fileNameOnly = self.removeExtension(fileName) - fileExtension = self.getExtension(fileName).lower() - if (count): - nid = "%s.%s.%s" % (fileNameOnly, count, fileExtension) - else: - nid = fileName - title = nid - try: - zopeFolder.manage_addProduct['OFSP'].manage_addFile( - id=nid, - title=title, - file=file.read() - ) - except: - if (count): - count += 1 - else: - count = 1 - return self.zopeFileUpload(resourceType, currentFolder, count) - return self.sendUploadResults( 0 ) - -class FCKeditorRequest(object): - "A wrapper around the request object" - def __init__(self, context=None): - r = context.REQUEST - self.request = r - - def has_key(self, key): - return self.request.has_key(key) - - def get(self, key, default=None): - return self.request.get(key, default) - -""" -Running from zope, you will need to modify this connector. -If you have uploaded the FCKeditor into Zope (like me), you need to -move this connector out of Zope, and replace the "connector" with an -alias as below. The key to it is to pass the Zope context in, as -we then have a like to the Zope context. - -## Script (Python) "connector.py" -##bind container=container -##bind context=context -##bind namespace= -##bind script=script -##bind subpath=traverse_subpath -##parameters=*args, **kws -##title=ALIAS -## - -import Products.zope as connector -return connector.FCKeditorConnectorZope(context=context).doResponse() -""" diff --git a/include/fckeditor/editor/filemanager/connectors/test.html b/include/fckeditor/editor/filemanager/connectors/test.html deleted file mode 100644 index 14e547073..000000000 --- a/include/fckeditor/editor/filemanager/connectors/test.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - FCKeditor - Connectors Tests - - - - - - - - - - - -
    - - - - - - - - -
    - Connector:
    - -
    -     - Current Folder
    -
    -     - Resource Type
    - -
    -
    - - - - - - - - - - -
    - Get Folders -     - Get Folders and Files -     - Create Folder -     -
    - File Upload
    - - -
    -
    -
    - URL: -
    - -
    - - diff --git a/include/fckeditor/editor/filemanager/connectors/uploadtest.html b/include/fckeditor/editor/filemanager/connectors/uploadtest.html deleted file mode 100644 index 16d4ba496..000000000 --- a/include/fckeditor/editor/filemanager/connectors/uploadtest.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - FCKeditor - Uploaders Tests - - - - - - - - - - - -
    - - - - - - - - -
    - Select the "File Uploader" to use:
    - -
    - Resource Type
    - -
    - Current Folder:
    - -
           - Custom Uploader URL:
    - -
    -
    - - - - - - -
    -
    - Upload a new file:
    -
    - - -
    -
           - Uploaded File URL:
    - -
    -
    - Post URL:   -
    - -
    - - diff --git a/include/fckeditor/editor/images/anchor.gif b/include/fckeditor/editor/images/anchor.gif deleted file mode 100644 index 5aa797b2240a432d9f3f1d166ed5542eaf684937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZ?wbhEHb6kygJ|Uu&?oD;%Ae!z@09(NL_hv#6Slx0y!YR{?r|LJZgAju=f-$sQVWNL{+Tsz18#+~Ke%+zTWns()WcPwy8dQcr!JH# U&i)o#0r5dH3``s@d}5hzR)=UXSOWn0FbS~$ diff --git a/include/fckeditor/editor/images/arrow_rtl.gif b/include/fckeditor/editor/images/arrow_rtl.gif deleted file mode 100644 index 22e864984dc8be2445bc66780300651610c029b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49 ucmZ?wbhEHbWMN=uXkcW30L7myKqe!D4u}hqVPN9uDdaf4E0als!5RRbfd=jX diff --git a/include/fckeditor/editor/images/smiley/msn/angel_smile.gif b/include/fckeditor/editor/images/smiley/msn/angel_smile.gif deleted file mode 100644 index a95e053715347debd916ed191a9411a81b97c471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmZ?wbhEHb6lM@+xXQrr9|(Sb_<#TZmHYqCocVv?&VeiY|Nox>6kYZI{;DhYSN-3= z>dO9A|L3o|GJn;A1xx<_5B+~X^veCv|NBF)><|4vKlIA{&{gw+f(-xnGhErv@P9tT zmH7<+>qA!oQGDns`_TXO46A_1o}s=zG!%&9LqqLD>*X1!0u+C;aB?uPGw6U!1Nn)8 z?bdpKkHzGr_?|tkP*zrwQ_#3s<;%KVQtI0mlP5;%EsX7TQU#R>4h0^J Y+;U1?I|3RGOjWBEnPcc+z`_b-pkvvd@;YvKie|v^2_6+~!8Lr4P ztg>fVCC^YV9~vqjs%0OlB_CQZ&k!olKy{$_lZBImfrUW_WHQK43~Y}anhH85q*w@Z zCY?~pQtH=mahB4ZsXWO=sn)}7L5GWSrrWAXZBf#-E*hzc7rnDCt4=uXI$6MOYZkA7 zfHH%Mpn#yD91BN!TMQe&3S(QIgrF>Eh4NH+zCdLzW@Y|PK~Kr_#idOOiahP&f)e6l zGW^QiN=x~9g)-tcCyT}+GB%Uce!hTiF?^;x8yJG>gSwKrZG0 z6C=Cw454kTES%E(B9T)Veznhd;v^)Jw)f;D)r6LG-(v@w*>vZyl=!x&dU75dX)&5lr z7A#pce^o<6!~gnKSL#=-s$ccLKJ-d`=>Pc8EAgSL>O)t>hyJ$@y<#8wUp{n|edsEA zpcKQEc!vM>3|H(K{>w95k!M&X&p;!f_>+Z`gMo!X2V_3TPYi5F9GVI|bfo%EJZwBP zMW(}hV%sN?Af<`tSb}Y19K`$CjTLMJ*iN=MCkkjtUr;Yu*rM>hS&T$tHgPEt`JS%OQ5vpPyxUWh@crCCHyjLVyizh^ENYqG*rDc)3mp=#k? zVIIaL2{~y|9ww)496~a}qFjO!5(*N$^)5U@JtExRGIH{lQeC&zaPi6Pzvm$)bhCEZ mWzYI7SuyVWo-7RPPX)NXxr&Ls`^766;Qv5?!M%xr!5RS2k9cPQ diff --git a/include/fckeditor/editor/images/smiley/msn/cake.gif b/include/fckeditor/editor/images/smiley/msn/cake.gif deleted file mode 100644 index f6489d7d59dc8dba08fb248e9b0a6182695f5e01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453 zcmZ?wbhEHb6lM@+xXQrr9|(Sb_<#TZmHYqCocVv?&Vgm8KK!2n6kYZI{;DhYSN-3= z>dO9A|L3n-wSU!u1xr@VU)9jiu&REQR{Sb0`&C-p5cl;Lw$W{eSD~vJ&68_N$gbeS zDhzroJfdsAFGyRV`i=9}4E~kM(rnrlo;*^G!jf71T_V!b{BAlt96Wqt^`f_P;a`ABWE2>Fv+}!NAO*1LA<}WMJL@K%tNMpb3xTy2pofx;E|L)fVEFIb0LGhDBCiZMJEM zF6+Th3MWL`k0+aDo|R*0Nd3-{k*VZ%X3__r<8zOcJXByw?RQD%{;r^-cQVoJ+d5IP zNPYnxL4HdERv%vLu68{hzM9F_#?u5_eW&@)HWt(q| z%*7`&Nm6ozm-R1u?j2Sd7c&_b*U>lynMHL7Yg&A PG*b->VrSA(WUvMRUk7-C diff --git a/include/fckeditor/editor/images/smiley/msn/cry_smile.gif b/include/fckeditor/editor/images/smiley/msn/cry_smile.gif deleted file mode 100644 index 0758f429e95b1fa75f3e54b731fab507ab9318bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 473 zcmZ?wbhEHb6lM@+xXQrr9|(SbxN`shnKSnzaM(#e(3-Gp;v%te(0+Gp{wQt1sVSD zXSf1H^BGpvhpvhbU1cA-s-9t0Ji{t`hWh%@`uNaLdmzbBZ_hv>Q2fcl$-%(RpaU`o zp$RRi*^+&@(=1KgLMhldk9yB&+Cz$0#Ola^FV6X-N Dk$IbY diff --git a/include/fckeditor/editor/images/smiley/msn/devil_smile.gif b/include/fckeditor/editor/images/smiley/msn/devil_smile.gif deleted file mode 100644 index 15518d7f05408c0c00be035fbbeb20001878807b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 444 zcmZ?wbhEHb6lM@+xXQrr9|(Sb_<#TZmHYn>+&S=n#{Vn(S6!LEYSsQ#tLCq2XlS@n zziL(eDy{nep&$|{75cwE^h$l`|M<`=@u92gLs!Lz{+Z`gMpPn2V^+NPYi4~4>Vm^Bq-G@-}NwJL4y#>vI`qF zx-6f?_xO}ajSc5wRpw1HOIW#=RsGGdoB5=r`DK8K+@91(gD1M;%F0SYLL$w|QeqrQ z@~r}bf=YtQf+7;~0dDNVLV~ReCJHJq|Pj?=;e9q-^_#2|zdIKUYk(Fhu#F*HOF1Rxj!p#lZephOfzAQ~c(1PMrn zL=-^*ilGn`5TJon5v^)56{-_;P-p6>jc5aHOdDzt4bWg3s4A*ZHC1X9jnHTssYx_J zlWC$B(E=@|g-WSIDNRWeF@cGh(43fqIWtFV#2Q#**3g1jfCaNqHFYeQS`}Lqi?C=G zX-O=>l3Ah^u>vb*g+?*LXhvp{EXZP6n4M&Y>?}LxMskDPSZTUD_vb*4gENHbg+BVsnt8;-p&V4KfLVx>nDcC z?z^Mww?A&{pZsFuucY> ztow=MFWxoP-u2J+zjwWK{LsnSJ?p0K{%pFpr}Mzb?SA9j+u!dzHUIdk-Q&01w6$++ x$nQS$<_Jd59(ixz-PXe952gkkx~}V(@%^?x&i-=4>46{K8TW_Vms}&8{s+7l5EK9a diff --git a/include/fckeditor/editor/images/smiley/msn/envelope.gif b/include/fckeditor/editor/images/smiley/msn/envelope.gif deleted file mode 100644 index 66d3656147a0f70d36c65ea44a0ee1577fc5832b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1030 zcmW+#U5FM$6g|dTZhx$PAq3H^i})~wp;2T#3{jc}!4lof${kBv77<#ghsuY$pT!ck zJ=GUm56uRPu-AvohoEQ~_a$@tN~B2$jCt@uiUOlBBIq=`2Znow;czeKo_TD~t_OC! z&_M@(V+B*IXKJ-fwcFGR&RjZkV)?2M<^z3%kK&{GNU!iJUd=0gf=}X;`9z=Lv-oU2 z(^vQ^zM8M}gr|6#Cj}6QzyuTraU#ydQ35201d~9CkSG#OB1Iu8q9#g7kR*~!5+y^j zNH)oo3aKL1q*4f>2u(-@w5eeVs)IUFXX>Z{8bpI>phjpEji!;RP!&~Er6y<+O{R&O zp;o$JN*Z7ggBfTJ=ER(tqXk$H3ub{9VNooa#inUviK#WQC0G(m zW{H+zSuC4nT7^}yYF254QH*9}0SctR3RoP9lj5v6mVgqZ1S^3hqC_dtN@P(Km7-RZ zC7~oK$x33$C|OFjl36NBl~S!#7NSrJt&l5rw$2W8Le~fxz#t69Kt?bMqcO7CO%c_#tEJV(8aDkiFt`rqaCdub zKcWMyyNve+@7R56Zt2bGn+G3!ZK!+K#1AJHzC1fQeBH!Q`r?i0nUO~Z`X4`Wbo!53 zd+E-bMn>0u_v2?zot<6SzVnq$OTBCV{W5d$$=>7 z=WoC7##_3N4t)C6@Y`D^XBPLBtxx}ae0b^PzJo`$bpHCax43uk)UKoN^cFtpj*Txa zUpxNMbBhN$n}_B<`2DBTFQ5N>|N95}`@3Tsx848k-qVMcp1tAl`Xd*&Um19D!^C<& zI&|gS?Aq5aj9lJ!=$?ZcF8w+3&DY(x9^TX0{M*j!kIkL*x6Y66?oD>rtieP717~&l A`~Uy| diff --git a/include/fckeditor/editor/images/smiley/msn/heart.gif b/include/fckeditor/editor/images/smiley/msn/heart.gif deleted file mode 100644 index 305714f889555d11032bb7a07bff522f5f854acb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1012 zcmW+#U5JoH6g`r{F8w^T{ScHNVN_0O%Wi}gG@@ZYSO{^55E%toF!CX?p3=LTML#cv z3N5kC(vQh~>d7D<#xTK_g%AdVPzE6qgTSDuE$B4sf#IHEINZy*XP$g|^Sbpr$1sM! zu!QMrXZl*1?zibBoVsx8*!-~%BV>l`AuAMw!caUEg@(`= znun$!1Tn~iM1UaSggAf$IXDL~f{~2QC?+tG$(ck0jWnl;8O&sMX0d>UEY2b}u#wH# zM1dmZlnk)0h8tu9Y@iKpgDk=#ExJWnf+bpVOEQBQ&D>0uVVRcQvaG-gt+*9ggEd-n zYcin^Wpa}oaM0ln`2Zj2gZm(l@JNsDQJ&z5p4?N{^s(sXUF;d2>DfKY3%t;adyzMI zqc`^^7hH6?OBJYKg;%H!r~~WZbx@6{ku`dastGl*Ca+1=P>t2RnrcSPtl4W;EvSXH zcrB_8wXrs@O;xC3l~-xW&fa-|25RU;icqAYD@qAURB|PCyJeJl_eB}XRCZ;lK!qx< zA~mQ{&DA9J75Tz~w4h08N}5@s-P67{!n~V{3}hlZvQU6R6h{#n(1_+}>N)C`2Oxj} zohS?l1H<59P>2YT`uFPG+~+;g>N)Rq>CcysZg_8D;=iBHj2&LH{iFSh2cMsK@xH0EZ;$@AeD9BIwtT&L>gIdKZ+YhE z?EV#dUV4A`%1w{lKC$Z9k;CV=Kfdq$`mGPo9N)UyMlYV({lb=Y`)=T>zi+$ac$yu5 z>%xl5({m^8-L(48TPMcuiU(g_`Nqeue75%VJ2(Ea`s4#YTsm~!?`OYw^`Xg)oEg73 Zx%`_QpFEehjXkm9*%NyXEL(=h{s()1^AZ36 diff --git a/include/fckeditor/editor/images/smiley/msn/kiss.gif b/include/fckeditor/editor/images/smiley/msn/kiss.gif deleted file mode 100644 index f840ea602cc02693e97a5cc3b3453f7c39dc2abf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 978 zcmW+#O=uoO6dXz`iDG;BE~yBMAXFDcLM|~{mNZr)h#u1Mx&|Z%5xf{_6@011ix>ZT zP%vx?wdgDUL9en=+e6!U+k=R>7o`@8^j4&Yag%}N&9V&dF>m&{=bxQ_a&>|U?qC-i zduL;>Y>eB+F1G*JzHse!OdgYBM$C-aV^%aoV>FMZSP%iCNYDV%+4$tXrwt!EMOsvvxpU}WOY`tgPrWoE(#PW zr(}Q)HQXQzus{oLL6%^NmfVso!!j+qWtqW@W^N`cutFl?SCJ}Isp_gyhdR|= zUD8;Q@9aoBnv>R~&v)tYbgYdqALgO}g(!|9RG<>oQH2h4qC2`qj)vtCh+xDZiUBb& z29H58AtvhX?X9izBhnfR;n{TeaedVLWbGgp1|9t7<$|GlHmS*oBpPekfaQ{mOU!VHq z%O_r)pS$@xXFuG2`qaXy%fH;}>7C_s2Yy|;dH(u~_2su7SUa?MY4z;MwQKFj;eCsz z-+T9q*WQ@9`oZSGsW@}*g>N?>UO({Tk$+YfR~F_zzI^t^_R*#3<5#Ynxbf#v-pBX9 bnSAx{vD59u;bX7d`Qh*DpB=hqKc4y@%md%w diff --git a/include/fckeditor/editor/images/smiley/msn/lightbulb.gif b/include/fckeditor/editor/images/smiley/msn/lightbulb.gif deleted file mode 100644 index 863be6e51ca72e7855147df62c8506d60eb0e9c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmV+~0nq+ONk%w1VG{ro0K@TH# zs?@)#)Ss%Vzp9|1q^h5)fPjF1pQ``=RsY{r)W22KpH-@#Re*p1s()3gUsbAq0DoUq zRbN#qUsY8$YpNh5b^ri)7!6Y-7!y`)016uqFe(KY6j=cl8xE0E1rUA+7>@-~Q!IT#nJE_w zB{-u84;&B>91mOz7%&7W4h{wm9)?JpBn}Yz9GcS0a>OJd06W)^ BeUJbE diff --git a/include/fckeditor/editor/images/smiley/msn/omg_smile.gif b/include/fckeditor/editor/images/smiley/msn/omg_smile.gif deleted file mode 100644 index aabc7fd17e0f09bcb73ac9e200a626f3068d778e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmZ?wbhEHb6lM@+IKsg29|(SbxN`shfjbA5o%-;9#{d8KS6u<3{i{~ZU)9ji@c)14 z|NEg=?uY*0A9@9d=7+AD4-{eezn|d>5Y1<3Xkb`XAG)fZVO2aseSK)XJPQK z;!hS%4hB{R9S|2}Cj;x{1jWAAhc=sud8brn*#y@mnaV6C}`I17`wg@}N%$RQqaCWbT-Ve$P+Y-U0{8zn9>2=E0PaO_?wEX7>7 eIK)7SUzA^1KvGIVfcc#rhu~ihrgu&Z4AuY%yn4<6 diff --git a/include/fckeditor/editor/images/smiley/msn/regular_smile.gif b/include/fckeditor/editor/images/smiley/msn/regular_smile.gif deleted file mode 100644 index 33f297e818c0fc7cc4841272301963c3344ad373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1036 zcmW+#O=uoO6da1sM2c1t@KW5Spwg{)Xhmv0Y*TEt@nHHjPejBuAxR+zp*Mxfi;9g( z1fil;k^O9&5TAlrr3XE14nZ^x7Qz<%DQxvp6vSLg4Iai#29`I=GQ7vU*~gC_+5gCB zANp_$8<^fa)0<_w-KICNcx`chdCdp&fj+`V@zH#wS9le#=9NCdC-KRAqR;SId^Vry zD|{7S%~yKDQ#{R+0tiH40*Zq;5oh8k0TM)lNuWeX6p1F0q7W5P6Qv|b5=kbBk|9|n zn`BCbRFP^@DTGjjCZqz|)G!6rL7k{Gb<_Y2qQNv!BQ%Oe(@0gQimItn6Euk?(?reC zESgO-wL+_CHLX;l4W%?C4KRqo3^WIGV$RIb0xXCHvp|cmC>G6P)3mX~)SB25EQuwv zM9Z)&md!G)!m3y`t2DwWMl-Si1yW!IEDpsq{5 z=mUEG#F^e5XSefY0{KOFmg zabmS|v-iEBaXa`*XZN0~+sC@fEr+*_UwOVevC!#V`g!Y#^v+@4JbCGh{)gVZ@^5$e z+hbEdOBt5b@1b<`QtNpj1BL- z_s;SA&Yavm{AIlH_xY($KkxM1|JRE{-;IrS=B{tKaeVpwKd;#f?|0sq9zBRh{|CYs B0q6h# diff --git a/include/fckeditor/editor/images/smiley/msn/sad_smile.gif b/include/fckeditor/editor/images/smiley/msn/sad_smile.gif deleted file mode 100644 index dfb78efea7fe651c7ba84aaf2fb3ee19aa8f8efc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1039 zcmW+#O=uoO6nwQRZIK#H1fzu|Dwr(MOGWDMT7PQPprK?ygSd!RrQSS9!NNz@umN&~XyvMxRC!gB2 zrCa`%HH@#H@%1v^ZsTj1|8@Sv!m1DE1AP=9;iLITui_P6%`1HppWu`EM4!cH_-sDY zSMe3Tny>T}Pk5RqAp!x!AcPY*z!@A71OW(!Ktw?Vq9GD0P(TezBtZg_ArV=Sfo#Y` z6;z-aDnS7O8b}qK^VYb3}h5WFd8G9-BeJm`NAYj zU@|5$3p1FFnXJMJR%0dER%A;{rX!EqK4Wib}l_ZiN$s|#-NQPvSOsOIj zQcWsbj+*6O#0$JMLhr;ocxT?x2k`;CvfAlPw@9<)yeZa8tBp1E{d@K1O>$NS+hh9? z-6ES-Rlqd^@^-?C#r_yKZwm!~cAF_^;2d-_o;x>+a#-FTc>)*MHR$4^B*dzkSb4 zr}x77KWdoiy7Kef#NJ+yfxc^JFOIJK`0!%qLvLR^*ZJVajb~RT-o7yO)z-PGEw6T6 z8alYJd*Gv!zSj<&8kw9reRTAv`RV`qAAkPx&A&Y|GqimCNblaxf$42;Jv+DbX8-*s z9vZu2^65)EKV2C4dT{vMO#`35^vXMTT{Cg->Ct1)d^dRJlb&}cHXc8D_|_rZ^WKIH G^1%P79RflC diff --git a/include/fckeditor/editor/images/smiley/msn/shades_smile.gif b/include/fckeditor/editor/images/smiley/msn/shades_smile.gif deleted file mode 100644 index 157df770acd36cbd49f1fd80da2cd9251ef52626..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1059 zcmW+#U1$(g7(K4lexM&2lQyE;9zwhr%_Om+ZYHP`VOD+#v$`fMEqcj%TE@4cKpKIh z7DaSd*wSx7AQU|WSExp7+o5>2LwnxR=V zn`UZ-R?%u&sYDw}X-XPk5Q7!E=Subuy9^*i@( z+0Yaxc8=Y0pTD>?^y#jFbuV?{tI4j>TPN4t_Rv3_yFVGd16_wZHXr@-@u>-1S^wPJ z+V^JP$L^6Yd#88Kj(@lR)XS@;54xkna{0*2t^pf=@d3Fw*nMEy-@Etjk4Nl!dwp=k z@4LLI-yNFY@y7Fy93Niy@HJ`a!p8lFe>wBY>YIQ6d1>h6-m>Pw7w*I#`^G=qadPnV z#JO4Jl@k+Fmu~dq@AiD)UtK%(%#WWvJA2@_r#D>~pF8x{rHx-4IJ?J2w%mTTKeqkX Uj>pdQe*Mv?@9e*7RR`|*A1UAdR{#J2 diff --git a/include/fckeditor/editor/images/smiley/msn/teeth_smile.gif b/include/fckeditor/editor/images/smiley/msn/teeth_smile.gif deleted file mode 100644 index 26b5a555f834884bf75e8c64021893d85eb1fc7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1064 zcmW+#Uue)(7(LV&v!aqUL5VH~n{@kw)+$%vudp?o3ljYXMsO?8{plfm5TufCnhz04 zQ5gDAccIw!2_+fjOWeJLm4im!6^`Hv=F1*p{r|J_bhiVS?_4g2@8f*u_HB85W6!hg zXvd#e!r1Z|TP|buHnxPRAEr)zz2F=34Sj$Q;)D4>ukb2f%`1I`kK&{GNT1-7_+&oO z7x*H+m@o8%r+Att1rUh91QZ8xBF@B78b~A3m^73C2_nHHP!ysfYNC_~i6YS?QW7MI zB$GrbkRnn{3WX4g(1cV#s~V=DI;azMrjFV`8_~wJp$2FW4W@yrP!&~ErABBJji!;B zph+~DCTf8e(PCPtL>)?LN*Z7ggBfTJ=ER(tqcyNbtTAh70T#r9S*V&imY7-5s zsYA|&S?mV|wWop@O(-@uDjE-hFkZHZgf@btJiKQ2!SKCdczhr4dvoaU!F~Im9>+Lt zU;}fTXKu61_1oMA&R;$M@%QT?dWZ@MAu%KmNx=||!918kM#v1=LslpVg`s#T3Jsw# zG!IQd2x5>2i2y;u32^`ia&Qh}1S1)pQA}VWlQW418fi`wGnmQj%whoxS)4^|U?ZEe zi2_B+DH&j04L8UJ*gzZH23dqfT6BxD1WUB!mShGqnz@-Q!!j+qWm$n0T5&6~25YqD z)?`8-%H$?F;Gn}D@&P{32lqi9;gKHQqddVAJ-Mf@>0{B&yVx^4)3bY)7kHr;_ablb zMsMy-F1YA&mnu-f3a?NdPzTn*>!2D@BWv^;RTFArO)844$k-@Wu)9C@A2AM$evNm>cI^9! zOHYiZ+n;=I_1cA*)rHgH-0L6iI<_?Rf83t?z;TR{K(-W|7@Gz`NbnQ*MI-z&~1;Mym9TT>*Ig#xp>^C{<{CA zH{SZO-16PR_Oa*heP(`i>h0|>|M}aqpU+%;>dgM5r`CR0x%%JM4|d;mVGa-e5AP%G AhX4Qo diff --git a/include/fckeditor/editor/images/smiley/msn/thumbs_up.gif b/include/fckeditor/editor/images/smiley/msn/thumbs_up.gif deleted file mode 100644 index 7e8c74627f641e404eee62083dfbb87e8664e119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 989 zcmW+#KWN`Y9DPI4)Fpv9=pf%V&?48UgB1Kzdu)Nf0B*!gAW%bRyY^bi#iLSjfBl7b-^gLyE8jF1_!hpbQ#3PbTw6dFQf zXdaq^5X2x45&?pQ6XF04E18g7scuz@zX4YCM}wCEOP36^NdEy)aKG;=dqhGklI%d!G1wBlA|4c2JQ zt;vKwl*vtUz(I#Q)m{6<(n_pbo5q*FiO+M%L&xswULLn!F}eLp4_OYN{DEvu3YZwV)Q( z;n?! z(22r;Ffa@r28Dp1++frDeXf$9F(f5ap(_6_AUbuJF=PtkX z^ts2Myc#~6`uy~dvtQ3|&5w_^UbsK~`}K_z$Jb{LeYJZ1N65z>EI_TNaT&eTaf@e+=`Q!P1ARvuh6-4a=c@P)BfCWUJ^Q=%q0E{DPF) zOJ#%>)Lr2g`_#kOV-H=+QF9w)deaKwg49F4w1TK8JKgQT<#R5V!{@{KocqwjJA1bb zwa~(!SVVj2w3kY|-r9>eb?Maj?1J;=JY9eb;)1zAr*JAx%_&`ki{hfWNSEM}xMVKT z6}TdRP5Y&rv_*c4W@yrP!&~ErABBJji!;B zph+~DCTf8e(PCPtL>)?LN*Z7ggBfTItPyL>8k&cBF>mH+0T#r9S*V&imY7-SO&8EuiaPyxo24iR*uydTeg=rpJ31ewZ3QcXIm+Cq_Qp@$|%PJ9BT(JD(gm+uMKX z?%xi$BiHQxqr2mg%bR7xrbpL)H~Eb}boh?`l~4W}MqgjO;@*{OXVy&*A0GLyWAM7c znPs~=etvak-IYDVa|09aec!pFb^p2X?Q@sc+<5lj?DDZ=%iKK<66 zuUvU>+vcCXO?SmDhsK|~dA*z&_~rfmtJXw!;P|pVe?7k=9$a;N<1KG~-1^|liT<&^ z-uCW^zL&RdY+YFY#?(O9wNFeBj_iJR==9O6AD!>)d0^jI*Tu2DUtjDQ`uz9(yN*sy cPW8RG_3G^T;g{~)XUm`QH_Wd7qK$3;1Il~_)&Kwi diff --git a/include/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif b/include/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif deleted file mode 100644 index c0741223de8ddc366826bad1ef5db6e19e938896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1034 zcmW+#UuYLp82ui!bObFoBPF;7NpVpKjaWro6Q(GV{n>db;W}llm!9hV+dwkbL*z{S z1K!_C#eEdS`a?u<2aU2hE7pCng8NboLSjZ>Gur8H2QJ^aTn^vI`Oe+DZ%^OjgFVtC zw`2t)t7l}jjI`Ux3Z{RZzBIe&gZV%o#YgyPKGLgrg;(=RpTsBlWIoYn@fkjw&-7J% zg|Fr-J;f8A=1GV^05J&R1P*WpM+89tf*}x55P@ijgbEZ;gAz%QfMiHS7GxkBGEoH; zsD?^VK!65PMYO5KRH#nWL7l0i2GIZwrhytoBQ%;us){O9O_iEN6EvA7Y8K7VY?`T6 zv_h+CrBd2ZN>kEAOkiRrG$-a@&dkw*SbznyK#O7#7R_SQw6S1nO>9Xl!ID{`Ww8v) zW|>ySDy*7S8pQ~s8CgV%pokS=aZ((Lv*K8Slzk z)-A~R`uk7c_4Cxg)y_SK`WCNG4bNYA>b28j6T5KW+0MgTpL@~wZo>9s-#qy4-rnwu zul{{yX5-W2^PT>ak8S^bX87Xf{V&~n`QVoE?iZGBe0-xbJv4v&^V@fRcyMNT^wbw! zzioTy(KknzC;nOJJ(Bdm^4cdZ|1tRdMCB!-HH09+ zTH73C6PjvyHV4yM#LEW6LrrQCR>2}HCiLq1NYs2$CKUY z#-CWj==vF5FQe@?x`xH?7eDxN#Rv0&KEg-w(R`#=conbal|I2I@yUFm&+u7%HlOJ$ zd=+2KS9-!zJk65=2t;54ii0>2XW}RU5=4SYphQR%i6)Vv5EW4qr6foaNhXPsAz37w zWJ-lpk!n&YgiwSgqypO1Fa^~?ov1T))Bp{l!8A}KG>S&kNL8qcs;N>FG>InDM9t7F znoTpcLaS&styH27r8FfCFo?knGzW8H&dkvQEQkfOK#Q;_7R_SQw6Vn0n%EL7i6yf{ z%djk#%`&aRs#rCvG{PuGGqL~$QeXuv4#i1vRvb$}2~vWUz!FiSlxQWgD2hr^E6S2k zl9Xg6v1F7iC0ofX6{Sk4Rw@foD1}zYH9K2p2Rfl^gbZL124f&27=_Uo+3cnY)tWC% zU=k){A~TqU*_g=+R$(<(l5It{yi6|hW^xZXy+)g-ZEXUzW-bzt1j&$y3}itzWTFC9 zPz{wWN6m5%c!)-W2Pl)y5h&|J~8miIcdYJ+>dw z4RoHvzOE||UV3I>aB1ed?TgoJy!-Xn`e*K6J^Djm@7Ul~Bc1a@HrRdro!bshJazB0 zr{@k2^_<_8COZzyzPtDQ?l128bKD2bK=fI8I4<9|pSPp%%AN4WNzQYZ^s6QAD-R%?S{wt-q`!#*In1%_Iuycb1!YY=gq&S7Y0VoPWjd8 z=iQ?h&(3}}`RS&#b$I5XpAMa!wSkZJZ+_yH!O|edsbh*WoF>W*oTi?c3uA# L=^WkAfo=Z-Q#A*W diff --git a/include/fckeditor/editor/images/spacer.gif b/include/fckeditor/editor/images/spacer.gif deleted file mode 100644 index 5bfd67a2d6f72ac3a55cbfcea5866e841d22f5d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 mcmZ?wbhEHbWMp7uXkdT>#h)yUAf^t80Ld^gF}W}@SOWlZ0R#L1 diff --git a/include/fckeditor/editor/js/fckadobeair.js b/include/fckeditor/editor/js/fckadobeair.js deleted file mode 100644 index 811bd00eb..000000000 --- a/include/fckeditor/editor/js/fckadobeair.js +++ /dev/null @@ -1,176 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Compatibility code for Adobe AIR. - */ - -if ( FCKBrowserInfo.IsAIR ) -{ - var FCKAdobeAIR = (function() - { - /* - * ### Private functions. - */ - - var getDocumentHead = function( doc ) - { - var head ; - var heads = doc.getElementsByTagName( 'head' ) ; - - if( heads && heads[0] ) - head = heads[0] ; - else - { - head = doc.createElement( 'head' ) ; - doc.documentElement.insertBefore( head, doc.documentElement.firstChild ) ; - } - - return head ; - } ; - - /* - * ### Public interface. - */ - return { - FCKeditorAPI_Evaluate : function( parentWindow, script ) - { - // TODO : This one doesn't work always. The parent window will - // point to an anonymous function in this window. If this - // window is destroyied the parent window will be pointing to - // an invalid reference. - - // Evaluate the script in this window. - eval( script ) ; - - // Point the FCKeditorAPI property of the parent window to the - // local reference. - parentWindow.FCKeditorAPI = window.FCKeditorAPI ; - }, - - EditingArea_Start : function( doc, html ) - { - // Get the HTML for the . - var headInnerHtml = html.match( /([\s\S]*)<\/head>/i )[1] ; - - if ( headInnerHtml && headInnerHtml.length > 0 ) - { - // Inject the HTML inside a
    . - // Do that before getDocumentHead because WebKit moves - // elements to the at this point. - var div = doc.createElement( 'div' ) ; - div.innerHTML = headInnerHtml ; - - // Move the
    nodes to . - FCKDomTools.MoveChildren( div, getDocumentHead( doc ) ) ; - } - - doc.body.innerHTML = html.match( /([\s\S]*)<\/body>/i )[1] ; - - //prevent clicking on hyperlinks and navigating away - doc.addEventListener('click', function( ev ) - { - ev.preventDefault() ; - ev.stopPropagation() ; - }, true ) ; - }, - - Panel_Contructor : function( doc, baseLocation ) - { - var head = getDocumentHead( doc ) ; - - // Set the href. - head.appendChild( doc.createElement('base') ).href = baseLocation ; - - doc.body.style.margin = '0px' ; - doc.body.style.padding = '0px' ; - }, - - ToolbarSet_GetOutElement : function( win, outMatch ) - { - var toolbarTarget = win.parent ; - - var targetWindowParts = outMatch[1].split( '.' ) ; - while ( targetWindowParts.length > 0 ) - { - var part = targetWindowParts.shift() ; - if ( part.length > 0 ) - toolbarTarget = toolbarTarget[ part ] ; - } - - toolbarTarget = toolbarTarget.document.getElementById( outMatch[2] ) ; - }, - - ToolbarSet_InitOutFrame : function( doc ) - { - var head = getDocumentHead( doc ) ; - - head.appendChild( doc.createElement('base') ).href = window.document.location ; - - var targetWindow = doc.defaultView; - - targetWindow.adjust = function() - { - targetWindow.frameElement.height = doc.body.scrollHeight; - } ; - - targetWindow.onresize = targetWindow.adjust ; - targetWindow.setTimeout( targetWindow.adjust, 0 ) ; - - doc.body.style.overflow = 'hidden'; - doc.body.innerHTML = document.getElementById( 'xToolbarSpace' ).innerHTML ; - } - } ; - })(); - - /* - * ### Overrides - */ - ( function() - { - // Save references for override reuse. - var _Original_FCKPanel_Window_OnFocus = FCKPanel_Window_OnFocus ; - var _Original_FCKPanel_Window_OnBlur = FCKPanel_Window_OnBlur ; - var _Original_FCK_StartEditor = FCK.StartEditor ; - - FCKPanel_Window_OnFocus = function( e, panel ) - { - // Call the original implementation. - _Original_FCKPanel_Window_OnFocus.call( this, e, panel ) ; - - if ( panel._focusTimer ) - clearTimeout( panel._focusTimer ) ; - } - - FCKPanel_Window_OnBlur = function( e, panel ) - { - // Delay the execution of the original function. - panel._focusTimer = FCKTools.SetTimeout( _Original_FCKPanel_Window_OnBlur, 100, this, [ e, panel ] ) ; - } - - FCK.StartEditor = function() - { - // Force pointing to the CSS files instead of using the inline CSS cached styles. - window.FCK_InternalCSS = FCKConfig.BasePath + 'css/fck_internal.css' ; - window.FCK_ShowTableBordersCSS = FCKConfig.BasePath + 'css/fck_showtableborders_gecko.css' ; - - _Original_FCK_StartEditor.apply( this, arguments ) ; - } - })(); -} diff --git a/include/fckeditor/editor/js/fckeditorcode_gecko.js b/include/fckeditor/editor/js/fckeditorcode_gecko.js deleted file mode 100644 index c692165a7..000000000 --- a/include/fckeditor/editor/js/fckeditorcode_gecko.js +++ /dev/null @@ -1,108 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * This file has been compressed for better performance. The original source - * can be found at "editor/_source". - */ - -var FCK_STATUS_NOTLOADED=window.parent.FCK_STATUS_NOTLOADED=0;var FCK_STATUS_ACTIVE=window.parent.FCK_STATUS_ACTIVE=1;var FCK_STATUS_COMPLETE=window.parent.FCK_STATUS_COMPLETE=2;var FCK_TRISTATE_OFF=window.parent.FCK_TRISTATE_OFF=0;var FCK_TRISTATE_ON=window.parent.FCK_TRISTATE_ON=1;var FCK_TRISTATE_DISABLED=window.parent.FCK_TRISTATE_DISABLED=-1;var FCK_UNKNOWN=window.parent.FCK_UNKNOWN=-9;var FCK_TOOLBARITEM_ONLYICON=window.parent.FCK_TOOLBARITEM_ONLYICON=0;var FCK_TOOLBARITEM_ONLYTEXT=window.parent.FCK_TOOLBARITEM_ONLYTEXT=1;var FCK_TOOLBARITEM_ICONTEXT=window.parent.FCK_TOOLBARITEM_ICONTEXT=2;var FCK_EDITMODE_WYSIWYG=window.parent.FCK_EDITMODE_WYSIWYG=0;var FCK_EDITMODE_SOURCE=window.parent.FCK_EDITMODE_SOURCE=1;var FCK_IMAGES_PATH='images/';var FCK_SPACER_PATH='images/spacer.gif';var CTRL=1000;var SHIFT=2000;var ALT=4000;var FCK_STYLE_BLOCK=0;var FCK_STYLE_INLINE=1;var FCK_STYLE_OBJECT=2; -String.prototype.Contains=function(A){return (this.indexOf(A)>-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;iC) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.Remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B=7),IsIE6:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=6),IsSafari:s.Contains(' applewebkit/'),IsOpera:!!window.opera,IsAIR:s.Contains(' adobeair/'),IsMac:s.Contains('macintosh')};(function(A){A.IsGecko=(navigator.product=='Gecko')&&!A.IsSafari&&!A.IsOpera;A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/rv:(\d+\.\d+)/);var C=B&&parseFloat(B[1]);if (C){A.IsGecko10=(C<1.8);A.IsGecko19=(C>1.8);}}})(FCKBrowserInfo); -var FCKURLParams={};(function(){var A=document.location.search.substr(1).split('&');for (var i=0;i';if (!FCKRegexLib.HtmlOpener.test(A)) A=''+A+'';if (!FCKRegexLib.HeadOpener.test(A)) A=A.replace(FCKRegexLib.HtmlOpener,'$&');return A;}else{var B=FCKConfig.DocType+'0&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) B+=' style="overflow-y: scroll"';B+='>'+A+'';return B;}},ConvertToDataFormat:function(A,B,C,D){var E=FCKXHtml.GetXHTML(A,!B,D);if (C&&FCKRegexLib.EmptyOutParagraph.test(E)) return '';return E;},FixHtml:function(A){return A;}}; -var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,DataProcessor:new FCKDataProcessor(),GetInstanceObject:(function(){var w=window;return function(name){return w[name];}})(),AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else{if (!this.EditorDocument) return false;return (this.StartupValue!=this.EditorDocument.body.innerHTML);}},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};A.SetKeystrokes([CTRL+8,true]);this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;this.SetData(this.GetLinkedFieldValue(),true);FCKTools.AddEventListener(document,"keydown",this._TabKeyHandler);this.AttachToOnSelectionChange(_FCK_PaddingNodeListener);if (FCKBrowserInfo.IsGecko) this.AttachToOnSelectionChange(this._ExecCheckEmptyBlock);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:var G=D.nodeName.toLowerCase();if (!FCKListsLib.BlockElements[G]&&G!='li'&&!D.getAttribute('_fckfakelement')&&D.getAttribute('_moz_dirty')==null) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;break;case 8:if (E) F=true;break;};if (F){var H=D.parentNode;if (!E) E=H.insertBefore(B.createElement(A),D);E.appendChild(H.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetData:function(A){if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B=FCK.EditorDocument;if (!B) return null;var C=FCKConfig.FullPage;var D=FCK.DataProcessor.ConvertToDataFormat(C?B.documentElement:B.body,!C,FCKConfig.IgnoreEmptyParagraphValue,A);D=FCK.ProtectEventsRestore(D);if (FCKBrowserInfo.IsIE) D=D.replace(FCKRegexLib.ToReplace,'$1');if (C){if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) D=FCK.DocTypeDeclaration+'\n'+D;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) D=FCK.XmlDeclaration+'\n'+D;};return FCKConfig.ProtectedSource.Revert(D);},UpdateLinkedField:function(){var A=FCK.GetXHTML(FCKConfig.FormatOutput);if (FCKConfig.HtmlEncodeOutput) A=FCKTools.HTMLEncode(A);FCK.LinkedField.value=A;FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName.toUpperCase()];if (B){for (var i=0;i0?'|ABBR|XML|EMBED|OBJECT':'ABBR|XML|EMBED|OBJECT';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'');return A;},SetData:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCKBrowserInfo.IsIE&&FCK.EditorDocument){FCK.EditorDocument.detachEvent("onselectionchange",Doc_OnSelectionChange);};FCKTempBin.Reset();if (FCK.EditMode==0){this._ForceResetIsDirty=(B===true);A=FCKConfig.ProtectedSource.Protect(A);A=FCK.DataProcessor.ConvertToHtml(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);var C='';if (!FCKConfig.FullPage) C+=_FCK_GetEditorAreaStyleTags();if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+=FCKTools.GetStyleHtml(FCK_ShowTableBordersCSS,true);C+=FCKTools.GetStyleHtml(FCK_InternalCSS,true);A=A.replace(FCKRegexLib.HeadCloser,C+'$&');this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(A);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;FCKDomTools.PaddingNode=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (FCKBrowserInfo.IsGecko) window.onresize();},RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C,D){if (!D) FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};if (!D) FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (FCKBrowserInfo.IsSafari&&FCK.EditorWindow&&A.IEquals('Paste')) return 0;if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else{return FCK.EditorDocument.queryCommandState(A)?1:0;}}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},Paste:function(A){if (FCK.Status!=2||!FCK.Events.FireEvent('OnPaste')) return false;return A||FCK._ExecPaste();},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},Preview:function(){var A;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) A=FCK.TempBaseTag+FCK.GetXHTML();else A=FCK.GetXHTML();}else{A=FCKConfig.DocType+''+FCK.TempBaseTag+''+FCKLang.Preview+''+_FCK_GetEditorAreaStyleTags()+''+FCK.GetXHTML()+'';};var B=FCKConfig.ScreenWidth*0.8;var C=FCKConfig.ScreenHeight*0.7;var D=(FCKConfig.ScreenWidth-B)/2;var E='';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A;E='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.opener._FCKHtmlToLoad );document.close() ;window.opener._FCKHtmlToLoad = null ;})() )';};var F=window.open(E,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+B+',height='+C+',left='+D);if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){F.document.write(A);F.document.close();}},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){FCKCommands.GetCommand('ShowBlocks').SaveState();if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (FCKBrowserInfo.IsIE) FCKTempBin.ToHtml();if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetData(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},InsertElement:function(A){if (typeof A=='string') A=this.EditorDocument.createElement(A);var B=A.nodeName.toLowerCase();FCKSelection.Restore();var C=new FCKDomRange(this.EditorWindow);C.MoveToSelection();C.DeleteContents();if (FCKListsLib.BlockElements[B]!=null){if (C.StartBlock){if (C.CheckStartOfBlock()) C.MoveToPosition(C.StartBlock,3);else if (C.CheckEndOfBlock()) C.MoveToPosition(C.StartBlock,4);else C.SplitBlock();};C.InsertNode(A);var D=FCKDomTools.GetNextSourceElement(A,false,null,['hr','br','param','img','area','input'],true);if (!D&&FCKConfig.EnterMode!='br'){D=this.EditorDocument.body.appendChild(this.EditorDocument.createElement(FCKConfig.EnterMode));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);};if (FCKListsLib.EmptyElements[B]==null) C.MoveToElementEditStart(A);else if (D) C.MoveToElementEditStart(D);else C.MoveToPosition(A,4);if (FCKBrowserInfo.IsGeckoLike){if (D) FCKDomTools.ScrollIntoView(D,false);FCKDomTools.ScrollIntoView(A,false);}}else{C.InsertNode(A);C.SetStart(A,4);C.SetEnd(A,4);};C.Select();C.Release();this.Focus();return A;},_InsertBlockElement:function(A){},_IsFunctionKey:function(A){if (A>=16&&A<=20) return true;if (A==27||(A>=33&&A<=40)) return true;if (A==45) return true;return false;},_KeyDownListener:function(A){if (!A) A=FCK.EditorWindow.event;if (FCK.EditorWindow){if (!FCK._IsFunctionKey(A.keyCode)&&!(A.ctrlKey||A.metaKey)&&!(A.keyCode==46)) FCK._KeyDownUndo();};return true;},_KeyDownUndo:function(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;FCKUndo.Changed=1;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();}},_TabKeyHandler:function(A){if (!A) A=window.event;var B=A.keyCode;if (B==9&&FCK.EditMode!=0){if (FCKBrowserInfo.IsIE){var C=document.selection.createRange();if (C.parentElement()!=FCK.EditingArea.Textarea) return true;C.text='\t';C.select();}else{var a=[];var D=FCK.EditingArea.Textarea;var E=D.selectionStart;var F=D.selectionEnd;a.push(D.value.substr(0,E));a.push('\t');a.push(D.value.substr(F));D.value=a.join('');D.setSelectionRange(E+1,E+1);};if (A.preventDefault) return A.preventDefault();return A.returnValue=false;};return true;}};FCK.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML=FCK.GetData;FCK.SetHTML=FCK.SetData;FCK.InsertElementAndGetIt=FCK.CreateElement=FCK.InsertElement;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+encodeURIComponent(A)+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return decodeURIComponent(B);};function _FCK_MouseEventsListener(A){if (!A) A=window.event;if (A.type=='mousedown') FCK.MouseDownFlag=true;else if (A.type=='mouseup') FCK.MouseDownFlag=false;else if (A.type=='mousemove') FCK.Events.FireEvent('OnMouseMove',A);};function _FCK_PaddingNodeListener(){if (FCKConfig.EnterMode.IEquals('br')) return;FCKDomTools.EnforcePaddingNode(FCK.EditorDocument,FCKConfig.EnterMode);if (!FCKBrowserInfo.IsIE&&FCKDomTools.PaddingNode){var A=FCKSelection.GetSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.collapsed&&B.startContainer==FCK.EditorDocument.body&&B.startOffset==0){B.selectNodeContents(FCKDomTools.PaddingNode);B.collapse(true);A.removeAllRanges();A.addRange(B);}}}else if (FCKDomTools.PaddingNode){var C=FCKSelection.GetParentElement();var D=FCKDomTools.PaddingNode;if (C&&C.nodeName.IEquals('body')){if (FCK.EditorDocument.body.childNodes.length==1&&FCK.EditorDocument.body.firstChild==D){if (FCKSelection._GetSelectionDocument(FCK.EditorDocument.selection)!=FCK.EditorDocument) return;var B=FCK.EditorDocument.body.createTextRange();var F=false;if (!D.childNodes.firstChild){D.appendChild(FCKTools.GetElementDocument(D).createTextNode('\ufeff'));F=true;};B.moveToElementText(D);B.select();if (F) B.pasteHTML('');}}}};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;if (FCKBrowserInfo.IsIE) FCKTempBin.ToElements();FCK.InitializeBehaviors();FCK.MouseDownFlag=false;FCKTools.AddEventListener(FCK.EditorDocument,'mousemove',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mouseup',_FCK_MouseEventsListener);if (FCKBrowserInfo.IsSafari){var A=function(evt){if (!(evt.ctrlKey||evt.metaKey)) return;if (FCK.EditMode!=0) return;switch (evt.keyCode){case 89:FCKUndo.Redo();break;case 90:FCKUndo.Undo();break;}};FCKTools.AddEventListener(FCK.EditorDocument,'keyup',A);};FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode,FCKConfig.TabSpaces);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();FCKCommands.GetCommand('ShowBlocks').RestoreState();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){return FCKTools.GetStyleHtml(FCKConfig.EditorAreaCSS)+FCKTools.GetStyleHtml(FCKConfig.EditorAreaStyles);};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){switch (B){case 'Paste':return!FCK.Paste();case 'Cut':FCKUndo.SaveUndoStep();return false;}}else{if (B.Equals('Paste','Undo','Redo','SelectAll','Cut')) return false;};var C=FCK.Commands.GetCommand(B);if (C.GetState()==-1) return false;return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i '+this.Elements[i].outerHTML+'
    ';this.Elements[i].isHtml=true;}},ToElements:function(){var A=FCK.EditorDocument.createElement('div');for (var i=0;i40) return;};var C=function(H){if (H.nodeType!=1) return false;var D=H.tagName.toLowerCase();return (FCKListsLib.BlockElements[D]||FCKListsLib.EmptyElements[D]);};var E=function(){var F=FCKSelection.GetSelection();var G=F.getRangeAt(0);if (!G||!G.collapsed) return;var H=G.endContainer;if (H.nodeType!=3) return;if (H.nodeValue.length!=G.endOffset) return;var I=H.parentNode.tagName.toLowerCase();if (!(I=='a'||(!FCKBrowserInfo.IsOpera&&String(H.parentNode.contentEditable)=='false')||(!(FCKListsLib.BlockElements[I]||FCKListsLib.NonEmptyBlockElements[I])&&B==35))) return;var J=FCKTools.GetNextTextNode(H,H.parentNode,C);if (J) return;G=FCK.EditorDocument.createRange();J=FCKTools.GetNextTextNode(H,H.parentNode.parentNode,C);if (J){if (FCKBrowserInfo.IsOpera&&B==37) return;G.setStart(J,0);G.setEnd(J,0);}else{while (H.parentNode&&H.parentNode!=FCK.EditorDocument.body&&H.parentNode!=FCK.EditorDocument.documentElement&&H==H.parentNode.lastChild&&(!FCKListsLib.BlockElements[H.parentNode.tagName.toLowerCase()]&&!FCKListsLib.NonEmptyBlockElements[H.parentNode.tagName.toLowerCase()])) H=H.parentNode;if (FCKListsLib.BlockElements[I]||FCKListsLib.EmptyElements[I]||H==FCK.EditorDocument.body){G.setStart(H,H.childNodes.length);G.setEnd(H,H.childNodes.length);}else{var K=H.nextSibling;while (K){if (K.nodeType!=1){K=K.nextSibling;continue;};var L=K.tagName.toLowerCase();if (FCKListsLib.BlockElements[L]||FCKListsLib.EmptyElements[L]||FCKListsLib.NonEmptyBlockElements[L]) break;K=K.nextSibling;};var M=FCK.EditorDocument.createTextNode('');if (K) H.parentNode.insertBefore(M,K);else H.parentNode.appendChild(M);G.setStart(M,0);G.setEnd(M,0);}};F.removeAllRanges();F.addRange(G);FCK.Events.FireEvent("OnSelectionChange");};setTimeout(E,1);};this.ExecOnSelectionChangeTimer=function(){if (FCK.LastOnChangeTimer) window.clearTimeout(FCK.LastOnChangeTimer);FCK.LastOnChangeTimer=window.setTimeout(FCK.ExecOnSelectionChange,100);};this.EditorDocument.addEventListener('mouseup',this.ExecOnSelectionChange,false);this.EditorDocument.addEventListener('keyup',this.ExecOnSelectionChangeTimer,false);this._DblClickListener=function(e){FCK.OnDoubleClick(e.target);e.stopPropagation();};this.EditorDocument.addEventListener('dblclick',this._DblClickListener,true);this.EditorDocument.addEventListener('keydown',this._KeyDownListener,false);if (FCKBrowserInfo.IsGecko){this.EditorWindow.addEventListener('dragdrop',this._ExecDrop,true);}else if (FCKBrowserInfo.IsSafari){var N=function(evt){ if (!FCK.MouseDownFlag) evt.returnValue=false;};this.EditorDocument.addEventListener('dragenter',N,true);this.EditorDocument.addEventListener('dragover',N,true);this.EditorDocument.addEventListener('drop',this._ExecDrop,true);this.EditorDocument.addEventListener('mousedown',function(ev){var O=ev.srcElement;if (O.nodeName.IEquals('IMG','HR','INPUT','TEXTAREA','SELECT')){FCKSelection.SelectNode(O);}},true);this.EditorDocument.addEventListener('mouseup',function(ev){if (ev.srcElement.nodeName.IEquals('INPUT','TEXTAREA','SELECT')) ev.preventDefault()},true);this.EditorDocument.addEventListener('click',function(ev){if (ev.srcElement.nodeName.IEquals('INPUT','TEXTAREA','SELECT')) ev.preventDefault()},true);};if (FCKBrowserInfo.IsGecko||FCKBrowserInfo.IsOpera){this.EditorDocument.addEventListener('keypress',this._ExecCheckCaret,false);this.EditorDocument.addEventListener('click',this._ExecCheckCaret,false);};FCK.ContextMenu._InnerContextMenu.SetMouseClickWindow(FCK.EditorWindow);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument);};FCK.MakeEditable=function(){this.EditingArea.MakeEditable();};function Document_OnContextMenu(e){if (!e.target._FCKShowContextMenu) e.preventDefault();};document.oncontextmenu=Document_OnContextMenu;FCK._BaseGetNamedCommandState=FCK.GetNamedCommandState;FCK.GetNamedCommandState=function(A){switch (A){case 'Unlink':return FCKSelection.HasAncestorNode('A')?0:-1;default:return FCK._BaseGetNamedCommandState(A);}};FCK.RedirectNamedCommands={Print:true,Paste:true};FCK.ExecuteRedirectedNamedCommand=function(A,B){switch (A){case 'Print':FCK.EditorWindow.print();break;case 'Paste':try{if (FCKBrowserInfo.IsSafari) throw '';if (FCK.Paste()) FCK.ExecuteNamedCommand('Paste',null,true);}catch (e) { FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security');};break;default:FCK.ExecuteNamedCommand(A,B);}};FCK._ExecPaste=function(){FCKUndo.SaveUndoStep();if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};return true;};FCK.InsertHtml=function(A){var B=FCK.EditorDocument,range;A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGecko){A=A.replace(/ $/,'$&');var C=new FCKDocumentFragment(this.EditorDocument);C.AppendHtml(A);var D=C.RootNode.lastChild;range=new FCKDomRange(this.EditorWindow);range.MoveToSelection();range.DeleteContents();range.InsertNode(C.RootNode);range.MoveToPosition(D,4);}else B.execCommand('inserthtml',false,A);this.Focus();if (!range){range=new FCKDomRange(this.EditorWindow);range.MoveToSelection();};var E=range.CreateBookmark();FCKDocumentProcessor.Process(B);try{range.MoveToBookmark(E);range.Select();}catch (e) {};this.Events.FireEvent("OnSelectionChange");};FCK.PasteAsPlainText=function(){FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText']);};FCK.GetClipboardHTML=function(){return '';};FCK.CreateLink=function(A,B){var C=[];if (FCKSelection.GetSelection().isCollapsed) return C;FCK.ExecuteNamedCommand('Unlink',null,false,!!B);if (A.length>0){var D='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',D,false,!!B);var E=this.EditorDocument.evaluate("//a[@href='"+D+"']",this.EditorDocument.body,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for (var i=0;i0&&!isNaN(E)) this.PageConfig[D]=parseInt(E,10);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) { }};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;A.RemoveAttributesArray=(A.RemoveAttributes||'').split(',');if (!FCKConfig.SkinEditorCSS||FCKConfig.SkinEditorCSS.length==0) FCKConfig.SkinEditorCSS=FCKConfig.SkinPath+'fck_editor.css';if (!FCKConfig.SkinDialogCSS||FCKConfig.SkinDialogCSS.length==0) FCKConfig.SkinDialogCSS=FCKConfig.SkinPath+'fck_dialog.css';};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.AddItem([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource._CodeTag=(new Date()).valueOf();FCKConfig.ProtectedSource.RegexEntries=[//g,//gi,//gi];FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.AddItem(A);};FCKConfig.ProtectedSource.Protect=function(A){var B=this._CodeTag;function _Replace(protectedSource){var C=FCKTempBin.AddElement(protectedSource);return '';};for (var i=0;i|>)","g");return A.replace(D,_Replace);};FCKConfig.GetBodyAttributes=function(){var A='';if (this.BodyId&&this.BodyId.length>0) A+=' id="'+this.BodyId+'"';if (this.BodyClass&&this.BodyClass.length>0) A+=' class="'+this.BodyClass+'"';return A;};FCKConfig.ApplyBodyAttributes=function(A){if (this.BodyId&&this.BodyId.length>0) A.id=FCKConfig.BodyId;if (this.BodyClass&&this.BodyClass.length>0) A.className+=' '+FCKConfig.BodyClass;}; -var FCKDebug={Output:function(){},OutputObject:function(){}}; -var FCKDomTools={MoveChildren:function(A,B,C){if (A==B) return;var D;if (C){while ((D=A.lastChild)) B.insertBefore(A.removeChild(D),B.firstChild);}else{while ((D=A.firstChild)) B.appendChild(A.removeChild(D));}},MoveNode:function(A,B,C){if (C) B.insertBefore(FCKDomTools.RemoveNode(A),B.firstChild);else B.appendChild(FCKDomTools.RemoveNode(A));},TrimNode:function(A){this.LTrimNode(A);this.RTrimNode(A);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D,E){while((A=this.GetNextSourceNode(A,E))){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (D&&A.nodeName.IEquals(D)) return this.GetNextSourceElement(A,B,C,D);return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;};return null;},GetNextSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.firstChild) E=A.firstChild;else{if (D&&A==D) return null;E=A.nextSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetNextSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetNextSourceNode(E,false,C,D);return E;},GetPreviousSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.lastChild) E=A.lastChild;else{if (D&&A==D) return null;E=A.previousSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetPreviousSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetPreviousSourceNode(E,false,C,D);return E;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.unshift(A);A=A.parentNode;};return B;},GetCommonParents:function(A,B){var C=this.GetParents(A);var D=this.GetParents(B);var E=[];for (var i=0;i0) D[C.pop().toLowerCase()]=1;var E=this.GetCommonParents(A,B);var F=null;while ((F=E.pop())){if (D[F.nodeName.toLowerCase()]) return F;};return null;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;},PaddingNode:null,EnforcePaddingNode:function(A,B){try{if (!A||!A.body) return;}catch (e){return;};this.CheckAndRemovePaddingNode(A,B,true);try{if (A.body.lastChild&&(A.body.lastChild.nodeType!=1||A.body.lastChild.tagName.toLowerCase()==B.toLowerCase())) return;}catch (e){return;};var C=A.createElement(B);if (FCKBrowserInfo.IsGecko&&FCKListsLib.NonEmptyBlockElements[B]) FCKTools.AppendBogusBr(C);this.PaddingNode=C;if (A.body.childNodes.length==1&&A.body.firstChild.nodeType==1&&A.body.firstChild.tagName.toLowerCase()=='br'&&(A.body.firstChild.getAttribute('_moz_dirty')!=null||A.body.firstChild.getAttribute('type')=='_moz')) A.body.replaceChild(C,A.body.firstChild);else A.body.appendChild(C);},CheckAndRemovePaddingNode:function(A,B,C){var D=this.PaddingNode;if (!D) return;try{if (D.parentNode!=A.body||D.tagName.toLowerCase()!=B||(D.childNodes.length>1)||(D.firstChild&&D.firstChild.nodeValue!='\xa0'&&String(D.firstChild.tagName).toLowerCase()!='br')){this.PaddingNode=null;return;}}catch (e){this.PaddingNode=null;return;};if (!C){if (D.parentNode.childNodes.length>1) D.parentNode.removeChild(D);this.PaddingNode=null;}},HasAttribute:function(A,B){if (A.hasAttribute) return A.hasAttribute(B);else{var C=A.attributes[B];return (C!=undefined&&C.specified);}},HasAttributes:function(A){var B=A.attributes;for (var i=0;i0) return true;}else if (B[i].specified) return true;};return false;},RemoveAttribute:function(A,B){if (FCKBrowserInfo.IsIE&&B.toLowerCase()=='class') B='className';return A.removeAttribute(B,0);},RemoveAttributes:function (A,B){for (var i=0;i0) return false;C=C.nextSibling;};return D?this.CheckIsEmptyElement(D,B):true;},SetElementStyles:function(A,B){var C=A.style;for (var D in B) C[D]=B[D];},SetOpacity:function(A,B){if (FCKBrowserInfo.IsIE){B=Math.round(B*100);A.style.filter=(B>100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+B+')');}else A.style.opacity=B;},GetCurrentElementStyle:function(A,B){if (FCKBrowserInfo.IsIE) return A.currentStyle[B];else return A.ownerDocument.defaultView.getComputedStyle(A,'').getPropertyValue(B);},GetPositionedAncestor:function(A){var B=A;while (B!=FCKTools.GetElementDocument(B).documentElement){if (this.GetCurrentElementStyle(B,'position')!='static') return B;if (B==FCKTools.GetElementDocument(B).documentElement&¤tWindow!=w) B=currentWindow.frameElement;else B=B.parentNode;};return null;},ScrollIntoView:function(A,B){var C=FCKTools.GetElementWindow(A);var D=FCKTools.GetViewPaneSize(C).Height;var E=D*-1;if (B===false){E+=A.offsetHeight||0;E+=parseInt(this.GetCurrentElementStyle(A,'marginBottom')||0,10)||0;};var F=FCKTools.GetDocumentPosition(C,A);E+=F.y;var G=FCKTools.GetScrollPosition(C).Y;if (E>0&&(E>G||E'+styleDef+'';};var C=function(cssFileUrl,markTemp){if (cssFileUrl.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '';};return function(cssFileOrArrayOrDef,markTemp){if (!cssFileOrArrayOrDef) return '';if (typeof(cssFileOrArrayOrDef)=='string'){if (/[\\\/\.][^{}]*$/.test(cssFileOrArrayOrDef)){return this.GetStyleHtml(cssFileOrArrayOrDef.split(','),markTemp);}else return A(this._GetUrlFixedCss(cssFileOrArrayOrDef),markTemp);}else{var E='';for (var i=0;i/g,'>');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/>/g,'>');A=A.replace(/</g,'<');A=A.replace(/&/g,'&');return A;};FCKTools._ProcessLineBreaksForPMode=function(A,B,C,D,E){var F=0;var G="

    ";var H="

    ";var I="
    ";if (C){G="
  • ";H="
  • ";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='p'){F=1;break;};D=D.parentNode;};for (var i=0;i0) return A[A.length-1];return null;};FCKTools.GetDocumentPosition=function(w,A){var x=0;var y=0;var B=A;var C=null;var D=FCKTools.GetElementWindow(B);while (B&&!(D==w&&(B==w.document.body||B==w.document.documentElement))){x+=B.offsetLeft-B.scrollLeft;y+=B.offsetTop-B.scrollTop;if (!FCKBrowserInfo.IsOpera){var E=C;while (E&&E!=B){x-=E.scrollLeft;y-=E.scrollTop;E=E.parentNode;}};C=B;if (B.offsetParent) B=B.offsetParent;else{if (D!=w){B=D.frameElement;C=null;if (B) D=B.contentWindow.parent;}else B=null;}};if (FCKDomTools.GetCurrentElementStyle(w.document.body,'position')!='static'||(FCKBrowserInfo.IsIE&&FCKDomTools.GetPositionedAncestor(A)==null)){x+=w.document.body.offsetLeft;y+=w.document.body.offsetTop;};return { "x":x,"y":y };};FCKTools.GetWindowPosition=function(w,A){var B=this.GetDocumentPosition(w,A);var C=FCKTools.GetScrollPosition(w);B.x-=C.X;B.y-=C.Y;return B;};FCKTools.ProtectFormStyles=function(A){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return [];var B=[];var C=['style','className'];for (var i=0;i0){for (var i=B.length-1;i>=0;i--){var C=B[i][0];var D=B[i][1];if (D) A.insertBefore(C,D);else A.appendChild(C);}}};FCKTools.GetNextNode=function(A,B){if (A.firstChild) return A.firstChild;else if (A.nextSibling) return A.nextSibling;else{var C=A.parentNode;while (C){if (C==B) return null;if (C.nextSibling) return C.nextSibling;else C=C.parentNode;}};return null;};FCKTools.GetNextTextNode=function(A,B,C){node=this.GetNextNode(A,B);if (C&&node&&C(node)) return null;while (node&&node.nodeType!=3){node=this.GetNextNode(node,B);if (C&&node&&C(node)) return null;};return node;};FCKTools.Merge=function(){var A=arguments;var o=A[0];for (var i=1;i');document.domain = '"+FCK_RUNTIME_DOMAIN+"';document.close();}() ) ;";if (FCKBrowserInfo.IsIE){if (FCKBrowserInfo.IsIE7||!FCKBrowserInfo.IsIE6) return "";else return "javascript: '';";};return "javascript: void(0);";};FCKTools.ResetStyles=function(A){A.style.cssText='margin:0;padding:0;border:0;background-color:transparent;background-image:none;';}; -FCKTools.CancelEvent=function(e){if (e) e.preventDefault();};FCKTools.DisableSelection=function(A){if (FCKBrowserInfo.IsGecko) A.style.MozUserSelect='none';else if (FCKBrowserInfo.IsSafari) A.style.KhtmlUserSelect='none';else A.style.userSelect='none';};FCKTools._AppendStyleSheet=function(A,B){var e=A.createElement('LINK');e.rel='stylesheet';e.type='text/css';e.href=B;A.getElementsByTagName("HEAD")[0].appendChild(e);return e;};FCKTools.AppendStyleString=function(A,B){if (!B) return null;var e=A.createElement("STYLE");e.appendChild(A.createTextNode(B));A.getElementsByTagName("HEAD")[0].appendChild(e);return e;};FCKTools.ClearElementAttributes=function(A){for (var i=0;i0) B[B.length]=D;C(parent.childNodes[i]);}};C(A);return B;};FCKTools.RemoveOuterTags=function(e){var A=e.ownerDocument.createDocumentFragment();for (var i=0;i','text/xml');FCKDomTools.RemoveNode(B.firstChild);return B;};return null;};FCKTools.GetScrollPosition=function(A){return { X:A.pageXOffset,Y:A.pageYOffset };};FCKTools.AddEventListener=function(A,B,C){A.addEventListener(B,C,false);};FCKTools.RemoveEventListener=function(A,B,C){A.removeEventListener(B,C,false);};FCKTools.AddEventListenerEx=function(A,B,C,D){A.addEventListener(B,function(e){C.apply(A,[e].concat(D||[]));},false);};FCKTools.GetViewPaneSize=function(A){return { Width:A.innerWidth,Height:A.innerHeight };};FCKTools.SaveStyles=function(A){var B=FCKTools.ProtectFormStyles(A);var C={};if (A.className.length>0){C.Class=A.className;A.className='';};var D=A.getAttribute('style');if (D&&D.length>0){C.Inline=D;A.setAttribute('style','',0);};FCKTools.RestoreFormStyles(A,B);return C;};FCKTools.RestoreStyles=function(A,B){var C=FCKTools.ProtectFormStyles(A);A.className=B.Class||'';if (B.Inline) A.setAttribute('style',B.Inline,0);else A.removeAttribute('style',0);FCKTools.RestoreFormStyles(A,C);};FCKTools.RegisterDollarFunction=function(A){A.$=function(id){return A.document.getElementById(id);};};FCKTools.AppendElement=function(A,B){return A.appendChild(A.ownerDocument.createElement(B));};FCKTools.GetElementPosition=function(A,B){var c={ X:0,Y:0 };var C=B||window;var D=FCKTools.GetElementWindow(A);var E=null;while (A){var F=D.getComputedStyle(A,'').position;if (F&&F!='static'&&A.style.zIndex!=FCKConfig.FloatingPanelsZIndex) break;c.X+=A.offsetLeft-A.scrollLeft;c.Y+=A.offsetTop-A.scrollTop;if (!FCKBrowserInfo.IsOpera){var G=E;while (G&&G!=A){c.X-=G.scrollLeft;c.Y-=G.scrollTop;G=G.parentNode;}};E=A;if (A.offsetParent) A=A.offsetParent;else{if (D!=C){A=D.frameElement;E=null;if (A) D=FCKTools.GetElementWindow(A);}else{c.X+=A.scrollLeft;c.Y+=A.scrollTop;break;}}};return c;}; -var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='window.FCKeditorAPI = {Version : "2.6.3",VersionBuild : "19836",Instances : new Object(),GetInstance : function( name ){return this.Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.Instances ){var oEditor = FCKeditorAPI.Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue : {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if(FCKBrowserInfo.IsAIR){FCKAdobeAIR.FCKeditorAPI_Evaluate(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;FCKeditorAPI.__Instances=FCKeditorAPI.Instances;};FCKeditorAPI.Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat&&!window.FCKUnloadFlag) return;delete FCKeditorAPI.Instances[FCK.Name];};function FCKeditorAPI_ConfirmCleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat) window.FCKUnloadFlag=true;};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);FCKTools.AddEventListener(window,'beforeunload',FCKeditorAPI_ConfirmCleanup); -var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i]*\>)/i,AfterBody:/(\<\/body\>[\s\S]*$)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/]/i,HtmlOpener:/]*>/i,HeadOpener:/]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/\s*FCK__[^ ]*(?=\s+|$)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*| )(<\/\1>)?$/,TagBody:/>]+))/gi,ProtectUrlsA:/]+))/gi,ProtectUrlsArea:/]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/]*>/i,HtmlDocType:/DTD HTML/,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi,StyleVariableAttName:/#\(\s*("|')(.+?)\1[^\)]*\s*\)/g,RegExp:/^\/(.*)\/([gim]*)$/,HtmlTag:/<[^\s<>](?:"[^"]*"|'[^']*'|[^<])*>/}; -var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },InlineNonEmptyElements:{ a:1,abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,col:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,div:1,td:1,th:1,caption:1,form:1 },StyleBlockElements:{ address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1 },StyleObjectElements:{ img:1,hr:1,li:1,table:1,tr:1,td:1,embed:1,object:1,ol:1,ul:1 },NonEditableElements:{ button:1,option:1,script:1,iframe:1,textarea:1,object:1,embed:1,map:1,applet:1 },BlockBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1 },ListBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1,br:1 }}; -var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-uk':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French','fr-ca':'French (Canada)',gl:'Galician',gu:'Gujarati',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',nl:'Dutch',no:'Norwegian',pl:'Polish',pt:'Portuguese (Portugal)','pt-br':'Portuguese (Brazil)',ro:'Romanian',ru:'Russian',sk:'Slovak',sl:'Slovenian',sr:'Serbian (Cyrillic)','sr-latn':'Serbian (Latin)',sv:'Swedish',th:'Thai',tr:'Turkish',uk:'Ukrainian',vi:'Vietnamese',zh:'Chinese Traditional','zh-cn':'Chinese Simplified'},GetActiveLanguage:function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;}};return this.DefaultLanguage;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');}; -var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKDomTools.CheckAndRemovePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();FCKXHtml.SpecialBlocks=[];this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);var E=this._GetMainXmlString();this.XML=null;if (FCKBrowserInfo.IsSafari) E=E.replace(/^/,'');E=E.substr(7,E.length-15).Trim();if (FCKConfig.DocType.length>0&&FCKRegexLib.HtmlDocType.test(FCKConfig.DocType)) E=E.replace(FCKRegexLib.SpaceNoClose,'>');else E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml.TagProcessors={a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},area:function(A,B){var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (!A.attributes.getNamedItem('coords')){var D=B.getAttribute('coords',2);if (D&&D!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',D);};if (!A.attributes.getNamedItem('shape')){var E=B.getAttribute('shape',2);if (E&&E.length>0) FCKXHtml._AppendAttribute(A,'shape',E.toLowerCase());}};return A;},body:function(A,B){A=FCKXHtml._AppendChildNodes(A,B,false);A.removeAttribute('spellcheck');return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);if (B.style.width) A.removeAttribute('width');if (B.style.height) A.removeAttribute('height');return A;},li:function(A,B,C){if (C.nodeName.IEquals(['ul','ol'])) return FCKXHtml._AppendChildNodes(A,B,true);var D=FCKXHtml.XML.createElement('ul');B._fckxhtmljob=null;do{FCKXHtml._AppendNode(D,B);do{B=FCKDomTools.GetNextSibling(B);} while (B&&B.nodeType==3&&B.nodeValue.Trim().length==0)} while (B&&B.nodeName.toLowerCase()=='li') return D;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},pre:function (A,B){var C=B.firstChild;if (C&&C.nodeType==3) A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem('\r\n')));FCKXHtml._AppendChildNodes(A,B,true);return A;},script:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');var C=B.innerHTML;if (FCKBrowserInfo.IsIE) C=C.replace(/^(\r\n|\n|\r)/,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol; -FCKXHtml._GetMainXmlString=function(){return (new XMLSerializer()).serializeToString(this.MainNode);};FCKXHtml._AppendAttributes=function(A,B,C){var D=B.attributes;for (var n=0;n]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+FCKCodeFormatter.ProtectedData.AddItem(C)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.replace(this.Regex.BlocksOpener,'\n$&');B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;iB[i]) return 1;};if (A.lengthB.length) return 1;return 0;};FCKUndo._CheckIsBookmarksEqual=function(A,B){if (!(A&&B)) return false;if (FCKBrowserInfo.IsIE){var C=A[1].search(A[0].StartId);var D=B[1].search(B[0].StartId);var E=A[1].search(A[0].EndId);var F=B[1].search(B[0].EndId);return C==D&&E==F;}else{return this._CompareCursors(A.Start,B.Start)==0&&this._CompareCursors(A.End,B.End)==0;}};FCKUndo.SaveUndoStep=function(){if (FCK.EditMode!=0||this.SaveLocked) return;if (this.SavedData.length) this.Changed=true;var A=FCK.EditorDocument.body.innerHTML;var B=this._GetBookmark();this.SavedData=this.SavedData.slice(0,this.CurrentIndex+1);if (this.CurrentIndex>0&&A==this.SavedData[this.CurrentIndex][0]&&this._CheckIsBookmarksEqual(B,this.SavedData[this.CurrentIndex][1])) return;else if (this.CurrentIndex==0&&this.SavedData.length&&A==this.SavedData[0][0]){this.SavedData[0][1]=B;return;};if (this.CurrentIndex+1>=FCKConfig.MaxUndoLevels) this.SavedData.shift();else this.CurrentIndex++;this.SavedData[this.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (this.Changed||this.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (this.CurrentIndex<(this.SavedData.length-1));};FCKUndo.Undo=function(){if (this.CheckUndoState()){if (this.CurrentIndex==(this.SavedData.length-1)){this.SaveUndoStep();};this._ApplyUndoLevel(--this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo.Redo=function(){if (this.CheckRedoState()){this._ApplyUndoLevel(++this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo._ApplyUndoLevel=function(A){var B=this.SavedData[A];if (!B) return;if (FCKBrowserInfo.IsIE){if (B[1]&&B[1][1]) FCK.SetInnerHtml(B[1][1]);else FCK.SetInnerHtml(B[0]);}else FCK.EditorDocument.body.innerHTML=B[0];this._SelectBookmark(B[1]);this.TypesCount=0;this.Changed=false;this.Typing=false;}; -var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.firstChild) C.removeChild(C.firstChild);if (this.Mode==0){if (FCK_IS_CUSTOM_DOMAIN) A=''+A;if (FCKBrowserInfo.IsIE) A=A.replace(/(]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1>');else if (!B){var E=A.match(FCKRegexLib.BeforeBody);var F=A.match(FCKRegexLib.AfterBody);if (E&&F){var G=A.substr(E[1].length,A.length-E[1].length-F[1].length);A=E[1]+' '+F[1];if (FCKBrowserInfo.IsGecko&&(G.length==0||FCKRegexLib.EmptyParagraph.test(G))) G='
    ';this._BodyHTML=G;}else this._BodyHTML=A;};var H=this.IFrame=D.createElement('iframe');var I='';H.frameBorder=0;H.style.width=H.style.height='100%';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A.replace(//i,''+I);H.src='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.parent._FCKHtmlToLoad );document.close() ;window.parent._FCKHtmlToLoad = null ;})() )';}else if (!FCKBrowserInfo.IsGecko){H.src='javascript:void(0)';};C.appendChild(H);this.Window=H.contentWindow;if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){var J=this.Window.document;J.open();J.write(A.replace(//i,''+I));J.close();};if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.EditingArea_Start(J,A);if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};if (H.readyState&&H.readyState!='completed'){var K=this;setTimeout(function(){try{K.Window.document.documentElement.doScroll("left");}catch(e){setTimeout(arguments.callee,0);return;};K.Window._FCKEditingArea=K;FCKEditingArea_CompleteStart.call(K.Window);},0);}else{this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}}else{var L=this.Textarea=D.createElement('textarea');L.className='SourceField';L.dir='ltr';FCKDomTools.SetElementStyles(L,{width:'100%',height:'100%',border:'none',resize:'none',outline:'none'});C.appendChild(L);L.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.Document=A.Window.document;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.disabled=true;A.body.contentEditable=true;A.body.removeAttribute("disabled");}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;A.body.offsetLeft;this._BodyHTML=null;};A.designMode='on';A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e){FCKTools.AddEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);}}};function FCKEditingArea_Document_AttributeNodeModified(A){var B=A.currentTarget.contentWindow._FCKEditingArea;if (B._timer) window.clearTimeout(B._timer);B._timer=FCKTools.SetTimeout(FCKEditingArea_MakeEditableByMutation,1000,B);};function FCKEditingArea_MakeEditableByMutation(){delete this._timer;FCKTools.RemoveEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);this.MakeEditable();};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE) this._FocusIE();else this.Window.focus();}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};FCKEditingArea.prototype._FocusIE=function(){this.Document.body.setActive();this.Window.focus();var A=this.Document.selection.createRange();var B=A.parentElement();var C=B.nodeName.toLowerCase();if (B.childNodes.length>0||!(FCKListsLib.BlockElements[C]||FCKListsLib.NonEmptyBlockElements[C])){return;};A=new FCKDomRange(this.Window);A.MoveToElementEditStart(B);A.Select();};function FCKEditingArea_Cleanup(){if (this.Document) this.Document.body.innerHTML="";this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}}; -var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;}; -FCK.DTD=(function(){var X=FCKTools.Merge;var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I;A={isindex:1,fieldset:1};B={input:1,button:1,select:1,textarea:1,label:1};C=X({a:1},B);D=X({iframe:1},C);E={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1};F={ins:1,del:1,script:1};G=X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F);H=X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G);I=X({p:1},H);J=X({iframe:1},H,B);K={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1};L=X({a:1},J);M={tr:1};N={'#':1};O=X({param:1},K);P=X({form:1},A,D,E,I);Q={li:1};return {col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:P,td:P,br:{},th:P,center:P,kbd:L,button:X(I,E),basefont:{},h5:L,h4:L,samp:L,h6:L,ol:Q,h1:L,h3:L,option:N,h2:L,form:X(A,D,E,I),select:{optgroup:1,option:1},font:J,ins:P,menu:Q,abbr:L,label:L,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:L,script:N,tfoot:M,cite:L,li:P,input:{},iframe:P,strong:J,textarea:N,noframes:P,big:J,small:J,span:J,hr:{},dt:L,sub:J,optgroup:{option:1},param:{},bdo:L,'var':J,div:P,object:O,sup:J,dd:P,strike:J,area:{},dir:Q,map:X({area:1,form:1,p:1},A,F,E),applet:O,dl:{dt:1,dd:1},del:P,isindex:{},fieldset:X({legend:1},K),thead:M,ul:Q,acronym:L,b:J,a:J,blockquote:P,caption:L,i:J,u:J,tbody:M,s:L,address:X(D,I),tt:J,legend:L,q:L,pre:X(G,C),p:L,em:J,dfn:L};})(); -var FCKStyle=function(A){this.Element=(A.Element||'span').toLowerCase();this._StyleDesc=A;};FCKStyle.prototype={GetType:function(){var A=this.GetType_$;if (A!=undefined) return A;var B=this.Element;if (B=='#'||FCKListsLib.StyleBlockElements[B]) A=0;else if (FCKListsLib.StyleObjectElements[B]) A=2;else A=1;return (this.GetType_$=A);},ApplyToSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.ApplyToRange(B,true);},ApplyToRange:function(A,B,C){switch (this.GetType()){case 0:this.ApplyToRange=this._ApplyBlockStyle;break;case 1:this.ApplyToRange=this._ApplyInlineStyle;break;default:return;};this.ApplyToRange(A,B,C);},ApplyToObject:function(A){if (!A) return;this.BuildElement(null,A);},RemoveFromSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.RemoveFromRange(B,true);},RemoveFromRange:function(A,B,C){var D;var E=this._GetAttribsForComparison();var F=this._GetOverridesForComparison();if (A.CheckIsCollapsed()){var D=A.CreateBookmark(true);var H=A.GetBookmarkNode(D,true);var I=new FCKElementPath(H.parentNode);var J=[];var K=!FCKDomTools.GetNextSibling(H);var L=K||!FCKDomTools.GetPreviousSibling(H);var M;var N=-1;for (var i=0;i=0;i--){var E=D[i];for (var F in B){if (FCKDomTools.HasAttribute(E,F)){switch (F){case 'style':this._RemoveStylesFromElement(E);break;case 'class':if (FCKDomTools.GetAttributeValue(E,F)!=this.GetFinalAttributeValue(F)) continue;default:FCKDomTools.RemoveAttribute(E,F);}}};this._RemoveOverrides(E,C[this.Element]);this._RemoveNoAttribElement(E);};for (var G in C){if (G!=this.Element){D=A.getElementsByTagName(G);for (var i=D.length-1;i>=0;i--){var E=D[i];this._RemoveOverrides(E,C[G]);this._RemoveNoAttribElement(E);}}}},_RemoveStylesFromElement:function(A){var B=A.style.cssText;var C=this.GetFinalStyleValue();if (B.length>0&&C.length==0) return;C='(^|;)\\s*('+C.replace(/\s*([^ ]+):.*?(;|$)/g,'$1|').replace(/\|$/,'')+'):[^;]+';var D=new RegExp(C,'gi');B=B.replace(D,'').Trim();if (B.length==0||B==';') FCKDomTools.RemoveAttribute(A,'style');else A.style.cssText=B.replace(D,'');},_RemoveOverrides:function(A,B){var C=B&&B.Attributes;if (C){for (var i=0;i0) C.style.cssText=this.GetFinalStyleValue();return C;},_CompareAttributeValues:function(A,B,C){if (A=='style'&&B&&C){B=B.replace(/;$/,'').toLowerCase();C=C.replace(/;$/,'').toLowerCase();};return (B==C||((B===null||B==='')&&(C===null||C==='')))},GetFinalAttributeValue:function(A){var B=this._StyleDesc.Attributes;var B=B?B[A]:null;if (!B&&A=='style') return this.GetFinalStyleValue();if (B&&this._Variables) B=B.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);return B;},GetFinalStyleValue:function(){var A=this._GetStyleText();if (A.length>0&&this._Variables){A=A.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);A=FCKTools.NormalizeCssText(A);};return A;},_GetVariableReplace:function(){return this._Variables[arguments[2]]||arguments[0];},SetVariable:function(A,B){var C=this._Variables;if (!C) C=this._Variables={};this._Variables[A]=B;},_FromPre:function(A,B,C){var D=B.innerHTML;D=D.replace(/(\r\n|\r)/g,'\n');D=D.replace(/^[ \t]*\n/,'');D=D.replace(/\n$/,'');D=D.replace(/^[ \t]+|[ \t]+$/g,function(match,offset,s){if (match.length==1) return ' ';else if (offset==0) return new Array(match.length).join(' ')+' ';else return ' '+new Array(match.length).join(' ');});var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag){value=value.replace(/\n/g,'
    ');value=value.replace(/[ \t]{2,}/g,function (match){return new Array(match.length).join(' ')+' ';});};F.push(value);});C.innerHTML=F.join('');return C;},_ToPre:function(A,B,C){var D=B.innerHTML.Trim();D=D.replace(/[ \t\r\n]*(]*>)[ \t\r\n]*/gi,'
    ');var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag) value=value.replace(/([ \t\n\r]+| )/g,' ');else if (isTag&&value=='
    ') value='\n';F.push(value);});if (FCKBrowserInfo.IsIE){var G=A.createElement('div');G.appendChild(C);C.outerHTML='
    \n'+F.join('')+'
    ';C=G.removeChild(G.firstChild);}else C.innerHTML=F.join('');return C;},_CheckAndMergePre:function(A,B){if (A!=FCKDomTools.GetPreviousSourceElement(B,true)) return;var C=A.innerHTML.replace(/\n$/,'')+'\n\n'+B.innerHTML.replace(/^\n/,'');if (FCKBrowserInfo.IsIE) B.outerHTML='
    '+C+'
    ';else B.innerHTML=C;FCKDomTools.RemoveNode(A);},_CheckAndSplitPre:function(A){var B;var C=A.firstChild;C=C&&C.nextSibling;while (C){var D=C.nextSibling;if (D&&D.nextSibling&&C.nodeName.IEquals('br')&&D.nodeName.IEquals('br')){FCKDomTools.RemoveNode(C);C=D.nextSibling;FCKDomTools.RemoveNode(D);B=FCKDomTools.InsertAfterNode(B||A,FCKDomTools.CloneElement(A));continue;};if (B){C=C.previousSibling;FCKDomTools.MoveNode(C.nextSibling,B);};C=C.nextSibling;}},_ApplyBlockStyle:function(A,B,C){var D;if (B) D=A.CreateBookmark();var E=new FCKDomRangeIterator(A);E.EnforceRealBlocks=true;var F;var G=A.Window.document;var H;while((F=E.GetNextParagraph())){var I=this.BuildElement(G);var J=I.nodeName.IEquals('pre');var K=F.nodeName.IEquals('pre');var L=J&&!K;var M=!J&&K;if (L) I=this._ToPre(G,F,I);else if (M) I=this._FromPre(G,F,I);else FCKDomTools.MoveChildren(F,I);F.parentNode.insertBefore(I,F);FCKDomTools.RemoveNode(F);if (J){if (H) this._CheckAndMergePre(H,I);H=I;}else if (M) this._CheckAndSplitPre(I);};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},_ApplyInlineStyle:function(A,B,C){var D=A.Window.document;if (A.CheckIsCollapsed()){var E=this.BuildElement(D);A.InsertNode(E);A.MoveToPosition(E,2);A.Select();return;};var F=this.Element;var G=FCK.DTD[F]||FCK.DTD.span;var H=this._GetAttribsForComparison();var I;A.Expand('inline_elements');var J=A.CreateBookmark(true);var K=A.GetBookmarkNode(J,true);var L=A.GetBookmarkNode(J,false);A.Release(true);var M=FCKDomTools.GetNextSourceNode(K,true);while (M){var N=false;var O=M.nodeType;var P=O==1?M.nodeName.toLowerCase():null;if (!P||G[P]){if ((FCK.DTD[M.parentNode.nodeName.toLowerCase()]||FCK.DTD.span)[F]||!FCK.DTD[F]){if (!A.CheckHasRange()) A.SetStart(M,3);if (O!=1||M.childNodes.length==0){var Q=M;var R=Q.parentNode;while (Q==R.lastChild&&G[R.nodeName.toLowerCase()]){Q=R;};A.SetEnd(Q,4);if (Q==Q.parentNode.lastChild&&!G[Q.parentNode.nodeName.toLowerCase()]) N=true;}else{A.SetEnd(M,3);}}else N=true;}else N=true;M=FCKDomTools.GetNextSourceNode(M);if (M==L){M=null;N=true;};if (N&&A.CheckHasRange()&&!A.CheckIsCollapsed()){I=this.BuildElement(D);A.ExtractContents().AppendTo(I);if (I.innerHTML.RTrim().length>0){A.InsertNode(I);this.RemoveFromElement(I);this._MergeSiblings(I,this._GetAttribsForComparison());if (!FCKBrowserInfo.IsIE) I.normalize();};A.Release(true);}};this._FixBookmarkStart(K);if (B) A.SelectBookmark(J);if (C) A.MoveToBookmark(J);},_FixBookmarkStart:function(A){var B;while ((B=A.nextSibling)){if (B.nodeType==1&&FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){if (!B.firstChild) FCKDomTools.RemoveNode(B);else FCKDomTools.MoveNode(A,B,true);continue;};if (B.nodeType==3&&B.length==0){FCKDomTools.RemoveNode(B);continue;};break;}},_MergeSiblings:function(A,B){if (!A||A.nodeType!=1||!FCKListsLib.InlineNonEmptyElements[A.nodeName.toLowerCase()]) return;this._MergeNextSibling(A,B);this._MergePreviousSibling(A,B);},_MergeNextSibling:function(A,B){var C=A.nextSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.nextSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.lastChild;if (D) FCKDomTools.MoveNode(A.nextSibling,A);FCKDomTools.MoveChildren(C,A);FCKDomTools.RemoveNode(C);if (E) this._MergeNextSibling(E);}}},_MergePreviousSibling:function(A,B){var C=A.previousSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.previousSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.firstChild;if (D) FCKDomTools.MoveNode(A.previousSibling,A,true);FCKDomTools.MoveChildren(C,A,true);FCKDomTools.RemoveNode(C);if (E) this._MergePreviousSibling(E);}}},_GetStyleText:function(){var A=this._StyleDesc.Styles;var B=(this._StyleDesc.Attributes?this._StyleDesc.Attributes['style']||'':'');if (B.length>0) B+=';';for (var C in A) B+=C+':'+A[C]+';';if (B.length>0&&!(/#\(/.test(B))){B=FCKTools.NormalizeCssText(B);};return (this._GetStyleText=function() { return B;})();},_GetAttribsForComparison:function(){var A=this._GetAttribsForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Attributes;if (B){for (var C in B){A[C.toLowerCase()]=B[C].toLowerCase();}};if (this._GetStyleText().length>0){A['style']=this._GetStyleText().toLowerCase();};FCKTools.AppendLengthProperty(A,'_length');return (this._GetAttribsForComparison_$=A);},_GetOverridesForComparison:function(){var A=this._GetOverridesForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Overrides;if (B){if (!FCKTools.IsArray(B)) B=[B];for (var i=0;i0) return true;};B=B.nextSibling;};return false;}}; -var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (FCKBrowserInfo.IsIE&&e.scopeName!='HTML') E=e.scopeName.toLowerCase()+':'+E;if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null){if (!B&&E=='div'&&!FCKElementPath._CheckHasBlock(e)) B=e;else C=e;}};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};FCKElementPath._CheckHasBlock=function(A){var B=A.childNodes;for (var i=0,count=B.length;i0){if (D.nodeType==3){var G=D.nodeValue.substr(0,E).Trim();if (G.length!=0) return A.IsStartOfBlock=false;}else F=D.childNodes[E-1];};if (!F) F=FCKDomTools.GetPreviousSourceNode(D,true,null,C);while (F){switch (F.nodeType){case 1:if (!FCKListsLib.InlineChildReqElements[F.nodeName.toLowerCase()]) return A.IsStartOfBlock=false;break;case 3:if (F.nodeValue.Trim().length>0) return A.IsStartOfBlock=false;};F=FCKDomTools.GetPreviousSourceNode(F,false,null,C);};return A.IsStartOfBlock=true;},CheckEndOfBlock:function(A){var B=this._Cache.IsEndOfBlock;if (B!=undefined) return B;var C=this.EndBlock||this.EndBlockLimit;var D=this._Range.endContainer;var E=this._Range.endOffset;var F;if (D.nodeType==3){var G=D.nodeValue;if (E0) return this._Cache.IsEndOfBlock=false;};F=FCKDomTools.GetNextSourceNode(F,false,null,C);};if (A) this.Select();return this._Cache.IsEndOfBlock=true;},CreateBookmark:function(A){var B={StartId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'S',EndId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'E'};var C=this.Window.document;var D;var E;var F;if (!this.CheckIsCollapsed()){E=C.createElement('span');E.style.display='none';E.id=B.EndId;E.setAttribute('_fck_bookmark',true);E.innerHTML=' ';F=this.Clone();F.Collapse(false);F.InsertNode(E);};D=C.createElement('span');D.style.display='none';D.id=B.StartId;D.setAttribute('_fck_bookmark',true);D.innerHTML=' ';F=this.Clone();F.Collapse(true);F.InsertNode(D);if (A){B.StartNode=D;B.EndNode=E;};if (E){this.SetStart(D,4);this.SetEnd(E,3);}else this.MoveToPosition(D,4);return B;},GetBookmarkNode:function(A,B){var C=this.Window.document;if (B) return A.StartNode||C.getElementById(A.StartId);else return A.EndNode||C.getElementById(A.EndId);},MoveToBookmark:function(A,B){var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);this.SetStart(C,3);if (!B) FCKDomTools.RemoveNode(C);if (D){this.SetEnd(D,3);if (!B) FCKDomTools.RemoveNode(D);}else this.Collapse(true);this._UpdateElementInfo();},CreateBookmark2:function(){if (!this._Range) return { "Start":0,"End":0 };var A={"Start":[this._Range.startOffset],"End":[this._Range.endOffset]};var B=this._Range.startContainer.previousSibling;var C=this._Range.endContainer.previousSibling;var D=this._Range.startContainer;var E=this._Range.endContainer;while (B&&D.nodeType==3){A.Start[0]+=B.length;D=B;B=B.previousSibling;}while (C&&E.nodeType==3){A.End[0]+=C.length;E=C;C=C.previousSibling;};if (D.nodeType==1&&D.childNodes[A.Start[0]]&&D.childNodes[A.Start[0]].nodeType==3){var F=D.childNodes[A.Start[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};D=F;A.Start[0]=G;};if (E.nodeType==1&&E.childNodes[A.End[0]]&&E.childNodes[A.End[0]].nodeType==3){var F=E.childNodes[A.End[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};E=F;A.End[0]=G;};A.Start=FCKDomTools.GetNodeAddress(D,true).concat(A.Start);A.End=FCKDomTools.GetNodeAddress(E,true).concat(A.End);return A;},MoveToBookmark2:function(A){var B=FCKDomTools.GetNodeFromAddress(this.Window.document,A.Start.slice(0,-1),true);var C=FCKDomTools.GetNodeFromAddress(this.Window.document,A.End.slice(0,-1),true);this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var D=A.Start[A.Start.length-1];var E=A.End[A.End.length-1];while (B.nodeType==3&&D>B.length){if (!B.nextSibling||B.nextSibling.nodeType!=3) break;D-=B.length;B=B.nextSibling;}while (C.nodeType==3&&E>C.length){if (!C.nextSibling||C.nextSibling.nodeType!=3) break;E-=C.length;C=C.nextSibling;};this._Range.setStart(B,D);this._Range.setEnd(C,E);this._UpdateElementInfo();},MoveToPosition:function(A,B){this.SetStart(A,B);this.Collapse(true);},SetStart:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setStart(A,0);break;case 2:D.setStart(A,A.childNodes.length);break;case 3:D.setStartBefore(A);break;case 4:D.setStartAfter(A);};if (!C) this._UpdateElementInfo();},SetEnd:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setEnd(A,0);break;case 2:D.setEnd(A,A.childNodes.length);break;case 3:D.setEndBefore(A);break;case 4:D.setEndAfter(A);};if (!C) this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'inline_elements':if (this._Range.startOffset==0){B=this._Range.startContainer;if (B.nodeType!=1) B=B.previousSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setStartBefore(B);if (B!=B.parentNode.firstChild) break;B=B.parentNode;}}};B=this._Range.endContainer;var C=this._Range.endOffset;if ((B.nodeType==3&&C>=B.nodeValue.length)||(B.nodeType==1&&C>=B.childNodes.length)||(B.nodeType!=1&&B.nodeType!=3)){if (B.nodeType!=1) B=B.nextSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setEndAfter(B);if (B!=B.parentNode.lastChild) break;B=B.parentNode;}}};break;case 'block_contents':case 'list_contents':var D=FCKListsLib.BlockBoundaries;if (A=='list_contents'||FCKConfig.EnterMode=='br') D=FCKListsLib.ListBoundaries;if (this.StartBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents') this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){var E=B.childNodes[this._Range.startOffset];if (E) B=FCKDomTools.GetPreviousSourceNode(E,true);else B=B.lastChild||B;}while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setStartBefore(B);B=B.previousSibling||B.parentNode;}};if (this.EndBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents'&&this.EndBlock.nodeName.toLowerCase()!='li') this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setEndAfter(B);B=B.nextSibling||B.parentNode;};if (B&&B.nodeName.toLowerCase()=='br') this._Range.setEndAfter(B);};this._UpdateElementInfo();}},SplitBlock:function(A){var B=A||FCKConfig.EnterMode;if (!this._Range) this.MoveToSelection();if (this.StartBlockLimit==this.EndBlockLimit){var C=this.StartBlock;var D=this.EndBlock;var E=null;if (B!='br'){if (!C){C=this.FixBlock(true,B);D=this.EndBlock;};if (!D) D=this.FixBlock(false,B);};var F=(C!=null&&this.CheckStartOfBlock());var G=(D!=null&&this.CheckEndOfBlock());if (!this.CheckIsEmpty()) this.DeleteContents();if (C&&D&&C==D){if (G){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(D,4);D=null;}else if (F){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(C,3);C=null;}else{this.SetEnd(C,2);var H=this.ExtractContents();D=C.cloneNode(false);D.removeAttribute('id',false);H.AppendTo(D);FCKDomTools.InsertAfterNode(C,D);this.MoveToPosition(C,4);if (FCKBrowserInfo.IsGecko&&!C.nodeName.IEquals(['ul','ol'])) FCKTools.AppendBogusBr(C);}};return {PreviousBlock:C,NextBlock:D,WasStartOfBlock:F,WasEndOfBlock:G,ElementPath:E};};return null;},FixBlock:function(A,B){var C=this.CreateBookmark();this.Collapse(A);this.Expand('block_contents');var D=this.Window.document.createElement(B);this.ExtractContents().AppendTo(D);FCKDomTools.TrimNode(D);if (FCKDomTools.CheckIsEmptyElement(D,function(element) { return element.getAttribute('_fck_bookmark')!='true';})&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);this.InsertNode(D);this.MoveToBookmark(C);return D;},Release:function(A){if (!A) this.Window=null;this.StartNode=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndNode=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;this._Cache=null;},CheckHasRange:function(){return!!this._Range;},GetTouchedStartNode:function(){var A=this._Range;var B=A.startContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.startOffset]||B;},GetTouchedEndNode:function(){var A=this._Range;var B=A.endContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.endOffset-1]||B;}}; -FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);var A=this.Window.getSelection();if (A&&A.rangeCount>0){this._Range=FCKW3CRange.CreateFromRange(this.Window.document,A.getRangeAt(0));this._UpdateElementInfo();}else if (this.Window.document) this.MoveToElementStart(this.Window.document.body);};FCKDomRange.prototype.Select=function(){var A=this._Range;if (A){var B=A.startContainer;if (A.collapsed&&B.nodeType==1&&B.childNodes.length==0) B.appendChild(A._Document.createTextNode(''));var C=this.Window.document.createRange();C.setStart(B,A.startOffset);try{C.setEnd(A.endContainer,A.endOffset);}catch (e){if (e.toString().Contains('NS_ERROR_ILLEGAL_VALUE')){A.collapse(true);C.setEnd(A.endContainer,A.endOffset);}else throw(e);};var D=this.Window.getSelection();D.removeAllRanges();D.addRange(C);}};FCKDomRange.prototype.SelectBookmark=function(A){var B=this.Window.document.createRange();var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);B.setStart(C.parentNode,FCKDomTools.GetIndexOf(C));FCKDomTools.RemoveNode(C);if (D){B.setEnd(D.parentNode,FCKDomTools.GetIndexOf(D));FCKDomTools.RemoveNode(D);};var E=this.Window.getSelection();E.removeAllRanges();E.addRange(B);}; -var FCKDomRangeIterator=function(A){this.Range=A;this.ForceBrBreak=false;this.EnforceRealBlocks=false;};FCKDomRangeIterator.CreateFromSelection=function(A){var B=new FCKDomRange(A);B.MoveToSelection();return new FCKDomRangeIterator(B);};FCKDomRangeIterator.prototype={GetNextParagraph:function(){var A;var B;var C;var D;var E;var F=this.ForceBrBreak?FCKListsLib.ListBoundaries:FCKListsLib.BlockBoundaries;if (!this._LastNode){var B=this.Range.Clone();B.Expand(this.ForceBrBreak?'list_contents':'block_contents');this._NextNode=B.GetTouchedStartNode();this._LastNode=B.GetTouchedEndNode();B=null;};var H=this._NextNode;var I=this._LastNode;this._NextNode=null;while (H){var J=false;var K=(H.nodeType!=1);var L=false;if (!K){var M=H.nodeName.toLowerCase();if (F[M]&&(!FCKBrowserInfo.IsIE||H.scopeName=='HTML')){if (M=='br') K=true;else if (!B&&H.childNodes.length==0&&M!='hr'){A=H;C=H==I;break;};if (B){B.SetEnd(H,3,true);if (M!='br') this._NextNode=FCKDomTools.GetNextSourceNode(H,true,null,I);};J=true;}else{if (H.firstChild){if (!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};H=H.firstChild;continue;};K=true;}}else if (H.nodeType==3){if (/^[\r\n\t ]+$/.test(H.nodeValue)) K=false;};if (K&&!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};C=((!J||K)&&H==I);if (B&&!J){while (!H.nextSibling&&!C){var N=H.parentNode;if (F[N.nodeName.toLowerCase()]){J=true;C=C||(N==I);break;};H=N;K=true;C=(H==I);L=true;}};if (K) B.SetEnd(H,4,true);if ((J||C)&&B){B._UpdateElementInfo();if (B.StartNode==B.EndNode&&B.StartNode.parentNode==B.StartBlockLimit&&B.StartNode.getAttribute&&B.StartNode.getAttribute('_fck_bookmark')) B=null;else break;};if (C) break;H=FCKDomTools.GetNextSourceNode(H,L,null,I);};if (!A){if (!B){this._NextNode=null;return null;};A=B.StartBlock;if (!A&&!this.EnforceRealBlocks&&B.StartBlockLimit.nodeName.IEquals('DIV','TH','TD')&&B.CheckStartOfBlock()&&B.CheckEndOfBlock()){A=B.StartBlockLimit;}else if (!A||(this.EnforceRealBlocks&&A.nodeName.toLowerCase()=='li')){A=this.Range.Window.document.createElement(FCKConfig.EnterMode=='p'?'p':'div');B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);B.InsertNode(A);D=true;E=true;}else if (A.nodeName.toLowerCase()!='li'){if (!B.CheckStartOfBlock()||!B.CheckEndOfBlock()){A=A.cloneNode(false);B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);var O=B.SplitBlock();D=!O.WasStartOfBlock;E=!O.WasEndOfBlock;B.InsertNode(A);}}else if (!C){this._NextNode=A==I?null:FCKDomTools.GetNextSourceNode(B.EndNode,true,null,I);return A;}};if (D){var P=A.previousSibling;if (P&&P.nodeType==1){if (P.nodeName.toLowerCase()=='br') P.parentNode.removeChild(P);else if (P.lastChild&&P.lastChild.nodeName.IEquals('br')) P.removeChild(P.lastChild);}};if (E){var Q=A.lastChild;if (Q&&Q.nodeType==1&&Q.nodeName.toLowerCase()=='br') A.removeChild(Q);};if (!this._NextNode) this._NextNode=(C||A==I)?null:FCKDomTools.GetNextSourceNode(A,true,null,I);return A;}}; -var FCKDocumentFragment=function(A,B){this.RootNode=B||A.createDocumentFragment();};FCKDocumentFragment.prototype={AppendTo:function(A){A.appendChild(this.RootNode);},AppendHtml:function(A){var B=this.RootNode.ownerDocument.createElement('div');B.innerHTML=A;FCKDomTools.MoveChildren(B,this.RootNode);},InsertAfterNode:function(A){FCKDomTools.InsertAfterNode(A,this.RootNode);}}; -var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else if (E>C.childNodes.length-1){C=C.appendChild(this._Document.createTextNode(''));G=true;}else C=C.childNodes[E].previousSibling;};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)){var N=FCKDomTools.GetIndexOf(topEnd);if (G&&topEnd.parentNode==C.parentNode) N--;this.setStart(topEnd.parentNode,N);};this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);}}; -var FCKEnterKey=function(A,B,C,D){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var E=new FCKKeystrokeHandler(false);E._EnterKey=this;E.OnKeystroke=FCKEnterKey_OnKeystroke;E.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[CTRL+8,'CtrlBackspace'],[46,'Delete']]);this.TabText='';if (D>0||FCKBrowserInfo.IsSafari){while (D--) this.TabText+='\xa0';E.SetKeystrokes([9,'Tab']);};E.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();break;case 'Tab':return C.DoTab();break;case 'CtrlBackspace':return C.DoCtrlBackspace();break;}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){FCKUndo.SaveUndoStep();this._HasShift=(B===true);var C=FCKSelection.GetParentElement();var D=new FCKElementPath(C);var E=A||this.EnterMode;if (E=='br'||D.Block&&D.Block.tagName.toLowerCase()=='pre') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(E);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};var C=B.CheckIsCollapsed();if (!C){if (FCKBrowserInfo.IsIE&&this.Window.document.selection.type.toLowerCase()=="control"){var D=this.Window.document.selection.createRange();for (var i=D.length-1;i>=0;i--){var E=D.item(i);E.parentNode.removeChild(E);};return true;};return false;};if (FCKBrowserInfo.IsIE){var F=FCKDomTools.GetPreviousSourceElement(B.StartNode,true);if (F&&F.nodeName.toLowerCase()=='br'){var G=B.Clone();G.SetStart(F,4);if (G.CheckIsEmpty()){F.parentNode.removeChild(F);return true;}}};var H=B.StartBlock;var I=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&H&&I){if (!C){var J=B.CheckEndOfBlock();B.DeleteContents();if (H!=I){B.SetStart(I,1);B.SetEnd(I,1);};B.Select();A=(H==I);};if (B.CheckStartOfBlock()){var K=B.StartBlock;var L=FCKDomTools.GetPreviousSourceElement(K,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,L,K);}else if (FCKBrowserInfo.IsGeckoLike){B.Select();}};B.Release();return A;};FCKEnterKey.prototype.DoCtrlBackspace=function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(this.Window);A.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(A,this.Window.document.body)){this._FixIESelectAllBug(A);return true;};return false;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.LTrimNode(C);FCKDomTools.RTrimNode(B);A.SetStart(B,2,true);A.Collapse(true);var I=A.CreateBookmark(true);if (!C.tagName.IEquals(['TABLE'])) FCKDomTools.MoveChildren(C,B);A.SelectBookmark(I);D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){FCKUndo.SaveUndoStep();var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKTools.GetElementAscensor(C,'td');var E=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL','TR'],true);if (D){var F=FCKTools.GetElementAscensor(E,'td');if (F!=D) return true;};A=this._ExecuteBackspace(B,C,E);};B.Release();return A;};FCKEnterKey.prototype.DoTab=function(){var A=new FCKDomRange(this.Window);A.MoveToSelection();var B=A._Range.startContainer;while (B){if (B.nodeType==1){var C=B.tagName.toLowerCase();if (C=="tr"||C=="td"||C=="th"||C=="tbody"||C=="table") return false;else break;};B=B.parentNode;};if (this.TabText){A.DeleteContents();A.InsertNode(this.Window.document.createTextNode(this.TabText));A.Collapse(false);A.Select();};return true;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);var D=C.SplitBlock(A);if (D){var E=D.PreviousBlock;var F=D.NextBlock;var G=D.WasStartOfBlock;var H=D.WasEndOfBlock;if (F){if (F.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(F,F.parentNode);FCKDomTools.MoveNode(F,F.nextSibling,true);}}else if (E&&E.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(E,E.parentNode);C.MoveToElementEditStart(E.nextSibling);FCKDomTools.MoveNode(E,E.previousSibling);};if (!G&&!H){if (F.nodeName.IEquals('li')&&F.firstChild&&F.firstChild.nodeName.IEquals(['ul','ol'])) F.insertBefore(FCKTools.GetElementDocument(F).createTextNode('\xa0'),F.firstChild);if (F) C.MoveToElementEditStart(F);}else{if (G&&H&&E.tagName.toUpperCase()=='LI'){C.MoveToElementStart(E);this._OutdentWithSelection(E,C);C.Release();return true;};var I;if (E){var J=E.tagName.toUpperCase();if (!this._HasShift&&!(/^H[1-6]$/).test(J)){I=FCKDomTools.CloneElement(E);}}else if (F) I=FCKDomTools.CloneElement(F);if (!I) I=this.Window.document.createElement(A);var K=D.ElementPath;if (K){for (var i=0,len=K.Elements.length;i=0&&(C=B[i--])){if (C.name.length>0){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor=(function(){var A=[];var B=function(el){var C=el.cloneNode(true);var D;var E=D=FCKDocumentProcessor_CreateFakeImage('FCK__UnknownObject',C);FCKEmbedAndObjectProcessor.RefreshView(E,el);for (var i=0;i=0;i--) B(G[i]);};var H=function(doc){F('object',doc);F('embed',doc);};return FCKTools.Merge(FCKDocumentProcessor.AppendNew(),{ProcessDocument:function(doc){if (FCKBrowserInfo.IsGecko) FCKTools.RunFunction(H,this,[doc]);else H(doc);},RefreshView:function(placeHolder,original){if (original.getAttribute('width')>0) placeHolder.style.width=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('width'));if (original.getAttribute('height')>0) placeHolder.style.height=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('height'));},AddCustomHandler:function(func){A.push(func);}});})();FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function(A,B){if (!(A.nodeName.IEquals('embed')&&(A.type=='application/x-shockwave-flash'||/\.swf($|#|\?)/i.test(A.src)))) return;B.className='FCK__Flash';B.setAttribute('_fckflash','true',0);});if (FCKBrowserInfo.IsSafari){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByClassName?A.getElementsByClassName('Apple-style-span'):Array.prototype.filter.call(A.getElementsByTagName('span'),function(item){ return item.className=='Apple-style-span';});for (var i=B.length-1;i>=0;i--) FCKDomTools.RemoveNode(B[i],true);}}; -var FCKSelection=FCK.Selection={GetParentBlock:function(){var A=this.GetParentElement();while (A){if (FCKListsLib.BlockBoundaries[A.nodeName.toLowerCase()]) break;A=A.parentNode;};return A;},ApplyStyle:function(A){FCKStyles.ApplyStyle(new FCKStyle(A));}}; -FCKSelection.GetType=function(){var A='Text';var B;try { B=this.GetSelection();} catch (e) {};if (B&&B.rangeCount==1){var C=B.getRangeAt(0);if (C.startContainer==C.endContainer&&(C.endOffset-C.startOffset)==1&&C.startContainer.nodeType==1&&FCKListsLib.StyleObjectElements[C.startContainer.childNodes[C.startOffset].nodeName.toLowerCase()]){A='Control';}};return A;};FCKSelection.GetSelectedElement=function(){var A=!!FCK.EditorWindow&&this.GetSelection();if (!A||A.rangeCount<1) return null;var B=A.getRangeAt(0);if (B.startContainer!=B.endContainer||B.startContainer.nodeType!=1||B.startOffset!=B.endOffset-1) return null;var C=B.startContainer.childNodes[B.startOffset];if (C.nodeType!=1) return null;return C;};FCKSelection.GetParentElement=function(){if (this.GetType()=='Control') return FCKSelection.GetSelectedElement().parentNode;else{var A=this.GetSelection();if (A){if (A.anchorNode&&A.anchorNode==A.focusNode){var B=A.getRangeAt(0);if (B.collapsed||B.startContainer.nodeType==3) return A.anchorNode.parentNode;else return A.anchorNode;};var C=new FCKElementPath(A.anchorNode);var D=new FCKElementPath(A.focusNode);var E=null;var F=null;if (C.Elements.length>D.Elements.length){E=C.Elements;F=D.Elements;}else{E=D.Elements;F=C.Elements;};var G=E.length-F.length;for(var i=0;i0){var C=B.getRangeAt(A?0:(B.rangeCount-1));var D=A?C.startContainer:C.endContainer;return (D.nodeType==1?D:D.parentNode);}};return null;};FCKSelection.SelectNode=function(A){var B=FCK.EditorDocument.createRange();B.selectNode(A);var C=this.GetSelection();C.removeAllRanges();C.addRange(B);};FCKSelection.Collapse=function(A){var B=this.GetSelection();if (A==null||A===true) B.collapseToStart();else B.collapseToEnd();};FCKSelection.HasAncestorNode=function(A){var B=this.GetSelectedElement();if (!B&&FCK.EditorWindow){try { B=this.GetSelection().getRangeAt(0).startContainer;}catch(e){}}while (B){if (B.nodeType==1&&B.nodeName.IEquals(A)) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B;var C=this.GetSelectedElement();if (!C) C=this.GetSelection().getRangeAt(0).startContainer;while (C){if (C.nodeName.IEquals(A)) return C;C=C.parentNode;};return null;};FCKSelection.Delete=function(){var A=this.GetSelection();for (var i=0;i=0;i--){if (C[i]) FCKTableHandler.DeleteRows(C[i]);};return;};var E=FCKTools.GetElementAscensor(A,'TABLE');if (E.rows.length==1){FCKTableHandler.DeleteTable(E);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();if (A.parentNode.childNodes.length==1) A.parentNode.parentNode.removeChild(A.parentNode);else A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(A){var B=null;var C=this.GetSelectedCells();if (C&&C.length) B=C[A?0:(C.length-1)];if (!B) return;var D=FCKTools.GetElementAscensor(B,'TABLE');var E=B.cellIndex;for (var i=0;i=0;i--){if (B[i]) FCKTableHandler.DeleteColumns(B[i]);};return;};if (!A) return;var C=FCKTools.GetElementAscensor(A,'TABLE');var D=A.cellIndex;for (var i=C.rows.length-1;i>=0;i--){var E=C.rows[i];if (D==0&&E.cells.length==1){FCKTableHandler.DeleteRows(E);continue;};if (E.cells[D]) E.removeChild(E.cells[D]);}};FCKTableHandler.InsertCell=function(A,B){var C=null;var D=this.GetSelectedCells();if (D&&D.length) C=D[B?0:(D.length-1)];if (!C) return null;var E=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(E);if (!B&&C.cellIndex==C.parentNode.cells.length-1) C.parentNode.appendChild(E);else C.parentNode.insertBefore(E,B?C:C.nextSibling);return E;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);}};FCKTableHandler._MarkCells=function(A,B){for (var i=0;i=E.height){for (D=F;D0){var L=K.removeChild(K.firstChild);if (L.nodeType!=1||(L.getAttribute('type',2)!='_moz'&&L.getAttribute('_moz_dirty')!=null)){I.appendChild(L);J++;}}};if (J>0) I.appendChild(FCKTools.GetElementDocument(B).createElement('br'));};this._ReplaceCellsByMarker(C,'_SelectedCells',B);this._UnmarkCells(A,'_SelectedCells');this._InstallTableMap(C,B.parentNode.parentNode);B.appendChild(I);if (FCKBrowserInfo.IsGeckoLike&&(!B.firstChild)) FCKTools.AppendBogusBr(B);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeRight=function(){var A=this.GetMergeRightTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCK.EditorDocument.createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));D.parentNode.removeChild(D);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeDown=function(){var A=this.GetMergeDownTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCKTools.GetElementDocument(B).createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));if (E.firstChild) E.insertBefore(FCKTools.GetElementDocument(D).createElement('br'),E.firstChild);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.HorizontalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B.parentNode.parentNode);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;if (F>1){var G=Math.ceil(F/2);var H=FCKTools.GetElementDocument(B).createElement('td');if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H);var I=E+G;var J=E+F;var K=isNaN(B.rowSpan)?1:B.rowSpan;for (var r=D;r1){B.rowSpan=Math.ceil(E/2);var G=F+Math.ceil(E/2);var H=null;for (var i=D+1;iG) L.insertBefore(K,L.rows[G]);else L.appendChild(K);for (var i=0;i0){var D=B.rows[0];D.parentNode.removeChild(D);};for (var i=0;iF) F=j;if (E._colScanned===true) continue;if (A[i][j-1]==E) E.colSpan++;if (A[i][j+1]!=E) E._colScanned=true;}};for (var i=0;i<=F;i++){for (var j=0;j 
    ';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.SplitBlock();B.InsertNode(A);FCK.Events.FireEvent('OnSelectionChange');};FCKPageBreakCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGeckoLike){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};FCKVisitLinkCommand=function(){this.Name='VisitLink';};FCKVisitLinkCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState('Unlink');if (A==0){var B=FCKSelection.MoveToAncestorNode('A');if (!B.href) A=-1;};return A;},Execute:function(){var A=FCKSelection.MoveToAncestorNode('A');var B=A.getAttribute('_fcksavedurl')||A.getAttribute('href',2);if (!/:\/\//.test(B)){var C=FCKConfig.BaseHref;var D=FCK.GetInstanceObject('parent');if (!C){C=D.document.location.href;C=C.substring(0,C.lastIndexOf('/')+1);};if (/^\//.test(B)){try{C=C.match(/^.*:\/\/+[^\/]+/)[0];}catch (e){C=D.document.location.protocol+'://'+D.parent.document.location.host;}};B=C+B;};if (!window.open(B,'_blank')) alert(FCKLang.VisitLinkBlocked);}};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');}};var FCKRuleCommand=function(){this.Name='Rule';};FCKRuleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();FCK.InsertElement('hr');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('InsertHorizontalRule');}};var FCKCutCopyCommand=function(A){this.Name=A?'Cut':'Copy';};FCKCutCopyCommand.prototype={Execute:function(){var A=false;if (FCKBrowserInfo.IsIE){var B=function(){A=true;};var C='on'+this.Name.toLowerCase();FCK.EditorDocument.body.attachEvent(C,B);FCK.ExecuteNamedCommand(this.Name);FCK.EditorDocument.body.detachEvent(C,B);}else{try{FCK.ExecuteNamedCommand(this.Name);A=true;}catch(e){}};if (!A) alert(FCKLang['PasteError'+this.Name]);},GetState:function(){return FCK.EditMode!=0?-1:FCK.GetNamedCommandState('Cut');}};var FCKAnchorDeleteCommand=function(){this.Name='AnchorDelete';};FCKAnchorDeleteCommand.prototype={Execute:function(){if (FCK.Selection.GetType()=='Control'){FCK.Selection.Delete();}else{var A=FCK.Selection.GetSelectedElement();if (A){if (A.tagName=='IMG'&&A.getAttribute('_fckanchor')) oAnchor=FCK.GetRealElement(A);else A=null;};if (!A){oAnchor=FCK.Selection.MoveToAncestorNode('A');if (oAnchor) FCK.Selection.SelectNode(oAnchor);};if (oAnchor.href.length!=0){oAnchor.removeAttribute('name');if (FCKBrowserInfo.IsIE) oAnchor.className=oAnchor.className.replace(FCKRegexLib.FCK_Class,'');return;};if (A){A.parentNode.removeChild(A);return;};if (oAnchor.innerHTML.length==0){oAnchor.parentNode.removeChild(oAnchor);return;};FCKTools.RemoveOuterTags(oAnchor);};if (FCKBrowserInfo.IsGecko) FCK.Selection.Collapse(true);},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Unlink');}};var FCKDeleteDivCommand=function(){};FCKDeleteDivCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCKSelection.GetParentElement();var B=new FCKElementPath(A);return B.BlockLimit&&B.BlockLimit.nodeName.IEquals('div')?0:-1;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCKDomTools.GetSelectedDivContainers();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();for (var i=0;i\n \n
    \n '+FCKLang.ColorAutomatic+'\n \n ';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_AutoOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H
    ';if (H>=G.length) C.style.visibility='hidden';else FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_OnClick,[this,L]);}};if (FCKConfig.EnableMoreFontColors){E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='
    '+FCKLang.ColorMoreColors+'
    ';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_MoreOnClick,this);};if (!FCKBrowserInfo.IsIE) C.style.width='96%';}; -var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');}; -var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCK.EditMode!=0||FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');}; -var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (!FCKBrowserInfo.IsGecko){switch (this.Name){case 'TableMergeRight':return FCKTableHandler.MergeRight();case 'TableMergeDown':return FCKTableHandler.MergeDown();}};switch (this.Name){case 'TableInsertRowAfter':return FCKTableHandler.InsertRow(false);case 'TableInsertRowBefore':return FCKTableHandler.InsertRow(true);case 'TableDeleteRows':return FCKTableHandler.DeleteRows();case 'TableInsertColumnAfter':return FCKTableHandler.InsertColumn(false);case 'TableInsertColumnBefore':return FCKTableHandler.InsertColumn(true);case 'TableDeleteColumns':return FCKTableHandler.DeleteColumns();case 'TableInsertCellAfter':return FCKTableHandler.InsertCell(null,false);case 'TableInsertCellBefore':return FCKTableHandler.InsertCell(null,true);case 'TableDeleteCells':return FCKTableHandler.DeleteCells();case 'TableMergeCells':return FCKTableHandler.MergeCells();case 'TableHorizontalSplitCell':return FCKTableHandler.HorizontalSplitCell();case 'TableVerticalSplitCell':return FCKTableHandler.VerticalSplitCell();case 'TableDelete':return FCKTableHandler.DeleteTable();default:return alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){if (FCK.EditorDocument!=null&&FCKSelection.HasAncestorNode('TABLE')){switch (this.Name){case 'TableHorizontalSplitCell':case 'TableVerticalSplitCell':if (FCKTableHandler.GetSelectedCells().length==1) return 0;else return -1;case 'TableMergeCells':if (FCKTableHandler.CheckIsSelectionRectangular()&&FCKTableHandler.GetSelectedCells().length>1) return 0;else return -1;case 'TableMergeRight':return FCKTableHandler.GetMergeRightTarget()?0:-1;case 'TableMergeDown':return FCKTableHandler.GetMergeDownTarget()?0:-1;default:return 0;}}else return -1;}; -var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;var H=new FCKDomRange(FCK.EditorWindow);H.MoveToSelection();var I=FCKTools.GetScrollPosition(FCK.EditorWindow);if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1){G._fckSavedStyles=FCKTools.SaveStyles(G);G.style.zIndex=FCKConfig.FloatingPanelsZIndex-1;}};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var J=FCKTools.GetViewPaneSize(C);B.position="absolute";A.offsetLeft;B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=J.Width+"px";B.height=J.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);var K=FCKTools.GetWindowPosition(C,A);if (K.x!=0) B.left=(-1*K.x)+"px";if (K.y!=0) B.top=(-1*K.y)+"px";this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();if (FCK.EditMode==0) FCK.EditingArea.MakeEditable();FCK.Focus();H.Select();FCK.EditorWindow.scrollTo(I.X,I.Y);};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';}; -var FCKListCommand=function(A,B){this.Name=A;this.TagName=B;};FCKListCommand.prototype={GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=FCKSelection.GetBoundaryParentElement(true);var B=A;while (B){if (B.nodeName.IEquals(['ul','ol'])) break;B=B.parentNode;};if (B&&B.nodeName.IEquals(this.TagName)) return 1;else return 0;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCK.EditorDocument;var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=this.GetState();if (C==0){FCKDomTools.TrimNode(A.body);if (!A.body.firstChild){var D=A.createElement('p');A.body.appendChild(D);B.MoveToNodeContents(D);}};var E=B.CreateBookmark();var F=[];var G={};var H=new FCKDomRangeIterator(B);var I;H.ForceBrBreak=(C==0);var J=true;var K=null;while (J){while ((I=H.GetNextParagraph())){var L=new FCKElementPath(I);var M=null;var N=false;var O=L.BlockLimit;for (var i=L.Elements.length-1;i>=0;i--){var P=L.Elements[i];if (P.nodeName.IEquals(['ol','ul'])){if (O._FCK_ListGroupObject) O._FCK_ListGroupObject=null;var Q=P._FCK_ListGroupObject;if (Q) Q.contents.push(I);else{Q={ 'root':P,'contents':[I] };F.push(Q);FCKDomTools.SetElementMarker(G,P,'_FCK_ListGroupObject',Q);};N=true;break;}};if (N) continue;var R=O;if (R._FCK_ListGroupObject) R._FCK_ListGroupObject.contents.push(I);else{var Q={ 'root':R,'contents':[I] };FCKDomTools.SetElementMarker(G,R,'_FCK_ListGroupObject',Q);F.push(Q);}};if (FCKBrowserInfo.IsIE) J=false;else{if (K==null){K=[];var T=FCKSelection.GetSelection();if (T&&F.length==0) K.push(T.getRangeAt(0));for (var i=1;T&&i0){var Q=F.shift();if (C==0){if (Q.root.nodeName.IEquals(['ul','ol'])) this._ChangeListType(Q,G,W);else this._CreateList(Q,W);}else if (C==1&&Q.root.nodeName.IEquals(['ul','ol'])) this._RemoveList(Q,G);};for (var i=0;iC[i-1].indent+1){var H=C[i-1].indent+1-C[i].indent;var I=C[i].indent;while (C[i]&&C[i].indent>=I){C[i].indent+=H;i++;};i--;}};var J=FCKDomTools.ArrayToList(C,B);if (A.root.nextSibling==null||A.root.nextSibling.nodeName.IEquals('br')){if (J.listNode.lastChild.nodeName.IEquals('br')) J.listNode.removeChild(J.listNode.lastChild);};A.root.parentNode.replaceChild(J.listNode,A.root);}}; -var FCKJustifyCommand=function(A){this.AlignValue=A;var B=FCKConfig.ContentLangDirection.toLowerCase();this.IsDefaultAlign=(A=='left'&&B=='ltr')||(A=='right'&&B=='rtl');var C=this._CssClassName=(function(){var D=FCKConfig.JustifyClasses;if (D){switch (A){case 'left':return D[0]||null;case 'center':return D[1]||null;case 'right':return D[2]||null;case 'justify':return D[3]||null;}};return null;})();if (C&&C.length>0) this._CssClassRegex=new RegExp('(?:^|\\s+)'+C+'(?=$|\\s)');};FCKJustifyCommand._GetClassNameRegex=function(){var A=FCKJustifyCommand._ClassRegex;if (A!=undefined) return A;var B=[];var C=FCKConfig.JustifyClasses;if (C){for (var i=0;i<4;i++){var D=C[i];if (D&&D.length>0) B.push(D);}};if (B.length>0) A=new RegExp('(?:^|\\s+)(?:'+B.join('|')+')(?=$|\\s)');else A=null;return FCKJustifyCommand._ClassRegex=A;};FCKJustifyCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=this.GetState();if (B==-1) return;var C=A.CreateBookmark();var D=this._CssClassName;var E=new FCKDomRangeIterator(A);var F;while ((F=E.GetNextParagraph())){F.removeAttribute('align');if (D){var G=F.className.replace(FCKJustifyCommand._GetClassNameRegex(),'');if (B==0){if (G.length>0) G+=' ';F.className=G+D;}else if (G.length==0) FCKDomTools.RemoveAttribute(F,'class');}else{var H=F.style;if (B==0) H.textAlign=this.AlignValue;else{H.textAlign='';if (H.cssText.length==0) F.removeAttribute('style');}}};A.MoveToBookmark(C);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;var C;if (FCKBrowserInfo.IsIE) C=B.currentStyle.textAlign;else C=FCK.EditorWindow.getComputedStyle(B,'').getPropertyValue('text-align');C=C.replace(/(-moz-|-webkit-|start|auto)/i,'');if ((!C&&this.IsDefaultAlign)||C==this.AlignValue) return 1;return 0;}}; -var FCKIndentCommand=function(A,B){this.Name=A;this.Offset=B;this.IndentCSSProperty=FCKConfig.ContentLangDirection.IEquals('ltr')?'marginLeft':'marginRight';};FCKIndentCommand._InitIndentModeParameters=function(){if (FCKConfig.IndentClasses&&FCKConfig.IndentClasses.length>0){this._UseIndentClasses=true;this._IndentClassMap={};for (var i=0;i0?H+' ':'')+FCKConfig.IndentClasses[G-1];}else{var I=parseInt(E.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;I+=this.Offset;I=Math.max(I,0);I=Math.ceil(I/this.Offset)*this.Offset;E.style[this.IndentCSSProperty]=I?I+FCKConfig.IndentUnit:'';if (E.getAttribute('style')=='') E.removeAttribute('style');}}},_IndentList:function(A,B){var C=A.StartContainer;var D=A.EndContainer;while (C&&C.parentNode!=B) C=C.parentNode;while (D&&D.parentNode!=B) D=D.parentNode;if (!C||!D) return;var E=C;var F=[];var G=false;while (G==false){if (E==D) G=true;F.push(E);E=E.nextSibling;};if (F.length<1) return;var H=FCKDomTools.GetParents(B);for (var i=0;iN;i++) M[i].indent+=I;var O=FCKDomTools.ArrayToList(M);if (O) B.parentNode.replaceChild(O.listNode,B);FCKDomTools.ClearAllMarkers(L);}}; -var FCKBlockQuoteCommand=function(){};FCKBlockQuoteCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=this.GetState();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();if (FCKBrowserInfo.IsIE){var D=B.GetBookmarkNode(C,true);var E=B.GetBookmarkNode(C,false);var F;if (D&&D.parentNode.nodeName.IEquals('blockquote')&&!D.previousSibling){F=D;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]) FCKDomTools.MoveNode(D,F,true);}};if (E&&E.parentNode.nodeName.IEquals('blockquote')&&!E.previousSibling){F=E;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]){if (F.firstChild==D) FCKDomTools.InsertAfterNode(D,E);else FCKDomTools.MoveNode(E,F,true);}}}};var G=new FCKDomRangeIterator(B);var H;if (A==0){G.EnforceRealBlocks=true;var I=[];while ((H=G.GetNextParagraph())) I.push(H);if (I.length<1){para=B.Window.document.createElement(FCKConfig.EnterMode.IEquals('p')?'p':'div');B.InsertNode(para);para.appendChild(B.Window.document.createTextNode('\ufeff'));B.MoveToBookmark(C);B.MoveToNodeContents(para);B.Collapse(true);C=B.CreateBookmark();I.push(para);};var J=I[0].parentNode;var K=[];for (var i=0;i0){H=I.shift();while (H.parentNode!=J) H=H.parentNode;if (H!=L) K.push(H);L=H;}while (K.length>0){H=K.shift();if (H.nodeName.IEquals('blockquote')){var M=FCKTools.GetElementDocument(H).createDocumentFragment();while (H.firstChild){M.appendChild(H.removeChild(H.firstChild));I.push(M.lastChild);};H.parentNode.replaceChild(M,H);}else I.push(H);};var N=B.Window.document.createElement('blockquote');J.insertBefore(N,I[0]);while (I.length>0){H=I.shift();N.appendChild(H);}}else if (A==1){var O=[];while ((H=G.GetNextParagraph())){var P=null;var Q=null;while (H.parentNode){if (H.parentNode.nodeName.IEquals('blockquote')){P=H.parentNode;Q=H;break;};H=H.parentNode;};if (P&&Q) O.push(Q);};var R=[];while (O.length>0){var S=O.shift();var N=S.parentNode;if (S==S.parentNode.firstChild){N.parentNode.insertBefore(N.removeChild(S),N);if (!N.firstChild) N.parentNode.removeChild(N);}else if (S==S.parentNode.lastChild){N.parentNode.insertBefore(N.removeChild(S),N.nextSibling);if (!N.firstChild) N.parentNode.removeChild(N);}else FCKDomTools.BreakParent(S,S.parentNode,B);R.push(S);};if (FCKConfig.EnterMode.IEquals('br')){while (R.length){var S=R.shift();var W=true;if (S.nodeName.IEquals('div')){var M=FCKTools.GetElementDocument(S).createDocumentFragment();var Y=W&&S.previousSibling&&!FCKListsLib.BlockBoundaries[S.previousSibling.nodeName.toLowerCase()];if (W&&Y) M.appendChild(FCKTools.GetElementDocument(S).createElement('br'));var Z=S.nextSibling&&!FCKListsLib.BlockBoundaries[S.nextSibling.nodeName.toLowerCase()];while (S.firstChild) M.appendChild(S.removeChild(S.firstChild));if (Z) M.appendChild(FCKTools.GetElementDocument(S).createElement('br'));S.parentNode.replaceChild(M,S);W=false;}}}};B.MoveToBookmark(C);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;for (var i=0;i';B.open();B.write(''+F+'<\/head><\/body><\/html>');B.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.Panel_Contructor(B,window.document.location);FCKTools.AddEventListenerEx(E,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(E,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;FCKTools.AddEventListener(B,'contextmenu',FCKTools.CancelEvent);this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;var E=this.MainNode;if (this._Popup){this._Popup.show(x,y,0,0,A);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};this._Popup.show(x,y,D,E.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCK.ToolbarSet.CurrentInstance.FocusManager)!='undefined') FCK.ToolbarSet.CurrentInstance.FocusManager.Lock();if (this.ParentPanel){this.ParentPanel.Lock();FCKPanel_Window_OnBlur(null,this.ParentPanel);};if (FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac){this._IFrame.scrolling='';FCKTools.RunFunction(function(){ this._IFrame.scrolling='no';},this);};if (FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel&&FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel!=this) FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel.Hide(false,true);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (!B) this._IFrame.width=1;if (!C) this._IFrame.height=1;D=E.offsetWidth||E.firstChild.offsetWidth;var F=FCKTools.GetDocumentPosition(this._Window,A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A);var G=FCKDomTools.GetPositionedAncestor(this._IFrame.parentNode);if (G){var H=FCKTools.GetDocumentPosition(FCKTools.GetElementWindow(G),G);F.x-=H.x;F.y-=H.y;};if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=F.x;y+=F.y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var I=FCKTools.GetViewPaneSize(this._Window);var J=FCKTools.GetScrollPosition(this._Window);var K=I.Height+J.Y;var L=I.Width+J.X;if ((x+D)>L) x-=x+D-L;if ((y+E.offsetHeight)>K) y-=y+E.offsetHeight-K;};FCKDomTools.SetElementStyles(this._IFrame,{left:x+'px',top:y+'px'});this._IFrame.contentWindow.focus();this._IsOpened=true;var M=this;this._resizeTimer=setTimeout(function(){var N=E.offsetWidth||E.firstChild.offsetWidth;var O=E.offsetHeight;M._IFrame.style.width=N+'px';M._IFrame.style.height=O+'px';},0);FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel=this;};FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A,B){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened||this._LockCounter>0) return;if (typeof(FCKFocusManager)!='undefined'&&!B) FCKFocusManager.Unlock();this._IFrame.style.width=this._IFrame.style.height='0px';this._IsOpened=false;if (this._resizeTimer){clearTimeout(this._resizeTimer);this._resizeTimer=null;};if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;}; -var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url("'+this.Path+'")';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;}; -var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this.MainElement=B.createElement('DIV');C.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) C.onmousedown=FCKTools.CancelEvent;FCKTools.AddEventListenerEx(C,'mouseover',FCKToolbarButtonUI_OnMouseOver,this);FCKTools.AddEventListenerEx(C,'mouseout',FCKToolbarButtonUI_OnMouseOut,this);FCKTools.AddEventListenerEx(C,'click',FCKToolbarButtonUI_OnClick,this);this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){C.appendChild(this.Icon.CreateIconElement(B));}else{var D=C.appendChild(B.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(B));else F.appendChild(this._CreatePaddingElement(B));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(B.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(B));};F=E.insertCell(-1);var G=F.appendChild(B.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(B));};A.appendChild(C);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;if (!e) return;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';break;case 1:e.className='TB_Button_On';break;case -1:e.className='TB_Button_Disabled';break;};this.State=A;};function FCKToolbarButtonUI_OnMouseOver(A,B){if (B.State==0) this.className='TB_Button_Off_Over';else if (B.State==1) this.className='TB_Button_On_Over';};function FCKToolbarButtonUI_OnMouseOut(A,B){if (B.State==0) this.className='TB_Button_Off';else if (B.State==1) this.className='TB_Button_On';};function FCKToolbarButtonUI_OnClick(A,B){if (B.OnClick&&B.State!=-1) B.OnClick(B);};function FCKToolbarButtonUI_Cleanup(){this.MainElement=null;}; -var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];else this.IconPath=G;};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=this._UIButton;if (!A) return;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B==A.State) return;A.ChangeState(B);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);}; -var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label=' ';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='
    ';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(A,B,C){this.className=this.originalClass;B._Panel.Hide();B.SetLabel(this.FCKItemLabel);if (typeof(B.OnSelect)=='function') B.OnSelect(C,this);};FCKSpecialCombo.prototype.ClearItems=function (){if (this.Items) this.Items={};var A=this._ItemsHolderEl;while (A.firstChild) A.removeChild(A.firstChild);};FCKSpecialCombo.prototype.AddItem=function(A,B,C,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemLabel=C||A;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;FCKTools.AddEventListenerEx(E,'mouseover',FCKSpecialCombo_ItemOnMouseOver);FCKTools.AddEventListenerEx(E,'mouseout',FCKSpecialCombo_ItemOnMouseOut);FCKTools.AddEventListenerEx(E,'click',FCKSpecialCombo_ItemOnClick,[this,A]);this.Items[A.toString().toLowerCase()]=E;return E;};FCKSpecialCombo.prototype.SelectItem=function(A){if (typeof A=='string') A=this.Items[A.toString().toLowerCase()];if (A){A.className=A.originalClass='SC_ItemSelected';A.Selected=true;}};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){if (!this.Items[i]) continue;this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){A=(!A||A.length==0)?' ':A;if (A==this.Label) return;this.Label=A;var B=this._LabelEl;if (B){B.innerHTML=A;FCKTools.DisableSelection(B);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;if (this._OuterTable) this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='
     
    ';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='
    '+this.Caption+'
    ';};FCKTools.AddEventListenerEx(G,'mouseover',FCKSpecialCombo_OnMouseOver,this);FCKTools.AddEventListenerEx(G,'mouseout',FCKSpecialCombo_OnMouseOut,this);FCKTools.AddEventListenerEx(G,'click',FCKSpecialCombo_OnClick,this);FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(A,B){if (B.Enabled){switch (B.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(A,B){switch (B.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e,A){if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}}; -var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this.FieldWidth=null;this.PanelWidth=null;this.PanelMaxHeight=null;};FCKToolbarSpecialCombo.prototype.DefaultLabel='';function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!==B){this._LastValue=B;if (!B||B.length==0){this._Combo.DeselectAll();this._Combo.SetLabel(this.DefaultLabel);}else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);}; -var FCKToolbarStyleCombo=function(A,B){if (A===false) return;this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultStyleLabel||'';};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.GetStyles=function(){var A={};var B=FCK.ToolbarSet.CurrentInstance.Styles.GetStyles();for (var C in B){var D=B[C];if (!D.IsCore) A[C]=D;};return A;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);FCKTools.AppendStyleString(B,FCKConfig.EditorAreaStyles);B.body.className+=' ForceBaseFont';FCKConfig.ApplyBodyAttributes(B.body);var C=this.GetStyles();for (var D in C){var E=C[D];var F=E.GetType()==2?D:FCKToolbarStyleCombo_BuildPreview(E,E.Label||D);var G=A.AddItem(D,F);G.Style=E;};A.OnBeforeClick=this.StyleCombo_OnBeforeClick;};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Elements;for (var e=0;e');var E=A.Element;if (E=='bdo') E='span';D=['<',E];var F=A._StyleDesc.Attributes;if (F){for (var G in F){D.push(' ',G,'="',A.GetFinalAttributeValue(G),'"');}};if (A._GetStyleText().length>0) D.push(' style="',A.GetFinalStyleValue(),'"');D.push('>',B,'');if (C==0) D.push('
    ');return D.join('');}; -var FCKToolbarFontFormatCombo=function(A,B){if (A===false) return;this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;this.DefaultLabel=FCKConfig.DefaultFontFormatLabel||'';};FCKToolbarFontFormatCombo.prototype=new FCKToolbarStyleCombo(false);FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.GetStyles=function(){var A={};var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]||(B[0]+' (DIV)')};var D=FCKConfig.FontFormats.split(';');for (var i=0;i';G.open();G.write(''+H+''+document.getElementById('xToolbarSpace').innerHTML+'');G.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_InitOutFrame(G);FCKTools.AddEventListener(G,'contextmenu',FCKTools.CancelEvent);FCKTools.AppendStyleSheet(G,FCKConfig.SkinEditorCSS);B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;if (!B.ToolbarItems) B.ToolbarItems=FCKToolbarItems;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;FCKTools.AddEventListener(B,'click',FCKToolbarSet_Expand_OnClick);C.title=FCKLang.ToolbarCollapse;FCKTools.AddEventListener(C,'click',FCKToolbarSet_Collapse_OnClick);if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (FCKBrowserInfo.IsGecko){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x0) break;}catch (e){break;};D=D.parent;};var E=D.document;var F=function(){if (!B) B=FCKConfig.FloatingPanelsZIndex+999;return++B;};var G=function(){if (!C) return;var H=FCKTools.IsStrictMode(E)?E.documentElement:E.body;FCKDomTools.SetElementStyles(C,{'width':Math.max(H.scrollWidth,H.clientWidth,E.scrollWidth||0)-1+'px','height':Math.max(H.scrollHeight,H.clientHeight,E.scrollHeight||0)-1+'px'});};return {OpenDialog:function(dialogName,dialogTitle,dialogPage,width,height,customValue,parentWindow,resizable){if (!A) this.DisplayMainCover();var I={Title:dialogTitle,Page:dialogPage,Editor:window,CustomValue:customValue,TopWindow:D};FCK.ToolbarSet.CurrentInstance.Selection.Save();var J=FCKTools.GetViewPaneSize(D);var K={ 'X':0,'Y':0 };var L=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (L) K=FCKTools.GetScrollPosition(D);var M=Math.max(K.Y+(J.Height-height-20)/2,0);var N=Math.max(K.X+(J.Width-width-20)/2,0);var O=E.createElement('iframe');FCKTools.ResetStyles(O);O.src=FCKConfig.BasePath+'fckdialog.html';O.frameBorder=0;O.allowTransparency=true;FCKDomTools.SetElementStyles(O,{'position':(L)?'absolute':'fixed','top':M+'px','left':N+'px','width':width+'px','height':height+'px','zIndex':F()});O._DialogArguments=I;E.body.appendChild(O);O._ParentDialog=A;A=O;},OnDialogClose:function(dialogWindow){var O=dialogWindow.frameElement;FCKDomTools.RemoveNode(O);if (O._ParentDialog){A=O._ParentDialog;O._ParentDialog.contentWindow.SetEnabled(true);}else{if (!FCKBrowserInfo.IsIE) FCK.Focus();this.HideMainCover();setTimeout(function(){ A=null;},0);FCK.ToolbarSet.CurrentInstance.Selection.Release();}},DisplayMainCover:function(){C=E.createElement('div');FCKTools.ResetStyles(C);FCKDomTools.SetElementStyles(C,{'position':'absolute','zIndex':F(),'top':'0px','left':'0px','backgroundColor':FCKConfig.BackgroundBlockerColor});FCKDomTools.SetOpacity(C,FCKConfig.BackgroundBlockerOpacity);if (FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsIE7){var Q=E.createElement('iframe');FCKTools.ResetStyles(Q);Q.hideFocus=true;Q.frameBorder=0;Q.src=FCKTools.GetVoidUrl();FCKDomTools.SetElementStyles(Q,{'width':'100%','height':'100%','position':'absolute','left':'0px','top':'0px','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'});C.appendChild(Q);};FCKTools.AddEventListener(D,'resize',G);G();E.body.appendChild(C);FCKFocusManager.Lock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R._fck_originalTabIndex=R.tabIndex;R.tabIndex=-1;},HideMainCover:function(){FCKDomTools.RemoveNode(C);FCKFocusManager.Unlock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R.tabIndex=R._fck_originalTabIndex;FCKDomTools.ClearElementJSProperty(R,'_fck_originalTabIndex');},GetCover:function(){return C;}};})(); -var FCKMenuItem=function(A,B,C,D,E,F){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);this.CustomData=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D,E){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D,E);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;}; -var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D,E){var F=new FCKMenuItem(this,A,B,C,D,E);F.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);F.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(F);return F;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i0&&F.href.length==0);if (G) return;menu.AddSeparator();menu.AddItem('VisitLink',FCKLang.VisitLink);menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);menu.AddItem('AnchorDelete',FCKLang.AnchorDelete);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};case 'DivContainer':return {AddItems:function(menu,tag,tagName){var J=FCKDomTools.GetSelectedDivContainers();if (J.length>0){menu.AddSeparator();menu.AddItem('EditDiv',FCKLang.EditDiv,75);menu.AddItem('DeleteDiv',FCKLang.DeleteDiv,76);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}}; -var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=[];else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.IndexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');}; -var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i-1);};String.prototype.Equals=function(){var A=arguments;if (A.length==1&&A[0].pop) A=A[0];for (var i=0;iC) return false;if (B){var E=new RegExp(A+'$','i');return E.test(this);}else return (D==0||this.substr(C-D,D)==A);};String.prototype.Remove=function(A,B){var s='';if (A>0) s=this.substring(0,A);if (A+B0){var B=A.pop();if (B) B[1].call(B[0]);};this._FCKCleanupObj=null;if (CollectGarbage) CollectGarbage();}; -var s=navigator.userAgent.toLowerCase();var FCKBrowserInfo={IsIE:/*@cc_on!@*/false,IsIE7:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=7),IsIE6:/*@cc_on!@*/false&&(parseInt(s.match(/msie (\d+)/)[1],10)>=6),IsSafari:s.Contains(' applewebkit/'),IsOpera:!!window.opera,IsAIR:s.Contains(' adobeair/'),IsMac:s.Contains('macintosh')};(function(A){A.IsGecko=(navigator.product=='Gecko')&&!A.IsSafari&&!A.IsOpera;A.IsGeckoLike=(A.IsGecko||A.IsSafari||A.IsOpera);if (A.IsGecko){var B=s.match(/rv:(\d+\.\d+)/);var C=B&&parseFloat(B[1]);if (C){A.IsGecko10=(C<1.8);A.IsGecko19=(C>1.8);}}})(FCKBrowserInfo); -var FCKURLParams={};(function(){var A=document.location.search.substr(1).split('&');for (var i=0;i';if (!FCKRegexLib.HtmlOpener.test(A)) A=''+A+'';if (!FCKRegexLib.HeadOpener.test(A)) A=A.replace(FCKRegexLib.HtmlOpener,'$&');return A;}else{var B=FCKConfig.DocType+'0&&!FCKRegexLib.Html4DocType.test(FCKConfig.DocType)) B+=' style="overflow-y: scroll"';B+='>'+A+'';return B;}},ConvertToDataFormat:function(A,B,C,D){var E=FCKXHtml.GetXHTML(A,!B,D);if (C&&FCKRegexLib.EmptyOutParagraph.test(E)) return '';return E;},FixHtml:function(A){return A;}}; -var FCK={Name:FCKURLParams['InstanceName'],Status:0,EditMode:0,Toolbar:null,HasFocus:false,DataProcessor:new FCKDataProcessor(),GetInstanceObject:(function(){var w=window;return function(name){return w[name];}})(),AttachToOnSelectionChange:function(A){this.Events.AttachEvent('OnSelectionChange',A);},GetLinkedFieldValue:function(){return this.LinkedField.value;},GetParentForm:function(){return this.LinkedField.form;},StartupValue:'',IsDirty:function(){if (this.EditMode==1) return (this.StartupValue!=this.EditingArea.Textarea.value);else{if (!this.EditorDocument) return false;return (this.StartupValue!=this.EditorDocument.body.innerHTML);}},ResetIsDirty:function(){if (this.EditMode==1) this.StartupValue=this.EditingArea.Textarea.value;else if (this.EditorDocument.body) this.StartupValue=this.EditorDocument.body.innerHTML;},StartEditor:function(){this.TempBaseTag=FCKConfig.BaseHref.length>0?'':'';var A=FCK.KeystrokeHandler=new FCKKeystrokeHandler();A.OnKeystroke=_FCK_KeystrokeHandler_OnKeystroke;A.SetKeystrokes(FCKConfig.Keystrokes);if (FCKBrowserInfo.IsIE7){if ((CTRL+86) in A.Keystrokes) A.SetKeystrokes([CTRL+86,true]);if ((SHIFT+45) in A.Keystrokes) A.SetKeystrokes([SHIFT+45,true]);};A.SetKeystrokes([CTRL+8,true]);this.EditingArea=new FCKEditingArea(document.getElementById('xEditingArea'));this.EditingArea.FFSpellChecker=FCKConfig.FirefoxSpellChecker;this.SetData(this.GetLinkedFieldValue(),true);FCKTools.AddEventListener(document,"keydown",this._TabKeyHandler);this.AttachToOnSelectionChange(_FCK_PaddingNodeListener);if (FCKBrowserInfo.IsGecko) this.AttachToOnSelectionChange(this._ExecCheckEmptyBlock);},Focus:function(){FCK.EditingArea.Focus();},SetStatus:function(A){this.Status=A;if (A==1){FCKFocusManager.AddWindow(window,true);if (FCKBrowserInfo.IsIE) FCKFocusManager.AddWindow(window.frameElement,true);if (FCKConfig.StartupFocus) FCK.Focus();};this.Events.FireEvent('OnStatusChange',A);},FixBody:function(){var A=FCKConfig.EnterMode;if (A!='p'&&A!='div') return;var B=this.EditorDocument;if (!B) return;var C=B.body;if (!C) return;FCKDomTools.TrimNode(C);var D=C.firstChild;var E;while (D){var F=false;switch (D.nodeType){case 1:var G=D.nodeName.toLowerCase();if (!FCKListsLib.BlockElements[G]&&G!='li'&&!D.getAttribute('_fckfakelement')&&D.getAttribute('_moz_dirty')==null) F=true;break;case 3:if (E||D.nodeValue.Trim().length>0) F=true;break;case 8:if (E) F=true;break;};if (F){var H=D.parentNode;if (!E) E=H.insertBefore(B.createElement(A),D);E.appendChild(H.removeChild(D));D=E.nextSibling;}else{if (E){FCKDomTools.TrimNode(E);E=null;};D=D.nextSibling;}};if (E) FCKDomTools.TrimNode(E);},GetData:function(A){if (FCK.EditMode==1) return FCK.EditingArea.Textarea.value;this.FixBody();var B=FCK.EditorDocument;if (!B) return null;var C=FCKConfig.FullPage;var D=FCK.DataProcessor.ConvertToDataFormat(C?B.documentElement:B.body,!C,FCKConfig.IgnoreEmptyParagraphValue,A);D=FCK.ProtectEventsRestore(D);if (FCKBrowserInfo.IsIE) D=D.replace(FCKRegexLib.ToReplace,'$1');if (C){if (FCK.DocTypeDeclaration&&FCK.DocTypeDeclaration.length>0) D=FCK.DocTypeDeclaration+'\n'+D;if (FCK.XmlDeclaration&&FCK.XmlDeclaration.length>0) D=FCK.XmlDeclaration+'\n'+D;};return FCKConfig.ProtectedSource.Revert(D);},UpdateLinkedField:function(){var A=FCK.GetXHTML(FCKConfig.FormatOutput);if (FCKConfig.HtmlEncodeOutput) A=FCKTools.HTMLEncode(A);FCK.LinkedField.value=A;FCK.Events.FireEvent('OnAfterLinkedFieldUpdate');},RegisteredDoubleClickHandlers:{},OnDoubleClick:function(A){var B=FCK.RegisteredDoubleClickHandlers[A.tagName.toUpperCase()];if (B){for (var i=0;i0?'|ABBR|XML|EMBED|OBJECT':'ABBR|XML|EMBED|OBJECT';var C;if (B.length>0){C=new RegExp('<('+B+')(?!\w|:)','gi');A=A.replace(C,'','gi');A=A.replace(C,'<\/FCK:$1>');};B='META';if (FCKBrowserInfo.IsIE) B+='|HR';C=new RegExp('<(('+B+')(?=\\s|>|/)[\\s\\S]*?)/?>','gi');A=A.replace(C,'');return A;},SetData:function(A,B){this.EditingArea.Mode=FCK.EditMode;if (FCKBrowserInfo.IsIE&&FCK.EditorDocument){FCK.EditorDocument.detachEvent("onselectionchange",Doc_OnSelectionChange);};FCKTempBin.Reset();if (FCK.EditMode==0){this._ForceResetIsDirty=(B===true);A=FCKConfig.ProtectedSource.Protect(A);A=FCK.DataProcessor.ConvertToHtml(A);A=A.replace(FCKRegexLib.InvalidSelfCloseTags,'$1>');A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);if (FCK.TempBaseTag.length>0&&!FCKRegexLib.HasBaseTag.test(A)) A=A.replace(FCKRegexLib.HeadOpener,'$&'+FCK.TempBaseTag);var C='';if (!FCKConfig.FullPage) C+=_FCK_GetEditorAreaStyleTags();if (FCKBrowserInfo.IsIE) C+=FCK._GetBehaviorsStyle();else if (FCKConfig.ShowBorders) C+=FCKTools.GetStyleHtml(FCK_ShowTableBordersCSS,true);C+=FCKTools.GetStyleHtml(FCK_InternalCSS,true);A=A.replace(FCKRegexLib.HeadCloser,C+'$&');this.EditingArea.OnLoad=_FCK_EditingArea_OnLoad;this.EditingArea.Start(A);}else{FCK.EditorWindow=null;FCK.EditorDocument=null;FCKDomTools.PaddingNode=null;this.EditingArea.OnLoad=null;this.EditingArea.Start(A);this.EditingArea.Textarea._FCKShowContextMenu=true;FCK.EnterKeyHandler=null;if (B) this.ResetIsDirty();FCK.KeystrokeHandler.AttachToElement(this.EditingArea.Textarea);this.EditingArea.Textarea.focus();FCK.Events.FireEvent('OnAfterSetHTML');};if (FCKBrowserInfo.IsGecko) window.onresize();},RedirectNamedCommands:{},ExecuteNamedCommand:function(A,B,C,D){if (!D) FCKUndo.SaveUndoStep();if (!C&&FCK.RedirectNamedCommands[A]!=null) FCK.ExecuteRedirectedNamedCommand(A,B);else{FCK.Focus();FCK.EditorDocument.execCommand(A,false,B);FCK.Events.FireEvent('OnSelectionChange');};if (!D) FCKUndo.SaveUndoStep();},GetNamedCommandState:function(A){try{if (FCKBrowserInfo.IsSafari&&FCK.EditorWindow&&A.IEquals('Paste')) return 0;if (!FCK.EditorDocument.queryCommandEnabled(A)) return -1;else{return FCK.EditorDocument.queryCommandState(A)?1:0;}}catch (e){return 0;}},GetNamedCommandValue:function(A){var B='';var C=FCK.GetNamedCommandState(A);if (C==-1) return null;try{B=this.EditorDocument.queryCommandValue(A);}catch(e) {};return B?B:'';},Paste:function(A){if (FCK.Status!=2||!FCK.Events.FireEvent('OnPaste')) return false;return A||FCK._ExecPaste();},PasteFromWord:function(){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteFromWord,'dialog/fck_paste.html',400,330,'Word');},Preview:function(){var A;if (FCKConfig.FullPage){if (FCK.TempBaseTag.length>0) A=FCK.TempBaseTag+FCK.GetXHTML();else A=FCK.GetXHTML();}else{A=FCKConfig.DocType+''+FCK.TempBaseTag+''+FCKLang.Preview+''+_FCK_GetEditorAreaStyleTags()+''+FCK.GetXHTML()+'';};var B=FCKConfig.ScreenWidth*0.8;var C=FCKConfig.ScreenHeight*0.7;var D=(FCKConfig.ScreenWidth-B)/2;var E='';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A;E='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.opener._FCKHtmlToLoad );document.close() ;window.opener._FCKHtmlToLoad = null ;})() )';};var F=window.open(E,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+B+',height='+C+',left='+D);if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){F.document.write(A);F.document.close();}},SwitchEditMode:function(A){var B=(FCK.EditMode==0);var C=FCK.IsDirty();var D;if (B){FCKCommands.GetCommand('ShowBlocks').SaveState();if (!A&&FCKBrowserInfo.IsIE) FCKUndo.SaveUndoStep();D=FCK.GetXHTML(FCKConfig.FormatSource);if (FCKBrowserInfo.IsIE) FCKTempBin.ToHtml();if (D==null) return false;}else D=this.EditingArea.Textarea.value;FCK.EditMode=B?1:0;FCK.SetData(D,!C);FCK.Focus();FCKTools.RunFunction(FCK.ToolbarSet.RefreshModeState,FCK.ToolbarSet);return true;},InsertElement:function(A){if (typeof A=='string') A=this.EditorDocument.createElement(A);var B=A.nodeName.toLowerCase();FCKSelection.Restore();var C=new FCKDomRange(this.EditorWindow);C.MoveToSelection();C.DeleteContents();if (FCKListsLib.BlockElements[B]!=null){if (C.StartBlock){if (C.CheckStartOfBlock()) C.MoveToPosition(C.StartBlock,3);else if (C.CheckEndOfBlock()) C.MoveToPosition(C.StartBlock,4);else C.SplitBlock();};C.InsertNode(A);var D=FCKDomTools.GetNextSourceElement(A,false,null,['hr','br','param','img','area','input'],true);if (!D&&FCKConfig.EnterMode!='br'){D=this.EditorDocument.body.appendChild(this.EditorDocument.createElement(FCKConfig.EnterMode));if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);};if (FCKListsLib.EmptyElements[B]==null) C.MoveToElementEditStart(A);else if (D) C.MoveToElementEditStart(D);else C.MoveToPosition(A,4);if (FCKBrowserInfo.IsGeckoLike){if (D) FCKDomTools.ScrollIntoView(D,false);FCKDomTools.ScrollIntoView(A,false);}}else{C.InsertNode(A);C.SetStart(A,4);C.SetEnd(A,4);};C.Select();C.Release();this.Focus();return A;},_InsertBlockElement:function(A){},_IsFunctionKey:function(A){if (A>=16&&A<=20) return true;if (A==27||(A>=33&&A<=40)) return true;if (A==45) return true;return false;},_KeyDownListener:function(A){if (!A) A=FCK.EditorWindow.event;if (FCK.EditorWindow){if (!FCK._IsFunctionKey(A.keyCode)&&!(A.ctrlKey||A.metaKey)&&!(A.keyCode==46)) FCK._KeyDownUndo();};return true;},_KeyDownUndo:function(){if (!FCKUndo.Typing){FCKUndo.SaveUndoStep();FCKUndo.Typing=true;FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.TypesCount++;FCKUndo.Changed=1;if (FCKUndo.TypesCount>FCKUndo.MaxTypes){FCKUndo.TypesCount=0;FCKUndo.SaveUndoStep();}},_TabKeyHandler:function(A){if (!A) A=window.event;var B=A.keyCode;if (B==9&&FCK.EditMode!=0){if (FCKBrowserInfo.IsIE){var C=document.selection.createRange();if (C.parentElement()!=FCK.EditingArea.Textarea) return true;C.text='\t';C.select();}else{var a=[];var D=FCK.EditingArea.Textarea;var E=D.selectionStart;var F=D.selectionEnd;a.push(D.value.substr(0,E));a.push('\t');a.push(D.value.substr(F));D.value=a.join('');D.setSelectionRange(E+1,E+1);};if (A.preventDefault) return A.preventDefault();return A.returnValue=false;};return true;}};FCK.Events=new FCKEvents(FCK);FCK.GetHTML=FCK.GetXHTML=FCK.GetData;FCK.SetHTML=FCK.SetData;FCK.InsertElementAndGetIt=FCK.CreateElement=FCK.InsertElement;function _FCK_ProtectEvents_ReplaceTags(A){return A.replace(FCKRegexLib.EventAttributes,_FCK_ProtectEvents_ReplaceEvents);};function _FCK_ProtectEvents_ReplaceEvents(A,B){return ' '+B+'_fckprotectedatt="'+encodeURIComponent(A)+'"';};function _FCK_ProtectEvents_RestoreEvents(A,B){return decodeURIComponent(B);};function _FCK_MouseEventsListener(A){if (!A) A=window.event;if (A.type=='mousedown') FCK.MouseDownFlag=true;else if (A.type=='mouseup') FCK.MouseDownFlag=false;else if (A.type=='mousemove') FCK.Events.FireEvent('OnMouseMove',A);};function _FCK_PaddingNodeListener(){if (FCKConfig.EnterMode.IEquals('br')) return;FCKDomTools.EnforcePaddingNode(FCK.EditorDocument,FCKConfig.EnterMode);if (!FCKBrowserInfo.IsIE&&FCKDomTools.PaddingNode){var A=FCKSelection.GetSelection();if (A&&A.rangeCount==1){var B=A.getRangeAt(0);if (B.collapsed&&B.startContainer==FCK.EditorDocument.body&&B.startOffset==0){B.selectNodeContents(FCKDomTools.PaddingNode);B.collapse(true);A.removeAllRanges();A.addRange(B);}}}else if (FCKDomTools.PaddingNode){var C=FCKSelection.GetParentElement();var D=FCKDomTools.PaddingNode;if (C&&C.nodeName.IEquals('body')){if (FCK.EditorDocument.body.childNodes.length==1&&FCK.EditorDocument.body.firstChild==D){if (FCKSelection._GetSelectionDocument(FCK.EditorDocument.selection)!=FCK.EditorDocument) return;var B=FCK.EditorDocument.body.createTextRange();var F=false;if (!D.childNodes.firstChild){D.appendChild(FCKTools.GetElementDocument(D).createTextNode('\ufeff'));F=true;};B.moveToElementText(D);B.select();if (F) B.pasteHTML('');}}}};function _FCK_EditingArea_OnLoad(){FCK.EditorWindow=FCK.EditingArea.Window;FCK.EditorDocument=FCK.EditingArea.Document;if (FCKBrowserInfo.IsIE) FCKTempBin.ToElements();FCK.InitializeBehaviors();FCK.MouseDownFlag=false;FCKTools.AddEventListener(FCK.EditorDocument,'mousemove',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',_FCK_MouseEventsListener);FCKTools.AddEventListener(FCK.EditorDocument,'mouseup',_FCK_MouseEventsListener);if (FCKBrowserInfo.IsSafari){var A=function(evt){if (!(evt.ctrlKey||evt.metaKey)) return;if (FCK.EditMode!=0) return;switch (evt.keyCode){case 89:FCKUndo.Redo();break;case 90:FCKUndo.Undo();break;}};FCKTools.AddEventListener(FCK.EditorDocument,'keyup',A);};FCK.EnterKeyHandler=new FCKEnterKey(FCK.EditorWindow,FCKConfig.EnterMode,FCKConfig.ShiftEnterMode,FCKConfig.TabSpaces);FCK.KeystrokeHandler.AttachToElement(FCK.EditorDocument);if (FCK._ForceResetIsDirty) FCK.ResetIsDirty();if (FCKBrowserInfo.IsIE&&FCK.HasFocus) FCK.EditorDocument.body.setActive();FCK.OnAfterSetHTML();FCKCommands.GetCommand('ShowBlocks').RestoreState();if (FCK.Status!=0) return;FCK.SetStatus(1);};function _FCK_GetEditorAreaStyleTags(){return FCKTools.GetStyleHtml(FCKConfig.EditorAreaCSS)+FCKTools.GetStyleHtml(FCKConfig.EditorAreaStyles);};function _FCK_KeystrokeHandler_OnKeystroke(A,B){if (FCK.Status!=2) return false;if (FCK.EditMode==0){switch (B){case 'Paste':return!FCK.Paste();case 'Cut':FCKUndo.SaveUndoStep();return false;}}else{if (B.Equals('Paste','Undo','Redo','SelectAll','Cut')) return false;};var C=FCK.Commands.GetCommand(B);if (C.GetState()==-1) return false;return (C.Execute.apply(C,FCKTools.ArgumentsToArray(arguments,2))!==false);};(function(){var A=window.parent.document;var B=A.getElementById(FCK.Name);var i=0;while (B||i==0){if (B&&B.tagName.toLowerCase().Equals('input','textarea')){FCK.LinkedField=B;break;};B=A.getElementsByName(FCK.Name)[i++];}})();var FCKTempBin={Elements:[],AddElement:function(A){var B=this.Elements.length;this.Elements[B]=A;return B;},RemoveElement:function(A){var e=this.Elements[A];this.Elements[A]=null;return e;},Reset:function(){var i=0;while (i '+this.Elements[i].outerHTML+'
    ';this.Elements[i].isHtml=true;}},ToElements:function(){var A=FCK.EditorDocument.createElement('div');for (var i=0;i0) C+='TABLE { behavior: '+B+' ; }';C+='';FCK._BehaviorsStyle=C;};return FCK._BehaviorsStyle;};function Doc_OnMouseUp(){if (FCK.EditorWindow.event.srcElement.tagName=='HTML'){FCK.Focus();FCK.EditorWindow.event.cancelBubble=true;FCK.EditorWindow.event.returnValue=false;}};function Doc_OnPaste(){var A=FCK.EditorDocument.body;A.detachEvent('onpaste',Doc_OnPaste);var B=FCK.Paste(!FCKConfig.ForcePasteAsPlainText&&!FCKConfig.AutoDetectPasteFromWord);A.attachEvent('onpaste',Doc_OnPaste);return B;};function Doc_OnDblClick(){FCK.OnDoubleClick(FCK.EditorWindow.event.srcElement);FCK.EditorWindow.event.cancelBubble=true;};function Doc_OnSelectionChange(){if (!FCK.IsSelectionChangeLocked&&FCK.EditorDocument) FCK.Events.FireEvent("OnSelectionChange");};function Doc_OnDrop(){if (FCK.MouseDownFlag){FCK.MouseDownFlag=false;return;};if (FCKConfig.ForcePasteAsPlainText){var A=FCK.EditorWindow.event;if (FCK._CheckIsPastingEnabled()||FCKConfig.ShowDropDialog) FCK.PasteAsPlainText(A.dataTransfer.getData('Text'));A.returnValue=false;A.cancelBubble=true;}};FCK.InitializeBehaviors=function(A){this.EditorDocument.attachEvent('onmouseup',Doc_OnMouseUp);this.EditorDocument.body.attachEvent('onpaste',Doc_OnPaste);this.EditorDocument.body.attachEvent('ondrop',Doc_OnDrop);FCK.ContextMenu._InnerContextMenu.AttachToElement(FCK.EditorDocument.body);this.EditorDocument.attachEvent("onkeydown",FCK._KeyDownListener);this.EditorDocument.attachEvent("ondblclick",Doc_OnDblClick);this.EditorDocument.attachEvent("onbeforedeactivate",function(){ FCKSelection.Save(true);});this.EditorDocument.attachEvent("onselectionchange",Doc_OnSelectionChange);FCKTools.AddEventListener(FCK.EditorDocument,'mousedown',Doc_OnMouseDown);};FCK.InsertHtml=function(A){A=FCKConfig.ProtectedSource.Protect(A);A=FCK.ProtectEvents(A);A=FCK.ProtectUrls(A);A=FCK.ProtectTags(A);FCKSelection.Restore();FCK.EditorWindow.focus();FCKUndo.SaveUndoStep();var B=FCKSelection.GetSelection();if (B.type.toLowerCase()=='control') B.clear();A=''+A;B.createRange().pasteHTML(A);FCK.EditorDocument.getElementById('__fakeFCKRemove__').removeNode(true);FCKDocumentProcessor.Process(FCK.EditorDocument);this.Events.FireEvent("OnSelectionChange");};FCK.SetInnerHtml=function(A){var B=FCK.EditorDocument;B.body.innerHTML='
     
    '+A;B.getElementById('__fakeFCKRemove__').removeNode(true);};function FCK_PreloadImages(){var A=new FCKImagePreloader();A.AddImages(FCKConfig.PreloadImages);A.AddImages(FCKConfig.SkinPath+'fck_strip.gif');A.OnComplete=LoadToolbarSetup;A.Start();};function Document_OnContextMenu(){return (event.srcElement._FCKShowContextMenu==true);};document.oncontextmenu=Document_OnContextMenu;function FCK_Cleanup(){this.LinkedField=null;this.EditorWindow=null;this.EditorDocument=null;};FCK._ExecPaste=function(){if (FCK._PasteIsRunning) return true;if (FCKConfig.ForcePasteAsPlainText){FCK.PasteAsPlainText();return false;};var A=FCK._CheckIsPastingEnabled(true);if (A===false) FCKTools.RunFunction(FCKDialog.OpenDialog,FCKDialog,['FCKDialog_Paste',FCKLang.Paste,'dialog/fck_paste.html',400,330,'Security']);else{if (FCKConfig.AutoDetectPasteFromWord&&A.length>0){var B=/<\w[^>]*(( class="?MsoNormal"?)|(="mso-))/gi;if (B.test(A)){if (confirm(FCKLang.PasteWordConfirm)){FCK.PasteFromWord();return false;}}};FCK._PasteIsRunning=true;FCK.ExecuteNamedCommand('Paste');delete FCK._PasteIsRunning;};return false;};FCK.PasteAsPlainText=function(A){if (!FCK._CheckIsPastingEnabled()){FCKDialog.OpenDialog('FCKDialog_Paste',FCKLang.PasteAsText,'dialog/fck_paste.html',400,330,'PlainText');return;};var B=null;if (!A) B=clipboardData.getData("Text");else B=A;if (B&&B.length>0){B=FCKTools.HTMLEncode(B);B=FCKTools.ProcessLineBreaks(window,FCKConfig,B);var C=B.search('

    ');var D=B.search('

    ');if ((C!=-1&&D!=-1&&C0){if (FCKSelection.GetType()=='Control'){var D=this.EditorDocument.createElement('A');D.href=A;var E=FCKSelection.GetSelectedElement();E.parentNode.insertBefore(D,E);E.parentNode.removeChild(E);D.appendChild(E);return [D];};var F='javascript:void(0);/*'+(new Date().getTime())+'*/';FCK.ExecuteNamedCommand('CreateLink',F,false,!!B);var G=this.EditorDocument.links;for (i=0;i0&&!isNaN(E)) this.PageConfig[D]=parseInt(E,10);else this.PageConfig[D]=E;}};function FCKConfig_LoadPageConfig(){var A=FCKConfig.PageConfig;for (var B in A) FCKConfig[B]=A[B];};function FCKConfig_PreProcess(){var A=FCKConfig;if (A.AllowQueryStringDebug){try{if ((/fckdebug=true/i).test(window.top.location.search)) A.Debug=true;}catch (e) { }};if (!A.PluginsPath.EndsWith('/')) A.PluginsPath+='/';var B=A.ToolbarComboPreviewCSS;if (!B||B.length==0) A.ToolbarComboPreviewCSS=A.EditorAreaCSS;A.RemoveAttributesArray=(A.RemoveAttributes||'').split(',');if (!FCKConfig.SkinEditorCSS||FCKConfig.SkinEditorCSS.length==0) FCKConfig.SkinEditorCSS=FCKConfig.SkinPath+'fck_editor.css';if (!FCKConfig.SkinDialogCSS||FCKConfig.SkinDialogCSS.length==0) FCKConfig.SkinDialogCSS=FCKConfig.SkinPath+'fck_dialog.css';};FCKConfig.ToolbarSets={};FCKConfig.Plugins={};FCKConfig.Plugins.Items=[];FCKConfig.Plugins.Add=function(A,B,C){FCKConfig.Plugins.Items.AddItem([A,B,C]);};FCKConfig.ProtectedSource={};FCKConfig.ProtectedSource._CodeTag=(new Date()).valueOf();FCKConfig.ProtectedSource.RegexEntries=[//g,//gi,//gi];FCKConfig.ProtectedSource.Add=function(A){this.RegexEntries.AddItem(A);};FCKConfig.ProtectedSource.Protect=function(A){var B=this._CodeTag;function _Replace(protectedSource){var C=FCKTempBin.AddElement(protectedSource);return '';};for (var i=0;i|>)","g");return A.replace(D,_Replace);};FCKConfig.GetBodyAttributes=function(){var A='';if (this.BodyId&&this.BodyId.length>0) A+=' id="'+this.BodyId+'"';if (this.BodyClass&&this.BodyClass.length>0) A+=' class="'+this.BodyClass+'"';return A;};FCKConfig.ApplyBodyAttributes=function(A){if (this.BodyId&&this.BodyId.length>0) A.id=FCKConfig.BodyId;if (this.BodyClass&&this.BodyClass.length>0) A.className+=' '+FCKConfig.BodyClass;}; -var FCKDebug={Output:function(){},OutputObject:function(){}}; -var FCKDomTools={MoveChildren:function(A,B,C){if (A==B) return;var D;if (C){while ((D=A.lastChild)) B.insertBefore(A.removeChild(D),B.firstChild);}else{while ((D=A.firstChild)) B.appendChild(A.removeChild(D));}},MoveNode:function(A,B,C){if (C) B.insertBefore(FCKDomTools.RemoveNode(A),B.firstChild);else B.appendChild(FCKDomTools.RemoveNode(A));},TrimNode:function(A){this.LTrimNode(A);this.RTrimNode(A);},LTrimNode:function(A){var B;while ((B=A.firstChild)){if (B.nodeType==3){var C=B.nodeValue.LTrim();var D=B.nodeValue.length;if (C.length==0){A.removeChild(B);continue;}else if (C.length0) break;if (A.lastChild) A=A.lastChild;else return this.GetPreviousSourceElement(A,B,C,D);};return null;},GetNextSourceElement:function(A,B,C,D,E){while((A=this.GetNextSourceNode(A,E))){if (A.nodeType==1){if (C&&A.nodeName.IEquals(C)) break;if (D&&A.nodeName.IEquals(D)) return this.GetNextSourceElement(A,B,C,D);return A;}else if (B&&A.nodeType==3&&A.nodeValue.RTrim().length>0) break;};return null;},GetNextSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.firstChild) E=A.firstChild;else{if (D&&A==D) return null;E=A.nextSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetNextSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetNextSourceNode(E,false,C,D);return E;},GetPreviousSourceNode:function(A,B,C,D){if (!A) return null;var E;if (!B&&A.lastChild) E=A.lastChild;else{if (D&&A==D) return null;E=A.previousSibling;if (!E&&(!D||D!=A.parentNode)) return this.GetPreviousSourceNode(A.parentNode,true,C,D);};if (C&&E&&E.nodeType!=C) return this.GetPreviousSourceNode(E,false,C,D);return E;},InsertAfterNode:function(A,B){return A.parentNode.insertBefore(B,A.nextSibling);},GetParents:function(A){var B=[];while (A){B.unshift(A);A=A.parentNode;};return B;},GetCommonParents:function(A,B){var C=this.GetParents(A);var D=this.GetParents(B);var E=[];for (var i=0;i0) D[C.pop().toLowerCase()]=1;var E=this.GetCommonParents(A,B);var F=null;while ((F=E.pop())){if (D[F.nodeName.toLowerCase()]) return F;};return null;},GetIndexOf:function(A){var B=A.parentNode?A.parentNode.firstChild:null;var C=-1;while (B){C++;if (B==A) return C;B=B.nextSibling;};return-1;},PaddingNode:null,EnforcePaddingNode:function(A,B){try{if (!A||!A.body) return;}catch (e){return;};this.CheckAndRemovePaddingNode(A,B,true);try{if (A.body.lastChild&&(A.body.lastChild.nodeType!=1||A.body.lastChild.tagName.toLowerCase()==B.toLowerCase())) return;}catch (e){return;};var C=A.createElement(B);if (FCKBrowserInfo.IsGecko&&FCKListsLib.NonEmptyBlockElements[B]) FCKTools.AppendBogusBr(C);this.PaddingNode=C;if (A.body.childNodes.length==1&&A.body.firstChild.nodeType==1&&A.body.firstChild.tagName.toLowerCase()=='br'&&(A.body.firstChild.getAttribute('_moz_dirty')!=null||A.body.firstChild.getAttribute('type')=='_moz')) A.body.replaceChild(C,A.body.firstChild);else A.body.appendChild(C);},CheckAndRemovePaddingNode:function(A,B,C){var D=this.PaddingNode;if (!D) return;try{if (D.parentNode!=A.body||D.tagName.toLowerCase()!=B||(D.childNodes.length>1)||(D.firstChild&&D.firstChild.nodeValue!='\xa0'&&String(D.firstChild.tagName).toLowerCase()!='br')){this.PaddingNode=null;return;}}catch (e){this.PaddingNode=null;return;};if (!C){if (D.parentNode.childNodes.length>1) D.parentNode.removeChild(D);this.PaddingNode=null;}},HasAttribute:function(A,B){if (A.hasAttribute) return A.hasAttribute(B);else{var C=A.attributes[B];return (C!=undefined&&C.specified);}},HasAttributes:function(A){var B=A.attributes;for (var i=0;i0) return true;}else if (B[i].specified) return true;};return false;},RemoveAttribute:function(A,B){if (FCKBrowserInfo.IsIE&&B.toLowerCase()=='class') B='className';return A.removeAttribute(B,0);},RemoveAttributes:function (A,B){for (var i=0;i0) return false;C=C.nextSibling;};return D?this.CheckIsEmptyElement(D,B):true;},SetElementStyles:function(A,B){var C=A.style;for (var D in B) C[D]=B[D];},SetOpacity:function(A,B){if (FCKBrowserInfo.IsIE){B=Math.round(B*100);A.style.filter=(B>100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+B+')');}else A.style.opacity=B;},GetCurrentElementStyle:function(A,B){if (FCKBrowserInfo.IsIE) return A.currentStyle[B];else return A.ownerDocument.defaultView.getComputedStyle(A,'').getPropertyValue(B);},GetPositionedAncestor:function(A){var B=A;while (B!=FCKTools.GetElementDocument(B).documentElement){if (this.GetCurrentElementStyle(B,'position')!='static') return B;if (B==FCKTools.GetElementDocument(B).documentElement&¤tWindow!=w) B=currentWindow.frameElement;else B=B.parentNode;};return null;},ScrollIntoView:function(A,B){var C=FCKTools.GetElementWindow(A);var D=FCKTools.GetViewPaneSize(C).Height;var E=D*-1;if (B===false){E+=A.offsetHeight||0;E+=parseInt(this.GetCurrentElementStyle(A,'marginBottom')||0,10)||0;};var F=FCKTools.GetDocumentPosition(C,A);E+=F.y;var G=FCKTools.GetScrollPosition(C).Y;if (E>0&&(E>G||E'+styleDef+'';};var C=function(cssFileUrl,markTemp){if (cssFileUrl.length==0) return '';var B=markTemp?' _fcktemp="true"':'';return '';};return function(cssFileOrArrayOrDef,markTemp){if (!cssFileOrArrayOrDef) return '';if (typeof(cssFileOrArrayOrDef)=='string'){if (/[\\\/\.][^{}]*$/.test(cssFileOrArrayOrDef)){return this.GetStyleHtml(cssFileOrArrayOrDef.split(','),markTemp);}else return A(this._GetUrlFixedCss(cssFileOrArrayOrDef),markTemp);}else{var E='';for (var i=0;i/g,'>');return A;};FCKTools.HTMLDecode=function(A){if (!A) return '';A=A.replace(/>/g,'>');A=A.replace(/</g,'<');A=A.replace(/&/g,'&');return A;};FCKTools._ProcessLineBreaksForPMode=function(A,B,C,D,E){var F=0;var G="

    ";var H="

    ";var I="
    ";if (C){G="
  • ";H="
  • ";F=1;}while (D&&D!=A.FCK.EditorDocument.body){if (D.tagName.toLowerCase()=='p'){F=1;break;};D=D.parentNode;};for (var i=0;i0) return A[A.length-1];return null;};FCKTools.GetDocumentPosition=function(w,A){var x=0;var y=0;var B=A;var C=null;var D=FCKTools.GetElementWindow(B);while (B&&!(D==w&&(B==w.document.body||B==w.document.documentElement))){x+=B.offsetLeft-B.scrollLeft;y+=B.offsetTop-B.scrollTop;if (!FCKBrowserInfo.IsOpera){var E=C;while (E&&E!=B){x-=E.scrollLeft;y-=E.scrollTop;E=E.parentNode;}};C=B;if (B.offsetParent) B=B.offsetParent;else{if (D!=w){B=D.frameElement;C=null;if (B) D=B.contentWindow.parent;}else B=null;}};if (FCKDomTools.GetCurrentElementStyle(w.document.body,'position')!='static'||(FCKBrowserInfo.IsIE&&FCKDomTools.GetPositionedAncestor(A)==null)){x+=w.document.body.offsetLeft;y+=w.document.body.offsetTop;};return { "x":x,"y":y };};FCKTools.GetWindowPosition=function(w,A){var B=this.GetDocumentPosition(w,A);var C=FCKTools.GetScrollPosition(w);B.x-=C.X;B.y-=C.Y;return B;};FCKTools.ProtectFormStyles=function(A){if (!A||A.nodeType!=1||A.tagName.toLowerCase()!='form') return [];var B=[];var C=['style','className'];for (var i=0;i0){for (var i=B.length-1;i>=0;i--){var C=B[i][0];var D=B[i][1];if (D) A.insertBefore(C,D);else A.appendChild(C);}}};FCKTools.GetNextNode=function(A,B){if (A.firstChild) return A.firstChild;else if (A.nextSibling) return A.nextSibling;else{var C=A.parentNode;while (C){if (C==B) return null;if (C.nextSibling) return C.nextSibling;else C=C.parentNode;}};return null;};FCKTools.GetNextTextNode=function(A,B,C){node=this.GetNextNode(A,B);if (C&&node&&C(node)) return null;while (node&&node.nodeType!=3){node=this.GetNextNode(node,B);if (C&&node&&C(node)) return null;};return node;};FCKTools.Merge=function(){var A=arguments;var o=A[0];for (var i=1;i');document.domain = '"+FCK_RUNTIME_DOMAIN+"';document.close();}() ) ;";if (FCKBrowserInfo.IsIE){if (FCKBrowserInfo.IsIE7||!FCKBrowserInfo.IsIE6) return "";else return "javascript: '';";};return "javascript: void(0);";};FCKTools.ResetStyles=function(A){A.style.cssText='margin:0;padding:0;border:0;background-color:transparent;background-image:none;';}; -FCKTools.CancelEvent=function(e){return false;};FCKTools._AppendStyleSheet=function(A,B){return A.createStyleSheet(B).owningElement;};FCKTools.AppendStyleString=function(A,B){if (!B) return null;var s=A.createStyleSheet("");s.cssText=B;return s;};FCKTools.ClearElementAttributes=function(A){A.clearAttributes();};FCKTools.GetAllChildrenIds=function(A){var B=[];for (var i=0;i0) B[B.length]=C;};return B;};FCKTools.RemoveOuterTags=function(e){e.insertAdjacentHTML('beforeBegin',e.innerHTML);e.parentNode.removeChild(e);};FCKTools.CreateXmlObject=function(A){var B;switch (A){case 'XmlHttp':if (document.location.protocol!='file:') try { return new XMLHttpRequest();} catch (e) {};B=['MSXML2.XmlHttp','Microsoft.XmlHttp'];break;case 'DOMDocument':B=['MSXML2.DOMDocument','Microsoft.XmlDom'];break;};for (var i=0;i<2;i++){try { return new ActiveXObject(B[i]);}catch (e){}};if (FCKLang.NoActiveX){alert(FCKLang.NoActiveX);FCKLang.NoActiveX=null;};return null;};FCKTools.DisableSelection=function(A){A.unselectable='on';var e,i=0;while ((e=A.all[i++])){switch (e.tagName){case 'IFRAME':case 'TEXTAREA':case 'INPUT':case 'SELECT':break;default:e.unselectable='on';}}};FCKTools.GetScrollPosition=function(A){var B=A.document;var C={ X:B.documentElement.scrollLeft,Y:B.documentElement.scrollTop };if (C.X>0||C.Y>0) return C;return { X:B.body.scrollLeft,Y:B.body.scrollTop };};FCKTools.AddEventListener=function(A,B,C){A.attachEvent('on'+B,C);};FCKTools.RemoveEventListener=function(A,B,C){A.detachEvent('on'+B,C);};FCKTools.AddEventListenerEx=function(A,B,C,D){var o={};o.Source=A;o.Params=D||[];o.Listener=function(ev){return C.apply(o.Source,[ev].concat(o.Params));};if (FCK.IECleanup) FCK.IECleanup.AddItem(null,function() { o.Source=null;o.Params=null;});A.attachEvent('on'+B,o.Listener);A=null;D=null;};FCKTools.GetViewPaneSize=function(A){var B;var C=A.document.documentElement;if (C&&C.clientWidth) B=C;else B=A.document.body;if (B) return { Width:B.clientWidth,Height:B.clientHeight };else return { Width:0,Height:0 };};FCKTools.SaveStyles=function(A){var B=FCKTools.ProtectFormStyles(A);var C={};if (A.className.length>0){C.Class=A.className;A.className='';};var D=A.style.cssText;if (D.length>0){C.Inline=D;A.style.cssText='';};FCKTools.RestoreFormStyles(A,B);return C;};FCKTools.RestoreStyles=function(A,B){var C=FCKTools.ProtectFormStyles(A);A.className=B.Class||'';A.style.cssText=B.Inline||'';FCKTools.RestoreFormStyles(A,C);};FCKTools.RegisterDollarFunction=function(A){A.$=A.document.getElementById;};FCKTools.AppendElement=function(A,B){return A.appendChild(this.GetElementDocument(A).createElement(B));};FCKTools.ToLowerCase=function(A){return A.toLowerCase();}; -var FCKeditorAPI;function InitializeAPI(){var A=window.parent;if (!(FCKeditorAPI=A.FCKeditorAPI)){var B='window.FCKeditorAPI = {Version : "2.6.3",VersionBuild : "19836",Instances : new Object(),GetInstance : function( name ){return this.Instances[ name ];},_FormSubmit : function(){for ( var name in FCKeditorAPI.Instances ){var oEditor = FCKeditorAPI.Instances[ name ] ;if ( oEditor.GetParentForm && oEditor.GetParentForm() == this )oEditor.UpdateLinkedField() ;}this._FCKOriginalSubmit() ;},_FunctionQueue : {Functions : new Array(),IsRunning : false,Add : function( f ){this.Functions.push( f );if ( !this.IsRunning )this.StartNext();},StartNext : function(){var aQueue = this.Functions ;if ( aQueue.length > 0 ){this.IsRunning = true;aQueue[0].call();}else this.IsRunning = false;},Remove : function( f ){var aQueue = this.Functions;var i = 0, fFunc;while( (fFunc = aQueue[ i ]) ){if ( fFunc == f )aQueue.splice( i,1 );i++ ;}this.StartNext();}}}';if (A.execScript) A.execScript(B,'JavaScript');else{if (FCKBrowserInfo.IsGecko10){eval.call(A,B);}else if(FCKBrowserInfo.IsAIR){FCKAdobeAIR.FCKeditorAPI_Evaluate(A,B);}else if (FCKBrowserInfo.IsSafari){var C=A.document;var D=C.createElement('script');D.appendChild(C.createTextNode(B));C.documentElement.appendChild(D);}else A.eval(B);};FCKeditorAPI=A.FCKeditorAPI;FCKeditorAPI.__Instances=FCKeditorAPI.Instances;};FCKeditorAPI.Instances[FCK.Name]=FCK;};function _AttachFormSubmitToAPI(){var A=FCK.GetParentForm();if (A){FCKTools.AddEventListener(A,'submit',FCK.UpdateLinkedField);if (!A._FCKOriginalSubmit&&(typeof(A.submit)=='function'||(!A.submit.tagName&&!A.submit.length))){A._FCKOriginalSubmit=A.submit;A.submit=FCKeditorAPI._FormSubmit;}}};function FCKeditorAPI_Cleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat&&!window.FCKUnloadFlag) return;delete FCKeditorAPI.Instances[FCK.Name];};function FCKeditorAPI_ConfirmCleanup(){if (window.FCKConfig&&FCKConfig.MsWebBrowserControlCompat) window.FCKUnloadFlag=true;};FCKTools.AddEventListener(window,'unload',FCKeditorAPI_Cleanup);FCKTools.AddEventListener(window,'beforeunload',FCKeditorAPI_ConfirmCleanup); -var FCKImagePreloader=function(){this._Images=[];};FCKImagePreloader.prototype={AddImages:function(A){if (typeof(A)=='string') A=A.split(';');this._Images=this._Images.concat(A);},Start:function(){var A=this._Images;this._PreloadCount=A.length;for (var i=0;i]*\>)/i,AfterBody:/(\<\/body\>[\s\S]*$)/i,ToReplace:/___fcktoreplace:([\w]+)/ig,MetaHttpEquiv:/http-equiv\s*=\s*["']?([^"' ]+)/i,HasBaseTag:/]/i,HtmlOpener:/]*>/i,HeadOpener:/]*>/i,HeadCloser:/<\/head\s*>/i,FCK_Class:/\s*FCK__[^ ]*(?=\s+|$)/,ElementName:/(^[a-z_:][\w.\-:]*\w$)|(^[a-z_]$)/,ForceSimpleAmpersand:/___FCKAmp___/g,SpaceNoClose:/\/>/g,EmptyParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>\s*(<\/\1>)?$/,EmptyOutParagraph:/^<(p|div|address|h\d|center)(?=[ >])[^>]*>(?:\s*| )(<\/\1>)?$/,TagBody:/>]+))/gi,ProtectUrlsA:/]+))/gi,ProtectUrlsArea:/]+))/gi,Html4DocType:/HTML 4\.0 Transitional/i,DocTypeTag:/]*>/i,HtmlDocType:/DTD HTML/,TagsWithEvent:/<[^\>]+ on\w+[\s\r\n]*=[\s\r\n]*?('|")[\s\S]+?\>/g,EventAttributes:/\s(on\w+)[\s\r\n]*=[\s\r\n]*?('|")([\s\S]*?)\2/g,ProtectedEvents:/\s\w+_fckprotectedatt="([^"]+)"/g,StyleProperties:/\S+\s*:/g,InvalidSelfCloseTags:/(<(?!base|meta|link|hr|br|param|img|area|input)([a-zA-Z0-9:]+)[^>]*)\/>/gi,StyleVariableAttName:/#\(\s*("|')(.+?)\1[^\)]*\s*\)/g,RegExp:/^\/(.*)\/([gim]*)$/,HtmlTag:/<[^\s<>](?:"[^"]*"|'[^']*'|[^<])*>/}; -var FCKListsLib={BlockElements:{ address:1,blockquote:1,center:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,marquee:1,noscript:1,ol:1,p:1,pre:1,script:1,table:1,ul:1 },NonEmptyBlockElements:{ p:1,div:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,address:1,pre:1,ol:1,ul:1,li:1,td:1,th:1 },InlineChildReqElements:{ abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },InlineNonEmptyElements:{ a:1,abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1 },EmptyElements:{ base:1,col:1,meta:1,link:1,hr:1,br:1,param:1,img:1,area:1,input:1 },PathBlockElements:{ address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,de:1 },PathBlockLimitElements:{ body:1,div:1,td:1,th:1,caption:1,form:1 },StyleBlockElements:{ address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1 },StyleObjectElements:{ img:1,hr:1,li:1,table:1,tr:1,td:1,embed:1,object:1,ol:1,ul:1 },NonEditableElements:{ button:1,option:1,script:1,iframe:1,textarea:1,object:1,embed:1,map:1,applet:1 },BlockBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1 },ListBoundaries:{ p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,address:1,pre:1,ol:1,ul:1,li:1,dt:1,de:1,table:1,thead:1,tbody:1,tfoot:1,tr:1,th:1,td:1,caption:1,col:1,colgroup:1,blockquote:1,body:1,br:1 }}; -var FCKLanguageManager=FCK.Language={AvailableLanguages:{af:'Afrikaans',ar:'Arabic',bg:'Bulgarian',bn:'Bengali/Bangla',bs:'Bosnian',ca:'Catalan',cs:'Czech',da:'Danish',de:'German',el:'Greek',en:'English','en-au':'English (Australia)','en-ca':'English (Canadian)','en-uk':'English (United Kingdom)',eo:'Esperanto',es:'Spanish',et:'Estonian',eu:'Basque',fa:'Persian',fi:'Finnish',fo:'Faroese',fr:'French','fr-ca':'French (Canada)',gl:'Galician',gu:'Gujarati',he:'Hebrew',hi:'Hindi',hr:'Croatian',hu:'Hungarian',it:'Italian',ja:'Japanese',km:'Khmer',ko:'Korean',lt:'Lithuanian',lv:'Latvian',mn:'Mongolian',ms:'Malay',nb:'Norwegian Bokmal',nl:'Dutch',no:'Norwegian',pl:'Polish',pt:'Portuguese (Portugal)','pt-br':'Portuguese (Brazil)',ro:'Romanian',ru:'Russian',sk:'Slovak',sl:'Slovenian',sr:'Serbian (Cyrillic)','sr-latn':'Serbian (Latin)',sv:'Swedish',th:'Thai',tr:'Turkish',uk:'Ukrainian',vi:'Vietnamese',zh:'Chinese Traditional','zh-cn':'Chinese Simplified'},GetActiveLanguage:function(){if (FCKConfig.AutoDetectLanguage){var A;if (navigator.userLanguage) A=navigator.userLanguage.toLowerCase();else if (navigator.language) A=navigator.language.toLowerCase();else{return FCKConfig.DefaultLanguage;};if (A.length>=5){A=A.substr(0,5);if (this.AvailableLanguages[A]) return A;};if (A.length>=2){A=A.substr(0,2);if (this.AvailableLanguages[A]) return A;}};return this.DefaultLanguage;},TranslateElements:function(A,B,C,D){var e=A.getElementsByTagName(B);var E,s;for (var i=0;i0) C+='|'+FCKConfig.AdditionalNumericEntities;FCKXHtmlEntities.EntitiesRegex=new RegExp(C,'g');}; -var FCKXHtml={};FCKXHtml.CurrentJobNum=0;FCKXHtml.GetXHTML=function(A,B,C){FCKDomTools.CheckAndRemovePaddingNode(FCKTools.GetElementDocument(A),FCKConfig.EnterMode);FCKXHtmlEntities.Initialize();this._NbspEntity=(FCKConfig.ProcessHTMLEntities?'nbsp':'#160');var D=FCK.IsDirty();FCKXHtml.SpecialBlocks=[];this.XML=FCKTools.CreateXmlObject('DOMDocument');this.MainNode=this.XML.appendChild(this.XML.createElement('xhtml'));FCKXHtml.CurrentJobNum++;if (B) this._AppendNode(this.MainNode,A);else this._AppendChildNodes(this.MainNode,A,false);var E=this._GetMainXmlString();this.XML=null;if (FCKBrowserInfo.IsSafari) E=E.replace(/^/,'');E=E.substr(7,E.length-15).Trim();if (FCKConfig.DocType.length>0&&FCKRegexLib.HtmlDocType.test(FCKConfig.DocType)) E=E.replace(FCKRegexLib.SpaceNoClose,'>');else E=E.replace(FCKRegexLib.SpaceNoClose,' />');if (FCKConfig.ForceSimpleAmpersand) E=E.replace(FCKRegexLib.ForceSimpleAmpersand,'&');if (C) E=FCKCodeFormatter.Format(E);for (var i=0;i0;if (C) A.appendChild(this.XML.createTextNode(B.replace(FCKXHtmlEntities.EntitiesRegex,FCKXHtml_GetEntity)));return C;};function FCKXHtml_GetEntity(A){var B=FCKXHtmlEntities.Entities[A]||('#'+A.charCodeAt(0));return '#?-:'+B+';';};FCKXHtml.TagProcessors={a:function(A,B){if (B.innerHTML.Trim().length==0&&!B.name) return false;var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);};A=FCKXHtml._AppendChildNodes(A,B,false);return A;},area:function(A,B){var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'href',C);if (FCKBrowserInfo.IsIE){if (!A.attributes.getNamedItem('coords')){var D=B.getAttribute('coords',2);if (D&&D!='0,0,0') FCKXHtml._AppendAttribute(A,'coords',D);};if (!A.attributes.getNamedItem('shape')){var E=B.getAttribute('shape',2);if (E&&E.length>0) FCKXHtml._AppendAttribute(A,'shape',E.toLowerCase());}};return A;},body:function(A,B){A=FCKXHtml._AppendChildNodes(A,B,false);A.removeAttribute('spellcheck');return A;},iframe:function(A,B){var C=B.innerHTML;if (FCKBrowserInfo.IsGecko) C=FCKTools.HTMLDecode(C);C=C.replace(/\s_fcksavedurl="[^"]*"/g,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},img:function(A,B){if (!A.attributes.getNamedItem('alt')) FCKXHtml._AppendAttribute(A,'alt','');var C=B.getAttribute('_fcksavedurl');if (C!=null) FCKXHtml._AppendAttribute(A,'src',C);if (B.style.width) A.removeAttribute('width');if (B.style.height) A.removeAttribute('height');return A;},li:function(A,B,C){if (C.nodeName.IEquals(['ul','ol'])) return FCKXHtml._AppendChildNodes(A,B,true);var D=FCKXHtml.XML.createElement('ul');B._fckxhtmljob=null;do{FCKXHtml._AppendNode(D,B);do{B=FCKDomTools.GetNextSibling(B);} while (B&&B.nodeType==3&&B.nodeValue.Trim().length==0)} while (B&&B.nodeName.toLowerCase()=='li') return D;},ol:function(A,B,C){if (B.innerHTML.Trim().length==0) return false;var D=C.lastChild;if (D&&D.nodeType==3) D=D.previousSibling;if (D&&D.nodeName.toUpperCase()=='LI'){B._fckxhtmljob=null;FCKXHtml._AppendNode(D,B);return false;};A=FCKXHtml._AppendChildNodes(A,B);return A;},pre:function (A,B){var C=B.firstChild;if (C&&C.nodeType==3) A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem('\r\n')));FCKXHtml._AppendChildNodes(A,B,true);return A;},script:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/javascript');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(B.text)));return A;},span:function(A,B){if (B.innerHTML.length==0) return false;A=FCKXHtml._AppendChildNodes(A,B,false);return A;},style:function(A,B){if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text/css');var C=B.innerHTML;if (FCKBrowserInfo.IsIE) C=C.replace(/^(\r\n|\n|\r)/,'');A.appendChild(FCKXHtml.XML.createTextNode(FCKXHtml._AppendSpecialItem(C)));return A;},title:function(A,B){A.appendChild(FCKXHtml.XML.createTextNode(FCK.EditorDocument.title));return A;}};FCKXHtml.TagProcessors.ul=FCKXHtml.TagProcessors.ol; -FCKXHtml._GetMainXmlString=function(){return this.MainNode.xml;};FCKXHtml._AppendAttributes=function(A,B,C,D){var E=B.attributes,bHasStyle;for (var n=0;n0){var I=FCKTools.ProtectFormStyles(B);var J=B.style.cssText.replace(FCKRegexLib.StyleProperties,FCKTools.ToLowerCase);FCKTools.RestoreFormStyles(B,I);this._AppendAttribute(C,'style',J);}};FCKXHtml.TagProcessors['div']=function(A,B){if (B.align.length>0) FCKXHtml._AppendAttribute(A,'align',B.align);A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['font']=function(A,B){if (A.attributes.length==0) A=FCKXHtml.XML.createDocumentFragment();A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['form']=function(A,B){if (B.acceptCharset&&B.acceptCharset.length>0&&B.acceptCharset!='UNKNOWN') FCKXHtml._AppendAttribute(A,'accept-charset',B.acceptCharset);var C=B.attributes['name'];if (C&&C.value.length>0) FCKXHtml._AppendAttribute(A,'name',C.value);A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['input']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);if (B.value&&!A.attributes.getNamedItem('value')) FCKXHtml._AppendAttribute(A,'value',B.value);if (!A.attributes.getNamedItem('type')) FCKXHtml._AppendAttribute(A,'type','text');return A;};FCKXHtml.TagProcessors['label']=function(A,B){if (B.htmlFor.length>0) FCKXHtml._AppendAttribute(A,'for',B.htmlFor);A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['map']=function(A,B){if (!A.attributes.getNamedItem('name')){var C=B.name;if (C) FCKXHtml._AppendAttribute(A,'name',C);};A=FCKXHtml._AppendChildNodes(A,B,true);return A;};FCKXHtml.TagProcessors['meta']=function(A,B){var C=A.attributes.getNamedItem('http-equiv');if (C==null||C.value.length==0){var D=B.outerHTML.match(FCKRegexLib.MetaHttpEquiv);if (D){D=D[1];FCKXHtml._AppendAttribute(A,'http-equiv',D);}};return A;};FCKXHtml.TagProcessors['option']=function(A,B){if (B.selected&&!A.attributes.getNamedItem('selected')) FCKXHtml._AppendAttribute(A,'selected','selected');A=FCKXHtml._AppendChildNodes(A,B);return A;};FCKXHtml.TagProcessors['textarea']=FCKXHtml.TagProcessors['select']=function(A,B){if (B.name) FCKXHtml._AppendAttribute(A,'name',B.name);A=FCKXHtml._AppendChildNodes(A,B);return A;}; -var FCKCodeFormatter={};FCKCodeFormatter.Init=function(){var A=this.Regex={};A.BlocksOpener=/\<(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.BlocksCloser=/\<\/(P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|TITLE|META|LINK|BASE|SCRIPT|LINK|TD|TH|AREA|OPTION)[^\>]*\>/gi;A.NewLineTags=/\<(BR|HR)[^\>]*\>/gi;A.MainTags=/\<\/?(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR)[^\>]*\>/gi;A.LineSplitter=/\s*\n+\s*/g;A.IncreaseIndent=/^\<(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \/\>]/i;A.DecreaseIndent=/^\<\/(HTML|HEAD|BODY|FORM|TABLE|TBODY|THEAD|TR|UL|OL)[ \>]/i;A.FormatIndentatorRemove=new RegExp('^'+FCKConfig.FormatIndentator);A.ProtectedTags=/(]*>)([\s\S]*?)(<\/PRE>)/gi;};FCKCodeFormatter._ProtectData=function(A,B,C,D){return B+'___FCKpd___'+FCKCodeFormatter.ProtectedData.AddItem(C)+D;};FCKCodeFormatter.Format=function(A){if (!this.Regex) this.Init();FCKCodeFormatter.ProtectedData=[];var B=A.replace(this.Regex.ProtectedTags,FCKCodeFormatter._ProtectData);B=B.replace(this.Regex.BlocksOpener,'\n$&');B=B.replace(this.Regex.BlocksCloser,'$&\n');B=B.replace(this.Regex.NewLineTags,'$&\n');B=B.replace(this.Regex.MainTags,'\n$&\n');var C='';var D=B.split(this.Regex.LineSplitter);B='';for (var i=0;iB[i]) return 1;};if (A.lengthB.length) return 1;return 0;};FCKUndo._CheckIsBookmarksEqual=function(A,B){if (!(A&&B)) return false;if (FCKBrowserInfo.IsIE){var C=A[1].search(A[0].StartId);var D=B[1].search(B[0].StartId);var E=A[1].search(A[0].EndId);var F=B[1].search(B[0].EndId);return C==D&&E==F;}else{return this._CompareCursors(A.Start,B.Start)==0&&this._CompareCursors(A.End,B.End)==0;}};FCKUndo.SaveUndoStep=function(){if (FCK.EditMode!=0||this.SaveLocked) return;if (this.SavedData.length) this.Changed=true;var A=FCK.EditorDocument.body.innerHTML;var B=this._GetBookmark();this.SavedData=this.SavedData.slice(0,this.CurrentIndex+1);if (this.CurrentIndex>0&&A==this.SavedData[this.CurrentIndex][0]&&this._CheckIsBookmarksEqual(B,this.SavedData[this.CurrentIndex][1])) return;else if (this.CurrentIndex==0&&this.SavedData.length&&A==this.SavedData[0][0]){this.SavedData[0][1]=B;return;};if (this.CurrentIndex+1>=FCKConfig.MaxUndoLevels) this.SavedData.shift();else this.CurrentIndex++;this.SavedData[this.CurrentIndex]=[A,B];FCK.Events.FireEvent("OnSelectionChange");};FCKUndo.CheckUndoState=function(){return (this.Changed||this.CurrentIndex>0);};FCKUndo.CheckRedoState=function(){return (this.CurrentIndex<(this.SavedData.length-1));};FCKUndo.Undo=function(){if (this.CheckUndoState()){if (this.CurrentIndex==(this.SavedData.length-1)){this.SaveUndoStep();};this._ApplyUndoLevel(--this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo.Redo=function(){if (this.CheckRedoState()){this._ApplyUndoLevel(++this.CurrentIndex);FCK.Events.FireEvent("OnSelectionChange");}};FCKUndo._ApplyUndoLevel=function(A){var B=this.SavedData[A];if (!B) return;if (FCKBrowserInfo.IsIE){if (B[1]&&B[1][1]) FCK.SetInnerHtml(B[1][1]);else FCK.SetInnerHtml(B[0]);}else FCK.EditorDocument.body.innerHTML=B[0];this._SelectBookmark(B[1]);this.TypesCount=0;this.Changed=false;this.Typing=false;}; -var FCKEditingArea=function(A){this.TargetElement=A;this.Mode=0;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKEditingArea_Cleanup);};FCKEditingArea.prototype.Start=function(A,B){var C=this.TargetElement;var D=FCKTools.GetElementDocument(C);while(C.firstChild) C.removeChild(C.firstChild);if (this.Mode==0){if (FCK_IS_CUSTOM_DOMAIN) A=''+A;if (FCKBrowserInfo.IsIE) A=A.replace(/(]*?)\s*\/?>(?!\s*<\/base>)/gi,'$1>');else if (!B){var E=A.match(FCKRegexLib.BeforeBody);var F=A.match(FCKRegexLib.AfterBody);if (E&&F){var G=A.substr(E[1].length,A.length-E[1].length-F[1].length);A=E[1]+' '+F[1];if (FCKBrowserInfo.IsGecko&&(G.length==0||FCKRegexLib.EmptyParagraph.test(G))) G='
    ';this._BodyHTML=G;}else this._BodyHTML=A;};var H=this.IFrame=D.createElement('iframe');var I='';H.frameBorder=0;H.style.width=H.style.height='100%';if (FCK_IS_CUSTOM_DOMAIN&&FCKBrowserInfo.IsIE){window._FCKHtmlToLoad=A.replace(//i,''+I);H.src='javascript:void( (function(){document.open() ;document.domain="'+document.domain+'" ;document.write( window.parent._FCKHtmlToLoad );document.close() ;window.parent._FCKHtmlToLoad = null ;})() )';}else if (!FCKBrowserInfo.IsGecko){H.src='javascript:void(0)';};C.appendChild(H);this.Window=H.contentWindow;if (!FCK_IS_CUSTOM_DOMAIN||!FCKBrowserInfo.IsIE){var J=this.Window.document;J.open();J.write(A.replace(//i,''+I));J.close();};if (FCKBrowserInfo.IsAIR) FCKAdobeAIR.EditingArea_Start(J,A);if (FCKBrowserInfo.IsGecko10&&!B){this.Start(A,true);return;};if (H.readyState&&H.readyState!='completed'){var K=this;setTimeout(function(){try{K.Window.document.documentElement.doScroll("left");}catch(e){setTimeout(arguments.callee,0);return;};K.Window._FCKEditingArea=K;FCKEditingArea_CompleteStart.call(K.Window);},0);}else{this.Window._FCKEditingArea=this;if (FCKBrowserInfo.IsGecko10) this.Window.setTimeout(FCKEditingArea_CompleteStart,500);else FCKEditingArea_CompleteStart.call(this.Window);}}else{var L=this.Textarea=D.createElement('textarea');L.className='SourceField';L.dir='ltr';FCKDomTools.SetElementStyles(L,{width:'100%',height:'100%',border:'none',resize:'none',outline:'none'});C.appendChild(L);L.value=A;FCKTools.RunFunction(this.OnLoad);}};function FCKEditingArea_CompleteStart(){if (!this.document.body){this.setTimeout(FCKEditingArea_CompleteStart,50);return;};var A=this._FCKEditingArea;A.Document=A.Window.document;A.MakeEditable();FCKTools.RunFunction(A.OnLoad);};FCKEditingArea.prototype.MakeEditable=function(){var A=this.Document;if (FCKBrowserInfo.IsIE){A.body.disabled=true;A.body.contentEditable=true;A.body.removeAttribute("disabled");}else{try{A.body.spellcheck=(this.FFSpellChecker!==false);if (this._BodyHTML){A.body.innerHTML=this._BodyHTML;A.body.offsetLeft;this._BodyHTML=null;};A.designMode='on';A.execCommand('enableObjectResizing',false,!FCKConfig.DisableObjectResizing);A.execCommand('enableInlineTableEditing',false,!FCKConfig.DisableFFTableHandles);}catch (e){FCKTools.AddEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);}}};function FCKEditingArea_Document_AttributeNodeModified(A){var B=A.currentTarget.contentWindow._FCKEditingArea;if (B._timer) window.clearTimeout(B._timer);B._timer=FCKTools.SetTimeout(FCKEditingArea_MakeEditableByMutation,1000,B);};function FCKEditingArea_MakeEditableByMutation(){delete this._timer;FCKTools.RemoveEventListener(this.Window.frameElement,'DOMAttrModified',FCKEditingArea_Document_AttributeNodeModified);this.MakeEditable();};FCKEditingArea.prototype.Focus=function(){try{if (this.Mode==0){if (FCKBrowserInfo.IsIE) this._FocusIE();else this.Window.focus();}else{var A=FCKTools.GetElementDocument(this.Textarea);if ((!A.hasFocus||A.hasFocus())&&A.activeElement==this.Textarea) return;this.Textarea.focus();}}catch(e) {}};FCKEditingArea.prototype._FocusIE=function(){this.Document.body.setActive();this.Window.focus();var A=this.Document.selection.createRange();var B=A.parentElement();var C=B.nodeName.toLowerCase();if (B.childNodes.length>0||!(FCKListsLib.BlockElements[C]||FCKListsLib.NonEmptyBlockElements[C])){return;};A=new FCKDomRange(this.Window);A.MoveToElementEditStart(B);A.Select();};function FCKEditingArea_Cleanup(){if (this.Document) this.Document.body.innerHTML="";this.TargetElement=null;this.IFrame=null;this.Document=null;this.Textarea=null;if (this.Window){this.Window._FCKEditingArea=null;this.Window=null;}}; -var FCKKeystrokeHandler=function(A){this.Keystrokes={};this.CancelCtrlDefaults=(A!==false);};FCKKeystrokeHandler.prototype.AttachToElement=function(A){FCKTools.AddEventListenerEx(A,'keydown',_FCKKeystrokeHandler_OnKeyDown,this);if (FCKBrowserInfo.IsGecko10||FCKBrowserInfo.IsOpera||(FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac)) FCKTools.AddEventListenerEx(A,'keypress',_FCKKeystrokeHandler_OnKeyPress,this);};FCKKeystrokeHandler.prototype.SetKeystrokes=function(){for (var i=0;i40))){B._CancelIt=true;if (A.preventDefault) return A.preventDefault();A.returnValue=false;A.cancelBubble=true;return false;};return true;};function _FCKKeystrokeHandler_OnKeyPress(A,B){if (B._CancelIt){if (A.preventDefault) return A.preventDefault();return false;};return true;}; -FCK.DTD=(function(){var X=FCKTools.Merge;var A,L,J,M,N,O,D,H,P,K,Q,F,G,C,B,E,I;A={isindex:1,fieldset:1};B={input:1,button:1,select:1,textarea:1,label:1};C=X({a:1},B);D=X({iframe:1},C);E={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1};F={ins:1,del:1,script:1};G=X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},F);H=X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},G);I=X({p:1},H);J=X({iframe:1},H,B);K={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1};L=X({a:1},J);M={tr:1};N={'#':1};O=X({param:1},K);P=X({form:1},A,D,E,I);Q={li:1};return {col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:P,td:P,br:{},th:P,center:P,kbd:L,button:X(I,E),basefont:{},h5:L,h4:L,samp:L,h6:L,ol:Q,h1:L,h3:L,option:N,h2:L,form:X(A,D,E,I),select:{optgroup:1,option:1},font:J,ins:P,menu:Q,abbr:L,label:L,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:L,script:N,tfoot:M,cite:L,li:P,input:{},iframe:P,strong:J,textarea:N,noframes:P,big:J,small:J,span:J,hr:{},dt:L,sub:J,optgroup:{option:1},param:{},bdo:L,'var':J,div:P,object:O,sup:J,dd:P,strike:J,area:{},dir:Q,map:X({area:1,form:1,p:1},A,F,E),applet:O,dl:{dt:1,dd:1},del:P,isindex:{},fieldset:X({legend:1},K),thead:M,ul:Q,acronym:L,b:J,a:J,blockquote:P,caption:L,i:J,u:J,tbody:M,s:L,address:X(D,I),tt:J,legend:L,q:L,pre:X(G,C),p:L,em:J,dfn:L};})(); -var FCKStyle=function(A){this.Element=(A.Element||'span').toLowerCase();this._StyleDesc=A;};FCKStyle.prototype={GetType:function(){var A=this.GetType_$;if (A!=undefined) return A;var B=this.Element;if (B=='#'||FCKListsLib.StyleBlockElements[B]) A=0;else if (FCKListsLib.StyleObjectElements[B]) A=2;else A=1;return (this.GetType_$=A);},ApplyToSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.ApplyToRange(B,true);},ApplyToRange:function(A,B,C){switch (this.GetType()){case 0:this.ApplyToRange=this._ApplyBlockStyle;break;case 1:this.ApplyToRange=this._ApplyInlineStyle;break;default:return;};this.ApplyToRange(A,B,C);},ApplyToObject:function(A){if (!A) return;this.BuildElement(null,A);},RemoveFromSelection:function(A){var B=new FCKDomRange(A);B.MoveToSelection();this.RemoveFromRange(B,true);},RemoveFromRange:function(A,B,C){var D;var E=this._GetAttribsForComparison();var F=this._GetOverridesForComparison();if (A.CheckIsCollapsed()){var D=A.CreateBookmark(true);var H=A.GetBookmarkNode(D,true);var I=new FCKElementPath(H.parentNode);var J=[];var K=!FCKDomTools.GetNextSibling(H);var L=K||!FCKDomTools.GetPreviousSibling(H);var M;var N=-1;for (var i=0;i=0;i--){var E=D[i];for (var F in B){if (FCKDomTools.HasAttribute(E,F)){switch (F){case 'style':this._RemoveStylesFromElement(E);break;case 'class':if (FCKDomTools.GetAttributeValue(E,F)!=this.GetFinalAttributeValue(F)) continue;default:FCKDomTools.RemoveAttribute(E,F);}}};this._RemoveOverrides(E,C[this.Element]);this._RemoveNoAttribElement(E);};for (var G in C){if (G!=this.Element){D=A.getElementsByTagName(G);for (var i=D.length-1;i>=0;i--){var E=D[i];this._RemoveOverrides(E,C[G]);this._RemoveNoAttribElement(E);}}}},_RemoveStylesFromElement:function(A){var B=A.style.cssText;var C=this.GetFinalStyleValue();if (B.length>0&&C.length==0) return;C='(^|;)\\s*('+C.replace(/\s*([^ ]+):.*?(;|$)/g,'$1|').replace(/\|$/,'')+'):[^;]+';var D=new RegExp(C,'gi');B=B.replace(D,'').Trim();if (B.length==0||B==';') FCKDomTools.RemoveAttribute(A,'style');else A.style.cssText=B.replace(D,'');},_RemoveOverrides:function(A,B){var C=B&&B.Attributes;if (C){for (var i=0;i0) C.style.cssText=this.GetFinalStyleValue();return C;},_CompareAttributeValues:function(A,B,C){if (A=='style'&&B&&C){B=B.replace(/;$/,'').toLowerCase();C=C.replace(/;$/,'').toLowerCase();};return (B==C||((B===null||B==='')&&(C===null||C==='')))},GetFinalAttributeValue:function(A){var B=this._StyleDesc.Attributes;var B=B?B[A]:null;if (!B&&A=='style') return this.GetFinalStyleValue();if (B&&this._Variables) B=B.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);return B;},GetFinalStyleValue:function(){var A=this._GetStyleText();if (A.length>0&&this._Variables){A=A.Replace(FCKRegexLib.StyleVariableAttName,this._GetVariableReplace,this);A=FCKTools.NormalizeCssText(A);};return A;},_GetVariableReplace:function(){return this._Variables[arguments[2]]||arguments[0];},SetVariable:function(A,B){var C=this._Variables;if (!C) C=this._Variables={};this._Variables[A]=B;},_FromPre:function(A,B,C){var D=B.innerHTML;D=D.replace(/(\r\n|\r)/g,'\n');D=D.replace(/^[ \t]*\n/,'');D=D.replace(/\n$/,'');D=D.replace(/^[ \t]+|[ \t]+$/g,function(match,offset,s){if (match.length==1) return ' ';else if (offset==0) return new Array(match.length).join(' ')+' ';else return ' '+new Array(match.length).join(' ');});var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag){value=value.replace(/\n/g,'
    ');value=value.replace(/[ \t]{2,}/g,function (match){return new Array(match.length).join(' ')+' ';});};F.push(value);});C.innerHTML=F.join('');return C;},_ToPre:function(A,B,C){var D=B.innerHTML.Trim();D=D.replace(/[ \t\r\n]*(]*>)[ \t\r\n]*/gi,'
    ');var E=new FCKHtmlIterator(D);var F=[];E.Each(function(isTag,value){if (!isTag) value=value.replace(/([ \t\n\r]+| )/g,' ');else if (isTag&&value=='
    ') value='\n';F.push(value);});if (FCKBrowserInfo.IsIE){var G=A.createElement('div');G.appendChild(C);C.outerHTML='
    \n'+F.join('')+'
    ';C=G.removeChild(G.firstChild);}else C.innerHTML=F.join('');return C;},_CheckAndMergePre:function(A,B){if (A!=FCKDomTools.GetPreviousSourceElement(B,true)) return;var C=A.innerHTML.replace(/\n$/,'')+'\n\n'+B.innerHTML.replace(/^\n/,'');if (FCKBrowserInfo.IsIE) B.outerHTML='
    '+C+'
    ';else B.innerHTML=C;FCKDomTools.RemoveNode(A);},_CheckAndSplitPre:function(A){var B;var C=A.firstChild;C=C&&C.nextSibling;while (C){var D=C.nextSibling;if (D&&D.nextSibling&&C.nodeName.IEquals('br')&&D.nodeName.IEquals('br')){FCKDomTools.RemoveNode(C);C=D.nextSibling;FCKDomTools.RemoveNode(D);B=FCKDomTools.InsertAfterNode(B||A,FCKDomTools.CloneElement(A));continue;};if (B){C=C.previousSibling;FCKDomTools.MoveNode(C.nextSibling,B);};C=C.nextSibling;}},_ApplyBlockStyle:function(A,B,C){var D;if (B) D=A.CreateBookmark();var E=new FCKDomRangeIterator(A);E.EnforceRealBlocks=true;var F;var G=A.Window.document;var H;while((F=E.GetNextParagraph())){var I=this.BuildElement(G);var J=I.nodeName.IEquals('pre');var K=F.nodeName.IEquals('pre');var L=J&&!K;var M=!J&&K;if (L) I=this._ToPre(G,F,I);else if (M) I=this._FromPre(G,F,I);else FCKDomTools.MoveChildren(F,I);F.parentNode.insertBefore(I,F);FCKDomTools.RemoveNode(F);if (J){if (H) this._CheckAndMergePre(H,I);H=I;}else if (M) this._CheckAndSplitPre(I);};if (B) A.SelectBookmark(D);if (C) A.MoveToBookmark(D);},_ApplyInlineStyle:function(A,B,C){var D=A.Window.document;if (A.CheckIsCollapsed()){var E=this.BuildElement(D);A.InsertNode(E);A.MoveToPosition(E,2);A.Select();return;};var F=this.Element;var G=FCK.DTD[F]||FCK.DTD.span;var H=this._GetAttribsForComparison();var I;A.Expand('inline_elements');var J=A.CreateBookmark(true);var K=A.GetBookmarkNode(J,true);var L=A.GetBookmarkNode(J,false);A.Release(true);var M=FCKDomTools.GetNextSourceNode(K,true);while (M){var N=false;var O=M.nodeType;var P=O==1?M.nodeName.toLowerCase():null;if (!P||G[P]){if ((FCK.DTD[M.parentNode.nodeName.toLowerCase()]||FCK.DTD.span)[F]||!FCK.DTD[F]){if (!A.CheckHasRange()) A.SetStart(M,3);if (O!=1||M.childNodes.length==0){var Q=M;var R=Q.parentNode;while (Q==R.lastChild&&G[R.nodeName.toLowerCase()]){Q=R;};A.SetEnd(Q,4);if (Q==Q.parentNode.lastChild&&!G[Q.parentNode.nodeName.toLowerCase()]) N=true;}else{A.SetEnd(M,3);}}else N=true;}else N=true;M=FCKDomTools.GetNextSourceNode(M);if (M==L){M=null;N=true;};if (N&&A.CheckHasRange()&&!A.CheckIsCollapsed()){I=this.BuildElement(D);A.ExtractContents().AppendTo(I);if (I.innerHTML.RTrim().length>0){A.InsertNode(I);this.RemoveFromElement(I);this._MergeSiblings(I,this._GetAttribsForComparison());if (!FCKBrowserInfo.IsIE) I.normalize();};A.Release(true);}};this._FixBookmarkStart(K);if (B) A.SelectBookmark(J);if (C) A.MoveToBookmark(J);},_FixBookmarkStart:function(A){var B;while ((B=A.nextSibling)){if (B.nodeType==1&&FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){if (!B.firstChild) FCKDomTools.RemoveNode(B);else FCKDomTools.MoveNode(A,B,true);continue;};if (B.nodeType==3&&B.length==0){FCKDomTools.RemoveNode(B);continue;};break;}},_MergeSiblings:function(A,B){if (!A||A.nodeType!=1||!FCKListsLib.InlineNonEmptyElements[A.nodeName.toLowerCase()]) return;this._MergeNextSibling(A,B);this._MergePreviousSibling(A,B);},_MergeNextSibling:function(A,B){var C=A.nextSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.nextSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.lastChild;if (D) FCKDomTools.MoveNode(A.nextSibling,A);FCKDomTools.MoveChildren(C,A);FCKDomTools.RemoveNode(C);if (E) this._MergeNextSibling(E);}}},_MergePreviousSibling:function(A,B){var C=A.previousSibling;var D=(C&&C.nodeType==1&&C.getAttribute('_fck_bookmark'));if (D) C=C.previousSibling;if (C&&C.nodeType==1&&C.nodeName==A.nodeName){if (!B) B=this._CreateElementAttribsForComparison(A);if (this._CheckAttributesMatch(C,B)){var E=A.firstChild;if (D) FCKDomTools.MoveNode(A.previousSibling,A,true);FCKDomTools.MoveChildren(C,A,true);FCKDomTools.RemoveNode(C);if (E) this._MergePreviousSibling(E);}}},_GetStyleText:function(){var A=this._StyleDesc.Styles;var B=(this._StyleDesc.Attributes?this._StyleDesc.Attributes['style']||'':'');if (B.length>0) B+=';';for (var C in A) B+=C+':'+A[C]+';';if (B.length>0&&!(/#\(/.test(B))){B=FCKTools.NormalizeCssText(B);};return (this._GetStyleText=function() { return B;})();},_GetAttribsForComparison:function(){var A=this._GetAttribsForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Attributes;if (B){for (var C in B){A[C.toLowerCase()]=B[C].toLowerCase();}};if (this._GetStyleText().length>0){A['style']=this._GetStyleText().toLowerCase();};FCKTools.AppendLengthProperty(A,'_length');return (this._GetAttribsForComparison_$=A);},_GetOverridesForComparison:function(){var A=this._GetOverridesForComparison_$;if (A) return A;A={};var B=this._StyleDesc.Overrides;if (B){if (!FCKTools.IsArray(B)) B=[B];for (var i=0;i0) return true;};B=B.nextSibling;};return false;}}; -var FCKElementPath=function(A){var B=null;var C=null;var D=[];var e=A;while (e){if (e.nodeType==1){if (!this.LastElement) this.LastElement=e;var E=e.nodeName.toLowerCase();if (FCKBrowserInfo.IsIE&&e.scopeName!='HTML') E=e.scopeName.toLowerCase()+':'+E;if (!C){if (!B&&FCKListsLib.PathBlockElements[E]!=null) B=e;if (FCKListsLib.PathBlockLimitElements[E]!=null){if (!B&&E=='div'&&!FCKElementPath._CheckHasBlock(e)) B=e;else C=e;}};D.push(e);if (E=='body') break;};e=e.parentNode;};this.Block=B;this.BlockLimit=C;this.Elements=D;};FCKElementPath._CheckHasBlock=function(A){var B=A.childNodes;for (var i=0,count=B.length;i0){if (D.nodeType==3){var G=D.nodeValue.substr(0,E).Trim();if (G.length!=0) return A.IsStartOfBlock=false;}else F=D.childNodes[E-1];};if (!F) F=FCKDomTools.GetPreviousSourceNode(D,true,null,C);while (F){switch (F.nodeType){case 1:if (!FCKListsLib.InlineChildReqElements[F.nodeName.toLowerCase()]) return A.IsStartOfBlock=false;break;case 3:if (F.nodeValue.Trim().length>0) return A.IsStartOfBlock=false;};F=FCKDomTools.GetPreviousSourceNode(F,false,null,C);};return A.IsStartOfBlock=true;},CheckEndOfBlock:function(A){var B=this._Cache.IsEndOfBlock;if (B!=undefined) return B;var C=this.EndBlock||this.EndBlockLimit;var D=this._Range.endContainer;var E=this._Range.endOffset;var F;if (D.nodeType==3){var G=D.nodeValue;if (E0) return this._Cache.IsEndOfBlock=false;};F=FCKDomTools.GetNextSourceNode(F,false,null,C);};if (A) this.Select();return this._Cache.IsEndOfBlock=true;},CreateBookmark:function(A){var B={StartId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'S',EndId:(new Date()).valueOf()+Math.floor(Math.random()*1000)+'E'};var C=this.Window.document;var D;var E;var F;if (!this.CheckIsCollapsed()){E=C.createElement('span');E.style.display='none';E.id=B.EndId;E.setAttribute('_fck_bookmark',true);E.innerHTML=' ';F=this.Clone();F.Collapse(false);F.InsertNode(E);};D=C.createElement('span');D.style.display='none';D.id=B.StartId;D.setAttribute('_fck_bookmark',true);D.innerHTML=' ';F=this.Clone();F.Collapse(true);F.InsertNode(D);if (A){B.StartNode=D;B.EndNode=E;};if (E){this.SetStart(D,4);this.SetEnd(E,3);}else this.MoveToPosition(D,4);return B;},GetBookmarkNode:function(A,B){var C=this.Window.document;if (B) return A.StartNode||C.getElementById(A.StartId);else return A.EndNode||C.getElementById(A.EndId);},MoveToBookmark:function(A,B){var C=this.GetBookmarkNode(A,true);var D=this.GetBookmarkNode(A,false);this.SetStart(C,3);if (!B) FCKDomTools.RemoveNode(C);if (D){this.SetEnd(D,3);if (!B) FCKDomTools.RemoveNode(D);}else this.Collapse(true);this._UpdateElementInfo();},CreateBookmark2:function(){if (!this._Range) return { "Start":0,"End":0 };var A={"Start":[this._Range.startOffset],"End":[this._Range.endOffset]};var B=this._Range.startContainer.previousSibling;var C=this._Range.endContainer.previousSibling;var D=this._Range.startContainer;var E=this._Range.endContainer;while (B&&D.nodeType==3){A.Start[0]+=B.length;D=B;B=B.previousSibling;}while (C&&E.nodeType==3){A.End[0]+=C.length;E=C;C=C.previousSibling;};if (D.nodeType==1&&D.childNodes[A.Start[0]]&&D.childNodes[A.Start[0]].nodeType==3){var F=D.childNodes[A.Start[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};D=F;A.Start[0]=G;};if (E.nodeType==1&&E.childNodes[A.End[0]]&&E.childNodes[A.End[0]].nodeType==3){var F=E.childNodes[A.End[0]];var G=0;while (F.previousSibling&&F.previousSibling.nodeType==3){F=F.previousSibling;G+=F.length;};E=F;A.End[0]=G;};A.Start=FCKDomTools.GetNodeAddress(D,true).concat(A.Start);A.End=FCKDomTools.GetNodeAddress(E,true).concat(A.End);return A;},MoveToBookmark2:function(A){var B=FCKDomTools.GetNodeFromAddress(this.Window.document,A.Start.slice(0,-1),true);var C=FCKDomTools.GetNodeFromAddress(this.Window.document,A.End.slice(0,-1),true);this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var D=A.Start[A.Start.length-1];var E=A.End[A.End.length-1];while (B.nodeType==3&&D>B.length){if (!B.nextSibling||B.nextSibling.nodeType!=3) break;D-=B.length;B=B.nextSibling;}while (C.nodeType==3&&E>C.length){if (!C.nextSibling||C.nextSibling.nodeType!=3) break;E-=C.length;C=C.nextSibling;};this._Range.setStart(B,D);this._Range.setEnd(C,E);this._UpdateElementInfo();},MoveToPosition:function(A,B){this.SetStart(A,B);this.Collapse(true);},SetStart:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setStart(A,0);break;case 2:D.setStart(A,A.childNodes.length);break;case 3:D.setStartBefore(A);break;case 4:D.setStartAfter(A);};if (!C) this._UpdateElementInfo();},SetEnd:function(A,B,C){var D=this._Range;if (!D) D=this._Range=this.CreateRange();switch(B){case 1:D.setEnd(A,0);break;case 2:D.setEnd(A,A.childNodes.length);break;case 3:D.setEndBefore(A);break;case 4:D.setEndAfter(A);};if (!C) this._UpdateElementInfo();},Expand:function(A){var B,oSibling;switch (A){case 'inline_elements':if (this._Range.startOffset==0){B=this._Range.startContainer;if (B.nodeType!=1) B=B.previousSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setStartBefore(B);if (B!=B.parentNode.firstChild) break;B=B.parentNode;}}};B=this._Range.endContainer;var C=this._Range.endOffset;if ((B.nodeType==3&&C>=B.nodeValue.length)||(B.nodeType==1&&C>=B.childNodes.length)||(B.nodeType!=1&&B.nodeType!=3)){if (B.nodeType!=1) B=B.nextSibling?null:B.parentNode;if (B){while (FCKListsLib.InlineNonEmptyElements[B.nodeName.toLowerCase()]){this._Range.setEndAfter(B);if (B!=B.parentNode.lastChild) break;B=B.parentNode;}}};break;case 'block_contents':case 'list_contents':var D=FCKListsLib.BlockBoundaries;if (A=='list_contents'||FCKConfig.EnterMode=='br') D=FCKListsLib.ListBoundaries;if (this.StartBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents') this.SetStart(this.StartBlock,1);else{B=this._Range.startContainer;if (B.nodeType==1){var E=B.childNodes[this._Range.startOffset];if (E) B=FCKDomTools.GetPreviousSourceNode(E,true);else B=B.lastChild||B;}while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setStartBefore(B);B=B.previousSibling||B.parentNode;}};if (this.EndBlock&&FCKConfig.EnterMode!='br'&&A=='block_contents'&&this.EndBlock.nodeName.toLowerCase()!='li') this.SetEnd(this.EndBlock,2);else{B=this._Range.endContainer;if (B.nodeType==1) B=B.childNodes[this._Range.endOffset]||B.lastChild;while (B&&(B.nodeType!=1||(B!=this.StartBlockLimit&&!D[B.nodeName.toLowerCase()]))){this._Range.setEndAfter(B);B=B.nextSibling||B.parentNode;};if (B&&B.nodeName.toLowerCase()=='br') this._Range.setEndAfter(B);};this._UpdateElementInfo();}},SplitBlock:function(A){var B=A||FCKConfig.EnterMode;if (!this._Range) this.MoveToSelection();if (this.StartBlockLimit==this.EndBlockLimit){var C=this.StartBlock;var D=this.EndBlock;var E=null;if (B!='br'){if (!C){C=this.FixBlock(true,B);D=this.EndBlock;};if (!D) D=this.FixBlock(false,B);};var F=(C!=null&&this.CheckStartOfBlock());var G=(D!=null&&this.CheckEndOfBlock());if (!this.CheckIsEmpty()) this.DeleteContents();if (C&&D&&C==D){if (G){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(D,4);D=null;}else if (F){E=new FCKElementPath(this.StartContainer);this.MoveToPosition(C,3);C=null;}else{this.SetEnd(C,2);var H=this.ExtractContents();D=C.cloneNode(false);D.removeAttribute('id',false);H.AppendTo(D);FCKDomTools.InsertAfterNode(C,D);this.MoveToPosition(C,4);if (FCKBrowserInfo.IsGecko&&!C.nodeName.IEquals(['ul','ol'])) FCKTools.AppendBogusBr(C);}};return {PreviousBlock:C,NextBlock:D,WasStartOfBlock:F,WasEndOfBlock:G,ElementPath:E};};return null;},FixBlock:function(A,B){var C=this.CreateBookmark();this.Collapse(A);this.Expand('block_contents');var D=this.Window.document.createElement(B);this.ExtractContents().AppendTo(D);FCKDomTools.TrimNode(D);if (FCKDomTools.CheckIsEmptyElement(D,function(element) { return element.getAttribute('_fck_bookmark')!='true';})&&FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(D);this.InsertNode(D);this.MoveToBookmark(C);return D;},Release:function(A){if (!A) this.Window=null;this.StartNode=null;this.StartContainer=null;this.StartBlock=null;this.StartBlockLimit=null;this.EndNode=null;this.EndContainer=null;this.EndBlock=null;this.EndBlockLimit=null;this._Range=null;this._Cache=null;},CheckHasRange:function(){return!!this._Range;},GetTouchedStartNode:function(){var A=this._Range;var B=A.startContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.startOffset]||B;},GetTouchedEndNode:function(){var A=this._Range;var B=A.endContainer;if (A.collapsed||B.nodeType!=1) return B;return B.childNodes[A.endOffset-1]||B;}}; -FCKDomRange.prototype.MoveToSelection=function(){this.Release(true);this._Range=new FCKW3CRange(this.Window.document);var A=this.Window.document.selection;if (A.type!='Control'){var B=this._GetSelectionMarkerTag(true);var C=this._GetSelectionMarkerTag(false);if (!B&&!C){this._Range.setStart(this.Window.document.body,0);this._UpdateElementInfo();return;};this._Range.setStart(B.parentNode,FCKDomTools.GetIndexOf(B));B.parentNode.removeChild(B);this._Range.setEnd(C.parentNode,FCKDomTools.GetIndexOf(C));C.parentNode.removeChild(C);this._UpdateElementInfo();}else{var D=A.createRange().item(0);if (D){this._Range.setStartBefore(D);this._Range.setEndAfter(D);this._UpdateElementInfo();}}};FCKDomRange.prototype.Select=function(A){if (this._Range) this.SelectBookmark(this.CreateBookmark(true),A);};FCKDomRange.prototype.SelectBookmark=function(A,B){var C=this.CheckIsCollapsed();var D;var E;var F=this.GetBookmarkNode(A,true);if (!F) return;var G;if (!C) G=this.GetBookmarkNode(A,false);var H=this.Window.document.body.createTextRange();H.moveToElementText(F);H.moveStart('character',1);if (G){var I=this.Window.document.body.createTextRange();I.moveToElementText(G);H.setEndPoint('EndToEnd',I);H.moveEnd('character',-1);}else{D=(B||!F.previousSibling||F.previousSibling.nodeName.toLowerCase()=='br')&&!F.nextSibing;E=this.Window.document.createElement('span');E.innerHTML='';F.parentNode.insertBefore(E,F);if (D){F.parentNode.insertBefore(this.Window.document.createTextNode('\ufeff'),F);}};if (!this._Range) this._Range=this.CreateRange();this._Range.setStartBefore(F);F.parentNode.removeChild(F);if (C){if (D){H.moveStart('character',-1);H.select();this.Window.document.selection.clear();}else H.select();FCKDomTools.RemoveNode(E);}else{this._Range.setEndBefore(G);G.parentNode.removeChild(G);H.select();}};FCKDomRange.prototype._GetSelectionMarkerTag=function(A){var B=this.Window.document;var C=B.selection;var D;try{D=C.createRange();}catch (e){return null;};if (D.parentElement().document!=B) return null;D.collapse(A===true);var E='fck_dom_range_temp_'+(new Date()).valueOf()+'_'+Math.floor(Math.random()*1000);D.pasteHTML('');return B.getElementById(E);}; -var FCKDomRangeIterator=function(A){this.Range=A;this.ForceBrBreak=false;this.EnforceRealBlocks=false;};FCKDomRangeIterator.CreateFromSelection=function(A){var B=new FCKDomRange(A);B.MoveToSelection();return new FCKDomRangeIterator(B);};FCKDomRangeIterator.prototype={GetNextParagraph:function(){var A;var B;var C;var D;var E;var F=this.ForceBrBreak?FCKListsLib.ListBoundaries:FCKListsLib.BlockBoundaries;if (!this._LastNode){var B=this.Range.Clone();B.Expand(this.ForceBrBreak?'list_contents':'block_contents');this._NextNode=B.GetTouchedStartNode();this._LastNode=B.GetTouchedEndNode();B=null;};var H=this._NextNode;var I=this._LastNode;this._NextNode=null;while (H){var J=false;var K=(H.nodeType!=1);var L=false;if (!K){var M=H.nodeName.toLowerCase();if (F[M]&&(!FCKBrowserInfo.IsIE||H.scopeName=='HTML')){if (M=='br') K=true;else if (!B&&H.childNodes.length==0&&M!='hr'){A=H;C=H==I;break;};if (B){B.SetEnd(H,3,true);if (M!='br') this._NextNode=FCKDomTools.GetNextSourceNode(H,true,null,I);};J=true;}else{if (H.firstChild){if (!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};H=H.firstChild;continue;};K=true;}}else if (H.nodeType==3){if (/^[\r\n\t ]+$/.test(H.nodeValue)) K=false;};if (K&&!B){B=new FCKDomRange(this.Range.Window);B.SetStart(H,3,true);};C=((!J||K)&&H==I);if (B&&!J){while (!H.nextSibling&&!C){var N=H.parentNode;if (F[N.nodeName.toLowerCase()]){J=true;C=C||(N==I);break;};H=N;K=true;C=(H==I);L=true;}};if (K) B.SetEnd(H,4,true);if ((J||C)&&B){B._UpdateElementInfo();if (B.StartNode==B.EndNode&&B.StartNode.parentNode==B.StartBlockLimit&&B.StartNode.getAttribute&&B.StartNode.getAttribute('_fck_bookmark')) B=null;else break;};if (C) break;H=FCKDomTools.GetNextSourceNode(H,L,null,I);};if (!A){if (!B){this._NextNode=null;return null;};A=B.StartBlock;if (!A&&!this.EnforceRealBlocks&&B.StartBlockLimit.nodeName.IEquals('DIV','TH','TD')&&B.CheckStartOfBlock()&&B.CheckEndOfBlock()){A=B.StartBlockLimit;}else if (!A||(this.EnforceRealBlocks&&A.nodeName.toLowerCase()=='li')){A=this.Range.Window.document.createElement(FCKConfig.EnterMode=='p'?'p':'div');B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);B.InsertNode(A);D=true;E=true;}else if (A.nodeName.toLowerCase()!='li'){if (!B.CheckStartOfBlock()||!B.CheckEndOfBlock()){A=A.cloneNode(false);B.ExtractContents().AppendTo(A);FCKDomTools.TrimNode(A);var O=B.SplitBlock();D=!O.WasStartOfBlock;E=!O.WasEndOfBlock;B.InsertNode(A);}}else if (!C){this._NextNode=A==I?null:FCKDomTools.GetNextSourceNode(B.EndNode,true,null,I);return A;}};if (D){var P=A.previousSibling;if (P&&P.nodeType==1){if (P.nodeName.toLowerCase()=='br') P.parentNode.removeChild(P);else if (P.lastChild&&P.lastChild.nodeName.IEquals('br')) P.removeChild(P.lastChild);}};if (E){var Q=A.lastChild;if (Q&&Q.nodeType==1&&Q.nodeName.toLowerCase()=='br') A.removeChild(Q);};if (!this._NextNode) this._NextNode=(C||A==I)?null:FCKDomTools.GetNextSourceNode(A,true,null,I);return A;}}; -var FCKDocumentFragment=function(A){this._Document=A;this.RootNode=A.createElement('div');};FCKDocumentFragment.prototype={AppendTo:function(A){FCKDomTools.MoveChildren(this.RootNode,A);},AppendHtml:function(A){var B=this._Document.createElement('div');B.innerHTML=A;FCKDomTools.MoveChildren(B,this.RootNode);},InsertAfterNode:function(A){var B=this.RootNode;var C;while((C=B.lastChild)) FCKDomTools.InsertAfterNode(A,B.removeChild(C));}}; -var FCKW3CRange=function(A){this._Document=A;this.startContainer=null;this.startOffset=null;this.endContainer=null;this.endOffset=null;this.collapsed=true;};FCKW3CRange.CreateRange=function(A){return new FCKW3CRange(A);};FCKW3CRange.CreateFromRange=function(A,B){var C=FCKW3CRange.CreateRange(A);C.setStart(B.startContainer,B.startOffset);C.setEnd(B.endContainer,B.endOffset);return C;};FCKW3CRange.prototype={_UpdateCollapsed:function(){this.collapsed=(this.startContainer==this.endContainer&&this.startOffset==this.endOffset);},setStart:function(A,B){this.startContainer=A;this.startOffset=B;if (!this.endContainer){this.endContainer=A;this.endOffset=B;};this._UpdateCollapsed();},setEnd:function(A,B){this.endContainer=A;this.endOffset=B;if (!this.startContainer){this.startContainer=A;this.startOffset=B;};this._UpdateCollapsed();},setStartAfter:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setStartBefore:function(A){this.setStart(A.parentNode,FCKDomTools.GetIndexOf(A));},setEndAfter:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A)+1);},setEndBefore:function(A){this.setEnd(A.parentNode,FCKDomTools.GetIndexOf(A));},collapse:function(A){if (A){this.endContainer=this.startContainer;this.endOffset=this.startOffset;}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset;};this.collapsed=true;},selectNodeContents:function(A){this.setStart(A,0);this.setEnd(A,A.nodeType==3?A.data.length:A.childNodes.length);},insertNode:function(A){var B=this.startContainer;var C=this.startOffset;if (B.nodeType==3){B.splitText(C);if (B==this.endContainer) this.setEnd(B.nextSibling,this.endOffset-this.startOffset);FCKDomTools.InsertAfterNode(B,A);return;}else{B.insertBefore(A,B.childNodes[C]||null);if (B==this.endContainer){this.endOffset++;this.collapsed=false;}}},deleteContents:function(){if (this.collapsed) return;this._ExecContentsAction(0);},extractContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(1,A);return A;},cloneContents:function(){var A=new FCKDocumentFragment(this._Document);if (!this.collapsed) this._ExecContentsAction(2,A);return A;},_ExecContentsAction:function(A,B){var C=this.startContainer;var D=this.endContainer;var E=this.startOffset;var F=this.endOffset;var G=false;var H=false;if (D.nodeType==3) D=D.splitText(F);else{if (D.childNodes.length>0){if (F>D.childNodes.length-1){D=FCKDomTools.InsertAfterNode(D.lastChild,this._Document.createTextNode(''));H=true;}else D=D.childNodes[F];}};if (C.nodeType==3){C.splitText(E);if (C==D) D=C.nextSibling;}else{if (E==0){C=C.insertBefore(this._Document.createTextNode(''),C.firstChild);G=true;}else if (E>C.childNodes.length-1){C=C.appendChild(this._Document.createTextNode(''));G=true;}else C=C.childNodes[E].previousSibling;};var I=FCKDomTools.GetParents(C);var J=FCKDomTools.GetParents(D);var i,topStart,topEnd;for (i=0;i0&&levelStartNode!=D) levelClone=K.appendChild(levelStartNode.cloneNode(levelStartNode==D));if (!I[k]||levelStartNode.parentNode!=I[k].parentNode){currentNode=levelStartNode.previousSibling;while(currentNode){if (currentNode==I[k]||currentNode==C) break;currentSibling=currentNode.previousSibling;if (A==2) K.insertBefore(currentNode.cloneNode(true),K.firstChild);else{currentNode.parentNode.removeChild(currentNode);if (A==1) K.insertBefore(currentNode,K.firstChild);};currentNode=currentSibling;}};if (K) K=levelClone;};if (A==2){var L=this.startContainer;if (L.nodeType==3){L.data+=L.nextSibling.data;L.parentNode.removeChild(L.nextSibling);};var M=this.endContainer;if (M.nodeType==3&&M.nextSibling){M.data+=M.nextSibling.data;M.parentNode.removeChild(M.nextSibling);}}else{if (topStart&&topEnd&&(C.parentNode!=topStart.parentNode||D.parentNode!=topEnd.parentNode)){var N=FCKDomTools.GetIndexOf(topEnd);if (G&&topEnd.parentNode==C.parentNode) N--;this.setStart(topEnd.parentNode,N);};this.collapse(true);};if(G) C.parentNode.removeChild(C);if(H&&D.parentNode) D.parentNode.removeChild(D);},cloneRange:function(){return FCKW3CRange.CreateFromRange(this._Document,this);}}; -var FCKEnterKey=function(A,B,C,D){this.Window=A;this.EnterMode=B||'p';this.ShiftEnterMode=C||'br';var E=new FCKKeystrokeHandler(false);E._EnterKey=this;E.OnKeystroke=FCKEnterKey_OnKeystroke;E.SetKeystrokes([[13,'Enter'],[SHIFT+13,'ShiftEnter'],[8,'Backspace'],[CTRL+8,'CtrlBackspace'],[46,'Delete']]);this.TabText='';if (D>0||FCKBrowserInfo.IsSafari){while (D--) this.TabText+='\xa0';E.SetKeystrokes([9,'Tab']);};E.AttachToElement(A.document);};function FCKEnterKey_OnKeystroke(A,B){var C=this._EnterKey;try{switch (B){case 'Enter':return C.DoEnter();break;case 'ShiftEnter':return C.DoShiftEnter();break;case 'Backspace':return C.DoBackspace();break;case 'Delete':return C.DoDelete();break;case 'Tab':return C.DoTab();break;case 'CtrlBackspace':return C.DoCtrlBackspace();break;}}catch (e){};return false;};FCKEnterKey.prototype.DoEnter=function(A,B){FCKUndo.SaveUndoStep();this._HasShift=(B===true);var C=FCKSelection.GetParentElement();var D=new FCKElementPath(C);var E=A||this.EnterMode;if (E=='br'||D.Block&&D.Block.tagName.toLowerCase()=='pre') return this._ExecuteEnterBr();else return this._ExecuteEnterBlock(E);};FCKEnterKey.prototype.DoShiftEnter=function(){return this.DoEnter(this.ShiftEnterMode,true);};FCKEnterKey.prototype.DoBackspace=function(){var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};var C=B.CheckIsCollapsed();if (!C){if (FCKBrowserInfo.IsIE&&this.Window.document.selection.type.toLowerCase()=="control"){var D=this.Window.document.selection.createRange();for (var i=D.length-1;i>=0;i--){var E=D.item(i);E.parentNode.removeChild(E);};return true;};return false;};if (FCKBrowserInfo.IsIE){var F=FCKDomTools.GetPreviousSourceElement(B.StartNode,true);if (F&&F.nodeName.toLowerCase()=='br'){var G=B.Clone();G.SetStart(F,4);if (G.CheckIsEmpty()){F.parentNode.removeChild(F);return true;}}};var H=B.StartBlock;var I=B.EndBlock;if (B.StartBlockLimit==B.EndBlockLimit&&H&&I){if (!C){var J=B.CheckEndOfBlock();B.DeleteContents();if (H!=I){B.SetStart(I,1);B.SetEnd(I,1);};B.Select();A=(H==I);};if (B.CheckStartOfBlock()){var K=B.StartBlock;var L=FCKDomTools.GetPreviousSourceElement(K,true,['BODY',B.StartBlockLimit.nodeName],['UL','OL']);A=this._ExecuteBackspace(B,L,K);}else if (FCKBrowserInfo.IsGeckoLike){B.Select();}};B.Release();return A;};FCKEnterKey.prototype.DoCtrlBackspace=function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(this.Window);A.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(A,this.Window.document.body)){this._FixIESelectAllBug(A);return true;};return false;};FCKEnterKey.prototype._ExecuteBackspace=function(A,B,C){var D=false;if (!B&&C&&C.nodeName.IEquals('LI')&&C.parentNode.parentNode.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};if (B&&B.nodeName.IEquals('LI')){var E=FCKDomTools.GetLastChild(B,['UL','OL']);while (E){B=FCKDomTools.GetLastChild(E,'LI');E=FCKDomTools.GetLastChild(B,['UL','OL']);}};if (B&&C){if (C.nodeName.IEquals('LI')&&!B.nodeName.IEquals('LI')){this._OutdentWithSelection(C,A);return true;};var F=C.parentNode;var G=B.nodeName.toLowerCase();if (FCKListsLib.EmptyElements[G]!=null||G=='table'){FCKDomTools.RemoveNode(B);D=true;}else{FCKDomTools.RemoveNode(C);while (F.innerHTML.Trim().length==0){var H=F.parentNode;H.removeChild(F);F=H;};FCKDomTools.LTrimNode(C);FCKDomTools.RTrimNode(B);A.SetStart(B,2,true);A.Collapse(true);var I=A.CreateBookmark(true);if (!C.tagName.IEquals(['TABLE'])) FCKDomTools.MoveChildren(C,B);A.SelectBookmark(I);D=true;}};return D;};FCKEnterKey.prototype.DoDelete=function(){FCKUndo.SaveUndoStep();var A=false;var B=new FCKDomRange(this.Window);B.MoveToSelection();if (FCKBrowserInfo.IsIE&&this._CheckIsAllContentsIncluded(B,this.Window.document.body)){this._FixIESelectAllBug(B);return true;};if (B.CheckIsCollapsed()&&B.CheckEndOfBlock(FCKBrowserInfo.IsGeckoLike)){var C=B.StartBlock;var D=FCKTools.GetElementAscensor(C,'td');var E=FCKDomTools.GetNextSourceElement(C,true,[B.StartBlockLimit.nodeName],['UL','OL','TR'],true);if (D){var F=FCKTools.GetElementAscensor(E,'td');if (F!=D) return true;};A=this._ExecuteBackspace(B,C,E);};B.Release();return A;};FCKEnterKey.prototype.DoTab=function(){var A=new FCKDomRange(this.Window);A.MoveToSelection();var B=A._Range.startContainer;while (B){if (B.nodeType==1){var C=B.tagName.toLowerCase();if (C=="tr"||C=="td"||C=="th"||C=="tbody"||C=="table") return false;else break;};B=B.parentNode;};if (this.TabText){A.DeleteContents();A.InsertNode(this.Window.document.createTextNode(this.TabText));A.Collapse(false);A.Select();};return true;};FCKEnterKey.prototype._ExecuteEnterBlock=function(A,B){var C=B||new FCKDomRange(this.Window);var D=C.SplitBlock(A);if (D){var E=D.PreviousBlock;var F=D.NextBlock;var G=D.WasStartOfBlock;var H=D.WasEndOfBlock;if (F){if (F.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(F,F.parentNode);FCKDomTools.MoveNode(F,F.nextSibling,true);}}else if (E&&E.parentNode.nodeName.IEquals('li')){FCKDomTools.BreakParent(E,E.parentNode);C.MoveToElementEditStart(E.nextSibling);FCKDomTools.MoveNode(E,E.previousSibling);};if (!G&&!H){if (F.nodeName.IEquals('li')&&F.firstChild&&F.firstChild.nodeName.IEquals(['ul','ol'])) F.insertBefore(FCKTools.GetElementDocument(F).createTextNode('\xa0'),F.firstChild);if (F) C.MoveToElementEditStart(F);}else{if (G&&H&&E.tagName.toUpperCase()=='LI'){C.MoveToElementStart(E);this._OutdentWithSelection(E,C);C.Release();return true;};var I;if (E){var J=E.tagName.toUpperCase();if (!this._HasShift&&!(/^H[1-6]$/).test(J)){I=FCKDomTools.CloneElement(E);}}else if (F) I=FCKDomTools.CloneElement(F);if (!I) I=this.Window.document.createElement(A);var K=D.ElementPath;if (K){for (var i=0,len=K.Elements.length;i=0&&(C=B[i--])){if (C.name.length>0){if (C.innerHTML!==''){if (FCKBrowserInfo.IsIE) C.className+=' FCK__AnchorC';}else{var D=FCKDocumentProcessor_CreateFakeImage('FCK__Anchor',C.cloneNode(true));D.setAttribute('_fckanchor','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}}}};var FCKPageBreaksProcessor=FCKDocumentProcessor.AppendNew();FCKPageBreaksProcessor.ProcessDocument=function(A){var B=A.getElementsByTagName('DIV');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.style.pageBreakAfter=='always'&&C.childNodes.length==1&&C.childNodes[0].style&&C.childNodes[0].style.display=='none'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',C.cloneNode(true));C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor=(function(){var A=[];var B=function(el){var C=el.cloneNode(true);var D;var E=D=FCKDocumentProcessor_CreateFakeImage('FCK__UnknownObject',C);FCKEmbedAndObjectProcessor.RefreshView(E,el);for (var i=0;i=0;i--) B(G[i]);};var H=function(doc){F('object',doc);F('embed',doc);};return FCKTools.Merge(FCKDocumentProcessor.AppendNew(),{ProcessDocument:function(doc){if (FCKBrowserInfo.IsGecko) FCKTools.RunFunction(H,this,[doc]);else H(doc);},RefreshView:function(placeHolder,original){if (original.getAttribute('width')>0) placeHolder.style.width=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('width'));if (original.getAttribute('height')>0) placeHolder.style.height=FCKTools.ConvertHtmlSizeToStyle(original.getAttribute('height'));},AddCustomHandler:function(func){A.push(func);}});})();FCK.GetRealElement=function(A){var e=FCKTempBin.Elements[A.getAttribute('_fckrealelement')];if (A.getAttribute('_fckflash')){if (A.style.width.length>0) e.width=FCKTools.ConvertStyleSizeToHtml(A.style.width);if (A.style.height.length>0) e.height=FCKTools.ConvertStyleSizeToHtml(A.style.height);};return e;};if (FCKBrowserInfo.IsIE){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('HR');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){var D=A.createElement('hr');D.mergeAttributes(C,true);FCKDomTools.InsertAfterNode(C,D);C.parentNode.removeChild(C);}}};FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByTagName('INPUT');var C;var i=B.length-1;while (i>=0&&(C=B[i--])){if (C.type=='hidden'){var D=FCKDocumentProcessor_CreateFakeImage('FCK__InputHidden',C.cloneNode(true));D.setAttribute('_fckinputhidden','true',0);C.parentNode.insertBefore(D,C);C.parentNode.removeChild(C);}}};FCKEmbedAndObjectProcessor.AddCustomHandler(function(A,B){if (!(A.nodeName.IEquals('embed')&&(A.type=='application/x-shockwave-flash'||/\.swf($|#|\?)/i.test(A.src)))) return;B.className='FCK__Flash';B.setAttribute('_fckflash','true',0);});if (FCKBrowserInfo.IsSafari){FCKDocumentProcessor.AppendNew().ProcessDocument=function(A){var B=A.getElementsByClassName?A.getElementsByClassName('Apple-style-span'):Array.prototype.filter.call(A.getElementsByTagName('span'),function(item){ return item.className=='Apple-style-span';});for (var i=B.length-1;i>=0;i--) FCKDomTools.RemoveNode(B[i],true);}}; -var FCKSelection=FCK.Selection={GetParentBlock:function(){var A=this.GetParentElement();while (A){if (FCKListsLib.BlockBoundaries[A.nodeName.toLowerCase()]) break;A=A.parentNode;};return A;},ApplyStyle:function(A){FCKStyles.ApplyStyle(new FCKStyle(A));}}; -FCKSelection.GetType=function(){try{var A=FCKSelection.GetSelection().type;if (A=='Control'||A=='Text') return A;if (this.GetSelection().createRange().parentElement) return 'Text';}catch(e){};return 'None';};FCKSelection.GetSelectedElement=function(){if (this.GetType()=='Control'){var A=this.GetSelection().createRange();if (A&&A.item) return this.GetSelection().createRange().item(0);};return null;};FCKSelection.GetParentElement=function(){switch (this.GetType()){case 'Control':var A=FCKSelection.GetSelectedElement();return A?A.parentElement:null;case 'None':return null;default:return this.GetSelection().createRange().parentElement();}};FCKSelection.GetBoundaryParentElement=function(A){switch (this.GetType()){case 'Control':var B=FCKSelection.GetSelectedElement();return B?B.parentElement:null;case 'None':return null;default:var C=FCK.EditorDocument;var D=C.selection.createRange();D.collapse(A!==false);var B=D.parentElement();return FCKTools.GetElementDocument(B)==C?B:null;}};FCKSelection.SelectNode=function(A){FCK.Focus();this.GetSelection().empty();var B;try{B=FCK.EditorDocument.body.createControlRange();B.addElement(A);}catch(e){B=FCK.EditorDocument.body.createTextRange();B.moveToElementText(A);};B.select();};FCKSelection.Collapse=function(A){FCK.Focus();if (this.GetType()=='Text'){var B=this.GetSelection().createRange();B.collapse(A==null||A===true);B.select();}};FCKSelection.HasAncestorNode=function(A){var B;if (this.GetSelection().type=="Control"){B=this.GetSelectedElement();}else{var C=this.GetSelection().createRange();B=C.parentElement();}while (B){if (B.nodeName.IEquals(A)) return true;B=B.parentNode;};return false;};FCKSelection.MoveToAncestorNode=function(A){var B,oRange;if (!FCK.EditorDocument) return null;if (this.GetSelection().type=="Control"){oRange=this.GetSelection().createRange();for (i=0;i=0;i--){if (C[i]) FCKTableHandler.DeleteRows(C[i]);};return;};var E=FCKTools.GetElementAscensor(A,'TABLE');if (E.rows.length==1){FCKTableHandler.DeleteTable(E);return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteTable=function(A){if (!A){A=FCKSelection.GetSelectedElement();if (!A||A.tagName!='TABLE') A=FCKSelection.MoveToAncestorNode('TABLE');};if (!A) return;FCKSelection.SelectNode(A);FCKSelection.Collapse();if (A.parentNode.childNodes.length==1) A.parentNode.parentNode.removeChild(A.parentNode);else A.parentNode.removeChild(A);};FCKTableHandler.InsertColumn=function(A){var B=null;var C=this.GetSelectedCells();if (C&&C.length) B=C[A?0:(C.length-1)];if (!B) return;var D=FCKTools.GetElementAscensor(B,'TABLE');var E=B.cellIndex;for (var i=0;i=0;i--){if (B[i]) FCKTableHandler.DeleteColumns(B[i]);};return;};if (!A) return;var C=FCKTools.GetElementAscensor(A,'TABLE');var D=A.cellIndex;for (var i=C.rows.length-1;i>=0;i--){var E=C.rows[i];if (D==0&&E.cells.length==1){FCKTableHandler.DeleteRows(E);continue;};if (E.cells[D]) E.removeChild(E.cells[D]);}};FCKTableHandler.InsertCell=function(A,B){var C=null;var D=this.GetSelectedCells();if (D&&D.length) C=D[B?0:(D.length-1)];if (!C) return null;var E=FCK.EditorDocument.createElement('TD');if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(E);if (!B&&C.cellIndex==C.parentNode.cells.length-1) C.parentNode.appendChild(E);else C.parentNode.insertBefore(E,B?C:C.nextSibling);return E;};FCKTableHandler.DeleteCell=function(A){if (A.parentNode.cells.length==1){FCKTableHandler.DeleteRows(FCKTools.GetElementAscensor(A,'TR'));return;};A.parentNode.removeChild(A);};FCKTableHandler.DeleteCells=function(){var A=FCKTableHandler.GetSelectedCells();for (var i=A.length-1;i>=0;i--){FCKTableHandler.DeleteCell(A[i]);}};FCKTableHandler._MarkCells=function(A,B){for (var i=0;i=E.height){for (D=F;D0){var L=K.removeChild(K.firstChild);if (L.nodeType!=1||(L.getAttribute('type',2)!='_moz'&&L.getAttribute('_moz_dirty')!=null)){I.appendChild(L);J++;}}};if (J>0) I.appendChild(FCKTools.GetElementDocument(B).createElement('br'));};this._ReplaceCellsByMarker(C,'_SelectedCells',B);this._UnmarkCells(A,'_SelectedCells');this._InstallTableMap(C,B.parentNode.parentNode);B.appendChild(I);if (FCKBrowserInfo.IsGeckoLike&&(!B.firstChild)) FCKTools.AppendBogusBr(B);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeRight=function(){var A=this.GetMergeRightTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCK.EditorDocument.createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));D.parentNode.removeChild(D);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.MergeDown=function(){var A=this.GetMergeDownTarget();if (A==null) return;var B=A.refCell;var C=A.tableMap;var D=A.nextCell;var E=FCKTools.GetElementDocument(B).createDocumentFragment();while (D&&D.childNodes&&D.childNodes.length>0) E.appendChild(D.removeChild(D.firstChild));if (E.firstChild) E.insertBefore(FCKTools.GetElementDocument(D).createElement('br'),E.firstChild);B.appendChild(E);this._MarkCells([D],'_Replace');this._ReplaceCellsByMarker(C,'_Replace',B);this._InstallTableMap(C,B.parentNode.parentNode);this._MoveCaretToCell(B,false);};FCKTableHandler.HorizontalSplitCell=function(){var A=FCKTableHandler.GetSelectedCells();if (A.length!=1) return;var B=A[0];var C=this._CreateTableMap(B.parentNode.parentNode);var D=B.parentNode.rowIndex;var E=FCKTableHandler._GetCellIndexSpan(C,D,B);var F=isNaN(B.colSpan)?1:B.colSpan;if (F>1){var G=Math.ceil(F/2);var H=FCKTools.GetElementDocument(B).createElement('td');if (FCKBrowserInfo.IsGeckoLike) FCKTools.AppendBogusBr(H);var I=E+G;var J=E+F;var K=isNaN(B.rowSpan)?1:B.rowSpan;for (var r=D;r1){B.rowSpan=Math.ceil(E/2);var G=F+Math.ceil(E/2);var H=null;for (var i=D+1;iG) L.insertBefore(K,L.rows[G]);else L.appendChild(K);for (var i=0;i0){var D=B.rows[0];D.parentNode.removeChild(D);};for (var i=0;iF) F=j;if (E._colScanned===true) continue;if (A[i][j-1]==E) E.colSpan++;if (A[i][j+1]!=E) E._colScanned=true;}};for (var i=0;i<=F;i++){for (var j=0;j=0&&C.compareEndPoints('StartToEnd',E)<=0)||(C.compareEndPoints('EndToStart',E)>=0&&C.compareEndPoints('EndToEnd',E)<=0)){B[B.length]=D.cells[i];}}}};return B;}; -var FCKXml=function(){this.Error=false;};FCKXml.GetAttribute=function(A,B,C){var D=A.attributes.getNamedItem(B);return D?D.value:C;};FCKXml.TransformToObject=function(A){if (!A) return null;var B={};var C=A.attributes;for (var i=0;i 
    ';var A=FCKDocumentProcessor_CreateFakeImage('FCK__PageBreak',e);var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.SplitBlock();B.InsertNode(A);FCK.Events.FireEvent('OnSelectionChange');};FCKPageBreakCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKUnlinkCommand=function(){this.Name='Unlink';};FCKUnlinkCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (FCKBrowserInfo.IsGeckoLike){var A=FCK.Selection.MoveToAncestorNode('A');if (A) FCKTools.RemoveOuterTags(A);return;};FCK.ExecuteNamedCommand(this.Name);};FCKUnlinkCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState(this.Name);if (A==0&&FCK.EditMode==0){var B=FCKSelection.MoveToAncestorNode('A');var C=(B&&B.name.length>0&&B.href.length==0);if (C) A=-1;};return A;};FCKVisitLinkCommand=function(){this.Name='VisitLink';};FCKVisitLinkCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCK.GetNamedCommandState('Unlink');if (A==0){var B=FCKSelection.MoveToAncestorNode('A');if (!B.href) A=-1;};return A;},Execute:function(){var A=FCKSelection.MoveToAncestorNode('A');var B=A.getAttribute('_fcksavedurl')||A.getAttribute('href',2);if (!/:\/\//.test(B)){var C=FCKConfig.BaseHref;var D=FCK.GetInstanceObject('parent');if (!C){C=D.document.location.href;C=C.substring(0,C.lastIndexOf('/')+1);};if (/^\//.test(B)){try{C=C.match(/^.*:\/\/+[^\/]+/)[0];}catch (e){C=D.document.location.protocol+'://'+D.parent.document.location.host;}};B=C+B;};if (!window.open(B,'_blank')) alert(FCKLang.VisitLinkBlocked);}};var FCKSelectAllCommand=function(){this.Name='SelectAll';};FCKSelectAllCommand.prototype.Execute=function(){if (FCK.EditMode==0){FCK.ExecuteNamedCommand('SelectAll');}else{var A=FCK.EditingArea.Textarea;if (FCKBrowserInfo.IsIE){A.createTextRange().execCommand('SelectAll');}else{A.selectionStart=0;A.selectionEnd=A.value.length;};A.focus();}};FCKSelectAllCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return 0;};var FCKPasteCommand=function(){this.Name='Paste';};FCKPasteCommand.prototype={Execute:function(){if (FCKBrowserInfo.IsIE) FCK.Paste();else FCK.ExecuteNamedCommand('Paste');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');}};var FCKRuleCommand=function(){this.Name='Rule';};FCKRuleCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();FCK.InsertElement('hr');},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('InsertHorizontalRule');}};var FCKCutCopyCommand=function(A){this.Name=A?'Cut':'Copy';};FCKCutCopyCommand.prototype={Execute:function(){var A=false;if (FCKBrowserInfo.IsIE){var B=function(){A=true;};var C='on'+this.Name.toLowerCase();FCK.EditorDocument.body.attachEvent(C,B);FCK.ExecuteNamedCommand(this.Name);FCK.EditorDocument.body.detachEvent(C,B);}else{try{FCK.ExecuteNamedCommand(this.Name);A=true;}catch(e){}};if (!A) alert(FCKLang['PasteError'+this.Name]);},GetState:function(){return FCK.EditMode!=0?-1:FCK.GetNamedCommandState('Cut');}};var FCKAnchorDeleteCommand=function(){this.Name='AnchorDelete';};FCKAnchorDeleteCommand.prototype={Execute:function(){if (FCK.Selection.GetType()=='Control'){FCK.Selection.Delete();}else{var A=FCK.Selection.GetSelectedElement();if (A){if (A.tagName=='IMG'&&A.getAttribute('_fckanchor')) oAnchor=FCK.GetRealElement(A);else A=null;};if (!A){oAnchor=FCK.Selection.MoveToAncestorNode('A');if (oAnchor) FCK.Selection.SelectNode(oAnchor);};if (oAnchor.href.length!=0){oAnchor.removeAttribute('name');if (FCKBrowserInfo.IsIE) oAnchor.className=oAnchor.className.replace(FCKRegexLib.FCK_Class,'');return;};if (A){A.parentNode.removeChild(A);return;};if (oAnchor.innerHTML.length==0){oAnchor.parentNode.removeChild(oAnchor);return;};FCKTools.RemoveOuterTags(oAnchor);};if (FCKBrowserInfo.IsGecko) FCK.Selection.Collapse(true);},GetState:function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Unlink');}};var FCKDeleteDivCommand=function(){};FCKDeleteDivCommand.prototype={GetState:function(){if (FCK.EditMode!=0) return -1;var A=FCKSelection.GetParentElement();var B=new FCKElementPath(A);return B.BlockLimit&&B.BlockLimit.nodeName.IEquals('div')?0:-1;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCKDomTools.GetSelectedDivContainers();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();for (var i=0;i\n \n
    \n '+FCKLang.ColorAutomatic+'\n \n ';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_AutoOnClick,this);if (!FCKBrowserInfo.IsIE) C.style.width='96%';var G=FCKConfig.FontColors.toString().split(',');var H=0;while (H
    ';if (H>=G.length) C.style.visibility='hidden';else FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_OnClick,[this,L]);}};if (FCKConfig.EnableMoreFontColors){E=D.insertRow(-1).insertCell(-1);E.colSpan=8;C=E.appendChild(CreateSelectionDiv());C.innerHTML='
    '+FCKLang.ColorMoreColors+'
    ';FCKTools.AddEventListenerEx(C,'click',FCKTextColorCommand_MoreOnClick,this);};if (!FCKBrowserInfo.IsIE) C.style.width='96%';}; -var FCKPastePlainTextCommand=function(){this.Name='PasteText';};FCKPastePlainTextCommand.prototype.Execute=function(){FCK.PasteAsPlainText();};FCKPastePlainTextCommand.prototype.GetState=function(){if (FCK.EditMode!=0) return -1;return FCK.GetNamedCommandState('Paste');}; -var FCKPasteWordCommand=function(){this.Name='PasteWord';};FCKPasteWordCommand.prototype.Execute=function(){FCK.PasteFromWord();};FCKPasteWordCommand.prototype.GetState=function(){if (FCK.EditMode!=0||FCKConfig.ForcePasteAsPlainText) return -1;else return FCK.GetNamedCommandState('Paste');}; -var FCKTableCommand=function(A){this.Name=A;};FCKTableCommand.prototype.Execute=function(){FCKUndo.SaveUndoStep();if (!FCKBrowserInfo.IsGecko){switch (this.Name){case 'TableMergeRight':return FCKTableHandler.MergeRight();case 'TableMergeDown':return FCKTableHandler.MergeDown();}};switch (this.Name){case 'TableInsertRowAfter':return FCKTableHandler.InsertRow(false);case 'TableInsertRowBefore':return FCKTableHandler.InsertRow(true);case 'TableDeleteRows':return FCKTableHandler.DeleteRows();case 'TableInsertColumnAfter':return FCKTableHandler.InsertColumn(false);case 'TableInsertColumnBefore':return FCKTableHandler.InsertColumn(true);case 'TableDeleteColumns':return FCKTableHandler.DeleteColumns();case 'TableInsertCellAfter':return FCKTableHandler.InsertCell(null,false);case 'TableInsertCellBefore':return FCKTableHandler.InsertCell(null,true);case 'TableDeleteCells':return FCKTableHandler.DeleteCells();case 'TableMergeCells':return FCKTableHandler.MergeCells();case 'TableHorizontalSplitCell':return FCKTableHandler.HorizontalSplitCell();case 'TableVerticalSplitCell':return FCKTableHandler.VerticalSplitCell();case 'TableDelete':return FCKTableHandler.DeleteTable();default:return alert(FCKLang.UnknownCommand.replace(/%1/g,this.Name));}};FCKTableCommand.prototype.GetState=function(){if (FCK.EditorDocument!=null&&FCKSelection.HasAncestorNode('TABLE')){switch (this.Name){case 'TableHorizontalSplitCell':case 'TableVerticalSplitCell':if (FCKTableHandler.GetSelectedCells().length==1) return 0;else return -1;case 'TableMergeCells':if (FCKTableHandler.CheckIsSelectionRectangular()&&FCKTableHandler.GetSelectedCells().length>1) return 0;else return -1;case 'TableMergeRight':return FCKTableHandler.GetMergeRightTarget()?0:-1;case 'TableMergeDown':return FCKTableHandler.GetMergeDownTarget()?0:-1;default:return 0;}}else return -1;}; -var FCKFitWindow=function(){this.Name='FitWindow';};FCKFitWindow.prototype.Execute=function(){var A=window.frameElement;var B=A.style;var C=parent;var D=C.document.documentElement;var E=C.document.body;var F=E.style;var G;var H=new FCKDomRange(FCK.EditorWindow);H.MoveToSelection();var I=FCKTools.GetScrollPosition(FCK.EditorWindow);if (!this.IsMaximized){if(FCKBrowserInfo.IsIE) C.attachEvent('onresize',FCKFitWindow_Resize);else C.addEventListener('resize',FCKFitWindow_Resize,true);this._ScrollPos=FCKTools.GetScrollPosition(C);G=A;while((G=G.parentNode)){if (G.nodeType==1){G._fckSavedStyles=FCKTools.SaveStyles(G);G.style.zIndex=FCKConfig.FloatingPanelsZIndex-1;}};if (FCKBrowserInfo.IsIE){this.documentElementOverflow=D.style.overflow;D.style.overflow='hidden';F.overflow='hidden';}else{F.overflow='hidden';F.width='0px';F.height='0px';};this._EditorFrameStyles=FCKTools.SaveStyles(A);var J=FCKTools.GetViewPaneSize(C);B.position="absolute";A.offsetLeft;B.zIndex=FCKConfig.FloatingPanelsZIndex-1;B.left="0px";B.top="0px";B.width=J.Width+"px";B.height=J.Height+"px";if (!FCKBrowserInfo.IsIE){B.borderRight=B.borderBottom="9999px solid white";B.backgroundColor="white";};C.scrollTo(0,0);var K=FCKTools.GetWindowPosition(C,A);if (K.x!=0) B.left=(-1*K.x)+"px";if (K.y!=0) B.top=(-1*K.y)+"px";this.IsMaximized=true;}else{if(FCKBrowserInfo.IsIE) C.detachEvent("onresize",FCKFitWindow_Resize);else C.removeEventListener("resize",FCKFitWindow_Resize,true);G=A;while((G=G.parentNode)){if (G._fckSavedStyles){FCKTools.RestoreStyles(G,G._fckSavedStyles);G._fckSavedStyles=null;}};if (FCKBrowserInfo.IsIE) D.style.overflow=this.documentElementOverflow;FCKTools.RestoreStyles(A,this._EditorFrameStyles);C.scrollTo(this._ScrollPos.X,this._ScrollPos.Y);this.IsMaximized=false;};FCKToolbarItems.GetItem('FitWindow').RefreshState();if (FCK.EditMode==0) FCK.EditingArea.MakeEditable();FCK.Focus();H.Select();FCK.EditorWindow.scrollTo(I.X,I.Y);};FCKFitWindow.prototype.GetState=function(){if (FCKConfig.ToolbarLocation!='In') return -1;else return (this.IsMaximized?1:0);};function FCKFitWindow_Resize(){var A=FCKTools.GetViewPaneSize(parent);var B=window.frameElement.style;B.width=A.Width+'px';B.height=A.Height+'px';}; -var FCKListCommand=function(A,B){this.Name=A;this.TagName=B;};FCKListCommand.prototype={GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=FCKSelection.GetBoundaryParentElement(true);var B=A;while (B){if (B.nodeName.IEquals(['ul','ol'])) break;B=B.parentNode;};if (B&&B.nodeName.IEquals(this.TagName)) return 1;else return 0;},Execute:function(){FCKUndo.SaveUndoStep();var A=FCK.EditorDocument;var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=this.GetState();if (C==0){FCKDomTools.TrimNode(A.body);if (!A.body.firstChild){var D=A.createElement('p');A.body.appendChild(D);B.MoveToNodeContents(D);}};var E=B.CreateBookmark();var F=[];var G={};var H=new FCKDomRangeIterator(B);var I;H.ForceBrBreak=(C==0);var J=true;var K=null;while (J){while ((I=H.GetNextParagraph())){var L=new FCKElementPath(I);var M=null;var N=false;var O=L.BlockLimit;for (var i=L.Elements.length-1;i>=0;i--){var P=L.Elements[i];if (P.nodeName.IEquals(['ol','ul'])){if (O._FCK_ListGroupObject) O._FCK_ListGroupObject=null;var Q=P._FCK_ListGroupObject;if (Q) Q.contents.push(I);else{Q={ 'root':P,'contents':[I] };F.push(Q);FCKDomTools.SetElementMarker(G,P,'_FCK_ListGroupObject',Q);};N=true;break;}};if (N) continue;var R=O;if (R._FCK_ListGroupObject) R._FCK_ListGroupObject.contents.push(I);else{var Q={ 'root':R,'contents':[I] };FCKDomTools.SetElementMarker(G,R,'_FCK_ListGroupObject',Q);F.push(Q);}};if (FCKBrowserInfo.IsIE) J=false;else{if (K==null){K=[];var T=FCKSelection.GetSelection();if (T&&F.length==0) K.push(T.getRangeAt(0));for (var i=1;T&&i0){var Q=F.shift();if (C==0){if (Q.root.nodeName.IEquals(['ul','ol'])) this._ChangeListType(Q,G,W);else this._CreateList(Q,W);}else if (C==1&&Q.root.nodeName.IEquals(['ul','ol'])) this._RemoveList(Q,G);};for (var i=0;iC[i-1].indent+1){var H=C[i-1].indent+1-C[i].indent;var I=C[i].indent;while (C[i]&&C[i].indent>=I){C[i].indent+=H;i++;};i--;}};var J=FCKDomTools.ArrayToList(C,B);if (A.root.nextSibling==null||A.root.nextSibling.nodeName.IEquals('br')){if (J.listNode.lastChild.nodeName.IEquals('br')) J.listNode.removeChild(J.listNode.lastChild);};A.root.parentNode.replaceChild(J.listNode,A.root);}}; -var FCKJustifyCommand=function(A){this.AlignValue=A;var B=FCKConfig.ContentLangDirection.toLowerCase();this.IsDefaultAlign=(A=='left'&&B=='ltr')||(A=='right'&&B=='rtl');var C=this._CssClassName=(function(){var D=FCKConfig.JustifyClasses;if (D){switch (A){case 'left':return D[0]||null;case 'center':return D[1]||null;case 'right':return D[2]||null;case 'justify':return D[3]||null;}};return null;})();if (C&&C.length>0) this._CssClassRegex=new RegExp('(?:^|\\s+)'+C+'(?=$|\\s)');};FCKJustifyCommand._GetClassNameRegex=function(){var A=FCKJustifyCommand._ClassRegex;if (A!=undefined) return A;var B=[];var C=FCKConfig.JustifyClasses;if (C){for (var i=0;i<4;i++){var D=C[i];if (D&&D.length>0) B.push(D);}};if (B.length>0) A=new RegExp('(?:^|\\s+)(?:'+B.join('|')+')(?=$|\\s)');else A=null;return FCKJustifyCommand._ClassRegex=A;};FCKJustifyCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=new FCKDomRange(FCK.EditorWindow);A.MoveToSelection();var B=this.GetState();if (B==-1) return;var C=A.CreateBookmark();var D=this._CssClassName;var E=new FCKDomRangeIterator(A);var F;while ((F=E.GetNextParagraph())){F.removeAttribute('align');if (D){var G=F.className.replace(FCKJustifyCommand._GetClassNameRegex(),'');if (B==0){if (G.length>0) G+=' ';F.className=G+D;}else if (G.length==0) FCKDomTools.RemoveAttribute(F,'class');}else{var H=F.style;if (B==0) H.textAlign=this.AlignValue;else{H.textAlign='';if (H.cssText.length==0) F.removeAttribute('style');}}};A.MoveToBookmark(C);A.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;var C;if (FCKBrowserInfo.IsIE) C=B.currentStyle.textAlign;else C=FCK.EditorWindow.getComputedStyle(B,'').getPropertyValue('text-align');C=C.replace(/(-moz-|-webkit-|start|auto)/i,'');if ((!C&&this.IsDefaultAlign)||C==this.AlignValue) return 1;return 0;}}; -var FCKIndentCommand=function(A,B){this.Name=A;this.Offset=B;this.IndentCSSProperty=FCKConfig.ContentLangDirection.IEquals('ltr')?'marginLeft':'marginRight';};FCKIndentCommand._InitIndentModeParameters=function(){if (FCKConfig.IndentClasses&&FCKConfig.IndentClasses.length>0){this._UseIndentClasses=true;this._IndentClassMap={};for (var i=0;i0?H+' ':'')+FCKConfig.IndentClasses[G-1];}else{var I=parseInt(E.style[this.IndentCSSProperty],10);if (isNaN(I)) I=0;I+=this.Offset;I=Math.max(I,0);I=Math.ceil(I/this.Offset)*this.Offset;E.style[this.IndentCSSProperty]=I?I+FCKConfig.IndentUnit:'';if (E.getAttribute('style')=='') E.removeAttribute('style');}}},_IndentList:function(A,B){var C=A.StartContainer;var D=A.EndContainer;while (C&&C.parentNode!=B) C=C.parentNode;while (D&&D.parentNode!=B) D=D.parentNode;if (!C||!D) return;var E=C;var F=[];var G=false;while (G==false){if (E==D) G=true;F.push(E);E=E.nextSibling;};if (F.length<1) return;var H=FCKDomTools.GetParents(B);for (var i=0;iN;i++) M[i].indent+=I;var O=FCKDomTools.ArrayToList(M);if (O) B.parentNode.replaceChild(O.listNode,B);FCKDomTools.ClearAllMarkers(L);}}; -var FCKBlockQuoteCommand=function(){};FCKBlockQuoteCommand.prototype={Execute:function(){FCKUndo.SaveUndoStep();var A=this.GetState();var B=new FCKDomRange(FCK.EditorWindow);B.MoveToSelection();var C=B.CreateBookmark();if (FCKBrowserInfo.IsIE){var D=B.GetBookmarkNode(C,true);var E=B.GetBookmarkNode(C,false);var F;if (D&&D.parentNode.nodeName.IEquals('blockquote')&&!D.previousSibling){F=D;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]) FCKDomTools.MoveNode(D,F,true);}};if (E&&E.parentNode.nodeName.IEquals('blockquote')&&!E.previousSibling){F=E;while ((F=F.nextSibling)){if (FCKListsLib.BlockElements[F.nodeName.toLowerCase()]){if (F.firstChild==D) FCKDomTools.InsertAfterNode(D,E);else FCKDomTools.MoveNode(E,F,true);}}}};var G=new FCKDomRangeIterator(B);var H;if (A==0){G.EnforceRealBlocks=true;var I=[];while ((H=G.GetNextParagraph())) I.push(H);if (I.length<1){para=B.Window.document.createElement(FCKConfig.EnterMode.IEquals('p')?'p':'div');B.InsertNode(para);para.appendChild(B.Window.document.createTextNode('\ufeff'));B.MoveToBookmark(C);B.MoveToNodeContents(para);B.Collapse(true);C=B.CreateBookmark();I.push(para);};var J=I[0].parentNode;var K=[];for (var i=0;i0){H=I.shift();while (H.parentNode!=J) H=H.parentNode;if (H!=L) K.push(H);L=H;}while (K.length>0){H=K.shift();if (H.nodeName.IEquals('blockquote')){var M=FCKTools.GetElementDocument(H).createDocumentFragment();while (H.firstChild){M.appendChild(H.removeChild(H.firstChild));I.push(M.lastChild);};H.parentNode.replaceChild(M,H);}else I.push(H);};var N=B.Window.document.createElement('blockquote');J.insertBefore(N,I[0]);while (I.length>0){H=I.shift();N.appendChild(H);}}else if (A==1){var O=[];while ((H=G.GetNextParagraph())){var P=null;var Q=null;while (H.parentNode){if (H.parentNode.nodeName.IEquals('blockquote')){P=H.parentNode;Q=H;break;};H=H.parentNode;};if (P&&Q) O.push(Q);};var R=[];while (O.length>0){var S=O.shift();var N=S.parentNode;if (S==S.parentNode.firstChild){N.parentNode.insertBefore(N.removeChild(S),N);if (!N.firstChild) N.parentNode.removeChild(N);}else if (S==S.parentNode.lastChild){N.parentNode.insertBefore(N.removeChild(S),N.nextSibling);if (!N.firstChild) N.parentNode.removeChild(N);}else FCKDomTools.BreakParent(S,S.parentNode,B);R.push(S);};if (FCKConfig.EnterMode.IEquals('br')){while (R.length){var S=R.shift();var W=true;if (S.nodeName.IEquals('div')){var M=FCKTools.GetElementDocument(S).createDocumentFragment();var Y=W&&S.previousSibling&&!FCKListsLib.BlockBoundaries[S.previousSibling.nodeName.toLowerCase()];if (W&&Y) M.appendChild(FCKTools.GetElementDocument(S).createElement('br'));var Z=S.nextSibling&&!FCKListsLib.BlockBoundaries[S.nextSibling.nodeName.toLowerCase()];while (S.firstChild) M.appendChild(S.removeChild(S.firstChild));if (Z) M.appendChild(FCKTools.GetElementDocument(S).createElement('br'));S.parentNode.replaceChild(M,S);W=false;}}}};B.MoveToBookmark(C);B.Select();FCK.Focus();FCK.Events.FireEvent('OnSelectionChange');},GetState:function(){if (FCK.EditMode!=0||!FCK.EditorWindow) return -1;var A=new FCKElementPath(FCKSelection.GetBoundaryParentElement(true));var B=A.Block||A.BlockLimit;if (!B||B.nodeName.toLowerCase()=='body') return 0;for (var i=0;i';B.open();B.write(''+F+'<\/head><\/body><\/html>');B.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.Panel_Contructor(B,window.document.location);FCKTools.AddEventListenerEx(E,'focus',FCKPanel_Window_OnFocus,this);FCKTools.AddEventListenerEx(E,'blur',FCKPanel_Window_OnBlur,this);};B.dir=FCKLang.Dir;FCKTools.AddEventListener(B,'contextmenu',FCKTools.CancelEvent);this.MainNode=B.body.appendChild(B.createElement('DIV'));this.MainNode.style.cssFloat=this.IsRTL?'right':'left';};FCKPanel.prototype.AppendStyleSheet=function(A){FCKTools.AppendStyleSheet(this.Document,A);};FCKPanel.prototype.Preload=function(x,y,A){if (this._Popup) this._Popup.show(x,y,0,0,A);};FCKPanel.prototype.Show=function(x,y,A,B,C){var D;var E=this.MainNode;if (this._Popup){this._Popup.show(x,y,0,0,A);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=(x*-1)+A.offsetWidth-D;};this._Popup.show(x,y,D,E.offsetHeight,A);if (this.OnHide){if (this._Timer) CheckPopupOnHide.call(this,true);this._Timer=FCKTools.SetInterval(CheckPopupOnHide,100,this);}}else{if (typeof(FCK.ToolbarSet.CurrentInstance.FocusManager)!='undefined') FCK.ToolbarSet.CurrentInstance.FocusManager.Lock();if (this.ParentPanel){this.ParentPanel.Lock();FCKPanel_Window_OnBlur(null,this.ParentPanel);};if (FCKBrowserInfo.IsGecko&&FCKBrowserInfo.IsMac){this._IFrame.scrolling='';FCKTools.RunFunction(function(){ this._IFrame.scrolling='no';},this);};if (FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel&&FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel!=this) FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel.Hide(false,true);FCKDomTools.SetElementStyles(E,{B:B?B+'px':'',C:C?C+'px':''});D=E.offsetWidth;if (!B) this._IFrame.width=1;if (!C) this._IFrame.height=1;D=E.offsetWidth||E.firstChild.offsetWidth;var F=FCKTools.GetDocumentPosition(this._Window,A.nodeType==9?(FCKTools.IsStrictMode(A)?A.documentElement:A.body):A);var G=FCKDomTools.GetPositionedAncestor(this._IFrame.parentNode);if (G){var H=FCKTools.GetDocumentPosition(FCKTools.GetElementWindow(G),G);F.x-=H.x;F.y-=H.y;};if (this.IsRTL&&!this.IsContextMenu) x=(x*-1);x+=F.x;y+=F.y;if (this.IsRTL){if (this.IsContextMenu) x=x-D+1;else if (A) x=x+A.offsetWidth-D;}else{var I=FCKTools.GetViewPaneSize(this._Window);var J=FCKTools.GetScrollPosition(this._Window);var K=I.Height+J.Y;var L=I.Width+J.X;if ((x+D)>L) x-=x+D-L;if ((y+E.offsetHeight)>K) y-=y+E.offsetHeight-K;};FCKDomTools.SetElementStyles(this._IFrame,{left:x+'px',top:y+'px'});this._IFrame.contentWindow.focus();this._IsOpened=true;var M=this;this._resizeTimer=setTimeout(function(){var N=E.offsetWidth||E.firstChild.offsetWidth;var O=E.offsetHeight;M._IFrame.style.width=N+'px';M._IFrame.style.height=O+'px';},0);FCK.ToolbarSet.CurrentInstance.GetInstanceObject('FCKPanel')._OpenedPanel=this;};FCKTools.RunFunction(this.OnShow,this);};FCKPanel.prototype.Hide=function(A,B){if (this._Popup) this._Popup.hide();else{if (!this._IsOpened||this._LockCounter>0) return;if (typeof(FCKFocusManager)!='undefined'&&!B) FCKFocusManager.Unlock();this._IFrame.style.width=this._IFrame.style.height='0px';this._IsOpened=false;if (this._resizeTimer){clearTimeout(this._resizeTimer);this._resizeTimer=null;};if (this.ParentPanel) this.ParentPanel.Unlock();if (!A) FCKTools.RunFunction(this.OnHide,this);}};FCKPanel.prototype.CheckIsOpened=function(){if (this._Popup) return this._Popup.isOpen;else return this._IsOpened;};FCKPanel.prototype.CreateChildPanel=function(){var A=this._Popup?FCKTools.GetDocumentWindow(this.Document):this._Window;var B=new FCKPanel(A);B.ParentPanel=this;return B;};FCKPanel.prototype.Lock=function(){this._LockCounter++;};FCKPanel.prototype.Unlock=function(){if (--this._LockCounter==0&&!this.HasFocus) this.Hide();};function FCKPanel_Window_OnFocus(e,A){A.HasFocus=true;};function FCKPanel_Window_OnBlur(e,A){A.HasFocus=false;if (A._LockCounter==0) FCKTools.RunFunction(A.Hide,A);};function CheckPopupOnHide(A){if (A||!this._Popup.isOpen){window.clearInterval(this._Timer);this._Timer=null;FCKTools.RunFunction(this.OnHide,this);}};function FCKPanel_Cleanup(){this._Popup=null;this._Window=null;this.Document=null;this.MainNode=null;}; -var FCKIcon=function(A){var B=A?typeof(A):'undefined';switch (B){case 'number':this.Path=FCKConfig.SkinPath+'fck_strip.gif';this.Size=16;this.Position=A;break;case 'undefined':this.Path=FCK_SPACER_PATH;break;case 'string':this.Path=A;break;default:this.Path=A[0];this.Size=A[1];this.Position=A[2];}};FCKIcon.prototype.CreateIconElement=function(A){var B,eIconImage;if (this.Position){var C='-'+((this.Position-1)*this.Size)+'px';if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path;eIconImage.style.top=C;}else{B=A.createElement('IMG');B.src=FCK_SPACER_PATH;B.style.backgroundPosition='0px '+C;B.style.backgroundImage='url("'+this.Path+'")';}}else{if (FCKBrowserInfo.IsIE){B=A.createElement('DIV');eIconImage=B.appendChild(A.createElement('IMG'));eIconImage.src=this.Path?this.Path:FCK_SPACER_PATH;}else{B=A.createElement('IMG');B.src=this.Path?this.Path:FCK_SPACER_PATH;}};B.className='TB_Button_Image';return B;}; -var FCKToolbarButtonUI=function(A,B,C,D,E,F){this.Name=A;this.Label=B||A;this.Tooltip=C||this.Label;this.Style=E||0;this.State=F||0;this.Icon=new FCKIcon(D);if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarButtonUI_Cleanup);};FCKToolbarButtonUI.prototype._CreatePaddingElement=function(A){var B=A.createElement('IMG');B.className='TB_Button_Padding';B.src=FCK_SPACER_PATH;return B;};FCKToolbarButtonUI.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this.MainElement=B.createElement('DIV');C.title=this.Tooltip;if (FCKBrowserInfo.IsGecko) C.onmousedown=FCKTools.CancelEvent;FCKTools.AddEventListenerEx(C,'mouseover',FCKToolbarButtonUI_OnMouseOver,this);FCKTools.AddEventListenerEx(C,'mouseout',FCKToolbarButtonUI_OnMouseOut,this);FCKTools.AddEventListenerEx(C,'click',FCKToolbarButtonUI_OnClick,this);this.ChangeState(this.State,true);if (this.Style==0&&!this.ShowArrow){C.appendChild(this.Icon.CreateIconElement(B));}else{var D=C.appendChild(B.createElement('TABLE'));D.cellPadding=0;D.cellSpacing=0;var E=D.insertRow(-1);var F=E.insertCell(-1);if (this.Style==0||this.Style==2) F.appendChild(this.Icon.CreateIconElement(B));else F.appendChild(this._CreatePaddingElement(B));if (this.Style==1||this.Style==2){F=E.insertCell(-1);F.className='TB_Button_Text';F.noWrap=true;F.appendChild(B.createTextNode(this.Label));};if (this.ShowArrow){if (this.Style!=0){E.insertCell(-1).appendChild(this._CreatePaddingElement(B));};F=E.insertCell(-1);var G=F.appendChild(B.createElement('IMG'));G.src=FCKConfig.SkinPath+'images/toolbar.buttonarrow.gif';G.width=5;G.height=3;};F=E.insertCell(-1);F.appendChild(this._CreatePaddingElement(B));};A.appendChild(C);};FCKToolbarButtonUI.prototype.ChangeState=function(A,B){if (!B&&this.State==A) return;var e=this.MainElement;if (!e) return;switch (parseInt(A,10)){case 0:e.className='TB_Button_Off';break;case 1:e.className='TB_Button_On';break;case -1:e.className='TB_Button_Disabled';break;};this.State=A;};function FCKToolbarButtonUI_OnMouseOver(A,B){if (B.State==0) this.className='TB_Button_Off_Over';else if (B.State==1) this.className='TB_Button_On_Over';};function FCKToolbarButtonUI_OnMouseOut(A,B){if (B.State==0) this.className='TB_Button_Off';else if (B.State==1) this.className='TB_Button_On';};function FCKToolbarButtonUI_OnClick(A,B){if (B.OnClick&&B.State!=-1) B.OnClick(B);};function FCKToolbarButtonUI_Cleanup(){this.MainElement=null;}; -var FCKToolbarButton=function(A,B,C,D,E,F,G){this.CommandName=A;this.Label=B;this.Tooltip=C;this.Style=D;this.SourceView=E?true:false;this.ContextSensitive=F?true:false;if (G==null) this.IconPath=FCKConfig.SkinPath+'toolbar/'+A.toLowerCase()+'.gif';else if (typeof(G)=='number') this.IconPath=[FCKConfig.SkinPath+'fck_strip.gif',16,G];else this.IconPath=G;};FCKToolbarButton.prototype.Create=function(A){this._UIButton=new FCKToolbarButtonUI(this.CommandName,this.Label,this.Tooltip,this.IconPath,this.Style);this._UIButton.OnClick=this.Click;this._UIButton._ToolbarButton=this;this._UIButton.Create(A);};FCKToolbarButton.prototype.RefreshState=function(){var A=this._UIButton;if (!A) return;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B==A.State) return;A.ChangeState(B);};FCKToolbarButton.prototype.Click=function(){var A=this._ToolbarButton||this;FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(A.CommandName).Execute();};FCKToolbarButton.prototype.Enable=function(){this.RefreshState();};FCKToolbarButton.prototype.Disable=function(){this._UIButton.ChangeState(-1);}; -var FCKSpecialCombo=function(A,B,C,D,E){this.FieldWidth=B||100;this.PanelWidth=C||150;this.PanelMaxHeight=D||150;this.Label=' ';this.Caption=A;this.Tooltip=A;this.Style=2;this.Enabled=true;this.Items={};this._Panel=new FCKPanel(E||window);this._Panel.AppendStyleSheet(FCKConfig.SkinEditorCSS);this._PanelBox=this._Panel.MainNode.appendChild(this._Panel.Document.createElement('DIV'));this._PanelBox.className='SC_Panel';this._PanelBox.style.width=this.PanelWidth+'px';this._PanelBox.innerHTML='
    ';this._ItemsHolderEl=this._PanelBox.getElementsByTagName('TD')[0];if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKSpecialCombo_Cleanup);};function FCKSpecialCombo_ItemOnMouseOver(){this.className+=' SC_ItemOver';};function FCKSpecialCombo_ItemOnMouseOut(){this.className=this.originalClass;};function FCKSpecialCombo_ItemOnClick(A,B,C){this.className=this.originalClass;B._Panel.Hide();B.SetLabel(this.FCKItemLabel);if (typeof(B.OnSelect)=='function') B.OnSelect(C,this);};FCKSpecialCombo.prototype.ClearItems=function (){if (this.Items) this.Items={};var A=this._ItemsHolderEl;while (A.firstChild) A.removeChild(A.firstChild);};FCKSpecialCombo.prototype.AddItem=function(A,B,C,D){var E=this._ItemsHolderEl.appendChild(this._Panel.Document.createElement('DIV'));E.className=E.originalClass='SC_Item';E.innerHTML=B;E.FCKItemLabel=C||A;E.Selected=false;if (FCKBrowserInfo.IsIE) E.style.width='100%';if (D) E.style.backgroundColor=D;FCKTools.AddEventListenerEx(E,'mouseover',FCKSpecialCombo_ItemOnMouseOver);FCKTools.AddEventListenerEx(E,'mouseout',FCKSpecialCombo_ItemOnMouseOut);FCKTools.AddEventListenerEx(E,'click',FCKSpecialCombo_ItemOnClick,[this,A]);this.Items[A.toString().toLowerCase()]=E;return E;};FCKSpecialCombo.prototype.SelectItem=function(A){if (typeof A=='string') A=this.Items[A.toString().toLowerCase()];if (A){A.className=A.originalClass='SC_ItemSelected';A.Selected=true;}};FCKSpecialCombo.prototype.SelectItemByLabel=function(A,B){for (var C in this.Items){var D=this.Items[C];if (D.FCKItemLabel==A){D.className=D.originalClass='SC_ItemSelected';D.Selected=true;if (B) this.SetLabel(A);}}};FCKSpecialCombo.prototype.DeselectAll=function(A){for (var i in this.Items){if (!this.Items[i]) continue;this.Items[i].className=this.Items[i].originalClass='SC_Item';this.Items[i].Selected=false;};if (A) this.SetLabel('');};FCKSpecialCombo.prototype.SetLabelById=function(A){A=A?A.toString().toLowerCase():'';var B=this.Items[A];this.SetLabel(B?B.FCKItemLabel:'');};FCKSpecialCombo.prototype.SetLabel=function(A){A=(!A||A.length==0)?' ':A;if (A==this.Label) return;this.Label=A;var B=this._LabelEl;if (B){B.innerHTML=A;FCKTools.DisableSelection(B);}};FCKSpecialCombo.prototype.SetEnabled=function(A){this.Enabled=A;if (this._OuterTable) this._OuterTable.className=A?'':'SC_FieldDisabled';};FCKSpecialCombo.prototype.Create=function(A){var B=FCKTools.GetElementDocument(A);var C=this._OuterTable=A.appendChild(B.createElement('TABLE'));C.cellPadding=0;C.cellSpacing=0;C.insertRow(-1);var D;var E;switch (this.Style){case 0:D='TB_ButtonType_Icon';E=false;break;case 1:D='TB_ButtonType_Text';E=false;break;case 2:E=true;break;};if (this.Caption&&this.Caption.length>0&&E){var F=C.rows[0].insertCell(-1);F.innerHTML=this.Caption;F.className='SC_FieldCaption';};var G=FCKTools.AppendElement(C.rows[0].insertCell(-1),'div');if (E){G.className='SC_Field';G.style.width=this.FieldWidth+'px';G.innerHTML='
     
    ';this._LabelEl=G.getElementsByTagName('label')[0];this._LabelEl.innerHTML=this.Label;}else{G.className='TB_Button_Off';G.innerHTML='
    '+this.Caption+'
    ';};FCKTools.AddEventListenerEx(G,'mouseover',FCKSpecialCombo_OnMouseOver,this);FCKTools.AddEventListenerEx(G,'mouseout',FCKSpecialCombo_OnMouseOut,this);FCKTools.AddEventListenerEx(G,'click',FCKSpecialCombo_OnClick,this);FCKTools.DisableSelection(this._Panel.Document.body);};function FCKSpecialCombo_Cleanup(){this._LabelEl=null;this._OuterTable=null;this._ItemsHolderEl=null;this._PanelBox=null;if (this.Items){for (var A in this.Items) this.Items[A]=null;}};function FCKSpecialCombo_OnMouseOver(A,B){if (B.Enabled){switch (B.Style){case 0:this.className='TB_Button_On_Over';break;case 1:this.className='TB_Button_On_Over';break;case 2:this.className='SC_Field SC_FieldOver';break;}}};function FCKSpecialCombo_OnMouseOut(A,B){switch (B.Style){case 0:this.className='TB_Button_Off';break;case 1:this.className='TB_Button_Off';break;case 2:this.className='SC_Field';break;}};function FCKSpecialCombo_OnClick(e,A){if (A.Enabled){var B=A._Panel;var C=A._PanelBox;var D=A._ItemsHolderEl;var E=A.PanelMaxHeight;if (A.OnBeforeClick) A.OnBeforeClick(A);if (FCKBrowserInfo.IsIE) B.Preload(0,this.offsetHeight,this);if (D.offsetHeight>E) C.style.height=E+'px';else C.style.height='';B.Show(0,this.offsetHeight,this);}}; -var FCKToolbarSpecialCombo=function(){this.SourceView=false;this.ContextSensitive=true;this.FieldWidth=null;this.PanelWidth=null;this.PanelMaxHeight=null;};FCKToolbarSpecialCombo.prototype.DefaultLabel='';function FCKToolbarSpecialCombo_OnSelect(A,B){FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).Execute(A,B);};FCKToolbarSpecialCombo.prototype.Create=function(A){this._Combo=new FCKSpecialCombo(this.GetLabel(),this.FieldWidth,this.PanelWidth,this.PanelMaxHeight,FCKBrowserInfo.IsIE?window:FCKTools.GetElementWindow(A).parent);this._Combo.Tooltip=this.Tooltip;this._Combo.Style=this.Style;this.CreateItems(this._Combo);this._Combo.Create(A);this._Combo.CommandName=this.CommandName;this._Combo.OnSelect=FCKToolbarSpecialCombo_OnSelect;};function FCKToolbarSpecialCombo_RefreshActiveItems(A,B){A.DeselectAll();A.SelectItem(B);A.SetLabelById(B);};FCKToolbarSpecialCombo.prototype.RefreshState=function(){var A;var B=FCK.ToolbarSet.CurrentInstance.Commands.GetCommand(this.CommandName).GetState();if (B!=-1){A=1;if (this.RefreshActiveItems) this.RefreshActiveItems(this._Combo,B);else{if (this._LastValue!==B){this._LastValue=B;if (!B||B.length==0){this._Combo.DeselectAll();this._Combo.SetLabel(this.DefaultLabel);}else FCKToolbarSpecialCombo_RefreshActiveItems(this._Combo,B);}}}else A=-1;if (A==this.State) return;if (A==-1){this._Combo.DeselectAll();this._Combo.SetLabel('');};this.State=A;this._Combo.SetEnabled(A!=-1);};FCKToolbarSpecialCombo.prototype.Enable=function(){this.RefreshState();};FCKToolbarSpecialCombo.prototype.Disable=function(){this.State=-1;this._Combo.DeselectAll();this._Combo.SetLabel('');this._Combo.SetEnabled(false);}; -var FCKToolbarStyleCombo=function(A,B){if (A===false) return;this.CommandName='Style';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.DefaultLabel=FCKConfig.DefaultStyleLabel||'';};FCKToolbarStyleCombo.prototype=new FCKToolbarSpecialCombo;FCKToolbarStyleCombo.prototype.GetLabel=function(){return FCKLang.Style;};FCKToolbarStyleCombo.prototype.GetStyles=function(){var A={};var B=FCK.ToolbarSet.CurrentInstance.Styles.GetStyles();for (var C in B){var D=B[C];if (!D.IsCore) A[C]=D;};return A;};FCKToolbarStyleCombo.prototype.CreateItems=function(A){var B=A._Panel.Document;FCKTools.AppendStyleSheet(B,FCKConfig.ToolbarComboPreviewCSS);FCKTools.AppendStyleString(B,FCKConfig.EditorAreaStyles);B.body.className+=' ForceBaseFont';FCKConfig.ApplyBodyAttributes(B.body);var C=this.GetStyles();for (var D in C){var E=C[D];var F=E.GetType()==2?D:FCKToolbarStyleCombo_BuildPreview(E,E.Label||D);var G=A.AddItem(D,F);G.Style=E;};A.OnBeforeClick=this.StyleCombo_OnBeforeClick;};FCKToolbarStyleCombo.prototype.RefreshActiveItems=function(A){var B=FCK.ToolbarSet.CurrentInstance.Selection.GetBoundaryParentElement(true);if (B){var C=new FCKElementPath(B);var D=C.Elements;for (var e=0;e');var E=A.Element;if (E=='bdo') E='span';D=['<',E];var F=A._StyleDesc.Attributes;if (F){for (var G in F){D.push(' ',G,'="',A.GetFinalAttributeValue(G),'"');}};if (A._GetStyleText().length>0) D.push(' style="',A.GetFinalStyleValue(),'"');D.push('>',B,'');if (C==0) D.push('
    ');return D.join('');}; -var FCKToolbarFontFormatCombo=function(A,B){if (A===false) return;this.CommandName='FontFormat';this.Label=this.GetLabel();this.Tooltip=A?A:this.Label;this.Style=B?B:2;this.NormalLabel='Normal';this.PanelWidth=190;this.DefaultLabel=FCKConfig.DefaultFontFormatLabel||'';};FCKToolbarFontFormatCombo.prototype=new FCKToolbarStyleCombo(false);FCKToolbarFontFormatCombo.prototype.GetLabel=function(){return FCKLang.FontFormat;};FCKToolbarFontFormatCombo.prototype.GetStyles=function(){var A={};var B=FCKLang['FontFormats'].split(';');var C={p:B[0],pre:B[1],address:B[2],h1:B[3],h2:B[4],h3:B[5],h4:B[6],h5:B[7],h6:B[8],div:B[9]||(B[0]+' (DIV)')};var D=FCKConfig.FontFormats.split(';');for (var i=0;i';G.open();G.write(''+H+''+document.getElementById('xToolbarSpace').innerHTML+'');G.close();if(FCKBrowserInfo.IsAIR) FCKAdobeAIR.ToolbarSet_InitOutFrame(G);FCKTools.AddEventListener(G,'contextmenu',FCKTools.CancelEvent);FCKTools.AppendStyleSheet(G,FCKConfig.SkinEditorCSS);B=D.__FCKToolbarSet=new FCKToolbarSet(G);B._IFrame=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(D,FCKToolbarSet_Target_Cleanup);};B.CurrentInstance=FCK;if (!B.ToolbarItems) B.ToolbarItems=FCKToolbarItems;FCK.AttachToOnSelectionChange(B.RefreshItemsState);return B;};function FCK_OnBlur(A){var B=A.ToolbarSet;if (B.CurrentInstance==A) B.Disable();};function FCK_OnFocus(A){var B=A.ToolbarSet;var C=A||FCK;B.CurrentInstance.FocusManager.RemoveWindow(B._IFrame.contentWindow);B.CurrentInstance=C;C.FocusManager.AddWindow(B._IFrame.contentWindow,true);B.Enable();};function FCKToolbarSet_Cleanup(){this._TargetElement=null;this._IFrame=null;};function FCKToolbarSet_Target_Cleanup(){this.__FCKToolbarSet=null;};var FCKToolbarSet=function(A){this._Document=A;this._TargetElement=A.getElementById('xToolbar');var B=A.getElementById('xExpandHandle');var C=A.getElementById('xCollapseHandle');B.title=FCKLang.ToolbarExpand;FCKTools.AddEventListener(B,'click',FCKToolbarSet_Expand_OnClick);C.title=FCKLang.ToolbarCollapse;FCKTools.AddEventListener(C,'click',FCKToolbarSet_Collapse_OnClick);if (!FCKConfig.ToolbarCanCollapse||FCKConfig.ToolbarStartExpanded) this.Expand();else this.Collapse();C.style.display=FCKConfig.ToolbarCanCollapse?'':'none';if (FCKConfig.ToolbarCanCollapse) C.style.display='';else A.getElementById('xTBLeftBorder').style.display='';this.Toolbars=[];this.IsLoaded=false;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKToolbarSet_Cleanup);};function FCKToolbarSet_Expand_OnClick(){FCK.ToolbarSet.Expand();};function FCKToolbarSet_Collapse_OnClick(){FCK.ToolbarSet.Collapse();};FCKToolbarSet.prototype.Expand=function(){this._ChangeVisibility(false);};FCKToolbarSet.prototype.Collapse=function(){this._ChangeVisibility(true);};FCKToolbarSet.prototype._ChangeVisibility=function(A){this._Document.getElementById('xCollapsed').style.display=A?'':'none';this._Document.getElementById('xExpanded').style.display=A?'none':'';if (FCKBrowserInfo.IsGecko){FCKTools.RunFunction(window.onresize);}};FCKToolbarSet.prototype.Load=function(A){this.Name=A;this.Items=[];this.ItemsWysiwygOnly=[];this.ItemsContextSensitive=[];this._TargetElement.innerHTML='';var B=FCKConfig.ToolbarSets[A];if (!B){alert(FCKLang.UnknownToolbarSet.replace(/%1/g,A));return;};this.Toolbars=[];for (var x=0;x0) break;}catch (e){break;};D=D.parent;};var E=D.document;var F=function(){if (!B) B=FCKConfig.FloatingPanelsZIndex+999;return++B;};var G=function(){if (!C) return;var H=FCKTools.IsStrictMode(E)?E.documentElement:E.body;FCKDomTools.SetElementStyles(C,{'width':Math.max(H.scrollWidth,H.clientWidth,E.scrollWidth||0)-1+'px','height':Math.max(H.scrollHeight,H.clientHeight,E.scrollHeight||0)-1+'px'});};return {OpenDialog:function(dialogName,dialogTitle,dialogPage,width,height,customValue,parentWindow,resizable){if (!A) this.DisplayMainCover();var I={Title:dialogTitle,Page:dialogPage,Editor:window,CustomValue:customValue,TopWindow:D};FCK.ToolbarSet.CurrentInstance.Selection.Save();var J=FCKTools.GetViewPaneSize(D);var K={ 'X':0,'Y':0 };var L=FCKBrowserInfo.IsIE&&(!FCKBrowserInfo.IsIE7||!FCKTools.IsStrictMode(D.document));if (L) K=FCKTools.GetScrollPosition(D);var M=Math.max(K.Y+(J.Height-height-20)/2,0);var N=Math.max(K.X+(J.Width-width-20)/2,0);var O=E.createElement('iframe');FCKTools.ResetStyles(O);O.src=FCKConfig.BasePath+'fckdialog.html';O.frameBorder=0;O.allowTransparency=true;FCKDomTools.SetElementStyles(O,{'position':(L)?'absolute':'fixed','top':M+'px','left':N+'px','width':width+'px','height':height+'px','zIndex':F()});O._DialogArguments=I;E.body.appendChild(O);O._ParentDialog=A;A=O;},OnDialogClose:function(dialogWindow){var O=dialogWindow.frameElement;FCKDomTools.RemoveNode(O);if (O._ParentDialog){A=O._ParentDialog;O._ParentDialog.contentWindow.SetEnabled(true);}else{if (!FCKBrowserInfo.IsIE) FCK.Focus();this.HideMainCover();setTimeout(function(){ A=null;},0);FCK.ToolbarSet.CurrentInstance.Selection.Release();}},DisplayMainCover:function(){C=E.createElement('div');FCKTools.ResetStyles(C);FCKDomTools.SetElementStyles(C,{'position':'absolute','zIndex':F(),'top':'0px','left':'0px','backgroundColor':FCKConfig.BackgroundBlockerColor});FCKDomTools.SetOpacity(C,FCKConfig.BackgroundBlockerOpacity);if (FCKBrowserInfo.IsIE&&!FCKBrowserInfo.IsIE7){var Q=E.createElement('iframe');FCKTools.ResetStyles(Q);Q.hideFocus=true;Q.frameBorder=0;Q.src=FCKTools.GetVoidUrl();FCKDomTools.SetElementStyles(Q,{'width':'100%','height':'100%','position':'absolute','left':'0px','top':'0px','filter':'progid:DXImageTransform.Microsoft.Alpha(opacity=0)'});C.appendChild(Q);};FCKTools.AddEventListener(D,'resize',G);G();E.body.appendChild(C);FCKFocusManager.Lock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R._fck_originalTabIndex=R.tabIndex;R.tabIndex=-1;},HideMainCover:function(){FCKDomTools.RemoveNode(C);FCKFocusManager.Unlock();var R=FCK.ToolbarSet.CurrentInstance.GetInstanceObject('frameElement');R.tabIndex=R._fck_originalTabIndex;FCKDomTools.ClearElementJSProperty(R,'_fck_originalTabIndex');},GetCover:function(){return C;}};})(); -var FCKMenuItem=function(A,B,C,D,E,F){this.Name=B;this.Label=C||B;this.IsDisabled=E;this.Icon=new FCKIcon(D);this.SubMenu=new FCKMenuBlockPanel();this.SubMenu.Parent=A;this.SubMenu.OnClick=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnClick,this);this.CustomData=F;if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuItem_Cleanup);};FCKMenuItem.prototype.AddItem=function(A,B,C,D,E){this.HasSubMenu=true;return this.SubMenu.AddItem(A,B,C,D,E);};FCKMenuItem.prototype.AddSeparator=function(){this.SubMenu.AddSeparator();};FCKMenuItem.prototype.Create=function(A){var B=this.HasSubMenu;var C=FCKTools.GetElementDocument(A);var r=this.MainElement=A.insertRow(-1);r.className=this.IsDisabled?'MN_Item_Disabled':'MN_Item';if (!this.IsDisabled){FCKTools.AddEventListenerEx(r,'mouseover',FCKMenuItem_OnMouseOver,[this]);FCKTools.AddEventListenerEx(r,'click',FCKMenuItem_OnClick,[this]);if (!B) FCKTools.AddEventListenerEx(r,'mouseout',FCKMenuItem_OnMouseOut,[this]);};var D=r.insertCell(-1);D.className='MN_Icon';D.appendChild(this.Icon.CreateIconElement(C));D=r.insertCell(-1);D.className='MN_Label';D.noWrap=true;D.appendChild(C.createTextNode(this.Label));D=r.insertCell(-1);if (B){D.className='MN_Arrow';var E=D.appendChild(C.createElement('IMG'));E.src=FCK_IMAGES_PATH+'arrow_'+FCKLang.Dir+'.gif';E.width=4;E.height=7;this.SubMenu.Create();this.SubMenu.Panel.OnHide=FCKTools.CreateEventListener(FCKMenuItem_SubMenu_OnHide,this);}};FCKMenuItem.prototype.Activate=function(){this.MainElement.className='MN_Item_Over';if (this.HasSubMenu){this.SubMenu.Show(this.MainElement.offsetWidth+2,-2,this.MainElement);};FCKTools.RunFunction(this.OnActivate,this);};FCKMenuItem.prototype.Deactivate=function(){this.MainElement.className='MN_Item';if (this.HasSubMenu) this.SubMenu.Hide();};function FCKMenuItem_SubMenu_OnClick(A,B){FCKTools.RunFunction(B.OnClick,B,[A]);};function FCKMenuItem_SubMenu_OnHide(A){A.Deactivate();};function FCKMenuItem_OnClick(A,B){if (B.HasSubMenu) B.Activate();else{B.Deactivate();FCKTools.RunFunction(B.OnClick,B,[B]);}};function FCKMenuItem_OnMouseOver(A,B){B.Activate();};function FCKMenuItem_OnMouseOut(A,B){B.Deactivate();};function FCKMenuItem_Cleanup(){this.MainElement=null;}; -var FCKMenuBlock=function(){this._Items=[];};FCKMenuBlock.prototype.Count=function(){return this._Items.length;};FCKMenuBlock.prototype.AddItem=function(A,B,C,D,E){var F=new FCKMenuItem(this,A,B,C,D,E);F.OnClick=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnClick,this);F.OnActivate=FCKTools.CreateEventListener(FCKMenuBlock_Item_OnActivate,this);this._Items.push(F);return F;};FCKMenuBlock.prototype.AddSeparator=function(){this._Items.push(new FCKMenuSeparator());};FCKMenuBlock.prototype.RemoveAllItems=function(){this._Items=[];var A=this._ItemsTable;if (A){while (A.rows.length>0) A.deleteRow(0);}};FCKMenuBlock.prototype.Create=function(A){if (!this._ItemsTable){if (FCK.IECleanup) FCK.IECleanup.AddItem(this,FCKMenuBlock_Cleanup);this._Window=FCKTools.GetElementWindow(A);var B=FCKTools.GetElementDocument(A);var C=A.appendChild(B.createElement('table'));C.cellPadding=0;C.cellSpacing=0;FCKTools.DisableSelection(C);var D=C.insertRow(-1).insertCell(-1);D.className='MN_Menu';var E=this._ItemsTable=D.appendChild(B.createElement('table'));E.cellPadding=0;E.cellSpacing=0;};for (var i=0;i0&&F.href.length==0);if (G) return;menu.AddSeparator();menu.AddItem('VisitLink',FCKLang.VisitLink);menu.AddSeparator();if (E) menu.AddItem('Link',FCKLang.EditLink,34);menu.AddItem('Unlink',FCKLang.RemoveLink,35);}}};case 'Image':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&!tag.getAttribute('_fckfakelement')){menu.AddSeparator();menu.AddItem('Image',FCKLang.ImageProperties,37);}}};case 'Anchor':return {AddItems:function(menu,tag,tagName){var F=FCKSelection.MoveToAncestorNode('A');var G=(F&&F.name.length>0);if (G||(tagName=='IMG'&&tag.getAttribute('_fckanchor'))){menu.AddSeparator();menu.AddItem('Anchor',FCKLang.AnchorProp,36);menu.AddItem('AnchorDelete',FCKLang.AnchorDelete);}}};case 'Flash':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckflash')){menu.AddSeparator();menu.AddItem('Flash',FCKLang.FlashProperties,38);}}};case 'Form':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('FORM')){menu.AddSeparator();menu.AddItem('Form',FCKLang.FormProp,48);}}};case 'Checkbox':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='checkbox'){menu.AddSeparator();menu.AddItem('Checkbox',FCKLang.CheckboxProp,49);}}};case 'Radio':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='radio'){menu.AddSeparator();menu.AddItem('Radio',FCKLang.RadioButtonProp,50);}}};case 'TextField':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='text'||tag.type=='password')){menu.AddSeparator();menu.AddItem('TextField',FCKLang.TextFieldProp,51);}}};case 'HiddenField':return {AddItems:function(menu,tag,tagName){if (tagName=='IMG'&&tag.getAttribute('_fckinputhidden')){menu.AddSeparator();menu.AddItem('HiddenField',FCKLang.HiddenFieldProp,56);}}};case 'ImageButton':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&tag.type=='image'){menu.AddSeparator();menu.AddItem('ImageButton',FCKLang.ImageButtonProp,55);}}};case 'Button':return {AddItems:function(menu,tag,tagName){if (tagName=='INPUT'&&(tag.type=='button'||tag.type=='submit'||tag.type=='reset')){menu.AddSeparator();menu.AddItem('Button',FCKLang.ButtonProp,54);}}};case 'Select':return {AddItems:function(menu,tag,tagName){if (tagName=='SELECT'){menu.AddSeparator();menu.AddItem('Select',FCKLang.SelectionFieldProp,53);}}};case 'Textarea':return {AddItems:function(menu,tag,tagName){if (tagName=='TEXTAREA'){menu.AddSeparator();menu.AddItem('Textarea',FCKLang.TextareaProp,52);}}};case 'BulletedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('UL')){menu.AddSeparator();menu.AddItem('BulletedList',FCKLang.BulletedListProp,27);}}};case 'NumberedList':return {AddItems:function(menu,tag,tagName){if (FCKSelection.HasAncestorNode('OL')){menu.AddSeparator();menu.AddItem('NumberedList',FCKLang.NumberedListProp,26);}}};case 'DivContainer':return {AddItems:function(menu,tag,tagName){var J=FCKDomTools.GetSelectedDivContainers();if (J.length>0){menu.AddSeparator();menu.AddItem('EditDiv',FCKLang.EditDiv,75);menu.AddItem('DeleteDiv',FCKLang.DeleteDiv,76);}}};};return null;};function FCK_ContextMenu_OnBeforeOpen(){FCK.Events.FireEvent('OnSelectionChange');var A,sTagName;if ((A=FCKSelection.GetSelectedElement())) sTagName=A.tagName;var B=FCK.ContextMenu._InnerContextMenu;B.RemoveAllItems();var C=FCK.ContextMenu.Listeners;for (var i=0;i0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}};var FCKHtmlIterator=function(A){this._sourceHtml=A;};FCKHtmlIterator.prototype={Next:function(){var A=this._sourceHtml;if (A==null) return null;var B=FCKRegexLib.HtmlTag.exec(A);var C=false;var D="";if (B){if (B.index>0){D=A.substr(0,B.index);this._sourceHtml=A.substr(B.index);}else{C=true;D=B[0];this._sourceHtml=A.substr(B[0].length);}}else{D=A;this._sourceHtml=null;};return { 'isTag':C,'value':D };},Each:function(A){var B;while ((B=this.Next())) A(B.isTag,B.value);}}; -var FCKPlugin=function(A,B,C){this.Name=A;this.BasePath=C?C:FCKConfig.PluginsPath;this.Path=this.BasePath+A+'/';if (!B||B.length==0) this.AvailableLangs=[];else this.AvailableLangs=B.split(',');};FCKPlugin.prototype.Load=function(){if (this.AvailableLangs.length>0){var A;if (this.AvailableLangs.IndexOf(FCKLanguageManager.ActiveLanguage.Code)>=0) A=FCKLanguageManager.ActiveLanguage.Code;else A=this.AvailableLangs[0];LoadScript(this.Path+'lang/'+A+'.js');};LoadScript(this.Path+'fckplugin.js');}; -var FCKPlugins=FCK.Plugins={};FCKPlugins.ItemsCount=0;FCKPlugins.Items={};FCKPlugins.Load=function(){var A=FCKPlugins.Items;for (var i=0;i", -DlgInfoTab : "Info", -DlgAlertUrl : "Voeg asseblief die URL in", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Taal rigting", -DlgGenLangDirLtr : "Links na regs (LTR)", -DlgGenLangDirRtl : "Regs na links (RTL)", -DlgGenLangCode : "Taal kode", -DlgGenAccessKey : "Toegang sleutel", -DlgGenName : "Naam", -DlgGenTabIndex : "Tab Index", -DlgGenLongDescr : "Lang beskreiwing URL", -DlgGenClass : "Skakel Tiepe", -DlgGenTitle : "Voorbeveelings Titel", -DlgGenContType : "Voorbeveelings inhoud soort", -DlgGenLinkCharset : "Geskakelde voorbeeld karakterstel", -DlgGenStyle : "Styl", - -// Image Dialog -DlgImgTitle : "Beeld eienskappe", -DlgImgInfoTab : "Beeld informasie", -DlgImgBtnUpload : "Stuur dit na die Server", -DlgImgURL : "URL", -DlgImgUpload : "Uplaai", -DlgImgAlt : "Alternatiewe beskrywing", -DlgImgWidth : "Weidte", -DlgImgHeight : "Hoogde", -DlgImgLockRatio : "Behou preporsie", -DlgBtnResetSize : "Herstel groote", -DlgImgBorder : "Kant", -DlgImgHSpace : "HSpasie", -DlgImgVSpace : "VSpasie", -DlgImgAlign : "Paradeer", -DlgImgAlignLeft : "Links", -DlgImgAlignAbsBottom: "Abs Onder", -DlgImgAlignAbsMiddle: "Abs Middel", -DlgImgAlignBaseline : "Baseline", -DlgImgAlignBottom : "Onder", -DlgImgAlignMiddle : "Middel", -DlgImgAlignRight : "Regs", -DlgImgAlignTextTop : "Text Bo", -DlgImgAlignTop : "Bo", -DlgImgPreview : "Voorskou", -DlgImgAlertUrl : "Voeg asseblief Beeld URL in.", -DlgImgLinkTab : "Skakel", - -// Flash Dialog -DlgFlashTitle : "Flash eienskappe", -DlgFlashChkPlay : "Automaties Speel", -DlgFlashChkLoop : "Herhaling", -DlgFlashChkMenu : "Laat Flash Menu toe", -DlgFlashScale : "Scale", -DlgFlashScaleAll : "Wys alles", -DlgFlashScaleNoBorder : "Geen kante", -DlgFlashScaleFit : "Presiese pas", - -// Link Dialog -DlgLnkWindowTitle : "Skakel", -DlgLnkInfoTab : "Skakel informasie", -DlgLnkTargetTab : "Mikpunt", - -DlgLnkType : "Skakel soort", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Skakel na plekhouers in text", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protokol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Kies 'n plekhouer", -DlgLnkAnchorByName : "Volgens plekhouer naam", -DlgLnkAnchorById : "Volgens element Id", -DlgLnkNoAnchors : "(Geen plekhouers beskikbaar in dokument}", -DlgLnkEMail : "E-Mail Adres", -DlgLnkEMailSubject : "Boodskap Opskrif", -DlgLnkEMailBody : "Boodskap Inhoud", -DlgLnkUpload : "Oplaai", -DlgLnkBtnUpload : "Stuur na Server", - -DlgLnkTarget : "Mikpunt", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nuwe Venster (_blank)", -DlgLnkTargetParent : "Vorige Venster (_parent)", -DlgLnkTargetSelf : "Selfde Venster (_self)", -DlgLnkTargetTop : "Boonste Venster (_top)", -DlgLnkTargetFrameName : "Mikpunt Venster Naam", -DlgLnkPopWinName : "Popup Venster Naam", -DlgLnkPopWinFeat : "Popup Venster Geaartheid", -DlgLnkPopResize : "Verstelbare Groote", -DlgLnkPopLocation : "Adres Balk", -DlgLnkPopMenu : "Menu Balk", -DlgLnkPopScroll : "Gleibalkstuk", -DlgLnkPopStatus : "Status Balk", -DlgLnkPopToolbar : "Gereedskap Balk", -DlgLnkPopFullScrn : "Voll Skerm (IE)", -DlgLnkPopDependent : "Afhanklik (Netscape)", -DlgLnkPopWidth : "Weite", -DlgLnkPopHeight : "Hoogde", -DlgLnkPopLeft : "Links Posisie", -DlgLnkPopTop : "Bo Posisie", - -DlnLnkMsgNoUrl : "Voeg asseblief die URL in", -DlnLnkMsgNoEMail : "Voeg asseblief die e-mail adres in", -DlnLnkMsgNoAnchor : "Kies asseblief 'n plekhouer", -DlnLnkMsgInvPopName : "Die popup naam moet begin met alphabetiese karakters sonder spasies.", - -// Color Dialog -DlgColorTitle : "Kies Kleur", -DlgColorBtnClear : "Maak skoon", -DlgColorHighlight : "Highlight", -DlgColorSelected : "Geselekteer", - -// Smiley Dialog -DlgSmileyTitle : "Voeg Smiley by", - -// Special Character Dialog -DlgSpecialCharTitle : "Kies spesiale karakter", - -// Table Dialog -DlgTableTitle : "Tabel eienskappe", -DlgTableRows : "Reie", -DlgTableColumns : "Kolome", -DlgTableBorder : "Kant groote", -DlgTableAlign : "Parideering", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Links", -DlgTableAlignCenter : "Middel", -DlgTableAlignRight : "Regs", -DlgTableWidth : "Weite", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "percent", -DlgTableHeight : "Hoogde", -DlgTableCellSpace : "Cell spasieering", -DlgTableCellPad : "Cell buffer", -DlgTableCaption : "Beskreiwing", -DlgTableSummary : "Opsomming", - -// Table Cell Dialog -DlgCellTitle : "Cell eienskappe", -DlgCellWidth : "Weite", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "percent", -DlgCellHeight : "Hoogde", -DlgCellWordWrap : "Woord Wrap", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Ja", -DlgCellWordWrapNo : "Nee", -DlgCellHorAlign : "Horisontale rigting", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Links", -DlgCellHorAlignCenter : "Middel", -DlgCellHorAlignRight: "Regs", -DlgCellVerAlign : "Vertikale rigting", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Bo", -DlgCellVerAlignMiddle : "Middel", -DlgCellVerAlignBottom : "Onder", -DlgCellVerAlignBaseline : "Baseline", -DlgCellRowSpan : "Rei strekking", -DlgCellCollSpan : "Kolom strekking", -DlgCellBackColor : "Agtergrond Kleur", -DlgCellBorderColor : "Kant Kleur", -DlgCellBtnSelect : "Keuse...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "Vind", -DlgFindFindBtn : "Vind", -DlgFindNotFoundMsg : "Die gespesifiseerde karakters word nie gevind nie.", - -// Replace Dialog -DlgReplaceTitle : "Vervang", -DlgReplaceFindLbl : "Soek wat:", -DlgReplaceReplaceLbl : "Vervang met:", -DlgReplaceCaseChk : "Vergelyk karakter skryfweise", -DlgReplaceReplaceBtn : "Vervang", -DlgReplaceReplAllBtn : "Vervang alles", -DlgReplaceWordChk : "Vergelyk komplete woord", - -// Paste Operations / Dialog -PasteErrorCut : "U browser se sekuriteit instelling behinder die uitsny aksie. Gebruik asseblief die sleutel kombenasie(Ctrl+X).", -PasteErrorCopy : "U browser se sekuriteit instelling behinder die kopieerings aksie. Gebruik asseblief die sleutel kombenasie(Ctrl+C).", - -PasteAsText : "Voeg slegs karakters by", -PasteFromWord : "Byvoeging uit Word", - -DlgPasteMsg2 : "Voeg asseblief die inhoud in die gegewe box by met sleutel kombenasie(Ctrl+V) en druk OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "Ignoreer karakter soort defenisies", -DlgPasteRemoveStyles : "Verweider Styl defenisies", - -// Color Picker -ColorAutomatic : "Automaties", -ColorMoreColors : "Meer Kleure...", - -// Document Properties -DocProps : "Dokument Eienskappe", - -// Anchor Dialog -DlgAnchorTitle : "Plekhouer Eienskappe", -DlgAnchorName : "Plekhouer Naam", -DlgAnchorErrorName : "Voltooi die plekhouer naam asseblief", - -// Speller Pages Dialog -DlgSpellNotInDic : "Nie in woordeboek nie", -DlgSpellChangeTo : "Verander na", -DlgSpellBtnIgnore : "Ignoreer", -DlgSpellBtnIgnoreAll : "Ignoreer na-volgende", -DlgSpellBtnReplace : "Vervang", -DlgSpellBtnReplaceAll : "vervang na-volgende", -DlgSpellBtnUndo : "Ont-skep", -DlgSpellNoSuggestions : "- Geen voorstel -", -DlgSpellProgress : "Spelling word beproef...", -DlgSpellNoMispell : "Spellproef kompleet: Geen foute", -DlgSpellNoChanges : "Spellproef kompleet: Geen woord veranderings", -DlgSpellOneChange : "Spellproef kompleet: Een woord verander", -DlgSpellManyChanges : "Spellproef kompleet: %1 woorde verander", - -IeSpellDownload : "Geen Spellproefer geinstaleer nie. Wil U dit aflaai?", - -// Button Dialog -DlgButtonText : "Karakters (Waarde)", -DlgButtonType : "Soort", -DlgButtonTypeBtn : "Knop", -DlgButtonTypeSbm : "Indien", -DlgButtonTypeRst : "Reset", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Naam", -DlgCheckboxValue : "Waarde", -DlgCheckboxSelected : "Uitgekies", - -// Form Dialog -DlgFormName : "Naam", -DlgFormAction : "Aksie", -DlgFormMethod : "Metode", - -// Select Field Dialog -DlgSelectName : "Naam", -DlgSelectValue : "Waarde", -DlgSelectSize : "Grote", -DlgSelectLines : "lyne", -DlgSelectChkMulti : "Laat meerere keuses toe", -DlgSelectOpAvail : "Beskikbare Opsies", -DlgSelectOpText : "Karakters", -DlgSelectOpValue : "Waarde", -DlgSelectBtnAdd : "Byvoeg", -DlgSelectBtnModify : "Verander", -DlgSelectBtnUp : "Op", -DlgSelectBtnDown : "Af", -DlgSelectBtnSetValue : "Stel as uitgekiesde waarde", -DlgSelectBtnDelete : "Verweider", - -// Textarea Dialog -DlgTextareaName : "Naam", -DlgTextareaCols : "Kolom", -DlgTextareaRows : "Reie", - -// Text Field Dialog -DlgTextName : "Naam", -DlgTextValue : "Waarde", -DlgTextCharWidth : "Karakter weite", -DlgTextMaxChars : "Maximale karakters", -DlgTextType : "Soort", -DlgTextTypeText : "Karakters", -DlgTextTypePass : "Wagwoord", - -// Hidden Field Dialog -DlgHiddenName : "Naam", -DlgHiddenValue : "Waarde", - -// Bulleted List Dialog -BulletedListProp : "Gepunkte lys eienskappe", -NumberedListProp : "Genommerde lys eienskappe", -DlgLstStart : "Begin", -DlgLstType : "Soort", -DlgLstTypeCircle : "Sirkel", -DlgLstTypeDisc : "Skyf", -DlgLstTypeSquare : "Vierkant", -DlgLstTypeNumbers : "Nommer (1, 2, 3)", -DlgLstTypeLCase : "Klein Letters (a, b, c)", -DlgLstTypeUCase : "Hoof Letters (A, B, C)", -DlgLstTypeSRoman : "Klein Romeinse nommers (i, ii, iii)", -DlgLstTypeLRoman : "Groot Romeinse nommers (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Algemeen", -DlgDocBackTab : "Agtergrond", -DlgDocColorsTab : "Kleure en Rante", -DlgDocMetaTab : "Meta Data", - -DlgDocPageTitle : "Bladsy Opskrif", -DlgDocLangDir : "Taal rigting", -DlgDocLangDirLTR : "Link na Regs (LTR)", -DlgDocLangDirRTL : "Regs na Links (RTL)", -DlgDocLangCode : "Taal Kode", -DlgDocCharSet : "Karakterstel Kodeering", -DlgDocCharSetCE : "Sentraal Europa", -DlgDocCharSetCT : "Chinees Traditioneel (Big5)", -DlgDocCharSetCR : "Cyrillic", -DlgDocCharSetGR : "Grieks", -DlgDocCharSetJP : "Japanees", -DlgDocCharSetKR : "Koreans", -DlgDocCharSetTR : "Turks", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Western European", -DlgDocCharSetOther : "Ander Karakterstel Kodeering", - -DlgDocDocType : "Dokument Opskrif Soort", -DlgDocDocTypeOther : "Ander Dokument Opskrif Soort", -DlgDocIncXHTML : "Voeg XHTML verklaring by", -DlgDocBgColor : "Agtergrond kleur", -DlgDocBgImage : "Agtergrond Beeld URL", -DlgDocBgNoScroll : "Vasgeklemde Agtergrond", -DlgDocCText : "Karakters", -DlgDocCLink : "Skakel", -DlgDocCVisited : "Besoekte Skakel", -DlgDocCActive : "Aktiewe Skakel", -DlgDocMargins : "Bladsy Rante", -DlgDocMaTop : "Bo", -DlgDocMaLeft : "Links", -DlgDocMaRight : "Regs", -DlgDocMaBottom : "Onder", -DlgDocMeIndex : "Dokument Index Sleutelwoorde(comma verdeelt)", -DlgDocMeDescr : "Dokument Beskrywing", -DlgDocMeAuthor : "Skrywer", -DlgDocMeCopy : "Kopiereg", -DlgDocPreview : "Voorskou", - -// Templates Dialog -Templates : "Templates", -DlgTemplatesTitle : "Inhoud Templates", -DlgTemplatesSelMsg : "Kies die template om te gebruik in die editor
    (Inhoud word vervang!):", -DlgTemplatesLoading : "Templates word gelaai. U geduld asseblief...", -DlgTemplatesNoTpl : "(Geen templates gedefinieerd)", -DlgTemplatesReplace : "Vervang bestaande inhoud", - -// About Dialog -DlgAboutAboutTab : "Meer oor", -DlgAboutBrowserInfoTab : "Blaai Informasie deur", -DlgAboutLicenseTab : "Lesensie", -DlgAboutVersion : "weergawe", -DlgAboutInfo : "Vir meer informasie gaan na ", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/ar.js b/include/fckeditor/editor/lang/ar.js deleted file mode 100644 index f417bfd67..000000000 --- a/include/fckeditor/editor/lang/ar.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Arabic language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "rtl", - -ToolbarCollapse : "ضم شريط الأدوات", -ToolbarExpand : "تمدد شريط الأدوات", - -// Toolbar Items and Context Menu -Save : "حفظ", -NewPage : "صفحة جديدة", -Preview : "معاينة الصفحة", -Cut : "قص", -Copy : "نسخ", -Paste : "لصق", -PasteText : "لصق كنص بسيط", -PasteWord : "لصق من وورد", -Print : "طباعة", -SelectAll : "تحديد الكل", -RemoveFormat : "إزالة التنسيقات", -InsertLinkLbl : "رابط", -InsertLink : "إدراج/تحرير رابط", -RemoveLink : "إزالة رابط", -VisitLink : "Open Link", //MISSING -Anchor : "إدراج/تحرير إشارة مرجعية", -AnchorDelete : "إزالة إشارة مرجعية", -InsertImageLbl : "صورة", -InsertImage : "إدراج/تحرير صورة", -InsertFlashLbl : "فلاش", -InsertFlash : "إدراج/تحرير فيلم فلاش", -InsertTableLbl : "جدول", -InsertTable : "إدراج/تحرير جدول", -InsertLineLbl : "خط فاصل", -InsertLine : "إدراج خط فاصل", -InsertSpecialCharLbl: "رموز", -InsertSpecialChar : "إدراج رموز..ِ", -InsertSmileyLbl : "ابتسامات", -InsertSmiley : "إدراج ابتسامات", -About : "حول FCKeditor", -Bold : "غامق", -Italic : "مائل", -Underline : "تسطير", -StrikeThrough : "يتوسطه خط", -Subscript : "منخفض", -Superscript : "مرتفع", -LeftJustify : "محاذاة إلى اليسار", -CenterJustify : "توسيط", -RightJustify : "محاذاة إلى اليمين", -BlockJustify : "ضبط", -DecreaseIndent : "إنقاص المسافة البادئة", -IncreaseIndent : "زيادة المسافة البادئة", -Blockquote : "اقتباس", -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "تراجع", -Redo : "إعادة", -NumberedListLbl : "تعداد رقمي", -NumberedList : "إدراج/إلغاء تعداد رقمي", -BulletedListLbl : "تعداد نقطي", -BulletedList : "إدراج/إلغاء تعداد نقطي", -ShowTableBorders : "معاينة حدود الجداول", -ShowDetails : "معاينة التفاصيل", -Style : "نمط", -FontFormat : "تنسيق", -Font : "خط", -FontSize : "حجم الخط", -TextColor : "لون النص", -BGColor : "لون الخلفية", -Source : "شفرة المصدر", -Find : "بحث", -Replace : "إستبدال", -SpellCheck : "تدقيق إملائي", -UniversalKeyboard : "لوحة المفاتيح العالمية", -PageBreakLbl : "فصل الصفحة", -PageBreak : "إدخال صفحة جديدة", - -Form : "نموذج", -Checkbox : "خانة إختيار", -RadioButton : "زر خيار", -TextField : "مربع نص", -Textarea : "ناحية نص", -HiddenField : "إدراج حقل خفي", -Button : "زر ضغط", -SelectionField : "قائمة منسدلة", -ImageButton : "زر صورة", - -FitWindow : "تكبير حجم المحرر", -ShowBlocks : "مخطط تفصيلي", - -// Context Menu -EditLink : "تحرير رابط", -CellCM : "خلية", -RowCM : "صف", -ColumnCM : "عمود", -InsertRowAfter : "إدراج صف بعد", -InsertRowBefore : "إدراج صف قبل", -DeleteRows : "حذف صفوف", -InsertColumnAfter : "إدراج عمود بعد", -InsertColumnBefore : "إدراج عمود قبل", -DeleteColumns : "حذف أعمدة", -InsertCellAfter : "إدراج خلية بعد", -InsertCellBefore : "إدراج خلية قبل", -DeleteCells : "حذف خلايا", -MergeCells : "دمج خلايا", -MergeRight : "دمج لليمين", -MergeDown : "دمج للأسفل", -HorizontalSplitCell : "تقسيم الخلية أفقياً", -VerticalSplitCell : "تقسيم الخلية عمودياً", -TableDelete : "حذف الجدول", -CellProperties : "خصائص الخلية", -TableProperties : "خصائص الجدول", -ImageProperties : "خصائص الصورة", -FlashProperties : "خصائص فيلم الفلاش", - -AnchorProp : "خصائص الإشارة المرجعية", -ButtonProp : "خصائص زر الضغط", -CheckboxProp : "خصائص خانة الإختيار", -HiddenFieldProp : "خصائص الحقل الخفي", -RadioButtonProp : "خصائص زر الخيار", -ImageButtonProp : "خصائص زر الصورة", -TextFieldProp : "خصائص مربع النص", -SelectionFieldProp : "خصائص القائمة المنسدلة", -TextareaProp : "خصائص ناحية النص", -FormProp : "خصائص النموذج", - -FontFormats : "عادي;منسّق;دوس;العنوان 1;العنوان 2;العنوان 3;العنوان 4;العنوان 5;العنوان 6", - -// Alerts and Messages -ProcessingXHTML : "إنتظر قليلاً ريثما تتم معالَجة‏ XHTML. لن يستغرق طويلاً...", -Done : "تم", -PasteWordConfirm : "يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيفه قبل الشروع في عملية اللصق؟", -NotCompatiblePaste : "هذه الميزة تحتاج لمتصفح من النوعInternet Explorer إصدار 5.5 فما فوق. هل تود اللصق دون تنظيف الكود؟", -UnknownToolbarItem : "عنصر شريط أدوات غير معروف \"%1\"", -UnknownCommand : "أمر غير معروف \"%1\"", -NotImplemented : "لم يتم دعم هذا الأمر", -UnknownToolbarSet : "لم أتمكن من العثور على طقم الأدوات \"%1\" ", -NoActiveX : "لتأمين متصفحك يجب أن تحدد بعض مميزات المحرر. يتوجب عليك تمكين الخيار \"Run ActiveX controls and plug-ins\". قد تواجة أخطاء وتلاحظ مميزات مفقودة", -BrowseServerBlocked : "لايمكن فتح مصدر المتصفح. فضلا يجب التأكد بأن جميع موانع النوافذ المنبثقة معطلة", -DialogBlocked : "لايمكن فتح نافذة الحوار . فضلا تأكد من أن مانع النوافذ المنبثة معطل .", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "موافق", -DlgBtnCancel : "إلغاء الأمر", -DlgBtnClose : "إغلاق", -DlgBtnBrowseServer : "تصفح الخادم", -DlgAdvancedTag : "متقدم", -DlgOpOther : "<أخرى>", -DlgInfoTab : "معلومات", -DlgAlertUrl : "الرجاء كتابة عنوان الإنترنت", - -// General Dialogs Labels -DlgGenNotSet : "<بدون تحديد>", -DlgGenId : "الرقم", -DlgGenLangDir : "إتجاه النص", -DlgGenLangDirLtr : "اليسار لليمين (LTR)", -DlgGenLangDirRtl : "اليمين لليسار (RTL)", -DlgGenLangCode : "رمز اللغة", -DlgGenAccessKey : "مفاتيح الإختصار", -DlgGenName : "الاسم", -DlgGenTabIndex : "الترتيب", -DlgGenLongDescr : "عنوان الوصف المفصّل", -DlgGenClass : "فئات التنسيق", -DlgGenTitle : "تلميح الشاشة", -DlgGenContType : "نوع التلميح", -DlgGenLinkCharset : "ترميز المادة المطلوبة", -DlgGenStyle : "نمط", - -// Image Dialog -DlgImgTitle : "خصائص الصورة", -DlgImgInfoTab : "معلومات الصورة", -DlgImgBtnUpload : "أرسلها للخادم", -DlgImgURL : "موقع الصورة", -DlgImgUpload : "رفع", -DlgImgAlt : "الوصف", -DlgImgWidth : "العرض", -DlgImgHeight : "الإرتفاع", -DlgImgLockRatio : "تناسق الحجم", -DlgBtnResetSize : "إستعادة الحجم الأصلي", -DlgImgBorder : "سمك الحدود", -DlgImgHSpace : "تباعد أفقي", -DlgImgVSpace : "تباعد عمودي", -DlgImgAlign : "محاذاة", -DlgImgAlignLeft : "يسار", -DlgImgAlignAbsBottom: "أسفل النص", -DlgImgAlignAbsMiddle: "وسط السطر", -DlgImgAlignBaseline : "على السطر", -DlgImgAlignBottom : "أسفل", -DlgImgAlignMiddle : "وسط", -DlgImgAlignRight : "يمين", -DlgImgAlignTextTop : "أعلى النص", -DlgImgAlignTop : "أعلى", -DlgImgPreview : "معاينة", -DlgImgAlertUrl : "فضلاً أكتب الموقع الذي توجد عليه هذه الصورة.", -DlgImgLinkTab : "الرابط", - -// Flash Dialog -DlgFlashTitle : "خصائص فيلم الفلاش", -DlgFlashChkPlay : "تشغيل تلقائي", -DlgFlashChkLoop : "تكرار", -DlgFlashChkMenu : "تمكين قائمة فيلم الفلاش", -DlgFlashScale : "الحجم", -DlgFlashScaleAll : "إظهار الكل", -DlgFlashScaleNoBorder : "بلا حدود", -DlgFlashScaleFit : "ضبط تام", - -// Link Dialog -DlgLnkWindowTitle : "إرتباط تشعبي", -DlgLnkInfoTab : "معلومات الرابط", -DlgLnkTargetTab : "الهدف", - -DlgLnkType : "نوع الربط", -DlgLnkTypeURL : "العنوان", -DlgLnkTypeAnchor : "مكان في هذا المستند", -DlgLnkTypeEMail : "بريد إلكتروني", -DlgLnkProto : "البروتوكول", -DlgLnkProtoOther : "<أخرى>", -DlgLnkURL : "الموقع", -DlgLnkAnchorSel : "اختر علامة مرجعية", -DlgLnkAnchorByName : "حسب اسم العلامة", -DlgLnkAnchorById : "حسب تعريف العنصر", -DlgLnkNoAnchors : "(لا يوجد علامات مرجعية في هذا المستند)", -DlgLnkEMail : "عنوان بريد إلكتروني", -DlgLnkEMailSubject : "موضوع الرسالة", -DlgLnkEMailBody : "محتوى الرسالة", -DlgLnkUpload : "رفع", -DlgLnkBtnUpload : "أرسلها للخادم", - -DlgLnkTarget : "الهدف", -DlgLnkTargetFrame : "<إطار>", -DlgLnkTargetPopup : "<نافذة منبثقة>", -DlgLnkTargetBlank : "إطار جديد (_blank)", -DlgLnkTargetParent : "الإطار الأصل (_parent)", -DlgLnkTargetSelf : "نفس الإطار (_self)", -DlgLnkTargetTop : "صفحة كاملة (_top)", -DlgLnkTargetFrameName : "اسم الإطار الهدف", -DlgLnkPopWinName : "تسمية النافذة المنبثقة", -DlgLnkPopWinFeat : "خصائص النافذة المنبثقة", -DlgLnkPopResize : "قابلة للتحجيم", -DlgLnkPopLocation : "شريط العنوان", -DlgLnkPopMenu : "القوائم الرئيسية", -DlgLnkPopScroll : "أشرطة التمرير", -DlgLnkPopStatus : "شريط الحالة السفلي", -DlgLnkPopToolbar : "شريط الأدوات", -DlgLnkPopFullScrn : "ملئ الشاشة (IE)", -DlgLnkPopDependent : "تابع (Netscape)", -DlgLnkPopWidth : "العرض", -DlgLnkPopHeight : "الإرتفاع", -DlgLnkPopLeft : "التمركز لليسار", -DlgLnkPopTop : "التمركز للأعلى", - -DlnLnkMsgNoUrl : "فضلاً أدخل عنوان الموقع الذي يشير إليه الرابط", -DlnLnkMsgNoEMail : "فضلاً أدخل عنوان البريد الإلكتروني", -DlnLnkMsgNoAnchor : "فضلاً حدد العلامة المرجعية المرغوبة", -DlnLnkMsgInvPopName : "اسم النافذة المنبثقة يجب أن يبدأ بحرف أبجدي دون مسافات", - -// Color Dialog -DlgColorTitle : "اختر لوناً", -DlgColorBtnClear : "مسح", -DlgColorHighlight : "تحديد", -DlgColorSelected : "إختيار", - -// Smiley Dialog -DlgSmileyTitle : "إدراج إبتسامات ", - -// Special Character Dialog -DlgSpecialCharTitle : "إدراج رمز", - -// Table Dialog -DlgTableTitle : "إدراج جدول", -DlgTableRows : "صفوف", -DlgTableColumns : "أعمدة", -DlgTableBorder : "سمك الحدود", -DlgTableAlign : "المحاذاة", -DlgTableAlignNotSet : "<بدون تحديد>", -DlgTableAlignLeft : "يسار", -DlgTableAlignCenter : "وسط", -DlgTableAlignRight : "يمين", -DlgTableWidth : "العرض", -DlgTableWidthPx : "بكسل", -DlgTableWidthPc : "بالمئة", -DlgTableHeight : "الإرتفاع", -DlgTableCellSpace : "تباعد الخلايا", -DlgTableCellPad : "المسافة البادئة", -DlgTableCaption : "الوصف", -DlgTableSummary : "الخلاصة", - -// Table Cell Dialog -DlgCellTitle : "خصائص الخلية", -DlgCellWidth : "العرض", -DlgCellWidthPx : "بكسل", -DlgCellWidthPc : "بالمئة", -DlgCellHeight : "الإرتفاع", -DlgCellWordWrap : "التفاف النص", -DlgCellWordWrapNotSet : "<بدون تحديد>", -DlgCellWordWrapYes : "نعم", -DlgCellWordWrapNo : "لا", -DlgCellHorAlign : "المحاذاة الأفقية", -DlgCellHorAlignNotSet : "<بدون تحديد>", -DlgCellHorAlignLeft : "يسار", -DlgCellHorAlignCenter : "وسط", -DlgCellHorAlignRight: "يمين", -DlgCellVerAlign : "المحاذاة العمودية", -DlgCellVerAlignNotSet : "<بدون تحديد>", -DlgCellVerAlignTop : "أعلى", -DlgCellVerAlignMiddle : "وسط", -DlgCellVerAlignBottom : "أسفل", -DlgCellVerAlignBaseline : "على السطر", -DlgCellRowSpan : "إمتداد الصفوف", -DlgCellCollSpan : "إمتداد الأعمدة", -DlgCellBackColor : "لون الخلفية", -DlgCellBorderColor : "لون الحدود", -DlgCellBtnSelect : "حدّد...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "بحث واستبدال", - -// Find Dialog -DlgFindTitle : "بحث", -DlgFindFindBtn : "ابحث", -DlgFindNotFoundMsg : "لم يتم العثور على النص المحدد.", - -// Replace Dialog -DlgReplaceTitle : "إستبدال", -DlgReplaceFindLbl : "البحث عن:", -DlgReplaceReplaceLbl : "إستبدال بـ:", -DlgReplaceCaseChk : "مطابقة حالة الأحرف", -DlgReplaceReplaceBtn : "إستبدال", -DlgReplaceReplAllBtn : "إستبدال الكل", -DlgReplaceWordChk : "الكلمة بالكامل فقط", - -// Paste Operations / Dialog -PasteErrorCut : "الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl+X).", -PasteErrorCopy : "الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع النسخ التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl+C).", - -PasteAsText : "لصق كنص بسيط", -PasteFromWord : "لصق من وورد", - -DlgPasteMsg2 : "الصق داخل الصندوق بإستخدام زرّي (Ctrl+V) في لوحة المفاتيح، ثم اضغط زر موافق.", -DlgPasteSec : "نظراً لإعدادات الأمان الخاصة بمتصفحك، لن يتمكن هذا المحرر من الوصول لمحتوى حافظتك، لذا وجب عليك لصق المحتوى مرة أخرى في هذه النافذة.", -DlgPasteIgnoreFont : "تجاهل تعريفات أسماء الخطوط", -DlgPasteRemoveStyles : "إزالة تعريفات الأنماط", - -// Color Picker -ColorAutomatic : "تلقائي", -ColorMoreColors : "ألوان إضافية...", - -// Document Properties -DocProps : "خصائص الصفحة", - -// Anchor Dialog -DlgAnchorTitle : "خصائص إشارة مرجعية", -DlgAnchorName : "اسم الإشارة المرجعية", -DlgAnchorErrorName : "الرجاء كتابة اسم الإشارة المرجعية", - -// Speller Pages Dialog -DlgSpellNotInDic : "ليست في القاموس", -DlgSpellChangeTo : "التغيير إلى", -DlgSpellBtnIgnore : "تجاهل", -DlgSpellBtnIgnoreAll : "تجاهل الكل", -DlgSpellBtnReplace : "تغيير", -DlgSpellBtnReplaceAll : "تغيير الكل", -DlgSpellBtnUndo : "تراجع", -DlgSpellNoSuggestions : "- لا توجد إقتراحات -", -DlgSpellProgress : "جاري التدقيق إملائياً", -DlgSpellNoMispell : "تم إكمال التدقيق الإملائي: لم يتم العثور على أي أخطاء إملائية", -DlgSpellNoChanges : "تم إكمال التدقيق الإملائي: لم يتم تغيير أي كلمة", -DlgSpellOneChange : "تم إكمال التدقيق الإملائي: تم تغيير كلمة واحدة فقط", -DlgSpellManyChanges : "تم إكمال التدقيق الإملائي: تم تغيير %1 كلمات\كلمة", - -IeSpellDownload : "المدقق الإملائي (الإنجليزي) غير مثبّت. هل تود تحميله الآن؟", - -// Button Dialog -DlgButtonText : "القيمة/التسمية", -DlgButtonType : "نوع الزر", -DlgButtonTypeBtn : "زر", -DlgButtonTypeSbm : "إرسال", -DlgButtonTypeRst : "إعادة تعيين", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "الاسم", -DlgCheckboxValue : "القيمة", -DlgCheckboxSelected : "محدد", - -// Form Dialog -DlgFormName : "الاسم", -DlgFormAction : "اسم الملف", -DlgFormMethod : "الأسلوب", - -// Select Field Dialog -DlgSelectName : "الاسم", -DlgSelectValue : "القيمة", -DlgSelectSize : "الحجم", -DlgSelectLines : "الأسطر", -DlgSelectChkMulti : "السماح بتحديدات متعددة", -DlgSelectOpAvail : "الخيارات المتاحة", -DlgSelectOpText : "النص", -DlgSelectOpValue : "القيمة", -DlgSelectBtnAdd : "إضافة", -DlgSelectBtnModify : "تعديل", -DlgSelectBtnUp : "تحريك لأعلى", -DlgSelectBtnDown : "تحريك لأسفل", -DlgSelectBtnSetValue : "إجعلها محددة", -DlgSelectBtnDelete : "إزالة", - -// Textarea Dialog -DlgTextareaName : "الاسم", -DlgTextareaCols : "الأعمدة", -DlgTextareaRows : "الصفوف", - -// Text Field Dialog -DlgTextName : "الاسم", -DlgTextValue : "القيمة", -DlgTextCharWidth : "العرض بالأحرف", -DlgTextMaxChars : "عدد الحروف الأقصى", -DlgTextType : "نوع المحتوى", -DlgTextTypeText : "نص", -DlgTextTypePass : "كلمة مرور", - -// Hidden Field Dialog -DlgHiddenName : "الاسم", -DlgHiddenValue : "القيمة", - -// Bulleted List Dialog -BulletedListProp : "خصائص التعداد النقطي", -NumberedListProp : "خصائص التعداد الرقمي", -DlgLstStart : "البدء عند", -DlgLstType : "النوع", -DlgLstTypeCircle : "دائرة", -DlgLstTypeDisc : "قرص", -DlgLstTypeSquare : "مربع", -DlgLstTypeNumbers : "أرقام (1، 2، 3)َ", -DlgLstTypeLCase : "حروف صغيرة (a, b, c)َ", -DlgLstTypeUCase : "حروف كبيرة (A, B, C)َ", -DlgLstTypeSRoman : "ترقيم روماني صغير (i, ii, iii)َ", -DlgLstTypeLRoman : "ترقيم روماني كبير (I, II, III)َ", - -// Document Properties Dialog -DlgDocGeneralTab : "عام", -DlgDocBackTab : "الخلفية", -DlgDocColorsTab : "الألوان والهوامش", -DlgDocMetaTab : "المعرّفات الرأسية", - -DlgDocPageTitle : "عنوان الصفحة", -DlgDocLangDir : "إتجاه اللغة", -DlgDocLangDirLTR : "اليسار لليمين (LTR)", -DlgDocLangDirRTL : "اليمين لليسار (RTL)", -DlgDocLangCode : "رمز اللغة", -DlgDocCharSet : "ترميز الحروف", -DlgDocCharSetCE : "أوروبا الوسطى", -DlgDocCharSetCT : "الصينية التقليدية (Big5)", -DlgDocCharSetCR : "السيريلية", -DlgDocCharSetGR : "اليونانية", -DlgDocCharSetJP : "اليابانية", -DlgDocCharSetKR : "الكورية", -DlgDocCharSetTR : "التركية", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "أوروبا الغربية", -DlgDocCharSetOther : "ترميز آخر", - -DlgDocDocType : "ترويسة نوع الصفحة", -DlgDocDocTypeOther : "ترويسة نوع صفحة أخرى", -DlgDocIncXHTML : "تضمين إعلانات‏ لغة XHTMLَ", -DlgDocBgColor : "لون الخلفية", -DlgDocBgImage : "رابط الصورة الخلفية", -DlgDocBgNoScroll : "جعلها علامة مائية", -DlgDocCText : "النص", -DlgDocCLink : "الروابط", -DlgDocCVisited : "المزارة", -DlgDocCActive : "النشطة", -DlgDocMargins : "هوامش الصفحة", -DlgDocMaTop : "علوي", -DlgDocMaLeft : "أيسر", -DlgDocMaRight : "أيمن", -DlgDocMaBottom : "سفلي", -DlgDocMeIndex : "الكلمات الأساسية (مفصولة بفواصل)َ", -DlgDocMeDescr : "وصف الصفحة", -DlgDocMeAuthor : "الكاتب", -DlgDocMeCopy : "المالك", -DlgDocPreview : "معاينة", - -// Templates Dialog -Templates : "القوالب", -DlgTemplatesTitle : "قوالب المحتوى", -DlgTemplatesSelMsg : "اختر القالب الذي تود وضعه في المحرر
    (سيتم فقدان المحتوى الحالي):", -DlgTemplatesLoading : "جاري تحميل قائمة القوالب، الرجاء الإنتظار...", -DlgTemplatesNoTpl : "(لم يتم تعريف أي قالب)", -DlgTemplatesReplace : "استبدال المحتوى", - -// About Dialog -DlgAboutAboutTab : "نبذة", -DlgAboutBrowserInfoTab : "معلومات متصفحك", -DlgAboutLicenseTab : "الترخيص", -DlgAboutVersion : "الإصدار", -DlgAboutInfo : "لمزيد من المعلومات تفضل بزيارة", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/bg.js b/include/fckeditor/editor/lang/bg.js deleted file mode 100644 index 6c6f8b1ea..000000000 --- a/include/fckeditor/editor/lang/bg.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Bulgarian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Скрий панела с инструментите", -ToolbarExpand : "Покажи панела с инструментите", - -// Toolbar Items and Context Menu -Save : "Запази", -NewPage : "Нова страница", -Preview : "Предварителен изглед", -Cut : "Изрежи", -Copy : "Запамети", -Paste : "Вмъкни", -PasteText : "Вмъкни само текст", -PasteWord : "Вмъкни от MS Word", -Print : "Печат", -SelectAll : "Селектирай всичко", -RemoveFormat : "Изтрий форматирането", -InsertLinkLbl : "Връзка", -InsertLink : "Добави/Редактирай връзка", -RemoveLink : "Изтрий връзка", -VisitLink : "Open Link", //MISSING -Anchor : "Добави/Редактирай котва", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "Изображение", -InsertImage : "Добави/Редактирай изображение", -InsertFlashLbl : "Flash", -InsertFlash : "Добави/Редактиай Flash обект", -InsertTableLbl : "Таблица", -InsertTable : "Добави/Редактирай таблица", -InsertLineLbl : "Линия", -InsertLine : "Вмъкни хоризонтална линия", -InsertSpecialCharLbl: "Специален символ", -InsertSpecialChar : "Вмъкни специален символ", -InsertSmileyLbl : "Усмивка", -InsertSmiley : "Добави усмивка", -About : "За FCKeditor", -Bold : "Удебелен", -Italic : "Курсив", -Underline : "Подчертан", -StrikeThrough : "Зачертан", -Subscript : "Индекс за база", -Superscript : "Индекс за степен", -LeftJustify : "Подравняване в ляво", -CenterJustify : "Подравнявне в средата", -RightJustify : "Подравняване в дясно", -BlockJustify : "Двустранно подравняване", -DecreaseIndent : "Намали отстъпа", -IncreaseIndent : "Увеличи отстъпа", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Отмени", -Redo : "Повтори", -NumberedListLbl : "Нумериран списък", -NumberedList : "Добави/Изтрий нумериран списък", -BulletedListLbl : "Ненумериран списък", -BulletedList : "Добави/Изтрий ненумериран списък", -ShowTableBorders : "Покажи рамките на таблицата", -ShowDetails : "Покажи подробности", -Style : "Стил", -FontFormat : "Формат", -Font : "Шрифт", -FontSize : "Размер", -TextColor : "Цвят на текста", -BGColor : "Цвят на фона", -Source : "Код", -Find : "Търси", -Replace : "Замести", -SpellCheck : "Провери правописа", -UniversalKeyboard : "Универсална клавиатура", -PageBreakLbl : "Нов ред", -PageBreak : "Вмъкни нов ред", - -Form : "Формуляр", -Checkbox : "Поле за отметка", -RadioButton : "Поле за опция", -TextField : "Текстово поле", -Textarea : "Текстова област", -HiddenField : "Скрито поле", -Button : "Бутон", -SelectionField : "Падащо меню с опции", -ImageButton : "Бутон-изображение", - -FitWindow : "Maximize the editor size", //MISSING -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "Редактирай връзка", -CellCM : "Cell", //MISSING -RowCM : "Row", //MISSING -ColumnCM : "Column", //MISSING -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "Изтрий редовете", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "Изтрий колоните", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "Изтрий клетките", -MergeCells : "Обедини клетките", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "Изтрий таблицата", -CellProperties : "Параметри на клетката", -TableProperties : "Параметри на таблицата", -ImageProperties : "Параметри на изображението", -FlashProperties : "Параметри на Flash обекта", - -AnchorProp : "Параметри на котвата", -ButtonProp : "Параметри на бутона", -CheckboxProp : "Параметри на полето за отметка", -HiddenFieldProp : "Параметри на скритото поле", -RadioButtonProp : "Параметри на полето за опция", -ImageButtonProp : "Параметри на бутона-изображение", -TextFieldProp : "Параметри на текстовото-поле", -SelectionFieldProp : "Параметри на падащото меню с опции", -TextareaProp : "Параметри на текстовата област", -FormProp : "Параметри на формуляра", - -FontFormats : "Нормален;Форматиран;Адрес;Заглавие 1;Заглавие 2;Заглавие 3;Заглавие 4;Заглавие 5;Заглавие 6;Параграф (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Обработка на XHTML. Моля изчакайте...", -Done : "Готово", -PasteWordConfirm : "Текстът, който искате да вмъкнете е копиран от MS Word. Желаете ли да бъде изчистен преди вмъкването?", -NotCompatiblePaste : "Тази операция изисква MS Internet Explorer версия 5.5 или по-висока. Желаете ли да вмъкнете запаметеното без изчистване?", -UnknownToolbarItem : "Непознат инструмент \"%1\"", -UnknownCommand : "Непозната команда \"%1\"", -NotImplemented : "Командата не е имплементирана", -UnknownToolbarSet : "Панелът \"%1\" не съществува", -NoActiveX : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING -BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING -DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "ОК", -DlgBtnCancel : "Отказ", -DlgBtnClose : "Затвори", -DlgBtnBrowseServer : "Разгледай сървъра", -DlgAdvancedTag : "Подробности...", -DlgOpOther : "<Друго>", -DlgInfoTab : "Информация", -DlgAlertUrl : "Моля, въведете пълния път (URL)", - -// General Dialogs Labels -DlgGenNotSet : "<не е настроен>", -DlgGenId : "Идентификатор", -DlgGenLangDir : "посока на речта", -DlgGenLangDirLtr : "От ляво на дясно", -DlgGenLangDirRtl : "От дясно на ляво", -DlgGenLangCode : "Код на езика", -DlgGenAccessKey : "Бърз клавиш", -DlgGenName : "Име", -DlgGenTabIndex : "Ред на достъп", -DlgGenLongDescr : "Описание на връзката", -DlgGenClass : "Клас от стиловите таблици", -DlgGenTitle : "Препоръчително заглавие", -DlgGenContType : "Препоръчителен тип на съдържанието", -DlgGenLinkCharset : "Тип на свързания ресурс", -DlgGenStyle : "Стил", - -// Image Dialog -DlgImgTitle : "Параметри на изображението", -DlgImgInfoTab : "Информация за изображението", -DlgImgBtnUpload : "Прати към сървъра", -DlgImgURL : "Пълен път (URL)", -DlgImgUpload : "Качи", -DlgImgAlt : "Алтернативен текст", -DlgImgWidth : "Ширина", -DlgImgHeight : "Височина", -DlgImgLockRatio : "Запази пропорцията", -DlgBtnResetSize : "Възстанови размера", -DlgImgBorder : "Рамка", -DlgImgHSpace : "Хоризонтален отстъп", -DlgImgVSpace : "Вертикален отстъп", -DlgImgAlign : "Подравняване", -DlgImgAlignLeft : "Ляво", -DlgImgAlignAbsBottom: "Най-долу", -DlgImgAlignAbsMiddle: "Точно по средата", -DlgImgAlignBaseline : "По базовата линия", -DlgImgAlignBottom : "Долу", -DlgImgAlignMiddle : "По средата", -DlgImgAlignRight : "Дясно", -DlgImgAlignTextTop : "Върху текста", -DlgImgAlignTop : "Отгоре", -DlgImgPreview : "Изглед", -DlgImgAlertUrl : "Моля, въведете пълния път до изображението", -DlgImgLinkTab : "Връзка", - -// Flash Dialog -DlgFlashTitle : "Параметри на Flash обекта", -DlgFlashChkPlay : "Автоматично стартиране", -DlgFlashChkLoop : "Ново стартиране след завършването", -DlgFlashChkMenu : "Разрешено Flash меню", -DlgFlashScale : "Оразмеряване", -DlgFlashScaleAll : "Покажи целия обект", -DlgFlashScaleNoBorder : "Без рамка", -DlgFlashScaleFit : "Според мястото", - -// Link Dialog -DlgLnkWindowTitle : "Връзка", -DlgLnkInfoTab : "Информация за връзката", -DlgLnkTargetTab : "Цел", - -DlgLnkType : "Вид на връзката", -DlgLnkTypeURL : "Пълен път (URL)", -DlgLnkTypeAnchor : "Котва в текущата страница", -DlgLnkTypeEMail : "Е-поща", -DlgLnkProto : "Протокол", -DlgLnkProtoOther : "<друго>", -DlgLnkURL : "Пълен път (URL)", -DlgLnkAnchorSel : "Изберете котва", -DlgLnkAnchorByName : "По име на котвата", -DlgLnkAnchorById : "По идентификатор на елемент", -DlgLnkNoAnchors : "(Няма котви в текущия документ)", -DlgLnkEMail : "Адрес за е-поща", -DlgLnkEMailSubject : "Тема на писмото", -DlgLnkEMailBody : "Текст на писмото", -DlgLnkUpload : "Качи", -DlgLnkBtnUpload : "Прати на сървъра", - -DlgLnkTarget : "Цел", -DlgLnkTargetFrame : "<рамка>", -DlgLnkTargetPopup : "<дъщерен прозорец>", -DlgLnkTargetBlank : "Нов прозорец (_blank)", -DlgLnkTargetParent : "Родителски прозорец (_parent)", -DlgLnkTargetSelf : "Активния прозорец (_self)", -DlgLnkTargetTop : "Целия прозорец (_top)", -DlgLnkTargetFrameName : "Име на целевия прозорец", -DlgLnkPopWinName : "Име на дъщерния прозорец", -DlgLnkPopWinFeat : "Параметри на дъщерния прозорец", -DlgLnkPopResize : "С променливи размери", -DlgLnkPopLocation : "Поле за адрес", -DlgLnkPopMenu : "Меню", -DlgLnkPopScroll : "Плъзгач", -DlgLnkPopStatus : "Поле за статус", -DlgLnkPopToolbar : "Панел с бутони", -DlgLnkPopFullScrn : "Голям екран (MS IE)", -DlgLnkPopDependent : "Зависим (Netscape)", -DlgLnkPopWidth : "Ширина", -DlgLnkPopHeight : "Височина", -DlgLnkPopLeft : "Координати - X", -DlgLnkPopTop : "Координати - Y", - -DlnLnkMsgNoUrl : "Моля, напишете пълния път (URL)", -DlnLnkMsgNoEMail : "Моля, напишете адреса за е-поща", -DlnLnkMsgNoAnchor : "Моля, изберете котва", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING - -// Color Dialog -DlgColorTitle : "Изберете цвят", -DlgColorBtnClear : "Изчисти", -DlgColorHighlight : "Текущ", -DlgColorSelected : "Избран", - -// Smiley Dialog -DlgSmileyTitle : "Добави усмивка", - -// Special Character Dialog -DlgSpecialCharTitle : "Изберете специален символ", - -// Table Dialog -DlgTableTitle : "Параметри на таблицата", -DlgTableRows : "Редове", -DlgTableColumns : "Колони", -DlgTableBorder : "Размер на рамката", -DlgTableAlign : "Подравняване", -DlgTableAlignNotSet : "<Не е избрано>", -DlgTableAlignLeft : "Ляво", -DlgTableAlignCenter : "Център", -DlgTableAlignRight : "Дясно", -DlgTableWidth : "Ширина", -DlgTableWidthPx : "пиксели", -DlgTableWidthPc : "проценти", -DlgTableHeight : "Височина", -DlgTableCellSpace : "Разстояние между клетките", -DlgTableCellPad : "Отстъп на съдържанието в клетките", -DlgTableCaption : "Заглавие", -DlgTableSummary : "Резюме", - -// Table Cell Dialog -DlgCellTitle : "Параметри на клетката", -DlgCellWidth : "Ширина", -DlgCellWidthPx : "пиксели", -DlgCellWidthPc : "проценти", -DlgCellHeight : "Височина", -DlgCellWordWrap : "пренасяне на нов ред", -DlgCellWordWrapNotSet : "<Не е настроено>", -DlgCellWordWrapYes : "Да", -DlgCellWordWrapNo : "не", -DlgCellHorAlign : "Хоризонтално подравняване", -DlgCellHorAlignNotSet : "<Не е настроено>", -DlgCellHorAlignLeft : "Ляво", -DlgCellHorAlignCenter : "Център", -DlgCellHorAlignRight: "Дясно", -DlgCellVerAlign : "Вертикално подравняване", -DlgCellVerAlignNotSet : "<Не е настроено>", -DlgCellVerAlignTop : "Горе", -DlgCellVerAlignMiddle : "По средата", -DlgCellVerAlignBottom : "Долу", -DlgCellVerAlignBaseline : "По базовата линия", -DlgCellRowSpan : "повече от един ред", -DlgCellCollSpan : "повече от една колона", -DlgCellBackColor : "фонов цвят", -DlgCellBorderColor : "цвят на рамката", -DlgCellBtnSelect : "Изберете...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "Търси", -DlgFindFindBtn : "Търси", -DlgFindNotFoundMsg : "Указания текст не беше намерен.", - -// Replace Dialog -DlgReplaceTitle : "Замести", -DlgReplaceFindLbl : "Търси:", -DlgReplaceReplaceLbl : "Замести с:", -DlgReplaceCaseChk : "Със същия регистър", -DlgReplaceReplaceBtn : "Замести", -DlgReplaceReplAllBtn : "Замести всички", -DlgReplaceWordChk : "Търси същата дума", - -// Paste Operations / Dialog -PasteErrorCut : "Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни изрязването. За целта използвайте клавиатурата (Ctrl+X).", -PasteErrorCopy : "Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl+C).", - -PasteAsText : "Вмъкни като чист текст", -PasteFromWord : "Вмъкни от MS Word", - -DlgPasteMsg2 : "Вмъкнете тук съдъжанието с клавиатуарата (Ctrl+V) и натиснете OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "Игнорирай шрифтовите дефиниции", -DlgPasteRemoveStyles : "Изтрий стиловите дефиниции", - -// Color Picker -ColorAutomatic : "По подразбиране", -ColorMoreColors : "Други цветове...", - -// Document Properties -DocProps : "Параметри на документа", - -// Anchor Dialog -DlgAnchorTitle : "Параметри на котвата", -DlgAnchorName : "Име на котвата", -DlgAnchorErrorName : "Моля, въведете име на котвата", - -// Speller Pages Dialog -DlgSpellNotInDic : "Липсва в речника", -DlgSpellChangeTo : "Промени на", -DlgSpellBtnIgnore : "Игнорирай", -DlgSpellBtnIgnoreAll : "Игнорирай всички", -DlgSpellBtnReplace : "Замести", -DlgSpellBtnReplaceAll : "Замести всички", -DlgSpellBtnUndo : "Отмени", -DlgSpellNoSuggestions : "- Няма предложения -", -DlgSpellProgress : "Извършване на проверката за правопис...", -DlgSpellNoMispell : "Проверката за правопис завършена: не са открити правописни грешки", -DlgSpellNoChanges : "Проверката за правопис завършена: няма променени думи", -DlgSpellOneChange : "Проверката за правопис завършена: една дума е променена", -DlgSpellManyChanges : "Проверката за правопис завършена: %1 думи са променени", - -IeSpellDownload : "Инструментът за проверка на правопис не е инсталиран. Желаете ли да го инсталирате ?", - -// Button Dialog -DlgButtonText : "Текст (Стойност)", -DlgButtonType : "Тип", -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Име", -DlgCheckboxValue : "Стойност", -DlgCheckboxSelected : "Отметнато", - -// Form Dialog -DlgFormName : "Име", -DlgFormAction : "Действие", -DlgFormMethod : "Метод", - -// Select Field Dialog -DlgSelectName : "Име", -DlgSelectValue : "Стойност", -DlgSelectSize : "Размер", -DlgSelectLines : "линии", -DlgSelectChkMulti : "Разрешено множествено селектиране", -DlgSelectOpAvail : "Възможни опции", -DlgSelectOpText : "Текст", -DlgSelectOpValue : "Стойност", -DlgSelectBtnAdd : "Добави", -DlgSelectBtnModify : "Промени", -DlgSelectBtnUp : "Нагоре", -DlgSelectBtnDown : "Надолу", -DlgSelectBtnSetValue : "Настрой като избрана стойност", -DlgSelectBtnDelete : "Изтрий", - -// Textarea Dialog -DlgTextareaName : "Име", -DlgTextareaCols : "Колони", -DlgTextareaRows : "Редове", - -// Text Field Dialog -DlgTextName : "Име", -DlgTextValue : "Стойност", -DlgTextCharWidth : "Ширина на символите", -DlgTextMaxChars : "Максимум символи", -DlgTextType : "Тип", -DlgTextTypeText : "Текст", -DlgTextTypePass : "Парола", - -// Hidden Field Dialog -DlgHiddenName : "Име", -DlgHiddenValue : "Стойност", - -// Bulleted List Dialog -BulletedListProp : "Параметри на ненумерирания списък", -NumberedListProp : "Параметри на нумерирания списък", -DlgLstStart : "Start", //MISSING -DlgLstType : "Тип", -DlgLstTypeCircle : "Окръжност", -DlgLstTypeDisc : "Кръг", -DlgLstTypeSquare : "Квадрат", -DlgLstTypeNumbers : "Числа (1, 2, 3)", -DlgLstTypeLCase : "Малки букви (a, b, c)", -DlgLstTypeUCase : "Големи букви (A, B, C)", -DlgLstTypeSRoman : "Малки римски числа (i, ii, iii)", -DlgLstTypeLRoman : "Големи римски числа (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Общи", -DlgDocBackTab : "Фон", -DlgDocColorsTab : "Цветове и отстъпи", -DlgDocMetaTab : "Мета данни", - -DlgDocPageTitle : "Заглавие на страницата", -DlgDocLangDir : "Посока на речта", -DlgDocLangDirLTR : "От ляво на дясно", -DlgDocLangDirRTL : "От дясно на ляво", -DlgDocLangCode : "Код на езика", -DlgDocCharSet : "Кодиране на символите", -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "Друго кодиране на символите", - -DlgDocDocType : "Тип на документа", -DlgDocDocTypeOther : "Друг тип на документа", -DlgDocIncXHTML : "Включи XHTML декларация", -DlgDocBgColor : "Цвят на фона", -DlgDocBgImage : "Пълен път до фоновото изображение", -DlgDocBgNoScroll : "Не-повтарящо се фоново изображение", -DlgDocCText : "Текст", -DlgDocCLink : "Връзка", -DlgDocCVisited : "Посетена връзка", -DlgDocCActive : "Активна връзка", -DlgDocMargins : "Отстъпи на страницата", -DlgDocMaTop : "Горе", -DlgDocMaLeft : "Ляво", -DlgDocMaRight : "Дясно", -DlgDocMaBottom : "Долу", -DlgDocMeIndex : "Ключови думи за документа (разделени със запетаи)", -DlgDocMeDescr : "Описание на документа", -DlgDocMeAuthor : "Автор", -DlgDocMeCopy : "Авторски права", -DlgDocPreview : "Изглед", - -// Templates Dialog -Templates : "Шаблони", -DlgTemplatesTitle : "Шаблони", -DlgTemplatesSelMsg : "Изберете шаблон
    (текущото съдържание на редактора ще бъде загубено):", -DlgTemplatesLoading : "Зареждане на списъка с шаблоните. Моля изчакайте...", -DlgTemplatesNoTpl : "(Няма дефинирани шаблони)", -DlgTemplatesReplace : "Replace actual contents", //MISSING - -// About Dialog -DlgAboutAboutTab : "За", -DlgAboutBrowserInfoTab : "Информация за браузъра", -DlgAboutLicenseTab : "License", //MISSING -DlgAboutVersion : "версия", -DlgAboutInfo : "За повече информация посетете", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/bn.js b/include/fckeditor/editor/lang/bn.js deleted file mode 100644 index 173182e25..000000000 --- a/include/fckeditor/editor/lang/bn.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Bengali/Bangla language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "টূলবার গুটিয়ে দাও", -ToolbarExpand : "টূলবার ছড়িয়ে দাও", - -// Toolbar Items and Context Menu -Save : "সংরক্ষন কর", -NewPage : "নতুন পেজ", -Preview : "প্রিভিউ", -Cut : "কাট", -Copy : "কপি", -Paste : "পেস্ট", -PasteText : "পেস্ট (সাদা টেক্সট)", -PasteWord : "পেস্ট (শব্দ)", -Print : "প্রিন্ট", -SelectAll : "সব সিলেক্ট কর", -RemoveFormat : "ফরমেট সরাও", -InsertLinkLbl : "লিংকের যুক্ত করার লেবেল", -InsertLink : "লিংক যুক্ত কর", -RemoveLink : "লিংক সরাও", -VisitLink : "Open Link", //MISSING -Anchor : "নোঙ্গর", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "ছবির লেবেল যুক্ত কর", -InsertImage : "ছবি যুক্ত কর", -InsertFlashLbl : "ফ্লাশ লেবেল যুক্ত কর", -InsertFlash : "ফ্লাশ যুক্ত কর", -InsertTableLbl : "টেবিলের লেবেল যুক্ত কর", -InsertTable : "টেবিল যুক্ত কর", -InsertLineLbl : "রেখা যুক্ত কর", -InsertLine : "রেখা যুক্ত কর", -InsertSpecialCharLbl: "বিশেষ অক্ষরের লেবেল যুক্ত কর", -InsertSpecialChar : "বিশেষ অক্ষর যুক্ত কর", -InsertSmileyLbl : "স্মাইলী", -InsertSmiley : "স্মাইলী যুক্ত কর", -About : "FCKeditor কে বানিয়েছে", -Bold : "বোল্ড", -Italic : "ইটালিক", -Underline : "আন্ডারলাইন", -StrikeThrough : "স্ট্রাইক থ্রু", -Subscript : "অধোলেখ", -Superscript : "অভিলেখ", -LeftJustify : "বা দিকে ঘেঁষা", -CenterJustify : "মাঝ বরাবর ঘেষা", -RightJustify : "ডান দিকে ঘেঁষা", -BlockJustify : "ব্লক জাস্টিফাই", -DecreaseIndent : "ইনডেন্ট কমাও", -IncreaseIndent : "ইনডেন্ট বাড়াও", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "আনডু", -Redo : "রি-ডু", -NumberedListLbl : "সাংখ্যিক লিস্টের লেবেল", -NumberedList : "সাংখ্যিক লিস্ট", -BulletedListLbl : "বুলেট লিস্ট লেবেল", -BulletedList : "বুলেটেড লিস্ট", -ShowTableBorders : "টেবিল বর্ডার", -ShowDetails : "সবটুকু দেখাও", -Style : "স্টাইল", -FontFormat : "ফন্ট ফরমেট", -Font : "ফন্ট", -FontSize : "সাইজ", -TextColor : "টেক্স্ট রং", -BGColor : "বেকগ্রাউন্ড রং", -Source : "সোর্স", -Find : "খোজো", -Replace : "রিপ্লেস", -SpellCheck : "বানান চেক", -UniversalKeyboard : "সার্বজনীন কিবোর্ড", -PageBreakLbl : "পেজ ব্রেক লেবেল", -PageBreak : "পেজ ব্রেক", - -Form : "ফর্ম", -Checkbox : "চেক বাক্স", -RadioButton : "রেডিও বাটন", -TextField : "টেক্সট ফীল্ড", -Textarea : "টেক্সট এরিয়া", -HiddenField : "গুপ্ত ফীল্ড", -Button : "বাটন", -SelectionField : "বাছাই ফীল্ড", -ImageButton : "ছবির বাটন", - -FitWindow : "উইন্ডো ফিট কর", -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "লিংক সম্পাদন", -CellCM : "সেল", -RowCM : "রো", -ColumnCM : "কলাম", -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "রো মুছে দাও", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "কলাম মুছে দাও", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "সেল মুছে দাও", -MergeCells : "সেল জোড়া দাও", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "টেবিল ডিলীট কর", -CellProperties : "সেলের প্রোপার্টিজ", -TableProperties : "টেবিল প্রোপার্টি", -ImageProperties : "ছবি প্রোপার্টি", -FlashProperties : "ফ্লাশ প্রোপার্টি", - -AnchorProp : "নোঙর প্রোপার্টি", -ButtonProp : "বাটন প্রোপার্টি", -CheckboxProp : "চেক বক্স প্রোপার্টি", -HiddenFieldProp : "গুপ্ত ফীল্ড প্রোপার্টি", -RadioButtonProp : "রেডিও বাটন প্রোপার্টি", -ImageButtonProp : "ছবি বাটন প্রোপার্টি", -TextFieldProp : "টেক্সট ফীল্ড প্রোপার্টি", -SelectionFieldProp : "বাছাই ফীল্ড প্রোপার্টি", -TextareaProp : "টেক্সট এরিয়া প্রোপার্টি", -FormProp : "ফর্ম প্রোপার্টি", - -FontFormats : "সাধারণ;ফর্মেটেড;ঠিকানা;শীর্ষক ১;শীর্ষক ২;শীর্ষক ৩;শীর্ষক ৪;শীর্ষক ৫;শীর্ষক ৬;শীর্ষক (DIV)", - -// Alerts and Messages -ProcessingXHTML : "XHTML প্রসেস করা হচ্ছে", -Done : "শেষ হয়েছে", -PasteWordConfirm : "যে টেকস্টটি আপনি পেস্ট করতে চাচ্ছেন মনে হচ্ছে সেটি ওয়ার্ড থেকে কপি করা। আপনি কি পেস্ট করার আগে একে পরিষ্কার করতে চান?", -NotCompatiblePaste : "এই কমান্ডটি শুধুমাত্র ইন্টারনেট এক্সপ্লোরার ৫.০ বা তার পরের ভার্সনে পাওয়া সম্ভব। আপনি কি পরিষ্কার না করেই পেস্ট করতে চান?", -UnknownToolbarItem : "অজানা টুলবার আইটেম \"%1\"", -UnknownCommand : "অজানা কমান্ড \"%1\"", -NotImplemented : "কমান্ড ইমপ্লিমেন্ট করা হয়নি", -UnknownToolbarSet : "টুলবার সেট \"%1\" এর অস্তিত্ব নেই", -NoActiveX : "আপনার ব্রাউজারের সুরক্ষা সেটিংস কারনে এডিটরের কিছু ফিচার পাওয়া নাও যেতে পারে। আপনাকে অবশ্যই \"Run ActiveX controls and plug-ins\" এনাবেল করে নিতে হবে। আপনি ভুলভ্রান্তি কিছু কিছু ফিচারের অনুপস্থিতি উপলব্ধি করতে পারেন।", -BrowseServerBlocked : "রিসোর্স ব্রাউজার খোলা গেল না। নিশ্চিত করুন যে সব পপআপ ব্লকার বন্ধ করা আছে।", -DialogBlocked : "ডায়ালগ ইউন্ডো খোলা গেল না। নিশ্চিত করুন যে সব পপআপ ব্লকার বন্ধ করা আছে।", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "ওকে", -DlgBtnCancel : "বাতিল", -DlgBtnClose : "বন্ধ কর", -DlgBtnBrowseServer : "ব্রাউজ সার্ভার", -DlgAdvancedTag : "এডভান্সড", -DlgOpOther : "<অন্য>", -DlgInfoTab : "তথ্য", -DlgAlertUrl : "দয়া করে URL যুক্ত করুন", - -// General Dialogs Labels -DlgGenNotSet : "<সেট নেই>", -DlgGenId : "আইডি", -DlgGenLangDir : "ভাষা লেখার দিক", -DlgGenLangDirLtr : "বাম থেকে ডান (LTR)", -DlgGenLangDirRtl : "ডান থেকে বাম (RTL)", -DlgGenLangCode : "ভাষা কোড", -DlgGenAccessKey : "এক্সেস কী", -DlgGenName : "নাম", -DlgGenTabIndex : "ট্যাব ইন্ডেক্স", -DlgGenLongDescr : "URL এর লম্বা বর্ণনা", -DlgGenClass : "স্টাইল-শীট ক্লাস", -DlgGenTitle : "পরামর্শ শীর্ষক", -DlgGenContType : "পরামর্শ কন্টেন্টের প্রকার", -DlgGenLinkCharset : "লিংক রিসোর্স ক্যারেক্টর সেট", -DlgGenStyle : "স্টাইল", - -// Image Dialog -DlgImgTitle : "ছবির প্রোপার্টি", -DlgImgInfoTab : "ছবির তথ্য", -DlgImgBtnUpload : "ইহাকে সার্ভারে প্রেরন কর", -DlgImgURL : "URL", -DlgImgUpload : "আপলোড", -DlgImgAlt : "বিকল্প টেক্সট", -DlgImgWidth : "প্রস্থ", -DlgImgHeight : "দৈর্ঘ্য", -DlgImgLockRatio : "অনুপাত লক কর", -DlgBtnResetSize : "সাইজ পূর্বাবস্থায় ফিরিয়ে দাও", -DlgImgBorder : "বর্ডার", -DlgImgHSpace : "হরাইজন্টাল স্পেস", -DlgImgVSpace : "ভার্টিকেল স্পেস", -DlgImgAlign : "এলাইন", -DlgImgAlignLeft : "বামে", -DlgImgAlignAbsBottom: "Abs নীচে", -DlgImgAlignAbsMiddle: "Abs উপর", -DlgImgAlignBaseline : "মূল রেখা", -DlgImgAlignBottom : "নীচে", -DlgImgAlignMiddle : "মধ্য", -DlgImgAlignRight : "ডানে", -DlgImgAlignTextTop : "টেক্সট উপর", -DlgImgAlignTop : "উপর", -DlgImgPreview : "প্রীভিউ", -DlgImgAlertUrl : "অনুগ্রহক করে ছবির URL টাইপ করুন", -DlgImgLinkTab : "লিংক", - -// Flash Dialog -DlgFlashTitle : "ফ্ল্যাশ প্রোপার্টি", -DlgFlashChkPlay : "অটো প্লে", -DlgFlashChkLoop : "লূপ", -DlgFlashChkMenu : "ফ্ল্যাশ মেনু এনাবল কর", -DlgFlashScale : "স্কেল", -DlgFlashScaleAll : "সব দেখাও", -DlgFlashScaleNoBorder : "কোনো বর্ডার নেই", -DlgFlashScaleFit : "নিখুঁত ফিট", - -// Link Dialog -DlgLnkWindowTitle : "লিংক", -DlgLnkInfoTab : "লিংক তথ্য", -DlgLnkTargetTab : "টার্গেট", - -DlgLnkType : "লিংক প্রকার", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "এই পেজে নোঙর কর", -DlgLnkTypeEMail : "ইমেইল", -DlgLnkProto : "প্রোটোকল", -DlgLnkProtoOther : "<অন্য>", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "নোঙর বাছাই", -DlgLnkAnchorByName : "নোঙরের নাম দিয়ে", -DlgLnkAnchorById : "নোঙরের আইডি দিয়ে", -DlgLnkNoAnchors : "(No anchors available in the document)", //MISSING -DlgLnkEMail : "ইমেইল ঠিকানা", -DlgLnkEMailSubject : "মেসেজের বিষয়", -DlgLnkEMailBody : "মেসেজের দেহ", -DlgLnkUpload : "আপলোড", -DlgLnkBtnUpload : "একে সার্ভারে পাঠাও", - -DlgLnkTarget : "টার্গেট", -DlgLnkTargetFrame : "<ফ্রেম>", -DlgLnkTargetPopup : "<পপআপ উইন্ডো>", -DlgLnkTargetBlank : "নতুন উইন্ডো (_blank)", -DlgLnkTargetParent : "মূল উইন্ডো (_parent)", -DlgLnkTargetSelf : "এই উইন্ডো (_self)", -DlgLnkTargetTop : "শীর্ষ উইন্ডো (_top)", -DlgLnkTargetFrameName : "টার্গেট ফ্রেমের নাম", -DlgLnkPopWinName : "পপআপ উইন্ডোর নাম", -DlgLnkPopWinFeat : "পপআপ উইন্ডো ফীচার সমূহ", -DlgLnkPopResize : "রিসাইজ করা সম্ভব", -DlgLnkPopLocation : "লোকেশন বার", -DlgLnkPopMenu : "মেন্যু বার", -DlgLnkPopScroll : "স্ক্রল বার", -DlgLnkPopStatus : "স্ট্যাটাস বার", -DlgLnkPopToolbar : "টুল বার", -DlgLnkPopFullScrn : "পূর্ণ পর্দা জুড়ে (IE)", -DlgLnkPopDependent : "ডিপেন্ডেন্ট (Netscape)", -DlgLnkPopWidth : "প্রস্থ", -DlgLnkPopHeight : "দৈর্ঘ্য", -DlgLnkPopLeft : "বামের পজিশন", -DlgLnkPopTop : "ডানের পজিশন", - -DlnLnkMsgNoUrl : "অনুগ্রহ করে URL লিংক টাইপ করুন", -DlnLnkMsgNoEMail : "অনুগ্রহ করে ইমেইল এড্রেস টাইপ করুন", -DlnLnkMsgNoAnchor : "অনুগ্রহ করে নোঙর বাছাই করুন", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING - -// Color Dialog -DlgColorTitle : "রং বাছাই কর", -DlgColorBtnClear : "পরিষ্কার কর", -DlgColorHighlight : "হাইলাইট", -DlgColorSelected : "সিলেক্টেড", - -// Smiley Dialog -DlgSmileyTitle : "স্মাইলী যুক্ত কর", - -// Special Character Dialog -DlgSpecialCharTitle : "বিশেষ ক্যারেক্টার বাছাই কর", - -// Table Dialog -DlgTableTitle : "টেবিল প্রোপার্টি", -DlgTableRows : "রো", -DlgTableColumns : "কলাম", -DlgTableBorder : "বর্ডার সাইজ", -DlgTableAlign : "এলাইনমেন্ট", -DlgTableAlignNotSet : "<সেট নেই>", -DlgTableAlignLeft : "বামে", -DlgTableAlignCenter : "মাঝখানে", -DlgTableAlignRight : "ডানে", -DlgTableWidth : "প্রস্থ", -DlgTableWidthPx : "পিক্সেল", -DlgTableWidthPc : "শতকরা", -DlgTableHeight : "দৈর্ঘ্য", -DlgTableCellSpace : "সেল স্পেস", -DlgTableCellPad : "সেল প্যাডিং", -DlgTableCaption : "শীর্ষক", -DlgTableSummary : "সারাংশ", - -// Table Cell Dialog -DlgCellTitle : "সেল প্রোপার্টি", -DlgCellWidth : "প্রস্থ", -DlgCellWidthPx : "পিক্সেল", -DlgCellWidthPc : "শতকরা", -DlgCellHeight : "দৈর্ঘ্য", -DlgCellWordWrap : "ওয়ার্ড রেপ", -DlgCellWordWrapNotSet : "<সেট নেই>", -DlgCellWordWrapYes : "হাঁ", -DlgCellWordWrapNo : "না", -DlgCellHorAlign : "হরাইজন্টাল এলাইনমেন্ট", -DlgCellHorAlignNotSet : "<সেট নেই>", -DlgCellHorAlignLeft : "বামে", -DlgCellHorAlignCenter : "মাঝখানে", -DlgCellHorAlignRight: "ডানে", -DlgCellVerAlign : "ভার্টিক্যাল এলাইনমেন্ট", -DlgCellVerAlignNotSet : "<সেট নেই>", -DlgCellVerAlignTop : "উপর", -DlgCellVerAlignMiddle : "মধ্য", -DlgCellVerAlignBottom : "নীচে", -DlgCellVerAlignBaseline : "মূলরেখা", -DlgCellRowSpan : "রো স্প্যান", -DlgCellCollSpan : "কলাম স্প্যান", -DlgCellBackColor : "ব্যাকগ্রাউন্ড রং", -DlgCellBorderColor : "বর্ডারের রং", -DlgCellBtnSelect : "বাছাই কর", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "খোঁজো", -DlgFindFindBtn : "খোঁজো", -DlgFindNotFoundMsg : "আপনার উল্লেখিত টেকস্ট পাওয়া যায়নি", - -// Replace Dialog -DlgReplaceTitle : "বদলে দাও", -DlgReplaceFindLbl : "যা খুঁজতে হবে:", -DlgReplaceReplaceLbl : "যার সাথে বদলাতে হবে:", -DlgReplaceCaseChk : "কেস মিলাও", -DlgReplaceReplaceBtn : "বদলে দাও", -DlgReplaceReplAllBtn : "সব বদলে দাও", -DlgReplaceWordChk : "পুরা শব্দ মেলাও", - -// Paste Operations / Dialog -PasteErrorCut : "আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl+X)।", -PasteErrorCopy : "আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কপি করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl+C)।", - -PasteAsText : "সাদা টেক্সট হিসেবে পেস্ট কর", -PasteFromWord : "ওয়ার্ড থেকে পেস্ট কর", - -DlgPasteMsg2 : "অনুগ্রহ করে নীচের বাক্সে কিবোর্ড ব্যবহার করে (Ctrl+V) পেস্ট করুন এবং OK চাপ দিন", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "ফন্ট ফেস ডেফিনেশন ইগনোর করুন", -DlgPasteRemoveStyles : "স্টাইল ডেফিনেশন সরিয়ে দিন", - -// Color Picker -ColorAutomatic : "অটোমেটিক", -ColorMoreColors : "আরও রং...", - -// Document Properties -DocProps : "ডক্যুমেন্ট প্রোপার্টি", - -// Anchor Dialog -DlgAnchorTitle : "নোঙরের প্রোপার্টি", -DlgAnchorName : "নোঙরের নাম", -DlgAnchorErrorName : "নোঙরের নাম টাইপ করুন", - -// Speller Pages Dialog -DlgSpellNotInDic : "শব্দকোষে নেই", -DlgSpellChangeTo : "এতে বদলাও", -DlgSpellBtnIgnore : "ইগনোর কর", -DlgSpellBtnIgnoreAll : "সব ইগনোর কর", -DlgSpellBtnReplace : "বদলে দাও", -DlgSpellBtnReplaceAll : "সব বদলে দাও", -DlgSpellBtnUndo : "আন্ডু", -DlgSpellNoSuggestions : "- কোন সাজেশন নেই -", -DlgSpellProgress : "বানান পরীক্ষা চলছে...", -DlgSpellNoMispell : "বানান পরীক্ষা শেষ: কোন ভুল বানান পাওয়া যায়নি", -DlgSpellNoChanges : "বানান পরীক্ষা শেষ: কোন শব্দ পরিবর্তন করা হয়নি", -DlgSpellOneChange : "বানান পরীক্ষা শেষ: একটি মাত্র শব্দ পরিবর্তন করা হয়েছে", -DlgSpellManyChanges : "বানান পরীক্ষা শেষ: %1 গুলো শব্দ বদলে গ্যাছে", - -IeSpellDownload : "বানান পরীক্ষক ইনস্টল করা নেই। আপনি কি এখনই এটা ডাউনলোড করতে চান?", - -// Button Dialog -DlgButtonText : "টেক্সট (ভ্যালু)", -DlgButtonType : "প্রকার", -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "নাম", -DlgCheckboxValue : "ভ্যালু", -DlgCheckboxSelected : "সিলেক্টেড", - -// Form Dialog -DlgFormName : "নাম", -DlgFormAction : "একশ্যন", -DlgFormMethod : "পদ্ধতি", - -// Select Field Dialog -DlgSelectName : "নাম", -DlgSelectValue : "ভ্যালু", -DlgSelectSize : "সাইজ", -DlgSelectLines : "লাইন সমূহ", -DlgSelectChkMulti : "একাধিক সিলেকশন এলাউ কর", -DlgSelectOpAvail : "অন্যান্য বিকল্প", -DlgSelectOpText : "টেক্সট", -DlgSelectOpValue : "ভ্যালু", -DlgSelectBtnAdd : "যুক্ত", -DlgSelectBtnModify : "বদলে দাও", -DlgSelectBtnUp : "উপর", -DlgSelectBtnDown : "নীচে", -DlgSelectBtnSetValue : "বাছাই করা ভ্যালু হিসেবে সেট কর", -DlgSelectBtnDelete : "ডিলীট", - -// Textarea Dialog -DlgTextareaName : "নাম", -DlgTextareaCols : "কলাম", -DlgTextareaRows : "রো", - -// Text Field Dialog -DlgTextName : "নাম", -DlgTextValue : "ভ্যালু", -DlgTextCharWidth : "ক্যারেক্টার প্রশস্ততা", -DlgTextMaxChars : "সর্বাধিক ক্যারেক্টার", -DlgTextType : "টাইপ", -DlgTextTypeText : "টেক্সট", -DlgTextTypePass : "পাসওয়ার্ড", - -// Hidden Field Dialog -DlgHiddenName : "নাম", -DlgHiddenValue : "ভ্যালু", - -// Bulleted List Dialog -BulletedListProp : "বুলেটেড সূচী প্রোপার্টি", -NumberedListProp : "সাংখ্যিক সূচী প্রোপার্টি", -DlgLstStart : "Start", //MISSING -DlgLstType : "প্রকার", -DlgLstTypeCircle : "গোল", -DlgLstTypeDisc : "ডিস্ক", -DlgLstTypeSquare : "চৌকোণা", -DlgLstTypeNumbers : "সংখ্যা (1, 2, 3)", -DlgLstTypeLCase : "ছোট অক্ষর (a, b, c)", -DlgLstTypeUCase : "বড় অক্ষর (A, B, C)", -DlgLstTypeSRoman : "ছোট রোমান সংখ্যা (i, ii, iii)", -DlgLstTypeLRoman : "বড় রোমান সংখ্যা (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "সাধারন", -DlgDocBackTab : "ব্যাকগ্রাউন্ড", -DlgDocColorsTab : "রং এবং মার্জিন", -DlgDocMetaTab : "মেটাডেটা", - -DlgDocPageTitle : "পেজ শীর্ষক", -DlgDocLangDir : "ভাষা লিখার দিক", -DlgDocLangDirLTR : "বাম থেকে ডানে (LTR)", -DlgDocLangDirRTL : "ডান থেকে বামে (RTL)", -DlgDocLangCode : "ভাষা কোড", -DlgDocCharSet : "ক্যারেক্টার সেট এনকোডিং", -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "অন্য ক্যারেক্টার সেট এনকোডিং", - -DlgDocDocType : "ডক্যুমেন্ট টাইপ হেডিং", -DlgDocDocTypeOther : "অন্য ডক্যুমেন্ট টাইপ হেডিং", -DlgDocIncXHTML : "XHTML ডেক্লারেশন যুক্ত কর", -DlgDocBgColor : "ব্যাকগ্রাউন্ড রং", -DlgDocBgImage : "ব্যাকগ্রাউন্ড ছবির URL", -DlgDocBgNoScroll : "স্ক্রলহীন ব্যাকগ্রাউন্ড", -DlgDocCText : "টেক্সট", -DlgDocCLink : "লিংক", -DlgDocCVisited : "ভিজিট করা লিংক", -DlgDocCActive : "সক্রিয় লিংক", -DlgDocMargins : "পেজ মার্জিন", -DlgDocMaTop : "উপর", -DlgDocMaLeft : "বামে", -DlgDocMaRight : "ডানে", -DlgDocMaBottom : "নীচে", -DlgDocMeIndex : "ডক্যুমেন্ট ইন্ডেক্স কিওয়ার্ড (কমা দ্বারা বিচ্ছিন্ন)", -DlgDocMeDescr : "ডক্যূমেন্ট বর্ণনা", -DlgDocMeAuthor : "লেখক", -DlgDocMeCopy : "কপীরাইট", -DlgDocPreview : "প্রীভিউ", - -// Templates Dialog -Templates : "টেমপ্লেট", -DlgTemplatesTitle : "কনটেন্ট টেমপ্লেট", -DlgTemplatesSelMsg : "অনুগ্রহ করে এডিটরে ওপেন করার জন্য টেমপ্লেট বাছাই করুন
    (আসল কনটেন্ট হারিয়ে যাবে):", -DlgTemplatesLoading : "টেমপ্লেট লিস্ট হারিয়ে যাবে। অনুগ্রহ করে অপেক্ষা করুন...", -DlgTemplatesNoTpl : "(কোন টেমপ্লেট ডিফাইন করা নেই)", -DlgTemplatesReplace : "Replace actual contents", //MISSING - -// About Dialog -DlgAboutAboutTab : "কে বানিয়েছে", -DlgAboutBrowserInfoTab : "ব্রাউজারের ব্যাপারে তথ্য", -DlgAboutLicenseTab : "লাইসেন্স", -DlgAboutVersion : "ভার্সন", -DlgAboutInfo : "আরও তথ্যের জন্য যান", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/bs.js b/include/fckeditor/editor/lang/bs.js deleted file mode 100644 index 662b4b8f1..000000000 --- a/include/fckeditor/editor/lang/bs.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Bosnian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Skupi trake sa alatima", -ToolbarExpand : "Otvori trake sa alatima", - -// Toolbar Items and Context Menu -Save : "Snimi", -NewPage : "Novi dokument", -Preview : "Prikaži", -Cut : "Izreži", -Copy : "Kopiraj", -Paste : "Zalijepi", -PasteText : "Zalijepi kao obièan tekst", -PasteWord : "Zalijepi iz Word-a", -Print : "Štampaj", -SelectAll : "Selektuj sve", -RemoveFormat : "Poništi format", -InsertLinkLbl : "Link", -InsertLink : "Ubaci/Izmjeni link", -RemoveLink : "Izbriši link", -VisitLink : "Open Link", //MISSING -Anchor : "Insert/Edit Anchor", //MISSING -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "Slika", -InsertImage : "Ubaci/Izmjeni sliku", -InsertFlashLbl : "Flash", //MISSING -InsertFlash : "Insert/Edit Flash", //MISSING -InsertTableLbl : "Tabela", -InsertTable : "Ubaci/Izmjeni tabelu", -InsertLineLbl : "Linija", -InsertLine : "Ubaci horizontalnu liniju", -InsertSpecialCharLbl: "Specijalni karakter", -InsertSpecialChar : "Ubaci specijalni karater", -InsertSmileyLbl : "Smješko", -InsertSmiley : "Ubaci smješka", -About : "O FCKeditor-u", -Bold : "Boldiraj", -Italic : "Ukosi", -Underline : "Podvuci", -StrikeThrough : "Precrtaj", -Subscript : "Subscript", -Superscript : "Superscript", -LeftJustify : "Lijevo poravnanje", -CenterJustify : "Centralno poravnanje", -RightJustify : "Desno poravnanje", -BlockJustify : "Puno poravnanje", -DecreaseIndent : "Smanji uvod", -IncreaseIndent : "Poveæaj uvod", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Vrati", -Redo : "Ponovi", -NumberedListLbl : "Numerisana lista", -NumberedList : "Ubaci/Izmjeni numerisanu listu", -BulletedListLbl : "Lista", -BulletedList : "Ubaci/Izmjeni listu", -ShowTableBorders : "Pokaži okvire tabela", -ShowDetails : "Pokaži detalje", -Style : "Stil", -FontFormat : "Format", -Font : "Font", -FontSize : "Velièina", -TextColor : "Boja teksta", -BGColor : "Boja pozadine", -Source : "HTML kôd", -Find : "Naði", -Replace : "Zamjeni", -SpellCheck : "Check Spelling", //MISSING -UniversalKeyboard : "Universal Keyboard", //MISSING -PageBreakLbl : "Page Break", //MISSING -PageBreak : "Insert Page Break", //MISSING - -Form : "Form", //MISSING -Checkbox : "Checkbox", //MISSING -RadioButton : "Radio Button", //MISSING -TextField : "Text Field", //MISSING -Textarea : "Textarea", //MISSING -HiddenField : "Hidden Field", //MISSING -Button : "Button", //MISSING -SelectionField : "Selection Field", //MISSING -ImageButton : "Image Button", //MISSING - -FitWindow : "Maximize the editor size", //MISSING -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "Izmjeni link", -CellCM : "Cell", //MISSING -RowCM : "Row", //MISSING -ColumnCM : "Column", //MISSING -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "Briši redove", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "Briši kolone", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "Briši æelije", -MergeCells : "Spoji æelije", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "Delete Table", //MISSING -CellProperties : "Svojstva æelije", -TableProperties : "Svojstva tabele", -ImageProperties : "Svojstva slike", -FlashProperties : "Flash Properties", //MISSING - -AnchorProp : "Anchor Properties", //MISSING -ButtonProp : "Button Properties", //MISSING -CheckboxProp : "Checkbox Properties", //MISSING -HiddenFieldProp : "Hidden Field Properties", //MISSING -RadioButtonProp : "Radio Button Properties", //MISSING -ImageButtonProp : "Image Button Properties", //MISSING -TextFieldProp : "Text Field Properties", //MISSING -SelectionFieldProp : "Selection Field Properties", //MISSING -TextareaProp : "Textarea Properties", //MISSING -FormProp : "Form Properties", //MISSING - -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6", - -// Alerts and Messages -ProcessingXHTML : "Procesiram XHTML. Molim saèekajte...", -Done : "Gotovo", -PasteWordConfirm : "Tekst koji želite zalijepiti èini se da je kopiran iz Worda. Da li želite da se prvo oèisti?", -NotCompatiblePaste : "Ova komanda je podržana u Internet Explorer-u verzijama 5.5 ili novijim. Da li želite da izvršite lijepljenje teksta bez èišæenja?", -UnknownToolbarItem : "Nepoznata stavka sa trake sa alatima \"%1\"", -UnknownCommand : "Nepoznata komanda \"%1\"", -NotImplemented : "Komanda nije implementirana", -UnknownToolbarSet : "Traka sa alatima \"%1\" ne postoji", -NoActiveX : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING -BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING -DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Odustani", -DlgBtnClose : "Zatvori", -DlgBtnBrowseServer : "Browse Server", //MISSING -DlgAdvancedTag : "Naprednije", -DlgOpOther : "", //MISSING -DlgInfoTab : "Info", //MISSING -DlgAlertUrl : "Please insert the URL", //MISSING - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Smjer pisanja", -DlgGenLangDirLtr : "S lijeva na desno (LTR)", -DlgGenLangDirRtl : "S desna na lijevo (RTL)", -DlgGenLangCode : "Jezièni kôd", -DlgGenAccessKey : "Pristupna tipka", -DlgGenName : "Naziv", -DlgGenTabIndex : "Tab indeks", -DlgGenLongDescr : "Dugaèki opis URL-a", -DlgGenClass : "Klase CSS stilova", -DlgGenTitle : "Advisory title", -DlgGenContType : "Advisory vrsta sadržaja", -DlgGenLinkCharset : "Linked Resource Charset", -DlgGenStyle : "Stil", - -// Image Dialog -DlgImgTitle : "Svojstva slike", -DlgImgInfoTab : "Info slike", -DlgImgBtnUpload : "Šalji na server", -DlgImgURL : "URL", -DlgImgUpload : "Šalji", -DlgImgAlt : "Tekst na slici", -DlgImgWidth : "Širina", -DlgImgHeight : "Visina", -DlgImgLockRatio : "Zakljuèaj odnos", -DlgBtnResetSize : "Resetuj dimenzije", -DlgImgBorder : "Okvir", -DlgImgHSpace : "HSpace", -DlgImgVSpace : "VSpace", -DlgImgAlign : "Poravnanje", -DlgImgAlignLeft : "Lijevo", -DlgImgAlignAbsBottom: "Abs dole", -DlgImgAlignAbsMiddle: "Abs sredina", -DlgImgAlignBaseline : "Bazno", -DlgImgAlignBottom : "Dno", -DlgImgAlignMiddle : "Sredina", -DlgImgAlignRight : "Desno", -DlgImgAlignTextTop : "Vrh teksta", -DlgImgAlignTop : "Vrh", -DlgImgPreview : "Prikaz", -DlgImgAlertUrl : "Molimo ukucajte URL od slike.", -DlgImgLinkTab : "Link", //MISSING - -// Flash Dialog -DlgFlashTitle : "Flash Properties", //MISSING -DlgFlashChkPlay : "Auto Play", //MISSING -DlgFlashChkLoop : "Loop", //MISSING -DlgFlashChkMenu : "Enable Flash Menu", //MISSING -DlgFlashScale : "Scale", //MISSING -DlgFlashScaleAll : "Show all", //MISSING -DlgFlashScaleNoBorder : "No Border", //MISSING -DlgFlashScaleFit : "Exact Fit", //MISSING - -// Link Dialog -DlgLnkWindowTitle : "Link", -DlgLnkInfoTab : "Link info", -DlgLnkTargetTab : "Prozor", - -DlgLnkType : "Tip linka", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Sidro na ovoj stranici", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protokol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Izaberi sidro", -DlgLnkAnchorByName : "Po nazivu sidra", -DlgLnkAnchorById : "Po Id-u elementa", -DlgLnkNoAnchors : "(Nema dostupnih sidra na stranici)", -DlgLnkEMail : "E-Mail Adresa", -DlgLnkEMailSubject : "Subjekt poruke", -DlgLnkEMailBody : "Poruka", -DlgLnkUpload : "Šalji", -DlgLnkBtnUpload : "Šalji na server", - -DlgLnkTarget : "Prozor", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Novi prozor (_blank)", -DlgLnkTargetParent : "Glavni prozor (_parent)", -DlgLnkTargetSelf : "Isti prozor (_self)", -DlgLnkTargetTop : "Najgornji prozor (_top)", -DlgLnkTargetFrameName : "Target Frame Name", //MISSING -DlgLnkPopWinName : "Naziv popup prozora", -DlgLnkPopWinFeat : "Moguænosti popup prozora", -DlgLnkPopResize : "Promjenljive velièine", -DlgLnkPopLocation : "Traka za lokaciju", -DlgLnkPopMenu : "Izborna traka", -DlgLnkPopScroll : "Scroll traka", -DlgLnkPopStatus : "Statusna traka", -DlgLnkPopToolbar : "Traka sa alatima", -DlgLnkPopFullScrn : "Cijeli ekran (IE)", -DlgLnkPopDependent : "Ovisno (Netscape)", -DlgLnkPopWidth : "Širina", -DlgLnkPopHeight : "Visina", -DlgLnkPopLeft : "Lijeva pozicija", -DlgLnkPopTop : "Gornja pozicija", - -DlnLnkMsgNoUrl : "Molimo ukucajte URL link", -DlnLnkMsgNoEMail : "Molimo ukucajte e-mail adresu", -DlnLnkMsgNoAnchor : "Molimo izaberite sidro", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING - -// Color Dialog -DlgColorTitle : "Izaberi boju", -DlgColorBtnClear : "Oèisti", -DlgColorHighlight : "Igled", -DlgColorSelected : "Selektovana", - -// Smiley Dialog -DlgSmileyTitle : "Ubaci smješka", - -// Special Character Dialog -DlgSpecialCharTitle : "Izaberi specijalni karakter", - -// Table Dialog -DlgTableTitle : "Svojstva tabele", -DlgTableRows : "Redova", -DlgTableColumns : "Kolona", -DlgTableBorder : "Okvir", -DlgTableAlign : "Poravnanje", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Lijevo", -DlgTableAlignCenter : "Centar", -DlgTableAlignRight : "Desno", -DlgTableWidth : "Širina", -DlgTableWidthPx : "piksela", -DlgTableWidthPc : "posto", -DlgTableHeight : "Visina", -DlgTableCellSpace : "Razmak æelija", -DlgTableCellPad : "Uvod æelija", -DlgTableCaption : "Naslov", -DlgTableSummary : "Summary", //MISSING - -// Table Cell Dialog -DlgCellTitle : "Svojstva æelije", -DlgCellWidth : "Širina", -DlgCellWidthPx : "piksela", -DlgCellWidthPc : "posto", -DlgCellHeight : "Visina", -DlgCellWordWrap : "Vrapuj tekst", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Da", -DlgCellWordWrapNo : "Ne", -DlgCellHorAlign : "Horizontalno poravnanje", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Lijevo", -DlgCellHorAlignCenter : "Centar", -DlgCellHorAlignRight: "Desno", -DlgCellVerAlign : "Vertikalno poravnanje", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Gore", -DlgCellVerAlignMiddle : "Sredina", -DlgCellVerAlignBottom : "Dno", -DlgCellVerAlignBaseline : "Bazno", -DlgCellRowSpan : "Spajanje æelija", -DlgCellCollSpan : "Spajanje kolona", -DlgCellBackColor : "Boja pozadine", -DlgCellBorderColor : "Boja okvira", -DlgCellBtnSelect : "Selektuj...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "Naði", -DlgFindFindBtn : "Naði", -DlgFindNotFoundMsg : "Traženi tekst nije pronaðen.", - -// Replace Dialog -DlgReplaceTitle : "Zamjeni", -DlgReplaceFindLbl : "Naði šta:", -DlgReplaceReplaceLbl : "Zamjeni sa:", -DlgReplaceCaseChk : "Uporeðuj velika/mala slova", -DlgReplaceReplaceBtn : "Zamjeni", -DlgReplaceReplAllBtn : "Zamjeni sve", -DlgReplaceWordChk : "Uporeðuj samo cijelu rijeè", - -// Paste Operations / Dialog -PasteErrorCut : "Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl+X).", -PasteErrorCopy : "Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl+C).", - -PasteAsText : "Zalijepi kao obièan tekst", -PasteFromWord : "Zalijepi iz Word-a", - -DlgPasteMsg2 : "Please paste inside the following box using the keyboard (Ctrl+V) and hit OK.", //MISSING -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "Ignore Font Face definitions", //MISSING -DlgPasteRemoveStyles : "Remove Styles definitions", //MISSING - -// Color Picker -ColorAutomatic : "Automatska", -ColorMoreColors : "Više boja...", - -// Document Properties -DocProps : "Document Properties", //MISSING - -// Anchor Dialog -DlgAnchorTitle : "Anchor Properties", //MISSING -DlgAnchorName : "Anchor Name", //MISSING -DlgAnchorErrorName : "Please type the anchor name", //MISSING - -// Speller Pages Dialog -DlgSpellNotInDic : "Not in dictionary", //MISSING -DlgSpellChangeTo : "Change to", //MISSING -DlgSpellBtnIgnore : "Ignore", //MISSING -DlgSpellBtnIgnoreAll : "Ignore All", //MISSING -DlgSpellBtnReplace : "Replace", //MISSING -DlgSpellBtnReplaceAll : "Replace All", //MISSING -DlgSpellBtnUndo : "Undo", //MISSING -DlgSpellNoSuggestions : "- No suggestions -", //MISSING -DlgSpellProgress : "Spell check in progress...", //MISSING -DlgSpellNoMispell : "Spell check complete: No misspellings found", //MISSING -DlgSpellNoChanges : "Spell check complete: No words changed", //MISSING -DlgSpellOneChange : "Spell check complete: One word changed", //MISSING -DlgSpellManyChanges : "Spell check complete: %1 words changed", //MISSING - -IeSpellDownload : "Spell checker not installed. Do you want to download it now?", //MISSING - -// Button Dialog -DlgButtonText : "Text (Value)", //MISSING -DlgButtonType : "Type", //MISSING -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Name", //MISSING -DlgCheckboxValue : "Value", //MISSING -DlgCheckboxSelected : "Selected", //MISSING - -// Form Dialog -DlgFormName : "Name", //MISSING -DlgFormAction : "Action", //MISSING -DlgFormMethod : "Method", //MISSING - -// Select Field Dialog -DlgSelectName : "Name", //MISSING -DlgSelectValue : "Value", //MISSING -DlgSelectSize : "Size", //MISSING -DlgSelectLines : "lines", //MISSING -DlgSelectChkMulti : "Allow multiple selections", //MISSING -DlgSelectOpAvail : "Available Options", //MISSING -DlgSelectOpText : "Text", //MISSING -DlgSelectOpValue : "Value", //MISSING -DlgSelectBtnAdd : "Add", //MISSING -DlgSelectBtnModify : "Modify", //MISSING -DlgSelectBtnUp : "Up", //MISSING -DlgSelectBtnDown : "Down", //MISSING -DlgSelectBtnSetValue : "Set as selected value", //MISSING -DlgSelectBtnDelete : "Delete", //MISSING - -// Textarea Dialog -DlgTextareaName : "Name", //MISSING -DlgTextareaCols : "Columns", //MISSING -DlgTextareaRows : "Rows", //MISSING - -// Text Field Dialog -DlgTextName : "Name", //MISSING -DlgTextValue : "Value", //MISSING -DlgTextCharWidth : "Character Width", //MISSING -DlgTextMaxChars : "Maximum Characters", //MISSING -DlgTextType : "Type", //MISSING -DlgTextTypeText : "Text", //MISSING -DlgTextTypePass : "Password", //MISSING - -// Hidden Field Dialog -DlgHiddenName : "Name", //MISSING -DlgHiddenValue : "Value", //MISSING - -// Bulleted List Dialog -BulletedListProp : "Bulleted List Properties", //MISSING -NumberedListProp : "Numbered List Properties", //MISSING -DlgLstStart : "Start", //MISSING -DlgLstType : "Type", //MISSING -DlgLstTypeCircle : "Circle", //MISSING -DlgLstTypeDisc : "Disc", //MISSING -DlgLstTypeSquare : "Square", //MISSING -DlgLstTypeNumbers : "Numbers (1, 2, 3)", //MISSING -DlgLstTypeLCase : "Lowercase Letters (a, b, c)", //MISSING -DlgLstTypeUCase : "Uppercase Letters (A, B, C)", //MISSING -DlgLstTypeSRoman : "Small Roman Numerals (i, ii, iii)", //MISSING -DlgLstTypeLRoman : "Large Roman Numerals (I, II, III)", //MISSING - -// Document Properties Dialog -DlgDocGeneralTab : "General", //MISSING -DlgDocBackTab : "Background", //MISSING -DlgDocColorsTab : "Colors and Margins", //MISSING -DlgDocMetaTab : "Meta Data", //MISSING - -DlgDocPageTitle : "Page Title", //MISSING -DlgDocLangDir : "Language Direction", //MISSING -DlgDocLangDirLTR : "Left to Right (LTR)", //MISSING -DlgDocLangDirRTL : "Right to Left (RTL)", //MISSING -DlgDocLangCode : "Language Code", //MISSING -DlgDocCharSet : "Character Set Encoding", //MISSING -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "Other Character Set Encoding", //MISSING - -DlgDocDocType : "Document Type Heading", //MISSING -DlgDocDocTypeOther : "Other Document Type Heading", //MISSING -DlgDocIncXHTML : "Include XHTML Declarations", //MISSING -DlgDocBgColor : "Background Color", //MISSING -DlgDocBgImage : "Background Image URL", //MISSING -DlgDocBgNoScroll : "Nonscrolling Background", //MISSING -DlgDocCText : "Text", //MISSING -DlgDocCLink : "Link", //MISSING -DlgDocCVisited : "Visited Link", //MISSING -DlgDocCActive : "Active Link", //MISSING -DlgDocMargins : "Page Margins", //MISSING -DlgDocMaTop : "Top", //MISSING -DlgDocMaLeft : "Left", //MISSING -DlgDocMaRight : "Right", //MISSING -DlgDocMaBottom : "Bottom", //MISSING -DlgDocMeIndex : "Document Indexing Keywords (comma separated)", //MISSING -DlgDocMeDescr : "Document Description", //MISSING -DlgDocMeAuthor : "Author", //MISSING -DlgDocMeCopy : "Copyright", //MISSING -DlgDocPreview : "Preview", //MISSING - -// Templates Dialog -Templates : "Templates", //MISSING -DlgTemplatesTitle : "Content Templates", //MISSING -DlgTemplatesSelMsg : "Please select the template to open in the editor
    (the actual contents will be lost):", //MISSING -DlgTemplatesLoading : "Loading templates list. Please wait...", //MISSING -DlgTemplatesNoTpl : "(No templates defined)", //MISSING -DlgTemplatesReplace : "Replace actual contents", //MISSING - -// About Dialog -DlgAboutAboutTab : "About", //MISSING -DlgAboutBrowserInfoTab : "Browser Info", //MISSING -DlgAboutLicenseTab : "License", //MISSING -DlgAboutVersion : "verzija", -DlgAboutInfo : "Za više informacija posjetite", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/ca.js b/include/fckeditor/editor/lang/ca.js deleted file mode 100644 index bb877853d..000000000 --- a/include/fckeditor/editor/lang/ca.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Catalan language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Redueix la barra d'eines", -ToolbarExpand : "Amplia la barra d'eines", - -// Toolbar Items and Context Menu -Save : "Desa", -NewPage : "Nova Pàgina", -Preview : "Visualització prèvia", -Cut : "Retalla", -Copy : "Copia", -Paste : "Enganxa", -PasteText : "Enganxa com a text no formatat", -PasteWord : "Enganxa des del Word", -Print : "Imprimeix", -SelectAll : "Selecciona-ho tot", -RemoveFormat : "Elimina Format", -InsertLinkLbl : "Enllaç", -InsertLink : "Insereix/Edita enllaç", -RemoveLink : "Elimina l'enllaç", -VisitLink : "Obre l'enllaç", -Anchor : "Insereix/Edita àncora", -AnchorDelete : "Elimina àncora", -InsertImageLbl : "Imatge", -InsertImage : "Insereix/Edita imatge", -InsertFlashLbl : "Flash", -InsertFlash : "Insereix/Edita Flash", -InsertTableLbl : "Taula", -InsertTable : "Insereix/Edita taula", -InsertLineLbl : "Línia", -InsertLine : "Insereix línia horitzontal", -InsertSpecialCharLbl: "Caràcter Especial", -InsertSpecialChar : "Insereix caràcter especial", -InsertSmileyLbl : "Icona", -InsertSmiley : "Insereix icona", -About : "Quant a l'FCKeditor", -Bold : "Negreta", -Italic : "Cursiva", -Underline : "Subratllat", -StrikeThrough : "Barrat", -Subscript : "Subíndex", -Superscript : "Superíndex", -LeftJustify : "Alinia a l'esquerra", -CenterJustify : "Centrat", -RightJustify : "Alinia a la dreta", -BlockJustify : "Justificat", -DecreaseIndent : "Redueix el sagnat", -IncreaseIndent : "Augmenta el sagnat", -Blockquote : "Bloc de cita", -CreateDiv : "Crea un contenidor Div", -EditDiv : "Edita el contenidor Div", -DeleteDiv : "Elimina el contenidor Div", -Undo : "Desfés", -Redo : "Refés", -NumberedListLbl : "Llista numerada", -NumberedList : "Numeració activada/desactivada", -BulletedListLbl : "Llista de pics", -BulletedList : "Pics activats/descativats", -ShowTableBorders : "Mostra les vores de les taules", -ShowDetails : "Mostra detalls", -Style : "Estil", -FontFormat : "Format", -Font : "Tipus de lletra", -FontSize : "Mida", -TextColor : "Color de Text", -BGColor : "Color de Fons", -Source : "Codi font", -Find : "Cerca", -Replace : "Reemplaça", -SpellCheck : "Revisa l'ortografia", -UniversalKeyboard : "Teclat universal", -PageBreakLbl : "Salt de pàgina", -PageBreak : "Insereix salt de pàgina", - -Form : "Formulari", -Checkbox : "Casella de verificació", -RadioButton : "Botó d'opció", -TextField : "Camp de text", -Textarea : "Àrea de text", -HiddenField : "Camp ocult", -Button : "Botó", -SelectionField : "Camp de selecció", -ImageButton : "Botó d'imatge", - -FitWindow : "Maximiza la mida de l'editor", -ShowBlocks : "Mostra els blocs", - -// Context Menu -EditLink : "Edita l'enllaç", -CellCM : "Cel·la", -RowCM : "Fila", -ColumnCM : "Columna", -InsertRowAfter : "Insereix fila darrera", -InsertRowBefore : "Insereix fila abans de", -DeleteRows : "Suprimeix una fila", -InsertColumnAfter : "Insereix columna darrera", -InsertColumnBefore : "Insereix columna abans de", -DeleteColumns : "Suprimeix una columna", -InsertCellAfter : "Insereix cel·la darrera", -InsertCellBefore : "Insereix cel·la abans de", -DeleteCells : "Suprimeix les cel·les", -MergeCells : "Fusiona les cel·les", -MergeRight : "Fusiona cap a la dreta", -MergeDown : "Fusiona cap avall", -HorizontalSplitCell : "Divideix la cel·la horitzontalment", -VerticalSplitCell : "Divideix la cel·la verticalment", -TableDelete : "Suprimeix la taula", -CellProperties : "Propietats de la cel·la", -TableProperties : "Propietats de la taula", -ImageProperties : "Propietats de la imatge", -FlashProperties : "Propietats del Flash", - -AnchorProp : "Propietats de l'àncora", -ButtonProp : "Propietats del botó", -CheckboxProp : "Propietats de la casella de verificació", -HiddenFieldProp : "Propietats del camp ocult", -RadioButtonProp : "Propietats del botó d'opció", -ImageButtonProp : "Propietats del botó d'imatge", -TextFieldProp : "Propietats del camp de text", -SelectionFieldProp : "Propietats del camp de selecció", -TextareaProp : "Propietats de l'àrea de text", -FormProp : "Propietats del formulari", - -FontFormats : "Normal;Formatejat;Adreça;Encapçalament 1;Encapçalament 2;Encapçalament 3;Encapçalament 4;Encapçalament 5;Encapçalament 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Processant XHTML. Si us plau esperi...", -Done : "Fet", -PasteWordConfirm : "El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?", -NotCompatiblePaste : "Aquesta funció és disponible per a Internet Explorer versió 5.5 o superior. Voleu enganxar sense netejar?", -UnknownToolbarItem : "Element de la barra d'eines desconegut \"%1\"", -UnknownCommand : "Nom de comanda desconegut \"%1\"", -NotImplemented : "Mètode no implementat", -UnknownToolbarSet : "Conjunt de barra d'eines \"%1\" inexistent", -NoActiveX : "Les preferències del navegador poden limitar algunes funcions d'aquest editor. Cal habilitar l'opció \"Executa controls ActiveX i plug-ins\". Poden sorgir errors i poden faltar algunes funcions.", -BrowseServerBlocked : "El visualitzador de recursos no s'ha pogut obrir. Assegura't de que els bloquejos de finestres emergents estan desactivats.", -DialogBlocked : "No ha estat possible obrir una finestra de diàleg. Assegureu-vos que els bloquejos de finestres emergents estan desactivats.", -VisitLinkBlocked : "No ha estat possible obrir una nova finestra. Assegureu-vos que els bloquejos de finestres emergents estan desactivats.", - -// Dialogs -DlgBtnOK : "D'acord", -DlgBtnCancel : "Cancel·la", -DlgBtnClose : "Tanca", -DlgBtnBrowseServer : "Veure servidor", -DlgAdvancedTag : "Avançat", -DlgOpOther : "Altres", -DlgInfoTab : "Info", -DlgAlertUrl : "Si us plau, afegiu la URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Direcció de l'idioma", -DlgGenLangDirLtr : "D'esquerra a dreta (LTR)", -DlgGenLangDirRtl : "De dreta a esquerra (RTL)", -DlgGenLangCode : "Codi d'idioma", -DlgGenAccessKey : "Clau d'accés", -DlgGenName : "Nom", -DlgGenTabIndex : "Index de Tab", -DlgGenLongDescr : "Descripció llarga de la URL", -DlgGenClass : "Classes del full d'estil", -DlgGenTitle : "Títol consultiu", -DlgGenContType : "Tipus de contingut consultiu", -DlgGenLinkCharset : "Conjunt de caràcters font enllaçat", -DlgGenStyle : "Estil", - -// Image Dialog -DlgImgTitle : "Propietats de la imatge", -DlgImgInfoTab : "Informació de la imatge", -DlgImgBtnUpload : "Envia-la al servidor", -DlgImgURL : "URL", -DlgImgUpload : "Puja", -DlgImgAlt : "Text alternatiu", -DlgImgWidth : "Amplada", -DlgImgHeight : "Alçada", -DlgImgLockRatio : "Bloqueja les proporcions", -DlgBtnResetSize : "Restaura la mida", -DlgImgBorder : "Vora", -DlgImgHSpace : "Espaiat horit.", -DlgImgVSpace : "Espaiat vert.", -DlgImgAlign : "Alineació", -DlgImgAlignLeft : "Ajusta a l'esquerra", -DlgImgAlignAbsBottom: "Abs Bottom", -DlgImgAlignAbsMiddle: "Abs Middle", -DlgImgAlignBaseline : "Baseline", -DlgImgAlignBottom : "Bottom", -DlgImgAlignMiddle : "Middle", -DlgImgAlignRight : "Ajusta a la dreta", -DlgImgAlignTextTop : "Text Top", -DlgImgAlignTop : "Top", -DlgImgPreview : "Vista prèvia", -DlgImgAlertUrl : "Si us plau, escriviu la URL de la imatge", -DlgImgLinkTab : "Enllaç", - -// Flash Dialog -DlgFlashTitle : "Propietats del Flash", -DlgFlashChkPlay : "Reprodució automàtica", -DlgFlashChkLoop : "Bucle", -DlgFlashChkMenu : "Habilita menú Flash", -DlgFlashScale : "Escala", -DlgFlashScaleAll : "Mostra-ho tot", -DlgFlashScaleNoBorder : "Sense vores", -DlgFlashScaleFit : "Mida exacta", - -// Link Dialog -DlgLnkWindowTitle : "Enllaç", -DlgLnkInfoTab : "Informació de l'enllaç", -DlgLnkTargetTab : "Destí", - -DlgLnkType : "Tipus d'enllaç", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Àncora en aquesta pàgina", -DlgLnkTypeEMail : "Correu electrònic", -DlgLnkProto : "Protocol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Selecciona una àncora", -DlgLnkAnchorByName : "Per nom d'àncora", -DlgLnkAnchorById : "Per Id d'element", -DlgLnkNoAnchors : "(No hi ha àncores disponibles en aquest document)", -DlgLnkEMail : "Adreça de correu electrònic", -DlgLnkEMailSubject : "Assumpte del missatge", -DlgLnkEMailBody : "Cos del missatge", -DlgLnkUpload : "Puja", -DlgLnkBtnUpload : "Envia al servidor", - -DlgLnkTarget : "Destí", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nova finestra (_blank)", -DlgLnkTargetParent : "Finestra pare (_parent)", -DlgLnkTargetSelf : "Mateixa finestra (_self)", -DlgLnkTargetTop : "Finestra Major (_top)", -DlgLnkTargetFrameName : "Nom del marc de destí", -DlgLnkPopWinName : "Nom finestra popup", -DlgLnkPopWinFeat : "Característiques finestra popup", -DlgLnkPopResize : "Redimensionable", -DlgLnkPopLocation : "Barra d'adreça", -DlgLnkPopMenu : "Barra de menú", -DlgLnkPopScroll : "Barres d'scroll", -DlgLnkPopStatus : "Barra d'estat", -DlgLnkPopToolbar : "Barra d'eines", -DlgLnkPopFullScrn : "Pantalla completa (IE)", -DlgLnkPopDependent : "Depenent (Netscape)", -DlgLnkPopWidth : "Amplada", -DlgLnkPopHeight : "Alçada", -DlgLnkPopLeft : "Posició esquerra", -DlgLnkPopTop : "Posició dalt", - -DlnLnkMsgNoUrl : "Si us plau, escrigui l'enllaç URL", -DlnLnkMsgNoEMail : "Si us plau, escrigui l'adreça correu electrònic", -DlnLnkMsgNoAnchor : "Si us plau, escrigui l'àncora", -DlnLnkMsgInvPopName : "El nom de la finestra emergent ha de començar amb una lletra i no pot tenir espais", - -// Color Dialog -DlgColorTitle : "Selecciona el color", -DlgColorBtnClear : "Neteja", -DlgColorHighlight : "Realça", -DlgColorSelected : "Selecciona", - -// Smiley Dialog -DlgSmileyTitle : "Insereix una icona", - -// Special Character Dialog -DlgSpecialCharTitle : "Selecciona el caràcter especial", - -// Table Dialog -DlgTableTitle : "Propietats de la taula", -DlgTableRows : "Files", -DlgTableColumns : "Columnes", -DlgTableBorder : "Mida vora", -DlgTableAlign : "Alineació", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Esquerra", -DlgTableAlignCenter : "Centre", -DlgTableAlignRight : "Dreta", -DlgTableWidth : "Amplada", -DlgTableWidthPx : "píxels", -DlgTableWidthPc : "percentatge", -DlgTableHeight : "Alçada", -DlgTableCellSpace : "Espaiat de cel·les", -DlgTableCellPad : "Encoixinament de cel·les", -DlgTableCaption : "Títol", -DlgTableSummary : "Resum", - -// Table Cell Dialog -DlgCellTitle : "Propietats de la cel·la", -DlgCellWidth : "Amplada", -DlgCellWidthPx : "píxels", -DlgCellWidthPc : "percentatge", -DlgCellHeight : "Alçada", -DlgCellWordWrap : "Ajust de paraula", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Si", -DlgCellWordWrapNo : "No", -DlgCellHorAlign : "Alineació horitzontal", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Esquerra", -DlgCellHorAlignCenter : "Centre", -DlgCellHorAlignRight: "Dreta", -DlgCellVerAlign : "Alineació vertical", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Top", -DlgCellVerAlignMiddle : "Middle", -DlgCellVerAlignBottom : "Bottom", -DlgCellVerAlignBaseline : "Baseline", -DlgCellRowSpan : "Rows Span", -DlgCellCollSpan : "Columns Span", -DlgCellBackColor : "Color de fons", -DlgCellBorderColor : "Color de la vora", -DlgCellBtnSelect : "Seleccioneu...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Cerca i reemplaça", - -// Find Dialog -DlgFindTitle : "Cerca", -DlgFindFindBtn : "Cerca", -DlgFindNotFoundMsg : "El text especificat no s'ha trobat.", - -// Replace Dialog -DlgReplaceTitle : "Reemplaça", -DlgReplaceFindLbl : "Cerca:", -DlgReplaceReplaceLbl : "Remplaça amb:", -DlgReplaceCaseChk : "Distingeix majúscules/minúscules", -DlgReplaceReplaceBtn : "Reemplaça", -DlgReplaceReplAllBtn : "Reemplaça-ho tot", -DlgReplaceWordChk : "Només paraules completes", - -// Paste Operations / Dialog -PasteErrorCut : "La seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl+X).", -PasteErrorCopy : "La seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl+C).", - -PasteAsText : "Enganxa com a text no formatat", -PasteFromWord : "Enganxa com a Word", - -DlgPasteMsg2 : "Si us plau, enganxeu dins del següent camp utilitzant el teclat (Ctrl+V) i premeu OK.", -DlgPasteSec : "A causa de la configuració de seguretat del vostre navegador, l'editor no pot accedir al porta-retalls directament. Enganxeu-ho un altre cop en aquesta finestra.", -DlgPasteIgnoreFont : "Ignora definicions de font", -DlgPasteRemoveStyles : "Elimina definicions d'estil", - -// Color Picker -ColorAutomatic : "Automàtic", -ColorMoreColors : "Més colors...", - -// Document Properties -DocProps : "Propietats del document", - -// Anchor Dialog -DlgAnchorTitle : "Propietats de l'àncora", -DlgAnchorName : "Nom de l'àncora", -DlgAnchorErrorName : "Si us plau, escriviu el nom de l'ancora", - -// Speller Pages Dialog -DlgSpellNotInDic : "No és al diccionari", -DlgSpellChangeTo : "Reemplaça amb", -DlgSpellBtnIgnore : "Ignora", -DlgSpellBtnIgnoreAll : "Ignora-les totes", -DlgSpellBtnReplace : "Canvia", -DlgSpellBtnReplaceAll : "Canvia-les totes", -DlgSpellBtnUndo : "Desfés", -DlgSpellNoSuggestions : "Cap suggeriment", -DlgSpellProgress : "Verificació ortogràfica en curs...", -DlgSpellNoMispell : "Verificació ortogràfica acabada: no hi ha cap paraula mal escrita", -DlgSpellNoChanges : "Verificació ortogràfica: no s'ha canviat cap paraula", -DlgSpellOneChange : "Verificació ortogràfica: s'ha canviat una paraula", -DlgSpellManyChanges : "Verificació ortogràfica: s'han canviat %1 paraules", - -IeSpellDownload : "Verificació ortogràfica no instal·lada. Voleu descarregar-ho ara?", - -// Button Dialog -DlgButtonText : "Text (Valor)", -DlgButtonType : "Tipus", -DlgButtonTypeBtn : "Botó", -DlgButtonTypeSbm : "Transmet formulari", -DlgButtonTypeRst : "Reinicia formulari", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nom", -DlgCheckboxValue : "Valor", -DlgCheckboxSelected : "Seleccionat", - -// Form Dialog -DlgFormName : "Nom", -DlgFormAction : "Acció", -DlgFormMethod : "Mètode", - -// Select Field Dialog -DlgSelectName : "Nom", -DlgSelectValue : "Valor", -DlgSelectSize : "Mida", -DlgSelectLines : "Línies", -DlgSelectChkMulti : "Permet múltiples seleccions", -DlgSelectOpAvail : "Opcions disponibles", -DlgSelectOpText : "Text", -DlgSelectOpValue : "Valor", -DlgSelectBtnAdd : "Afegeix", -DlgSelectBtnModify : "Modifica", -DlgSelectBtnUp : "Amunt", -DlgSelectBtnDown : "Avall", -DlgSelectBtnSetValue : "Selecciona per defecte", -DlgSelectBtnDelete : "Elimina", - -// Textarea Dialog -DlgTextareaName : "Nom", -DlgTextareaCols : "Columnes", -DlgTextareaRows : "Files", - -// Text Field Dialog -DlgTextName : "Nom", -DlgTextValue : "Valor", -DlgTextCharWidth : "Amplada", -DlgTextMaxChars : "Nombre màxim de caràcters", -DlgTextType : "Tipus", -DlgTextTypeText : "Text", -DlgTextTypePass : "Contrasenya", - -// Hidden Field Dialog -DlgHiddenName : "Nom", -DlgHiddenValue : "Valor", - -// Bulleted List Dialog -BulletedListProp : "Propietats de la llista de pics", -NumberedListProp : "Propietats de llista numerada", -DlgLstStart : "Inici", -DlgLstType : "Tipus", -DlgLstTypeCircle : "Cercle", -DlgLstTypeDisc : "Disc", -DlgLstTypeSquare : "Quadrat", -DlgLstTypeNumbers : "Números (1, 2, 3)", -DlgLstTypeLCase : "Lletres minúscules (a, b, c)", -DlgLstTypeUCase : "Lletres majúscules (A, B, C)", -DlgLstTypeSRoman : "Números romans en minúscules (i, ii, iii)", -DlgLstTypeLRoman : "Números romans en majúscules (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "General", -DlgDocBackTab : "Fons", -DlgDocColorsTab : "Colors i marges", -DlgDocMetaTab : "Metadades", - -DlgDocPageTitle : "Títol de la pàgina", -DlgDocLangDir : "Direcció idioma", -DlgDocLangDirLTR : "Esquerra a dreta (LTR)", -DlgDocLangDirRTL : "Dreta a esquerra (RTL)", -DlgDocLangCode : "Codi d'idioma", -DlgDocCharSet : "Codificació de conjunt de caràcters", -DlgDocCharSetCE : "Centreeuropeu", -DlgDocCharSetCT : "Xinès tradicional (Big5)", -DlgDocCharSetCR : "Ciríl·lic", -DlgDocCharSetGR : "Grec", -DlgDocCharSetJP : "Japonès", -DlgDocCharSetKR : "Coreà", -DlgDocCharSetTR : "Turc", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Europeu occidental", -DlgDocCharSetOther : "Una altra codificació de caràcters", - -DlgDocDocType : "Capçalera de tipus de document", -DlgDocDocTypeOther : "Un altra capçalera de tipus de document", -DlgDocIncXHTML : "Incloure declaracions XHTML", -DlgDocBgColor : "Color de fons", -DlgDocBgImage : "URL de la imatge de fons", -DlgDocBgNoScroll : "Fons fixe", -DlgDocCText : "Text", -DlgDocCLink : "Enllaç", -DlgDocCVisited : "Enllaç visitat", -DlgDocCActive : "Enllaç actiu", -DlgDocMargins : "Marges de pàgina", -DlgDocMaTop : "Cap", -DlgDocMaLeft : "Esquerra", -DlgDocMaRight : "Dreta", -DlgDocMaBottom : "Peu", -DlgDocMeIndex : "Mots clau per a indexació (separats per coma)", -DlgDocMeDescr : "Descripció del document", -DlgDocMeAuthor : "Autor", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Vista prèvia", - -// Templates Dialog -Templates : "Plantilles", -DlgTemplatesTitle : "Contingut plantilles", -DlgTemplatesSelMsg : "Si us plau, seleccioneu la plantilla per obrir a l'editor
    (el contingut actual no serà enregistrat):", -DlgTemplatesLoading : "Carregant la llista de plantilles. Si us plau, espereu...", -DlgTemplatesNoTpl : "(No hi ha plantilles definides)", -DlgTemplatesReplace : "Reemplaça el contingut actual", - -// About Dialog -DlgAboutAboutTab : "Quant a", -DlgAboutBrowserInfoTab : "Informació del navegador", -DlgAboutLicenseTab : "Llicència", -DlgAboutVersion : "versió", -DlgAboutInfo : "Per a més informació aneu a", - -// Div Dialog -DlgDivGeneralTab : "General", -DlgDivAdvancedTab : "Avançat", -DlgDivStyle : "Estil", -DlgDivInlineStyle : "Estil en línia" -}; diff --git a/include/fckeditor/editor/lang/cs.js b/include/fckeditor/editor/lang/cs.js deleted file mode 100644 index 20bed1440..000000000 --- a/include/fckeditor/editor/lang/cs.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Czech language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Skrýt panel nástrojů", -ToolbarExpand : "Zobrazit panel nástrojů", - -// Toolbar Items and Context Menu -Save : "Uložit", -NewPage : "Nová stránka", -Preview : "Náhled", -Cut : "Vyjmout", -Copy : "Kopírovat", -Paste : "Vložit", -PasteText : "Vložit jako čistý text", -PasteWord : "Vložit z Wordu", -Print : "Tisk", -SelectAll : "Vybrat vše", -RemoveFormat : "Odstranit formátování", -InsertLinkLbl : "Odkaz", -InsertLink : "Vložit/změnit odkaz", -RemoveLink : "Odstranit odkaz", -VisitLink : "Otevřít odkaz", -Anchor : "Vložít/změnit záložku", -AnchorDelete : "Odstranit kotvu", -InsertImageLbl : "Obrázek", -InsertImage : "Vložit/změnit obrázek", -InsertFlashLbl : "Flash", -InsertFlash : "Vložit/Upravit Flash", -InsertTableLbl : "Tabulka", -InsertTable : "Vložit/změnit tabulku", -InsertLineLbl : "Linka", -InsertLine : "Vložit vodorovnou linku", -InsertSpecialCharLbl: "Speciální znaky", -InsertSpecialChar : "Vložit speciální znaky", -InsertSmileyLbl : "Smajlíky", -InsertSmiley : "Vložit smajlík", -About : "O aplikaci FCKeditor", -Bold : "Tučné", -Italic : "Kurzíva", -Underline : "Podtržené", -StrikeThrough : "Přeškrtnuté", -Subscript : "Dolní index", -Superscript : "Horní index", -LeftJustify : "Zarovnat vlevo", -CenterJustify : "Zarovnat na střed", -RightJustify : "Zarovnat vpravo", -BlockJustify : "Zarovnat do bloku", -DecreaseIndent : "Zmenšit odsazení", -IncreaseIndent : "Zvětšit odsazení", -Blockquote : "Citace", -CreateDiv : "Vytvořit Div kontejner", -EditDiv : "Upravit Div kontejner", -DeleteDiv : "Odstranit Div kontejner", -Undo : "Zpět", -Redo : "Znovu", -NumberedListLbl : "Číslování", -NumberedList : "Vložit/odstranit číslovaný seznam", -BulletedListLbl : "Odrážky", -BulletedList : "Vložit/odstranit odrážky", -ShowTableBorders : "Zobrazit okraje tabulek", -ShowDetails : "Zobrazit podrobnosti", -Style : "Styl", -FontFormat : "Formát", -Font : "Písmo", -FontSize : "Velikost", -TextColor : "Barva textu", -BGColor : "Barva pozadí", -Source : "Zdroj", -Find : "Hledat", -Replace : "Nahradit", -SpellCheck : "Zkontrolovat pravopis", -UniversalKeyboard : "Univerzální klávesnice", -PageBreakLbl : "Konec stránky", -PageBreak : "Vložit konec stránky", - -Form : "Formulář", -Checkbox : "Zaškrtávací políčko", -RadioButton : "Přepínač", -TextField : "Textové pole", -Textarea : "Textová oblast", -HiddenField : "Skryté pole", -Button : "Tlačítko", -SelectionField : "Seznam", -ImageButton : "Obrázkové tlačítko", - -FitWindow : "Maximalizovat velikost editoru", -ShowBlocks : "Ukázat bloky", - -// Context Menu -EditLink : "Změnit odkaz", -CellCM : "Buňka", -RowCM : "Řádek", -ColumnCM : "Sloupec", -InsertRowAfter : "Vložit řádek za", -InsertRowBefore : "Vložit řádek před", -DeleteRows : "Smazat řádky", -InsertColumnAfter : "Vložit sloupec za", -InsertColumnBefore : "Vložit sloupec před", -DeleteColumns : "Smazat sloupec", -InsertCellAfter : "Vložit buňku za", -InsertCellBefore : "Vložit buňku před", -DeleteCells : "Smazat buňky", -MergeCells : "Sloučit buňky", -MergeRight : "Sloučit doprava", -MergeDown : "Sloučit dolů", -HorizontalSplitCell : "Rozdělit buňky vodorovně", -VerticalSplitCell : "Rozdělit buňky svisle", -TableDelete : "Smazat tabulku", -CellProperties : "Vlastnosti buňky", -TableProperties : "Vlastnosti tabulky", -ImageProperties : "Vlastnosti obrázku", -FlashProperties : "Vlastnosti Flashe", - -AnchorProp : "Vlastnosti záložky", -ButtonProp : "Vlastnosti tlačítka", -CheckboxProp : "Vlastnosti zaškrtávacího políčka", -HiddenFieldProp : "Vlastnosti skrytého pole", -RadioButtonProp : "Vlastnosti přepínače", -ImageButtonProp : "Vlastností obrázkového tlačítka", -TextFieldProp : "Vlastnosti textového pole", -SelectionFieldProp : "Vlastnosti seznamu", -TextareaProp : "Vlastnosti textové oblasti", -FormProp : "Vlastnosti formuláře", - -FontFormats : "Normální;Naformátováno;Adresa;Nadpis 1;Nadpis 2;Nadpis 3;Nadpis 4;Nadpis 5;Nadpis 6;Normální (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Probíhá zpracování XHTML. Prosím čekejte...", -Done : "Hotovo", -PasteWordConfirm : "Jak je vidět, vkládaný text je kopírován z Wordu. Chcete jej před vložením vyčistit?", -NotCompatiblePaste : "Tento příkaz je dostupný pouze v Internet Exploreru verze 5.5 nebo vyšší. Chcete vložit text bez vyčištění?", -UnknownToolbarItem : "Neznámá položka panelu nástrojů \"%1\"", -UnknownCommand : "Neznámý příkaz \"%1\"", -NotImplemented : "Příkaz není implementován", -UnknownToolbarSet : "Panel nástrojů \"%1\" neexistuje", -NoActiveX : "Nastavení bezpečnosti Vašeho prohlížeče omezuje funkčnost některých jeho možností. Je třeba zapnout volbu \"Spouštět ovládáací prvky ActiveX a moduly plug-in\", jinak nebude možné využívat všechny dosputné schopnosti editoru.", -BrowseServerBlocked : "Průzkumník zdrojů nelze otevřít. Prověřte, zda nemáte aktivováno blokování popup oken.", -DialogBlocked : "Nelze otevřít dialogové okno. Prověřte, zda nemáte aktivováno blokování popup oken.", -VisitLinkBlocked : "Není možné otevřít nové okno. Prověřte, zda všechny nástroje pro blokování vyskakovacích oken jsou vypnuty.", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Storno", -DlgBtnClose : "Zavřít", -DlgBtnBrowseServer : "Vybrat na serveru", -DlgAdvancedTag : "Rozšířené", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Prosím vložte URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Orientace jazyka", -DlgGenLangDirLtr : "Zleva do prava (LTR)", -DlgGenLangDirRtl : "Zprava do leva (RTL)", -DlgGenLangCode : "Kód jazyka", -DlgGenAccessKey : "Přístupový klíč", -DlgGenName : "Jméno", -DlgGenTabIndex : "Pořadí prvku", -DlgGenLongDescr : "Dlouhý popis URL", -DlgGenClass : "Třída stylu", -DlgGenTitle : "Pomocný titulek", -DlgGenContType : "Pomocný typ obsahu", -DlgGenLinkCharset : "Přiřazená znaková sada", -DlgGenStyle : "Styl", - -// Image Dialog -DlgImgTitle : "Vlastnosti obrázku", -DlgImgInfoTab : "Informace o obrázku", -DlgImgBtnUpload : "Odeslat na server", -DlgImgURL : "URL", -DlgImgUpload : "Odeslat", -DlgImgAlt : "Alternativní text", -DlgImgWidth : "Šířka", -DlgImgHeight : "Výška", -DlgImgLockRatio : "Zámek", -DlgBtnResetSize : "Původní velikost", -DlgImgBorder : "Okraje", -DlgImgHSpace : "H-mezera", -DlgImgVSpace : "V-mezera", -DlgImgAlign : "Zarovnání", -DlgImgAlignLeft : "Vlevo", -DlgImgAlignAbsBottom: "Zcela dolů", -DlgImgAlignAbsMiddle: "Doprostřed", -DlgImgAlignBaseline : "Na účaří", -DlgImgAlignBottom : "Dolů", -DlgImgAlignMiddle : "Na střed", -DlgImgAlignRight : "Vpravo", -DlgImgAlignTextTop : "Na horní okraj textu", -DlgImgAlignTop : "Nahoru", -DlgImgPreview : "Náhled", -DlgImgAlertUrl : "Zadejte prosím URL obrázku", -DlgImgLinkTab : "Odkaz", - -// Flash Dialog -DlgFlashTitle : "Vlastnosti Flashe", -DlgFlashChkPlay : "Automatické spuštění", -DlgFlashChkLoop : "Opakování", -DlgFlashChkMenu : "Nabídka Flash", -DlgFlashScale : "Zobrazit", -DlgFlashScaleAll : "Zobrazit vše", -DlgFlashScaleNoBorder : "Bez okraje", -DlgFlashScaleFit : "Přizpůsobit", - -// Link Dialog -DlgLnkWindowTitle : "Odkaz", -DlgLnkInfoTab : "Informace o odkazu", -DlgLnkTargetTab : "Cíl", - -DlgLnkType : "Typ odkazu", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Kotva v této stránce", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protokol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Vybrat kotvu", -DlgLnkAnchorByName : "Podle jména kotvy", -DlgLnkAnchorById : "Podle Id objektu", -DlgLnkNoAnchors : "(Ve stránce není definována žádná kotva!)", -DlgLnkEMail : "E-Mailová adresa", -DlgLnkEMailSubject : "Předmět zprávy", -DlgLnkEMailBody : "Tělo zprávy", -DlgLnkUpload : "Odeslat", -DlgLnkBtnUpload : "Odeslat na Server", - -DlgLnkTarget : "Cíl", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nové okno (_blank)", -DlgLnkTargetParent : "Rodičovské okno (_parent)", -DlgLnkTargetSelf : "Stejné okno (_self)", -DlgLnkTargetTop : "Hlavní okno (_top)", -DlgLnkTargetFrameName : "Název cílového rámu", -DlgLnkPopWinName : "Název vyskakovacího okna", -DlgLnkPopWinFeat : "Vlastnosti vyskakovacího okna", -DlgLnkPopResize : "Měnitelná velikost", -DlgLnkPopLocation : "Panel umístění", -DlgLnkPopMenu : "Panel nabídky", -DlgLnkPopScroll : "Posuvníky", -DlgLnkPopStatus : "Stavový řádek", -DlgLnkPopToolbar : "Panel nástrojů", -DlgLnkPopFullScrn : "Celá obrazovka (IE)", -DlgLnkPopDependent : "Závislost (Netscape)", -DlgLnkPopWidth : "Šířka", -DlgLnkPopHeight : "Výška", -DlgLnkPopLeft : "Levý okraj", -DlgLnkPopTop : "Horní okraj", - -DlnLnkMsgNoUrl : "Zadejte prosím URL odkazu", -DlnLnkMsgNoEMail : "Zadejte prosím e-mailovou adresu", -DlnLnkMsgNoAnchor : "Vyberte prosím kotvu", -DlnLnkMsgInvPopName : "Název vyskakovacího okna musí začínat písmenem a nesmí obsahovat mezery", - -// Color Dialog -DlgColorTitle : "Výběr barvy", -DlgColorBtnClear : "Vymazat", -DlgColorHighlight : "Zvýrazněná", -DlgColorSelected : "Vybraná", - -// Smiley Dialog -DlgSmileyTitle : "Vkládání smajlíků", - -// Special Character Dialog -DlgSpecialCharTitle : "Výběr speciálního znaku", - -// Table Dialog -DlgTableTitle : "Vlastnosti tabulky", -DlgTableRows : "Řádky", -DlgTableColumns : "Sloupce", -DlgTableBorder : "Ohraničení", -DlgTableAlign : "Zarovnání", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Vlevo", -DlgTableAlignCenter : "Na střed", -DlgTableAlignRight : "Vpravo", -DlgTableWidth : "Šířka", -DlgTableWidthPx : "bodů", -DlgTableWidthPc : "procent", -DlgTableHeight : "Výška", -DlgTableCellSpace : "Vzdálenost buněk", -DlgTableCellPad : "Odsazení obsahu", -DlgTableCaption : "Popis", -DlgTableSummary : "Souhrn", - -// Table Cell Dialog -DlgCellTitle : "Vlastnosti buňky", -DlgCellWidth : "Šířka", -DlgCellWidthPx : "bodů", -DlgCellWidthPc : "procent", -DlgCellHeight : "Výška", -DlgCellWordWrap : "Zalamování", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Ano", -DlgCellWordWrapNo : "Ne", -DlgCellHorAlign : "Vodorovné zarovnání", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Vlevo", -DlgCellHorAlignCenter : "Na střed", -DlgCellHorAlignRight: "Vpravo", -DlgCellVerAlign : "Svislé zarovnání", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Nahoru", -DlgCellVerAlignMiddle : "Doprostřed", -DlgCellVerAlignBottom : "Dolů", -DlgCellVerAlignBaseline : "Na účaří", -DlgCellRowSpan : "Sloučené řádky", -DlgCellCollSpan : "Sloučené sloupce", -DlgCellBackColor : "Barva pozadí", -DlgCellBorderColor : "Barva ohraničení", -DlgCellBtnSelect : "Výběr...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Najít a nahradit", - -// Find Dialog -DlgFindTitle : "Hledat", -DlgFindFindBtn : "Hledat", -DlgFindNotFoundMsg : "Hledaný text nebyl nalezen.", - -// Replace Dialog -DlgReplaceTitle : "Nahradit", -DlgReplaceFindLbl : "Co hledat:", -DlgReplaceReplaceLbl : "Čím nahradit:", -DlgReplaceCaseChk : "Rozlišovat velikost písma", -DlgReplaceReplaceBtn : "Nahradit", -DlgReplaceReplAllBtn : "Nahradit vše", -DlgReplaceWordChk : "Pouze celá slova", - -// Paste Operations / Dialog -PasteErrorCut : "Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl+X).", -PasteErrorCopy : "Bezpečnostní nastavení Vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl+C).", - -PasteAsText : "Vložit jako čistý text", -PasteFromWord : "Vložit text z Wordu", - -DlgPasteMsg2 : "Do následujícího pole vložte požadovaný obsah pomocí klávesnice (Ctrl+V) a stiskněte OK.", -DlgPasteSec : "Z důvodů nastavení bezpečnosti Vašeho prohlížeče nemůže editor přistupovat přímo do schránky. Obsah schránky prosím vložte znovu do tohoto okna.", -DlgPasteIgnoreFont : "Ignorovat písmo", -DlgPasteRemoveStyles : "Odstranit styly", - -// Color Picker -ColorAutomatic : "Automaticky", -ColorMoreColors : "Více barev...", - -// Document Properties -DocProps : "Vlastnosti dokumentu", - -// Anchor Dialog -DlgAnchorTitle : "Vlastnosti záložky", -DlgAnchorName : "Název záložky", -DlgAnchorErrorName : "Zadejte prosím název záložky", - -// Speller Pages Dialog -DlgSpellNotInDic : "Není ve slovníku", -DlgSpellChangeTo : "Změnit na", -DlgSpellBtnIgnore : "Přeskočit", -DlgSpellBtnIgnoreAll : "Přeskakovat vše", -DlgSpellBtnReplace : "Zaměnit", -DlgSpellBtnReplaceAll : "Zaměňovat vše", -DlgSpellBtnUndo : "Zpět", -DlgSpellNoSuggestions : "- žádné návrhy -", -DlgSpellProgress : "Probíhá kontrola pravopisu...", -DlgSpellNoMispell : "Kontrola pravopisu dokončena: Žádné pravopisné chyby nenalezeny", -DlgSpellNoChanges : "Kontrola pravopisu dokončena: Beze změn", -DlgSpellOneChange : "Kontrola pravopisu dokončena: Jedno slovo změněno", -DlgSpellManyChanges : "Kontrola pravopisu dokončena: %1 slov změněno", - -IeSpellDownload : "Kontrola pravopisu není nainstalována. Chcete ji nyní stáhnout?", - -// Button Dialog -DlgButtonText : "Popisek", -DlgButtonType : "Typ", -DlgButtonTypeBtn : "Tlačítko", -DlgButtonTypeSbm : "Odeslat", -DlgButtonTypeRst : "Obnovit", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Název", -DlgCheckboxValue : "Hodnota", -DlgCheckboxSelected : "Zaškrtnuto", - -// Form Dialog -DlgFormName : "Název", -DlgFormAction : "Akce", -DlgFormMethod : "Metoda", - -// Select Field Dialog -DlgSelectName : "Název", -DlgSelectValue : "Hodnota", -DlgSelectSize : "Velikost", -DlgSelectLines : "Řádků", -DlgSelectChkMulti : "Povolit mnohonásobné výběry", -DlgSelectOpAvail : "Dostupná nastavení", -DlgSelectOpText : "Text", -DlgSelectOpValue : "Hodnota", -DlgSelectBtnAdd : "Přidat", -DlgSelectBtnModify : "Změnit", -DlgSelectBtnUp : "Nahoru", -DlgSelectBtnDown : "Dolů", -DlgSelectBtnSetValue : "Nastavit jako vybranou hodnotu", -DlgSelectBtnDelete : "Smazat", - -// Textarea Dialog -DlgTextareaName : "Název", -DlgTextareaCols : "Sloupců", -DlgTextareaRows : "Řádků", - -// Text Field Dialog -DlgTextName : "Název", -DlgTextValue : "Hodnota", -DlgTextCharWidth : "Šířka ve znacích", -DlgTextMaxChars : "Maximální počet znaků", -DlgTextType : "Typ", -DlgTextTypeText : "Text", -DlgTextTypePass : "Heslo", - -// Hidden Field Dialog -DlgHiddenName : "Název", -DlgHiddenValue : "Hodnota", - -// Bulleted List Dialog -BulletedListProp : "Vlastnosti odrážek", -NumberedListProp : "Vlastnosti číslovaného seznamu", -DlgLstStart : "Začátek", -DlgLstType : "Typ", -DlgLstTypeCircle : "Kružnice", -DlgLstTypeDisc : "Kruh", -DlgLstTypeSquare : "Čtverec", -DlgLstTypeNumbers : "Čísla (1, 2, 3)", -DlgLstTypeLCase : "Malá písmena (a, b, c)", -DlgLstTypeUCase : "Velká písmena (A, B, C)", -DlgLstTypeSRoman : "Malé římská číslice (i, ii, iii)", -DlgLstTypeLRoman : "Velké římské číslice (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Obecné", -DlgDocBackTab : "Pozadí", -DlgDocColorsTab : "Barvy a okraje", -DlgDocMetaTab : "Metadata", - -DlgDocPageTitle : "Titulek stránky", -DlgDocLangDir : "Směr jazyku", -DlgDocLangDirLTR : "Zleva do prava ", -DlgDocLangDirRTL : "Zprava doleva", -DlgDocLangCode : "Kód jazyku", -DlgDocCharSet : "Znaková sada", -DlgDocCharSetCE : "Středoevropské jazyky", -DlgDocCharSetCT : "Tradiční čínština (Big5)", -DlgDocCharSetCR : "Cyrilice", -DlgDocCharSetGR : "Řečtina", -DlgDocCharSetJP : "Japonština", -DlgDocCharSetKR : "Korejština", -DlgDocCharSetTR : "Turečtina", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Západoevropské jazyky", -DlgDocCharSetOther : "Další znaková sada", - -DlgDocDocType : "Typ dokumentu", -DlgDocDocTypeOther : "Jiný typ dokumetu", -DlgDocIncXHTML : "Zahrnou deklarace XHTML", -DlgDocBgColor : "Barva pozadí", -DlgDocBgImage : "URL obrázku na pozadí", -DlgDocBgNoScroll : "Nerolovatelné pozadí", -DlgDocCText : "Text", -DlgDocCLink : "Odkaz", -DlgDocCVisited : "Navštívený odkaz", -DlgDocCActive : "Vybraný odkaz", -DlgDocMargins : "Okraje stránky", -DlgDocMaTop : "Horní", -DlgDocMaLeft : "Levý", -DlgDocMaRight : "Pravý", -DlgDocMaBottom : "Dolní", -DlgDocMeIndex : "Klíčová slova (oddělená čárkou)", -DlgDocMeDescr : "Popis dokumentu", -DlgDocMeAuthor : "Autor", -DlgDocMeCopy : "Autorská práva", -DlgDocPreview : "Náhled", - -// Templates Dialog -Templates : "Šablony", -DlgTemplatesTitle : "Šablony obsahu", -DlgTemplatesSelMsg : "Prosím zvolte šablonu pro otevření v editoru
    (aktuální obsah editoru bude ztracen):", -DlgTemplatesLoading : "Nahrávám přeheld šablon. Prosím čekejte...", -DlgTemplatesNoTpl : "(Není definována žádná šablona)", -DlgTemplatesReplace : "Nahradit aktuální obsah", - -// About Dialog -DlgAboutAboutTab : "O aplikaci", -DlgAboutBrowserInfoTab : "Informace o prohlížeči", -DlgAboutLicenseTab : "Licence", -DlgAboutVersion : "verze", -DlgAboutInfo : "Více informací získáte na", - -// Div Dialog -DlgDivGeneralTab : "Obecné", -DlgDivAdvancedTab : "Rozšířené", -DlgDivStyle : "Styl", -DlgDivInlineStyle : "Vložený styl" -}; diff --git a/include/fckeditor/editor/lang/da.js b/include/fckeditor/editor/lang/da.js deleted file mode 100644 index c0273f59c..000000000 --- a/include/fckeditor/editor/lang/da.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Danish language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Skjul værktøjslinier", -ToolbarExpand : "Vis værktøjslinier", - -// Toolbar Items and Context Menu -Save : "Gem", -NewPage : "Ny side", -Preview : "Vis eksempel", -Cut : "Klip", -Copy : "Kopier", -Paste : "Indsæt", -PasteText : "Indsæt som ikke-formateret tekst", -PasteWord : "Indsæt fra Word", -Print : "Udskriv", -SelectAll : "Vælg alt", -RemoveFormat : "Fjern formatering", -InsertLinkLbl : "Hyperlink", -InsertLink : "Indsæt/rediger hyperlink", -RemoveLink : "Fjern hyperlink", -VisitLink : "Open Link", //MISSING -Anchor : "Indsæt/rediger bogmærke", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "Indsæt billede", -InsertImage : "Indsæt/rediger billede", -InsertFlashLbl : "Flash", -InsertFlash : "Indsæt/rediger Flash", -InsertTableLbl : "Table", -InsertTable : "Indsæt/rediger tabel", -InsertLineLbl : "Linie", -InsertLine : "Indsæt vandret linie", -InsertSpecialCharLbl: "Symbol", -InsertSpecialChar : "Indsæt symbol", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Indsæt smiley", -About : "Om FCKeditor", -Bold : "Fed", -Italic : "Kursiv", -Underline : "Understreget", -StrikeThrough : "Overstreget", -Subscript : "Sænket skrift", -Superscript : "Hævet skrift", -LeftJustify : "Venstrestillet", -CenterJustify : "Centreret", -RightJustify : "Højrestillet", -BlockJustify : "Lige margener", -DecreaseIndent : "Formindsk indrykning", -IncreaseIndent : "Forøg indrykning", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Fortryd", -Redo : "Annuller fortryd", -NumberedListLbl : "Talopstilling", -NumberedList : "Indsæt/fjern talopstilling", -BulletedListLbl : "Punktopstilling", -BulletedList : "Indsæt/fjern punktopstilling", -ShowTableBorders : "Vis tabelkanter", -ShowDetails : "Vis detaljer", -Style : "Typografi", -FontFormat : "Formatering", -Font : "Skrifttype", -FontSize : "Skriftstørrelse", -TextColor : "Tekstfarve", -BGColor : "Baggrundsfarve", -Source : "Kilde", -Find : "Søg", -Replace : "Erstat", -SpellCheck : "Stavekontrol", -UniversalKeyboard : "Universaltastatur", -PageBreakLbl : "Sidskift", -PageBreak : "Indsæt sideskift", - -Form : "Indsæt formular", -Checkbox : "Indsæt afkrydsningsfelt", -RadioButton : "Indsæt alternativknap", -TextField : "Indsæt tekstfelt", -Textarea : "Indsæt tekstboks", -HiddenField : "Indsæt skjult felt", -Button : "Indsæt knap", -SelectionField : "Indsæt liste", -ImageButton : "Indsæt billedknap", - -FitWindow : "Maksimer editor vinduet", -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "Rediger hyperlink", -CellCM : "Celle", -RowCM : "Række", -ColumnCM : "Kolonne", -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "Slet række", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "Slet kolonne", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "Slet celle", -MergeCells : "Flet celler", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "Slet tabel", -CellProperties : "Egenskaber for celle", -TableProperties : "Egenskaber for tabel", -ImageProperties : "Egenskaber for billede", -FlashProperties : "Egenskaber for Flash", - -AnchorProp : "Egenskaber for bogmærke", -ButtonProp : "Egenskaber for knap", -CheckboxProp : "Egenskaber for afkrydsningsfelt", -HiddenFieldProp : "Egenskaber for skjult felt", -RadioButtonProp : "Egenskaber for alternativknap", -ImageButtonProp : "Egenskaber for billedknap", -TextFieldProp : "Egenskaber for tekstfelt", -SelectionFieldProp : "Egenskaber for liste", -TextareaProp : "Egenskaber for tekstboks", -FormProp : "Egenskaber for formular", - -FontFormats : "Normal;Formateret;Adresse;Overskrift 1;Overskrift 2;Overskrift 3;Overskrift 4;Overskrift 5;Overskrift 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Behandler XHTML...", -Done : "Færdig", -PasteWordConfirm : "Den tekst du forsøger at indsætte ser ud til at komme fra Word.
    Vil du rense teksten før den indsættes?", -NotCompatiblePaste : "Denne kommando er tilgændelig i Internet Explorer 5.5 eller senere.
    Vil du indsætte teksten uden at rense den ?", -UnknownToolbarItem : "Ukendt værktøjslinjeobjekt \"%1\"!", -UnknownCommand : "Ukendt kommandonavn \"%1\"!", -NotImplemented : "Kommandoen er ikke implementeret!", -UnknownToolbarSet : "Værktøjslinjen \"%1\" eksisterer ikke!", -NoActiveX : "Din browsers sikkerhedsindstillinger begrænser nogle af editorens muligheder.
    Slå \"Kør ActiveX-objekter og plug-ins\" til, ellers vil du opleve fejl og manglende muligheder.", -BrowseServerBlocked : "Browseren kunne ikke åbne de nødvendige ressourcer!
    Slå pop-up blokering fra.", -DialogBlocked : "Dialogvinduet kunne ikke åbnes!
    Slå pop-up blokering fra.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Annuller", -DlgBtnClose : "Luk", -DlgBtnBrowseServer : "Gennemse...", -DlgAdvancedTag : "Avanceret", -DlgOpOther : "", -DlgInfoTab : "Generelt", -DlgAlertUrl : "Indtast URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Tekstretning", -DlgGenLangDirLtr : "Fra venstre mod højre (LTR)", -DlgGenLangDirRtl : "Fra højre mod venstre (RTL)", -DlgGenLangCode : "Sprogkode", -DlgGenAccessKey : "Genvejstast", -DlgGenName : "Navn", -DlgGenTabIndex : "Tabulator indeks", -DlgGenLongDescr : "Udvidet beskrivelse", -DlgGenClass : "Typografiark", -DlgGenTitle : "Titel", -DlgGenContType : "Indholdstype", -DlgGenLinkCharset : "Tegnsæt", -DlgGenStyle : "Typografi", - -// Image Dialog -DlgImgTitle : "Egenskaber for billede", -DlgImgInfoTab : "Generelt", -DlgImgBtnUpload : "Upload", -DlgImgURL : "URL", -DlgImgUpload : "Upload", -DlgImgAlt : "Alternativ tekst", -DlgImgWidth : "Bredde", -DlgImgHeight : "Højde", -DlgImgLockRatio : "Lås størrelsesforhold", -DlgBtnResetSize : "Nulstil størrelse", -DlgImgBorder : "Ramme", -DlgImgHSpace : "HMargen", -DlgImgVSpace : "VMargen", -DlgImgAlign : "Justering", -DlgImgAlignLeft : "Venstre", -DlgImgAlignAbsBottom: "Absolut nederst", -DlgImgAlignAbsMiddle: "Absolut centreret", -DlgImgAlignBaseline : "Grundlinje", -DlgImgAlignBottom : "Nederst", -DlgImgAlignMiddle : "Centreret", -DlgImgAlignRight : "Højre", -DlgImgAlignTextTop : "Toppen af teksten", -DlgImgAlignTop : "Øverst", -DlgImgPreview : "Vis eksempel", -DlgImgAlertUrl : "Indtast stien til billedet", -DlgImgLinkTab : "Hyperlink", - -// Flash Dialog -DlgFlashTitle : "Egenskaber for Flash", -DlgFlashChkPlay : "Automatisk afspilning", -DlgFlashChkLoop : "Gentagelse", -DlgFlashChkMenu : "Vis Flash menu", -DlgFlashScale : "Skalér", -DlgFlashScaleAll : "Vis alt", -DlgFlashScaleNoBorder : "Ingen ramme", -DlgFlashScaleFit : "Tilpas størrelse", - -// Link Dialog -DlgLnkWindowTitle : "Egenskaber for hyperlink", -DlgLnkInfoTab : "Generelt", -DlgLnkTargetTab : "Mål", - -DlgLnkType : "Hyperlink type", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Bogmærke på denne side", -DlgLnkTypeEMail : "E-mail", -DlgLnkProto : "Protokol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Vælg et anker", -DlgLnkAnchorByName : "Efter anker navn", -DlgLnkAnchorById : "Efter element Id", -DlgLnkNoAnchors : "(Ingen bogmærker dokumentet)", -DlgLnkEMail : "E-mailadresse", -DlgLnkEMailSubject : "Emne", -DlgLnkEMailBody : "Brødtekst", -DlgLnkUpload : "Upload", -DlgLnkBtnUpload : "Upload", - -DlgLnkTarget : "Mål", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nyt vindue (_blank)", -DlgLnkTargetParent : "Overordnet ramme (_parent)", -DlgLnkTargetSelf : "Samme vindue (_self)", -DlgLnkTargetTop : "Hele vinduet (_top)", -DlgLnkTargetFrameName : "Destinationsvinduets navn", -DlgLnkPopWinName : "Pop-up vinduets navn", -DlgLnkPopWinFeat : "Egenskaber for pop-up", -DlgLnkPopResize : "Skalering", -DlgLnkPopLocation : "Adresselinje", -DlgLnkPopMenu : "Menulinje", -DlgLnkPopScroll : "Scrollbars", -DlgLnkPopStatus : "Statuslinje", -DlgLnkPopToolbar : "Værktøjslinje", -DlgLnkPopFullScrn : "Fuld skærm (IE)", -DlgLnkPopDependent : "Koblet/dependent (Netscape)", -DlgLnkPopWidth : "Bredde", -DlgLnkPopHeight : "Højde", -DlgLnkPopLeft : "Position fra venstre", -DlgLnkPopTop : "Position fra toppen", - -DlnLnkMsgNoUrl : "Indtast hyperlink URL!", -DlnLnkMsgNoEMail : "Indtast e-mailaddresse!", -DlnLnkMsgNoAnchor : "Vælg bogmærke!", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING - -// Color Dialog -DlgColorTitle : "Vælg farve", -DlgColorBtnClear : "Nulstil", -DlgColorHighlight : "Markeret", -DlgColorSelected : "Valgt", - -// Smiley Dialog -DlgSmileyTitle : "Vælg smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Vælg symbol", - -// Table Dialog -DlgTableTitle : "Egenskaber for tabel", -DlgTableRows : "Rækker", -DlgTableColumns : "Kolonner", -DlgTableBorder : "Rammebredde", -DlgTableAlign : "Justering", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Venstrestillet", -DlgTableAlignCenter : "Centreret", -DlgTableAlignRight : "Højrestillet", -DlgTableWidth : "Bredde", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "procent", -DlgTableHeight : "Højde", -DlgTableCellSpace : "Celleafstand", -DlgTableCellPad : "Cellemargen", -DlgTableCaption : "Titel", -DlgTableSummary : "Resume", - -// Table Cell Dialog -DlgCellTitle : "Egenskaber for celle", -DlgCellWidth : "Bredde", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "procent", -DlgCellHeight : "Højde", -DlgCellWordWrap : "Orddeling", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Ja", -DlgCellWordWrapNo : "Nej", -DlgCellHorAlign : "Vandret justering", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Venstrestillet", -DlgCellHorAlignCenter : "Centreret", -DlgCellHorAlignRight: "Højrestillet", -DlgCellVerAlign : "Lodret justering", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Øverst", -DlgCellVerAlignMiddle : "Centreret", -DlgCellVerAlignBottom : "Nederst", -DlgCellVerAlignBaseline : "Grundlinje", -DlgCellRowSpan : "Højde i antal rækker", -DlgCellCollSpan : "Bredde i antal kolonner", -DlgCellBackColor : "Baggrundsfarve", -DlgCellBorderColor : "Rammefarve", -DlgCellBtnSelect : "Vælg...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "Find", -DlgFindFindBtn : "Find", -DlgFindNotFoundMsg : "Søgeteksten blev ikke fundet!", - -// Replace Dialog -DlgReplaceTitle : "Erstat", -DlgReplaceFindLbl : "Søg efter:", -DlgReplaceReplaceLbl : "Erstat med:", -DlgReplaceCaseChk : "Forskel på store og små bogstaver", -DlgReplaceReplaceBtn : "Erstat", -DlgReplaceReplAllBtn : "Erstat alle", -DlgReplaceWordChk : "Kun hele ord", - -// Paste Operations / Dialog -PasteErrorCut : "Din browsers sikkerhedsindstillinger tillader ikke editoren at klippe tekst automatisk!
    Brug i stedet tastaturet til at klippe teksten (Ctrl+X).", -PasteErrorCopy : "Din browsers sikkerhedsindstillinger tillader ikke editoren at kopiere tekst automatisk!
    Brug i stedet tastaturet til at kopiere teksten (Ctrl+C).", - -PasteAsText : "Indsæt som ikke-formateret tekst", -PasteFromWord : "Indsæt fra Word", - -DlgPasteMsg2 : "Indsæt i feltet herunder (Ctrl+V) og klik OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "Ignorer font definitioner", -DlgPasteRemoveStyles : "Ignorer typografi", - -// Color Picker -ColorAutomatic : "Automatisk", -ColorMoreColors : "Flere farver...", - -// Document Properties -DocProps : "Egenskaber for dokument", - -// Anchor Dialog -DlgAnchorTitle : "Egenskaber for bogmærke", -DlgAnchorName : "Bogmærke navn", -DlgAnchorErrorName : "Indtast bogmærke navn!", - -// Speller Pages Dialog -DlgSpellNotInDic : "Ikke i ordbogen", -DlgSpellChangeTo : "Forslag", -DlgSpellBtnIgnore : "Ignorer", -DlgSpellBtnIgnoreAll : "Ignorer alle", -DlgSpellBtnReplace : "Erstat", -DlgSpellBtnReplaceAll : "Erstat alle", -DlgSpellBtnUndo : "Tilbage", -DlgSpellNoSuggestions : "- ingen forslag -", -DlgSpellProgress : "Stavekontrolen arbejder...", -DlgSpellNoMispell : "Stavekontrol færdig: Ingen fejl fundet", -DlgSpellNoChanges : "Stavekontrol færdig: Ingen ord ændret", -DlgSpellOneChange : "Stavekontrol færdig: Et ord ændret", -DlgSpellManyChanges : "Stavekontrol færdig: %1 ord ændret", - -IeSpellDownload : "Stavekontrol ikke installeret.
    Vil du hente den nu?", - -// Button Dialog -DlgButtonText : "Tekst", -DlgButtonType : "Type", -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Navn", -DlgCheckboxValue : "Værdi", -DlgCheckboxSelected : "Valgt", - -// Form Dialog -DlgFormName : "Navn", -DlgFormAction : "Handling", -DlgFormMethod : "Metod", - -// Select Field Dialog -DlgSelectName : "Navn", -DlgSelectValue : "Værdi", -DlgSelectSize : "Størrelse", -DlgSelectLines : "linier", -DlgSelectChkMulti : "Tillad flere valg", -DlgSelectOpAvail : "Valgmuligheder", -DlgSelectOpText : "Tekst", -DlgSelectOpValue : "Værdi", -DlgSelectBtnAdd : "Tilføj", -DlgSelectBtnModify : "Rediger", -DlgSelectBtnUp : "Op", -DlgSelectBtnDown : "Ned", -DlgSelectBtnSetValue : "Sæt som valgt", -DlgSelectBtnDelete : "Slet", - -// Textarea Dialog -DlgTextareaName : "Navn", -DlgTextareaCols : "Kolonner", -DlgTextareaRows : "Rækker", - -// Text Field Dialog -DlgTextName : "Navn", -DlgTextValue : "Værdi", -DlgTextCharWidth : "Bredde (tegn)", -DlgTextMaxChars : "Max antal tegn", -DlgTextType : "Type", -DlgTextTypeText : "Tekst", -DlgTextTypePass : "Adgangskode", - -// Hidden Field Dialog -DlgHiddenName : "Navn", -DlgHiddenValue : "Værdi", - -// Bulleted List Dialog -BulletedListProp : "Egenskaber for punktopstilling", -NumberedListProp : "Egenskaber for talopstilling", -DlgLstStart : "Start", //MISSING -DlgLstType : "Type", -DlgLstTypeCircle : "Cirkel", -DlgLstTypeDisc : "Udfyldt cirkel", -DlgLstTypeSquare : "Firkant", -DlgLstTypeNumbers : "Nummereret (1, 2, 3)", -DlgLstTypeLCase : "Små bogstaver (a, b, c)", -DlgLstTypeUCase : "Store bogstaver (A, B, C)", -DlgLstTypeSRoman : "Små romertal (i, ii, iii)", -DlgLstTypeLRoman : "Store romertal (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Generelt", -DlgDocBackTab : "Baggrund", -DlgDocColorsTab : "Farver og margen", -DlgDocMetaTab : "Metadata", - -DlgDocPageTitle : "Sidetitel", -DlgDocLangDir : "Sprog", -DlgDocLangDirLTR : "Fra venstre mod højre (LTR)", -DlgDocLangDirRTL : "Fra højre mod venstre (RTL)", -DlgDocLangCode : "Landekode", -DlgDocCharSet : "Tegnsæt kode", -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "Anden tegnsæt kode", - -DlgDocDocType : "Dokumenttype kategori", -DlgDocDocTypeOther : "Anden dokumenttype kategori", -DlgDocIncXHTML : "Inkludere XHTML deklartion", -DlgDocBgColor : "Baggrundsfarve", -DlgDocBgImage : "Baggrundsbillede URL", -DlgDocBgNoScroll : "Fastlåst baggrund", -DlgDocCText : "Tekst", -DlgDocCLink : "Hyperlink", -DlgDocCVisited : "Besøgt hyperlink", -DlgDocCActive : "Aktivt hyperlink", -DlgDocMargins : "Sidemargen", -DlgDocMaTop : "Øverst", -DlgDocMaLeft : "Venstre", -DlgDocMaRight : "Højre", -DlgDocMaBottom : "Nederst", -DlgDocMeIndex : "Dokument index nøgleord (kommasepareret)", -DlgDocMeDescr : "Dokument beskrivelse", -DlgDocMeAuthor : "Forfatter", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Vis", - -// Templates Dialog -Templates : "Skabeloner", -DlgTemplatesTitle : "Indholdsskabeloner", -DlgTemplatesSelMsg : "Vælg den skabelon, som skal åbnes i editoren.
    (Nuværende indhold vil blive overskrevet!):", -DlgTemplatesLoading : "Henter liste over skabeloner...", -DlgTemplatesNoTpl : "(Der er ikke defineret nogen skabelon!)", -DlgTemplatesReplace : "Replace actual contents", //MISSING - -// About Dialog -DlgAboutAboutTab : "Om", -DlgAboutBrowserInfoTab : "Generelt", -DlgAboutLicenseTab : "Licens", -DlgAboutVersion : "version", -DlgAboutInfo : "For yderlig information gå til", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/de.js b/include/fckeditor/editor/lang/de.js deleted file mode 100644 index 7edd90f96..000000000 --- a/include/fckeditor/editor/lang/de.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * German language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Symbolleiste einklappen", -ToolbarExpand : "Symbolleiste ausklappen", - -// Toolbar Items and Context Menu -Save : "Speichern", -NewPage : "Neue Seite", -Preview : "Vorschau", -Cut : "Ausschneiden", -Copy : "Kopieren", -Paste : "Einfügen", -PasteText : "aus Textdatei einfügen", -PasteWord : "aus MS-Word einfügen", -Print : "Drucken", -SelectAll : "Alles auswählen", -RemoveFormat : "Formatierungen entfernen", -InsertLinkLbl : "Link", -InsertLink : "Link einfügen/editieren", -RemoveLink : "Link entfernen", -VisitLink : "Link aufrufen", -Anchor : "Anker einfügen/editieren", -AnchorDelete : "Anker entfernen", -InsertImageLbl : "Bild", -InsertImage : "Bild einfügen/editieren", -InsertFlashLbl : "Flash", -InsertFlash : "Flash einfügen/editieren", -InsertTableLbl : "Tabelle", -InsertTable : "Tabelle einfügen/editieren", -InsertLineLbl : "Linie", -InsertLine : "Horizontale Linie einfügen", -InsertSpecialCharLbl: "Sonderzeichen", -InsertSpecialChar : "Sonderzeichen einfügen/editieren", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Smiley einfügen", -About : "Über FCKeditor", -Bold : "Fett", -Italic : "Kursiv", -Underline : "Unterstrichen", -StrikeThrough : "Durchgestrichen", -Subscript : "Tiefgestellt", -Superscript : "Hochgestellt", -LeftJustify : "Linksbündig", -CenterJustify : "Zentriert", -RightJustify : "Rechtsbündig", -BlockJustify : "Blocksatz", -DecreaseIndent : "Einzug verringern", -IncreaseIndent : "Einzug erhöhen", -Blockquote : "Zitatblock", -CreateDiv : "Erzeuge Div Block", -EditDiv : "Bearbeite Div Block", -DeleteDiv : "Entferne Div Block", -Undo : "Rückgängig", -Redo : "Wiederherstellen", -NumberedListLbl : "Nummerierte Liste", -NumberedList : "Nummerierte Liste einfügen/entfernen", -BulletedListLbl : "Liste", -BulletedList : "Liste einfügen/entfernen", -ShowTableBorders : "Zeige Tabellenrahmen", -ShowDetails : "Zeige Details", -Style : "Stil", -FontFormat : "Format", -Font : "Schriftart", -FontSize : "Größe", -TextColor : "Textfarbe", -BGColor : "Hintergrundfarbe", -Source : "Quellcode", -Find : "Suchen", -Replace : "Ersetzen", -SpellCheck : "Rechtschreibprüfung", -UniversalKeyboard : "Universal-Tastatur", -PageBreakLbl : "Seitenumbruch", -PageBreak : "Seitenumbruch einfügen", - -Form : "Formular", -Checkbox : "Checkbox", -RadioButton : "Radiobutton", -TextField : "Textfeld einzeilig", -Textarea : "Textfeld mehrzeilig", -HiddenField : "verstecktes Feld", -Button : "Klickbutton", -SelectionField : "Auswahlfeld", -ImageButton : "Bildbutton", - -FitWindow : "Editor maximieren", -ShowBlocks : "Blöcke anzeigen", - -// Context Menu -EditLink : "Link editieren", -CellCM : "Zelle", -RowCM : "Zeile", -ColumnCM : "Spalte", -InsertRowAfter : "Zeile unterhalb einfügen", -InsertRowBefore : "Zeile oberhalb einfügen", -DeleteRows : "Zeile entfernen", -InsertColumnAfter : "Spalte rechts danach einfügen", -InsertColumnBefore : "Spalte links davor einfügen", -DeleteColumns : "Spalte löschen", -InsertCellAfter : "Zelle danach einfügen", -InsertCellBefore : "Zelle davor einfügen", -DeleteCells : "Zelle löschen", -MergeCells : "Zellen verbinden", -MergeRight : "nach rechts verbinden", -MergeDown : "nach unten verbinden", -HorizontalSplitCell : "Zelle horizontal teilen", -VerticalSplitCell : "Zelle vertikal teilen", -TableDelete : "Tabelle löschen", -CellProperties : "Zellen-Eigenschaften", -TableProperties : "Tabellen-Eigenschaften", -ImageProperties : "Bild-Eigenschaften", -FlashProperties : "Flash-Eigenschaften", - -AnchorProp : "Anker-Eigenschaften", -ButtonProp : "Button-Eigenschaften", -CheckboxProp : "Checkbox-Eigenschaften", -HiddenFieldProp : "Verstecktes Feld-Eigenschaften", -RadioButtonProp : "Optionsfeld-Eigenschaften", -ImageButtonProp : "Bildbutton-Eigenschaften", -TextFieldProp : "Textfeld (einzeilig) Eigenschaften", -SelectionFieldProp : "Auswahlfeld-Eigenschaften", -TextareaProp : "Textfeld (mehrzeilig) Eigenschaften", -FormProp : "Formular-Eigenschaften", - -FontFormats : "Normal;Formatiert;Addresse;Überschrift 1;Überschrift 2;Überschrift 3;Überschrift 4;Überschrift 5;Überschrift 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Bearbeite XHTML. Bitte warten...", -Done : "Fertig", -PasteWordConfirm : "Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?", -NotCompatiblePaste : "Diese Funktion steht nur im Internet Explorer ab Version 5.5 zur Verfügung. Möchten Sie den Text unbereinigt einfügen?", -UnknownToolbarItem : "Unbekanntes Menüleisten-Objekt \"%1\"", -UnknownCommand : "Unbekannter Befehl \"%1\"", -NotImplemented : "Befehl nicht implementiert", -UnknownToolbarSet : "Menüleiste \"%1\" existiert nicht", -NoActiveX : "Die Sicherheitseinstellungen Ihres Browsers beschränken evtl. einige Funktionen des Editors. Aktivieren Sie die Option \"ActiveX-Steuerelemente und Plugins ausführen\" in den Sicherheitseinstellungen, um diese Funktionen nutzen zu können", -BrowseServerBlocked : "Ein Auswahlfenster konnte nicht geöffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.", -DialogBlocked : "Das Dialog-Fenster konnte nicht geöffnet werden. Stellen Sie sicher, das alle Popup-Blocker ausgeschaltet sind.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Abbrechen", -DlgBtnClose : "Schließen", -DlgBtnBrowseServer : "Server durchsuchen", -DlgAdvancedTag : "Erweitert", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Bitte tragen Sie die URL ein", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "ID", -DlgGenLangDir : "Schreibrichtung", -DlgGenLangDirLtr : "Links nach Rechts (LTR)", -DlgGenLangDirRtl : "Rechts nach Links (RTL)", -DlgGenLangCode : "Sprachenkürzel", -DlgGenAccessKey : "Zugriffstaste", -DlgGenName : "Name", -DlgGenTabIndex : "Tab-Index", -DlgGenLongDescr : "Langform URL", -DlgGenClass : "Stylesheet Klasse", -DlgGenTitle : "Titel Beschreibung", -DlgGenContType : "Inhaltstyp", -DlgGenLinkCharset : "Ziel-Zeichensatz", -DlgGenStyle : "Style", - -// Image Dialog -DlgImgTitle : "Bild-Eigenschaften", -DlgImgInfoTab : "Bild-Info", -DlgImgBtnUpload : "Zum Server senden", -DlgImgURL : "Bildauswahl", -DlgImgUpload : "Upload", -DlgImgAlt : "Alternativer Text", -DlgImgWidth : "Breite", -DlgImgHeight : "Höhe", -DlgImgLockRatio : "Größenverhältniss beibehalten", -DlgBtnResetSize : "Größe zurücksetzen", -DlgImgBorder : "Rahmen", -DlgImgHSpace : "H-Abstand", -DlgImgVSpace : "V-Abstand", -DlgImgAlign : "Ausrichtung", -DlgImgAlignLeft : "Links", -DlgImgAlignAbsBottom: "Abs Unten", -DlgImgAlignAbsMiddle: "Abs Mitte", -DlgImgAlignBaseline : "Baseline", -DlgImgAlignBottom : "Unten", -DlgImgAlignMiddle : "Mitte", -DlgImgAlignRight : "Rechts", -DlgImgAlignTextTop : "Text Oben", -DlgImgAlignTop : "Oben", -DlgImgPreview : "Vorschau", -DlgImgAlertUrl : "Bitte geben Sie die Bild-URL an", -DlgImgLinkTab : "Link", - -// Flash Dialog -DlgFlashTitle : "Flash-Eigenschaften", -DlgFlashChkPlay : "autom. Abspielen", -DlgFlashChkLoop : "Endlosschleife", -DlgFlashChkMenu : "Flash-Menü aktivieren", -DlgFlashScale : "Skalierung", -DlgFlashScaleAll : "Alles anzeigen", -DlgFlashScaleNoBorder : "ohne Rand", -DlgFlashScaleFit : "Passgenau", - -// Link Dialog -DlgLnkWindowTitle : "Link", -DlgLnkInfoTab : "Link-Info", -DlgLnkTargetTab : "Zielseite", - -DlgLnkType : "Link-Typ", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Anker in dieser Seite", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protokoll", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Anker auswählen", -DlgLnkAnchorByName : "nach Anker Name", -DlgLnkAnchorById : "nach Element Id", -DlgLnkNoAnchors : "(keine Anker im Dokument vorhanden)", -DlgLnkEMail : "E-Mail Addresse", -DlgLnkEMailSubject : "Betreffzeile", -DlgLnkEMailBody : "Nachrichtentext", -DlgLnkUpload : "Upload", -DlgLnkBtnUpload : "Zum Server senden", - -DlgLnkTarget : "Zielseite", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Neues Fenster (_blank)", -DlgLnkTargetParent : "Oberes Fenster (_parent)", -DlgLnkTargetSelf : "Gleiches Fenster (_self)", -DlgLnkTargetTop : "Oberstes Fenster (_top)", -DlgLnkTargetFrameName : "Ziel-Fenster-Name", -DlgLnkPopWinName : "Pop-up Fenster-Name", -DlgLnkPopWinFeat : "Pop-up Fenster-Eigenschaften", -DlgLnkPopResize : "Vergrößerbar", -DlgLnkPopLocation : "Adress-Leiste", -DlgLnkPopMenu : "Menü-Leiste", -DlgLnkPopScroll : "Rollbalken", -DlgLnkPopStatus : "Statusleiste", -DlgLnkPopToolbar : "Werkzeugleiste", -DlgLnkPopFullScrn : "Vollbild (IE)", -DlgLnkPopDependent : "Abhängig (Netscape)", -DlgLnkPopWidth : "Breite", -DlgLnkPopHeight : "Höhe", -DlgLnkPopLeft : "Linke Position", -DlgLnkPopTop : "Obere Position", - -DlnLnkMsgNoUrl : "Bitte geben Sie die Link-URL an", -DlnLnkMsgNoEMail : "Bitte geben Sie e-Mail Adresse an", -DlnLnkMsgNoAnchor : "Bitte wählen Sie einen Anker aus", -DlnLnkMsgInvPopName : "Der Name des Popups muss mit einem Buchstaben beginnen und darf keine Leerzeichen enthalten", - -// Color Dialog -DlgColorTitle : "Farbauswahl", -DlgColorBtnClear : "Keine Farbe", -DlgColorHighlight : "Vorschau", -DlgColorSelected : "Ausgewählt", - -// Smiley Dialog -DlgSmileyTitle : "Smiley auswählen", - -// Special Character Dialog -DlgSpecialCharTitle : "Sonderzeichen auswählen", - -// Table Dialog -DlgTableTitle : "Tabellen-Eigenschaften", -DlgTableRows : "Zeile", -DlgTableColumns : "Spalte", -DlgTableBorder : "Rahmen", -DlgTableAlign : "Ausrichtung", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Links", -DlgTableAlignCenter : "Zentriert", -DlgTableAlignRight : "Rechts", -DlgTableWidth : "Breite", -DlgTableWidthPx : "Pixel", -DlgTableWidthPc : "%", -DlgTableHeight : "Höhe", -DlgTableCellSpace : "Zellenabstand außen", -DlgTableCellPad : "Zellenabstand innen", -DlgTableCaption : "Überschrift", -DlgTableSummary : "Inhaltsübersicht", - -// Table Cell Dialog -DlgCellTitle : "Zellen-Eigenschaften", -DlgCellWidth : "Breite", -DlgCellWidthPx : "Pixel", -DlgCellWidthPc : "%", -DlgCellHeight : "Höhe", -DlgCellWordWrap : "Umbruch", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Ja", -DlgCellWordWrapNo : "Nein", -DlgCellHorAlign : "Horizontale Ausrichtung", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Links", -DlgCellHorAlignCenter : "Zentriert", -DlgCellHorAlignRight: "Rechts", -DlgCellVerAlign : "Vertikale Ausrichtung", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Oben", -DlgCellVerAlignMiddle : "Mitte", -DlgCellVerAlignBottom : "Unten", -DlgCellVerAlignBaseline : "Grundlinie", -DlgCellRowSpan : "Zeilen zusammenfassen", -DlgCellCollSpan : "Spalten zusammenfassen", -DlgCellBackColor : "Hintergrundfarbe", -DlgCellBorderColor : "Rahmenfarbe", -DlgCellBtnSelect : "Auswahl...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Suchen und Ersetzen", - -// Find Dialog -DlgFindTitle : "Finden", -DlgFindFindBtn : "Finden", -DlgFindNotFoundMsg : "Der gesuchte Text wurde nicht gefunden.", - -// Replace Dialog -DlgReplaceTitle : "Ersetzen", -DlgReplaceFindLbl : "Suche nach:", -DlgReplaceReplaceLbl : "Ersetze mit:", -DlgReplaceCaseChk : "Groß-Kleinschreibung beachten", -DlgReplaceReplaceBtn : "Ersetzen", -DlgReplaceReplAllBtn : "Alle Ersetzen", -DlgReplaceWordChk : "Nur ganze Worte suchen", - -// Paste Operations / Dialog -PasteErrorCut : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).", -PasteErrorCopy : "Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).", - -PasteAsText : "Als Text einfügen", -PasteFromWord : "Aus Word einfügen", - -DlgPasteMsg2 : "Bitte fügen Sie den Text in der folgenden Box über die Tastatur (mit Strg+V) ein und bestätigen Sie mit OK.", -DlgPasteSec : "Aufgrund von Sicherheitsbeschränkungen Ihres Browsers kann der Editor nicht direkt auf die Zwischenablage zugreifen. Bitte fügen Sie den Inhalt erneut in diesem Fenster ein.", -DlgPasteIgnoreFont : "Ignoriere Schriftart-Definitionen", -DlgPasteRemoveStyles : "Entferne Style-Definitionen", - -// Color Picker -ColorAutomatic : "Automatisch", -ColorMoreColors : "Weitere Farben...", - -// Document Properties -DocProps : "Dokument-Eigenschaften", - -// Anchor Dialog -DlgAnchorTitle : "Anker-Eigenschaften", -DlgAnchorName : "Anker Name", -DlgAnchorErrorName : "Bitte geben Sie den Namen des Ankers ein", - -// Speller Pages Dialog -DlgSpellNotInDic : "Nicht im Wörterbuch", -DlgSpellChangeTo : "Ändern in", -DlgSpellBtnIgnore : "Ignorieren", -DlgSpellBtnIgnoreAll : "Alle Ignorieren", -DlgSpellBtnReplace : "Ersetzen", -DlgSpellBtnReplaceAll : "Alle Ersetzen", -DlgSpellBtnUndo : "Rückgängig", -DlgSpellNoSuggestions : " - keine Vorschläge - ", -DlgSpellProgress : "Rechtschreibprüfung läuft...", -DlgSpellNoMispell : "Rechtschreibprüfung abgeschlossen - keine Fehler gefunden", -DlgSpellNoChanges : "Rechtschreibprüfung abgeschlossen - keine Worte geändert", -DlgSpellOneChange : "Rechtschreibprüfung abgeschlossen - ein Wort geändert", -DlgSpellManyChanges : "Rechtschreibprüfung abgeschlossen - %1 Wörter geändert", - -IeSpellDownload : "Rechtschreibprüfung nicht installiert. Möchten Sie sie jetzt herunterladen?", - -// Button Dialog -DlgButtonText : "Text (Wert)", -DlgButtonType : "Typ", -DlgButtonTypeBtn : "Button", -DlgButtonTypeSbm : "Absenden", -DlgButtonTypeRst : "Zurücksetzen", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Name", -DlgCheckboxValue : "Wert", -DlgCheckboxSelected : "ausgewählt", - -// Form Dialog -DlgFormName : "Name", -DlgFormAction : "Action", -DlgFormMethod : "Method", - -// Select Field Dialog -DlgSelectName : "Name", -DlgSelectValue : "Wert", -DlgSelectSize : "Größe", -DlgSelectLines : "Linien", -DlgSelectChkMulti : "Erlaube Mehrfachauswahl", -DlgSelectOpAvail : "Mögliche Optionen", -DlgSelectOpText : "Text", -DlgSelectOpValue : "Wert", -DlgSelectBtnAdd : "Hinzufügen", -DlgSelectBtnModify : "Ändern", -DlgSelectBtnUp : "Hoch", -DlgSelectBtnDown : "Runter", -DlgSelectBtnSetValue : "Setze als Standardwert", -DlgSelectBtnDelete : "Entfernen", - -// Textarea Dialog -DlgTextareaName : "Name", -DlgTextareaCols : "Spalten", -DlgTextareaRows : "Reihen", - -// Text Field Dialog -DlgTextName : "Name", -DlgTextValue : "Wert", -DlgTextCharWidth : "Zeichenbreite", -DlgTextMaxChars : "Max. Zeichen", -DlgTextType : "Typ", -DlgTextTypeText : "Text", -DlgTextTypePass : "Passwort", - -// Hidden Field Dialog -DlgHiddenName : "Name", -DlgHiddenValue : "Wert", - -// Bulleted List Dialog -BulletedListProp : "Listen-Eigenschaften", -NumberedListProp : "Nummerierte Listen-Eigenschaften", -DlgLstStart : "Start", -DlgLstType : "Typ", -DlgLstTypeCircle : "Ring", -DlgLstTypeDisc : "Kreis", -DlgLstTypeSquare : "Quadrat", -DlgLstTypeNumbers : "Nummern (1, 2, 3)", -DlgLstTypeLCase : "Kleinbuchstaben (a, b, c)", -DlgLstTypeUCase : "Großbuchstaben (A, B, C)", -DlgLstTypeSRoman : "Kleine römische Zahlen (i, ii, iii)", -DlgLstTypeLRoman : "Große römische Zahlen (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Allgemein", -DlgDocBackTab : "Hintergrund", -DlgDocColorsTab : "Farben und Abstände", -DlgDocMetaTab : "Metadaten", - -DlgDocPageTitle : "Seitentitel", -DlgDocLangDir : "Schriftrichtung", -DlgDocLangDirLTR : "Links nach Rechts", -DlgDocLangDirRTL : "Rechts nach Links", -DlgDocLangCode : "Sprachkürzel", -DlgDocCharSet : "Zeichenkodierung", -DlgDocCharSetCE : "Zentraleuropäisch", -DlgDocCharSetCT : "traditionell Chinesisch (Big5)", -DlgDocCharSetCR : "Kyrillisch", -DlgDocCharSetGR : "Griechisch", -DlgDocCharSetJP : "Japanisch", -DlgDocCharSetKR : "Koreanisch", -DlgDocCharSetTR : "Türkisch", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Westeuropäisch", -DlgDocCharSetOther : "Andere Zeichenkodierung", - -DlgDocDocType : "Dokumententyp", -DlgDocDocTypeOther : "Anderer Dokumententyp", -DlgDocIncXHTML : "Beziehe XHTML Deklarationen ein", -DlgDocBgColor : "Hintergrundfarbe", -DlgDocBgImage : "Hintergrundbild URL", -DlgDocBgNoScroll : "feststehender Hintergrund", -DlgDocCText : "Text", -DlgDocCLink : "Link", -DlgDocCVisited : "Besuchter Link", -DlgDocCActive : "Aktiver Link", -DlgDocMargins : "Seitenränder", -DlgDocMaTop : "Oben", -DlgDocMaLeft : "Links", -DlgDocMaRight : "Rechts", -DlgDocMaBottom : "Unten", -DlgDocMeIndex : "Schlüsselwörter (durch Komma getrennt)", -DlgDocMeDescr : "Dokument-Beschreibung", -DlgDocMeAuthor : "Autor", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Vorschau", - -// Templates Dialog -Templates : "Vorlagen", -DlgTemplatesTitle : "Vorlagen", -DlgTemplatesSelMsg : "Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen (der aktuelle Inhalt wird dabei gelöscht!):", -DlgTemplatesLoading : "Liste der Vorlagen wird geladen. Bitte warten...", -DlgTemplatesNoTpl : "(keine Vorlagen definiert)", -DlgTemplatesReplace : "Aktuellen Inhalt ersetzen", - -// About Dialog -DlgAboutAboutTab : "Über", -DlgAboutBrowserInfoTab : "Browser-Info", -DlgAboutLicenseTab : "Lizenz", -DlgAboutVersion : "Version", -DlgAboutInfo : "Für weitere Informationen siehe", - -// Div Dialog -DlgDivGeneralTab : "Allgemein", -DlgDivAdvancedTab : "Erweitert", -DlgDivStyle : "Style", -DlgDivInlineStyle : "Inline Style" -}; diff --git a/include/fckeditor/editor/lang/el.js b/include/fckeditor/editor/lang/el.js deleted file mode 100644 index e62ded66b..000000000 --- a/include/fckeditor/editor/lang/el.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Greek language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Απόκρυψη Μπάρας Εργαλείων", -ToolbarExpand : "Εμφάνιση Μπάρας Εργαλείων", - -// Toolbar Items and Context Menu -Save : "Αποθήκευση", -NewPage : "Νέα Σελίδα", -Preview : "Προεπισκόπιση", -Cut : "Αποκοπή", -Copy : "Αντιγραφή", -Paste : "Επικόλληση", -PasteText : "Επικόλληση (απλό κείμενο)", -PasteWord : "Επικόλληση από το Word", -Print : "Εκτύπωση", -SelectAll : "Επιλογή όλων", -RemoveFormat : "Αφαίρεση Μορφοποίησης", -InsertLinkLbl : "Σύνδεσμος (Link)", -InsertLink : "Εισαγωγή/Μεταβολή Συνδέσμου (Link)", -RemoveLink : "Αφαίρεση Συνδέσμου (Link)", -VisitLink : "Open Link", //MISSING -Anchor : "Εισαγωγή/επεξεργασία Anchor", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "Εικόνα", -InsertImage : "Εισαγωγή/Μεταβολή Εικόνας", -InsertFlashLbl : "Εισαγωγή Flash", -InsertFlash : "Εισαγωγή/επεξεργασία Flash", -InsertTableLbl : "Πίνακας", -InsertTable : "Εισαγωγή/Μεταβολή Πίνακα", -InsertLineLbl : "Γραμμή", -InsertLine : "Εισαγωγή Οριζόντιας Γραμμής", -InsertSpecialCharLbl: "Ειδικό Σύμβολο", -InsertSpecialChar : "Εισαγωγή Ειδικού Συμβόλου", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Εισαγωγή Smiley", -About : "Περί του FCKeditor", -Bold : "Έντονα", -Italic : "Πλάγια", -Underline : "Υπογράμμιση", -StrikeThrough : "Διαγράμμιση", -Subscript : "Δείκτης", -Superscript : "Εκθέτης", -LeftJustify : "Στοίχιση Αριστερά", -CenterJustify : "Στοίχιση στο Κέντρο", -RightJustify : "Στοίχιση Δεξιά", -BlockJustify : "Πλήρης Στοίχιση (Block)", -DecreaseIndent : "Μείωση Εσοχής", -IncreaseIndent : "Αύξηση Εσοχής", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Αναίρεση", -Redo : "Επαναφορά", -NumberedListLbl : "Λίστα με Αριθμούς", -NumberedList : "Εισαγωγή/Διαγραφή Λίστας με Αριθμούς", -BulletedListLbl : "Λίστα με Bullets", -BulletedList : "Εισαγωγή/Διαγραφή Λίστας με Bullets", -ShowTableBorders : "Προβολή Ορίων Πίνακα", -ShowDetails : "Προβολή Λεπτομερειών", -Style : "Στυλ", -FontFormat : "Μορφή Γραμματοσειράς", -Font : "Γραμματοσειρά", -FontSize : "Μέγεθος", -TextColor : "Χρώμα Γραμμάτων", -BGColor : "Χρώμα Υποβάθρου", -Source : "HTML κώδικας", -Find : "Αναζήτηση", -Replace : "Αντικατάσταση", -SpellCheck : "Ορθογραφικός έλεγχος", -UniversalKeyboard : "Διεθνής πληκτρολόγιο", -PageBreakLbl : "Τέλος σελίδας", -PageBreak : "Εισαγωγή τέλους σελίδας", - -Form : "Φόρμα", -Checkbox : "Κουτί επιλογής", -RadioButton : "Κουμπί Radio", -TextField : "Πεδίο κειμένου", -Textarea : "Περιοχή κειμένου", -HiddenField : "Κρυφό πεδίο", -Button : "Κουμπί", -SelectionField : "Πεδίο επιλογής", -ImageButton : "Κουμπί εικόνας", - -FitWindow : "Μεγιστοποίηση προγράμματος", -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "Μεταβολή Συνδέσμου (Link)", -CellCM : "Κελί", -RowCM : "Σειρά", -ColumnCM : "Στήλη", -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "Διαγραφή Γραμμών", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "Διαγραφή Κολωνών", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "Διαγραφή Κελιών", -MergeCells : "Ενοποίηση Κελιών", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "Διαγραφή πίνακα", -CellProperties : "Ιδιότητες Κελιού", -TableProperties : "Ιδιότητες Πίνακα", -ImageProperties : "Ιδιότητες Εικόνας", -FlashProperties : "Ιδιότητες Flash", - -AnchorProp : "Ιδιότητες άγκυρας", -ButtonProp : "Ιδιότητες κουμπιού", -CheckboxProp : "Ιδιότητες κουμπιού επιλογής", -HiddenFieldProp : "Ιδιότητες κρυφού πεδίου", -RadioButtonProp : "Ιδιότητες κουμπιού radio", -ImageButtonProp : "Ιδιότητες κουμπιού εικόνας", -TextFieldProp : "Ιδιότητες πεδίου κειμένου", -SelectionFieldProp : "Ιδιότητες πεδίου επιλογής", -TextareaProp : "Ιδιότητες περιοχής κειμένου", -FormProp : "Ιδιότητες φόρμας", - -FontFormats : "Κανονικό;Μορφοποιημένο;Διεύθυνση;Επικεφαλίδα 1;Επικεφαλίδα 2;Επικεφαλίδα 3;Επικεφαλίδα 4;Επικεφαλίδα 5;Επικεφαλίδα 6", - -// Alerts and Messages -ProcessingXHTML : "Επεξεργασία XHTML. Παρακαλώ περιμένετε...", -Done : "Έτοιμο", -PasteWordConfirm : "Το κείμενο που θέλετε να επικολήσετε, φαίνεται πως προέρχεται από το Word. Θέλετε να καθαριστεί πριν επικοληθεί;", -NotCompatiblePaste : "Αυτή η επιλογή είναι διαθέσιμη στον Internet Explorer έκδοση 5.5+. Θέλετε να γίνει η επικόλληση χωρίς καθαρισμό;", -UnknownToolbarItem : "Άγνωστο αντικείμενο της μπάρας εργαλείων \"%1\"", -UnknownCommand : "Άγνωστή εντολή \"%1\"", -NotImplemented : "Η εντολή δεν έχει ενεργοποιηθεί", -UnknownToolbarSet : "Η μπάρα εργαλείων \"%1\" δεν υπάρχει", -NoActiveX : "Οι ρυθμίσεις ασφαλείας του browser σας μπορεί να περιορίσουν κάποιες ρυθμίσεις του προγράμματος. Χρειάζεται να ενεργοποιήσετε την επιλογή \"Run ActiveX controls and plug-ins\". Ίσως παρουσιαστούν λάθη και παρατηρήσετε ελειπείς λειτουργίες.", -BrowseServerBlocked : "Οι πόροι του browser σας δεν είναι προσπελάσιμοι. Σιγουρευτείτε ότι δεν υπάρχουν ενεργοί popup blockers.", -DialogBlocked : "Δεν ήταν δυνατό να ανοίξει το παράθυρο διαλόγου. Σιγουρευτείτε ότι δεν υπάρχουν ενεργοί popup blockers.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Ακύρωση", -DlgBtnClose : "Κλείσιμο", -DlgBtnBrowseServer : "Εξερεύνηση διακομιστή", -DlgAdvancedTag : "Για προχωρημένους", -DlgOpOther : "<Άλλα>", -DlgInfoTab : "Πληροφορίες", -DlgAlertUrl : "Παρακαλώ εισάγετε URL", - -// General Dialogs Labels -DlgGenNotSet : "<χωρίς>", -DlgGenId : "Id", -DlgGenLangDir : "Κατεύθυνση κειμένου", -DlgGenLangDirLtr : "Αριστερά προς Δεξιά (LTR)", -DlgGenLangDirRtl : "Δεξιά προς Αριστερά (RTL)", -DlgGenLangCode : "Κωδικός Γλώσσας", -DlgGenAccessKey : "Συντόμευση (Access Key)", -DlgGenName : "Όνομα", -DlgGenTabIndex : "Tab Index", -DlgGenLongDescr : "Αναλυτική περιγραφή URL", -DlgGenClass : "Stylesheet Classes", -DlgGenTitle : "Συμβουλευτικός τίτλος", -DlgGenContType : "Συμβουλευτικός τίτλος περιεχομένου", -DlgGenLinkCharset : "Linked Resource Charset", -DlgGenStyle : "Στύλ", - -// Image Dialog -DlgImgTitle : "Ιδιότητες Εικόνας", -DlgImgInfoTab : "Πληροφορίες Εικόνας", -DlgImgBtnUpload : "Αποστολή στον Διακομιστή", -DlgImgURL : "URL", -DlgImgUpload : "Αποστολή", -DlgImgAlt : "Εναλλακτικό Κείμενο (ALT)", -DlgImgWidth : "Πλάτος", -DlgImgHeight : "Ύψος", -DlgImgLockRatio : "Κλείδωμα Αναλογίας", -DlgBtnResetSize : "Επαναφορά Αρχικού Μεγέθους", -DlgImgBorder : "Περιθώριο", -DlgImgHSpace : "Οριζόντιος Χώρος (HSpace)", -DlgImgVSpace : "Κάθετος Χώρος (VSpace)", -DlgImgAlign : "Ευθυγράμμιση (Align)", -DlgImgAlignLeft : "Αριστερά", -DlgImgAlignAbsBottom: "Απόλυτα Κάτω (Abs Bottom)", -DlgImgAlignAbsMiddle: "Απόλυτα στη Μέση (Abs Middle)", -DlgImgAlignBaseline : "Γραμμή Βάσης (Baseline)", -DlgImgAlignBottom : "Κάτω (Bottom)", -DlgImgAlignMiddle : "Μέση (Middle)", -DlgImgAlignRight : "Δεξιά (Right)", -DlgImgAlignTextTop : "Κορυφή Κειμένου (Text Top)", -DlgImgAlignTop : "Πάνω (Top)", -DlgImgPreview : "Προεπισκόπιση", -DlgImgAlertUrl : "Εισάγετε την τοποθεσία (URL) της εικόνας", -DlgImgLinkTab : "Σύνδεσμος", - -// Flash Dialog -DlgFlashTitle : "Ιδιότητες flash", -DlgFlashChkPlay : "Αυτόματη έναρξη", -DlgFlashChkLoop : "Επανάληψη", -DlgFlashChkMenu : "Ενεργοποίηση Flash Menu", -DlgFlashScale : "Κλίμακα", -DlgFlashScaleAll : "Εμφάνιση όλων", -DlgFlashScaleNoBorder : "Χωρίς όρια", -DlgFlashScaleFit : "Ακριβής εφαρμογή", - -// Link Dialog -DlgLnkWindowTitle : "Σύνδεσμος (Link)", -DlgLnkInfoTab : "Link", -DlgLnkTargetTab : "Παράθυρο Στόχος (Target)", - -DlgLnkType : "Τύπος συνδέσμου (Link)", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Άγκυρα σε αυτή τη σελίδα", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Προτόκολο", -DlgLnkProtoOther : "<άλλο>", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Επιλέξτε μια άγκυρα", -DlgLnkAnchorByName : "Βάσει του Ονόματος (Name) της άγκυρας", -DlgLnkAnchorById : "Βάσει του Element Id", -DlgLnkNoAnchors : "(Δεν υπάρχουν άγκυρες στο κείμενο)", -DlgLnkEMail : "Διεύθυνση Ηλεκτρονικού Ταχυδρομείου", -DlgLnkEMailSubject : "Θέμα Μηνύματος", -DlgLnkEMailBody : "Κείμενο Μηνύματος", -DlgLnkUpload : "Αποστολή", -DlgLnkBtnUpload : "Αποστολή στον Διακομιστή", - -DlgLnkTarget : "Παράθυρο Στόχος (Target)", -DlgLnkTargetFrame : "<πλαίσιο>", -DlgLnkTargetPopup : "<παράθυρο popup>", -DlgLnkTargetBlank : "Νέο Παράθυρο (_blank)", -DlgLnkTargetParent : "Γονικό Παράθυρο (_parent)", -DlgLnkTargetSelf : "Ίδιο Παράθυρο (_self)", -DlgLnkTargetTop : "Ανώτατο Παράθυρο (_top)", -DlgLnkTargetFrameName : "Όνομα πλαισίου στόχου", -DlgLnkPopWinName : "Όνομα Popup Window", -DlgLnkPopWinFeat : "Επιλογές Popup Window", -DlgLnkPopResize : "Με αλλαγή Μεγέθους", -DlgLnkPopLocation : "Μπάρα Τοποθεσίας", -DlgLnkPopMenu : "Μπάρα Menu", -DlgLnkPopScroll : "Μπάρες Κύλισης", -DlgLnkPopStatus : "Μπάρα Status", -DlgLnkPopToolbar : "Μπάρα Εργαλείων", -DlgLnkPopFullScrn : "Ολόκληρη η Οθόνη (IE)", -DlgLnkPopDependent : "Dependent (Netscape)", -DlgLnkPopWidth : "Πλάτος", -DlgLnkPopHeight : "Ύψος", -DlgLnkPopLeft : "Τοποθεσία Αριστερής Άκρης", -DlgLnkPopTop : "Τοποθεσία Πάνω Άκρης", - -DlnLnkMsgNoUrl : "Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)", -DlnLnkMsgNoEMail : "Εισάγετε την διεύθυνση ηλεκτρονικού ταχυδρομείου", -DlnLnkMsgNoAnchor : "Επιλέξτε ένα Anchor", -DlnLnkMsgInvPopName : "Το όνομα του popup πρέπει να αρχίζει με χαρακτήρα της αλφαβήτου και να μην περιέχει κενά", - -// Color Dialog -DlgColorTitle : "Επιλογή χρώματος", -DlgColorBtnClear : "Καθαρισμός", -DlgColorHighlight : "Προεπισκόπιση", -DlgColorSelected : "Επιλεγμένο", - -// Smiley Dialog -DlgSmileyTitle : "Επιλέξτε ένα Smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Επιλέξτε ένα Ειδικό Σύμβολο", - -// Table Dialog -DlgTableTitle : "Ιδιότητες Πίνακα", -DlgTableRows : "Γραμμές", -DlgTableColumns : "Κολώνες", -DlgTableBorder : "Μέγεθος Περιθωρίου", -DlgTableAlign : "Στοίχιση", -DlgTableAlignNotSet : "<χωρίς>", -DlgTableAlignLeft : "Αριστερά", -DlgTableAlignCenter : "Κέντρο", -DlgTableAlignRight : "Δεξιά", -DlgTableWidth : "Πλάτος", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "\%", -DlgTableHeight : "Ύψος", -DlgTableCellSpace : "Απόσταση κελιών", -DlgTableCellPad : "Γέμισμα κελιών", -DlgTableCaption : "Υπέρτιτλος", -DlgTableSummary : "Περίληψη", - -// Table Cell Dialog -DlgCellTitle : "Ιδιότητες Κελιού", -DlgCellWidth : "Πλάτος", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "\%", -DlgCellHeight : "Ύψος", -DlgCellWordWrap : "Με αλλαγή γραμμής", -DlgCellWordWrapNotSet : "<χωρίς>", -DlgCellWordWrapYes : "Ναι", -DlgCellWordWrapNo : "Όχι", -DlgCellHorAlign : "Οριζόντια Στοίχιση", -DlgCellHorAlignNotSet : "<χωρίς>", -DlgCellHorAlignLeft : "Αριστερά", -DlgCellHorAlignCenter : "Κέντρο", -DlgCellHorAlignRight: "Δεξιά", -DlgCellVerAlign : "Κάθετη Στοίχιση", -DlgCellVerAlignNotSet : "<χωρίς>", -DlgCellVerAlignTop : "Πάνω (Top)", -DlgCellVerAlignMiddle : "Μέση (Middle)", -DlgCellVerAlignBottom : "Κάτω (Bottom)", -DlgCellVerAlignBaseline : "Γραμμή Βάσης (Baseline)", -DlgCellRowSpan : "Αριθμός Γραμμών (Rows Span)", -DlgCellCollSpan : "Αριθμός Κολωνών (Columns Span)", -DlgCellBackColor : "Χρώμα Υποβάθρου", -DlgCellBorderColor : "Χρώμα Περιθωρίου", -DlgCellBtnSelect : "Επιλογή...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "Αναζήτηση", -DlgFindFindBtn : "Αναζήτηση", -DlgFindNotFoundMsg : "Το κείμενο δεν βρέθηκε.", - -// Replace Dialog -DlgReplaceTitle : "Αντικατάσταση", -DlgReplaceFindLbl : "Αναζήτηση:", -DlgReplaceReplaceLbl : "Αντικατάσταση με:", -DlgReplaceCaseChk : "Έλεγχος πεζών/κεφαλαίων", -DlgReplaceReplaceBtn : "Αντικατάσταση", -DlgReplaceReplAllBtn : "Αντικατάσταση Όλων", -DlgReplaceWordChk : "Εύρεση πλήρους λέξης", - -// Paste Operations / Dialog -PasteErrorCut : "Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl+X).", -PasteErrorCopy : "Οι ρυθμίσεις ασφαλείας του φυλλομετρητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Χρησιμοποιείστε το πληκτρολόγιο (Ctrl+C).", - -PasteAsText : "Επικόλληση ως Απλό Κείμενο", -PasteFromWord : "Επικόλληση από το Word", - -DlgPasteMsg2 : "Παρακαλώ επικολήστε στο ακόλουθο κουτί χρησιμοποιόντας το πληκτρολόγιο (Ctrl+V) και πατήστε OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "Αγνόηση προδιαγραφών γραμματοσειράς", -DlgPasteRemoveStyles : "Αφαίρεση προδιαγραφών στύλ", - -// Color Picker -ColorAutomatic : "Αυτόματο", -ColorMoreColors : "Περισσότερα χρώματα...", - -// Document Properties -DocProps : "Ιδιότητες εγγράφου", - -// Anchor Dialog -DlgAnchorTitle : "Ιδιότητες άγκυρας", -DlgAnchorName : "Όνομα άγκυρας", -DlgAnchorErrorName : "Παρακαλούμε εισάγετε όνομα άγκυρας", - -// Speller Pages Dialog -DlgSpellNotInDic : "Δεν υπάρχει στο λεξικό", -DlgSpellChangeTo : "Αλλαγή σε", -DlgSpellBtnIgnore : "Αγνόηση", -DlgSpellBtnIgnoreAll : "Αγνόηση όλων", -DlgSpellBtnReplace : "Αντικατάσταση", -DlgSpellBtnReplaceAll : "Αντικατάσταση όλων", -DlgSpellBtnUndo : "Αναίρεση", -DlgSpellNoSuggestions : "- Δεν υπάρχουν προτάσεις -", -DlgSpellProgress : "Ορθογραφικός έλεγχος σε εξέλιξη...", -DlgSpellNoMispell : "Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν βρέθηκαν λάθη", -DlgSpellNoChanges : "Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν άλλαξαν λέξεις", -DlgSpellOneChange : "Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Μια λέξη άλλαξε", -DlgSpellManyChanges : "Ο ορθογραφικός έλεγχος ολοκληρώθηκε: %1 λέξεις άλλαξαν", - -IeSpellDownload : "Δεν υπάρχει εγκατεστημένος ορθογράφος. Θέλετε να τον κατεβάσετε τώρα;", - -// Button Dialog -DlgButtonText : "Κείμενο (Τιμή)", -DlgButtonType : "Τύπος", -DlgButtonTypeBtn : "Κουμπί", -DlgButtonTypeSbm : "Καταχώρηση", -DlgButtonTypeRst : "Επαναφορά", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Όνομα", -DlgCheckboxValue : "Τιμή", -DlgCheckboxSelected : "Επιλεγμένο", - -// Form Dialog -DlgFormName : "Όνομα", -DlgFormAction : "Δράση", -DlgFormMethod : "Μάθοδος", - -// Select Field Dialog -DlgSelectName : "Όνομα", -DlgSelectValue : "Τιμή", -DlgSelectSize : "Μέγεθος", -DlgSelectLines : "γραμμές", -DlgSelectChkMulti : "Πολλαπλές επιλογές", -DlgSelectOpAvail : "Διαθέσιμες επιλογές", -DlgSelectOpText : "Κείμενο", -DlgSelectOpValue : "Τιμή", -DlgSelectBtnAdd : "Προσθήκη", -DlgSelectBtnModify : "Αλλαγή", -DlgSelectBtnUp : "Πάνω", -DlgSelectBtnDown : "Κάτω", -DlgSelectBtnSetValue : "Προεπιλεγμένη επιλογή", -DlgSelectBtnDelete : "Διαγραφή", - -// Textarea Dialog -DlgTextareaName : "Όνομα", -DlgTextareaCols : "Στήλες", -DlgTextareaRows : "Σειρές", - -// Text Field Dialog -DlgTextName : "Όνομα", -DlgTextValue : "Τιμή", -DlgTextCharWidth : "Μήκος χαρακτήρων", -DlgTextMaxChars : "Μέγιστοι χαρακτήρες", -DlgTextType : "Τύπος", -DlgTextTypeText : "Κείμενο", -DlgTextTypePass : "Κωδικός", - -// Hidden Field Dialog -DlgHiddenName : "Όνομα", -DlgHiddenValue : "Τιμή", - -// Bulleted List Dialog -BulletedListProp : "Ιδιότητες λίστας Bulleted", -NumberedListProp : "Ιδιότητες αριθμημένης λίστας ", -DlgLstStart : "Αρχή", -DlgLstType : "Τύπος", -DlgLstTypeCircle : "Κύκλος", -DlgLstTypeDisc : "Δίσκος", -DlgLstTypeSquare : "Τετράγωνο", -DlgLstTypeNumbers : "Αριθμοί (1, 2, 3)", -DlgLstTypeLCase : "Πεζά γράμματα (a, b, c)", -DlgLstTypeUCase : "Κεφαλαία γράμματα (A, B, C)", -DlgLstTypeSRoman : "Μικρά λατινικά αριθμητικά (i, ii, iii)", -DlgLstTypeLRoman : "Μεγάλα λατινικά αριθμητικά (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Γενικά", -DlgDocBackTab : "Φόντο", -DlgDocColorsTab : "Χρώματα και περιθώρια", -DlgDocMetaTab : "Δεδομένα Meta", - -DlgDocPageTitle : "Τίτλος σελίδας", -DlgDocLangDir : "Κατεύθυνση γραφής", -DlgDocLangDirLTR : "αριστερά προς δεξιά (LTR)", -DlgDocLangDirRTL : "δεξιά προς αριστερά (RTL)", -DlgDocLangCode : "Κωδικός γλώσσας", -DlgDocCharSet : "Κωδικοποίηση χαρακτήρων", -DlgDocCharSetCE : "Κεντρικής Ευρώπης", -DlgDocCharSetCT : "Παραδοσιακά κινέζικα (Big5)", -DlgDocCharSetCR : "Κυριλλική", -DlgDocCharSetGR : "Ελληνική", -DlgDocCharSetJP : "Ιαπωνική", -DlgDocCharSetKR : "Κορεάτικη", -DlgDocCharSetTR : "Τουρκική", -DlgDocCharSetUN : "Διεθνής (UTF-8)", -DlgDocCharSetWE : "Δυτικής Ευρώπης", -DlgDocCharSetOther : "Άλλη κωδικοποίηση χαρακτήρων", - -DlgDocDocType : "Επικεφαλίδα τύπου εγγράφου", -DlgDocDocTypeOther : "Άλλη επικεφαλίδα τύπου εγγράφου", -DlgDocIncXHTML : "Να συμπεριληφθούν οι δηλώσεις XHTML", -DlgDocBgColor : "Χρώμα φόντου", -DlgDocBgImage : "Διεύθυνση εικόνας φόντου", -DlgDocBgNoScroll : "Φόντο χωρίς κύλιση", -DlgDocCText : "Κείμενο", -DlgDocCLink : "Σύνδεσμος", -DlgDocCVisited : "Σύνδεσμος που έχει επισκευθεί", -DlgDocCActive : "Ενεργός σύνδεσμος", -DlgDocMargins : "Περιθώρια σελίδας", -DlgDocMaTop : "Κορυφή", -DlgDocMaLeft : "Αριστερά", -DlgDocMaRight : "Δεξιά", -DlgDocMaBottom : "Κάτω", -DlgDocMeIndex : "Λέξεις κλειδιά δείκτες εγγράφου (διαχωρισμός με κόμμα)", -DlgDocMeDescr : "Περιγραφή εγγράφου", -DlgDocMeAuthor : "Συγγραφέας", -DlgDocMeCopy : "Πνευματικά δικαιώματα", -DlgDocPreview : "Προεπισκόπηση", - -// Templates Dialog -Templates : "Πρότυπα", -DlgTemplatesTitle : "Πρότυπα περιεχομένου", -DlgTemplatesSelMsg : "Παρακαλώ επιλέξτε πρότυπο για εισαγωγή στο πρόγραμμα
    (τα υπάρχοντα περιεχόμενα θα χαθούν):", -DlgTemplatesLoading : "Φόρτωση καταλόγου προτύπων. Παρακαλώ περιμένετε...", -DlgTemplatesNoTpl : "(Δεν έχουν καθοριστεί πρότυπα)", -DlgTemplatesReplace : "Αντικατάσταση υπάρχοντων περιεχομένων", - -// About Dialog -DlgAboutAboutTab : "Σχετικά", -DlgAboutBrowserInfoTab : "Πληροφορίες Browser", -DlgAboutLicenseTab : "Άδεια", -DlgAboutVersion : "έκδοση", -DlgAboutInfo : "Για περισσότερες πληροφορίες", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/en-au.js b/include/fckeditor/editor/lang/en-au.js deleted file mode 100644 index 5ea421ef1..000000000 --- a/include/fckeditor/editor/lang/en-au.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * English (Australia) language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Collapse Toolbar", -ToolbarExpand : "Expand Toolbar", - -// Toolbar Items and Context Menu -Save : "Save", -NewPage : "New Page", -Preview : "Preview", -Cut : "Cut", -Copy : "Copy", -Paste : "Paste", -PasteText : "Paste as plain text", -PasteWord : "Paste from Word", -Print : "Print", -SelectAll : "Select All", -RemoveFormat : "Remove Format", -InsertLinkLbl : "Link", -InsertLink : "Insert/Edit Link", -RemoveLink : "Remove Link", -VisitLink : "Open Link", -Anchor : "Insert/Edit Anchor", -AnchorDelete : "Remove Anchor", -InsertImageLbl : "Image", -InsertImage : "Insert/Edit Image", -InsertFlashLbl : "Flash", -InsertFlash : "Insert/Edit Flash", -InsertTableLbl : "Table", -InsertTable : "Insert/Edit Table", -InsertLineLbl : "Line", -InsertLine : "Insert Horizontal Line", -InsertSpecialCharLbl: "Special Character", -InsertSpecialChar : "Insert Special Character", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Insert Smiley", -About : "About FCKeditor", -Bold : "Bold", -Italic : "Italic", -Underline : "Underline", -StrikeThrough : "Strike Through", -Subscript : "Subscript", -Superscript : "Superscript", -LeftJustify : "Left Justify", -CenterJustify : "Centre Justify", -RightJustify : "Right Justify", -BlockJustify : "Block Justify", -DecreaseIndent : "Decrease Indent", -IncreaseIndent : "Increase Indent", -Blockquote : "Blockquote", -CreateDiv : "Create Div Container", -EditDiv : "Edit Div Container", -DeleteDiv : "Remove Div Container", -Undo : "Undo", -Redo : "Redo", -NumberedListLbl : "Numbered List", -NumberedList : "Insert/Remove Numbered List", -BulletedListLbl : "Bulleted List", -BulletedList : "Insert/Remove Bulleted List", -ShowTableBorders : "Show Table Borders", -ShowDetails : "Show Details", -Style : "Style", -FontFormat : "Format", -Font : "Font", -FontSize : "Size", -TextColor : "Text Colour", -BGColor : "Background Colour", -Source : "Source", -Find : "Find", -Replace : "Replace", -SpellCheck : "Check Spelling", -UniversalKeyboard : "Universal Keyboard", -PageBreakLbl : "Page Break", -PageBreak : "Insert Page Break", - -Form : "Form", -Checkbox : "Checkbox", -RadioButton : "Radio Button", -TextField : "Text Field", -Textarea : "Textarea", -HiddenField : "Hidden Field", -Button : "Button", -SelectionField : "Selection Field", -ImageButton : "Image Button", - -FitWindow : "Maximize the editor size", -ShowBlocks : "Show Blocks", - -// Context Menu -EditLink : "Edit Link", -CellCM : "Cell", -RowCM : "Row", -ColumnCM : "Column", -InsertRowAfter : "Insert Row After", -InsertRowBefore : "Insert Row Before", -DeleteRows : "Delete Rows", -InsertColumnAfter : "Insert Column After", -InsertColumnBefore : "Insert Column Before", -DeleteColumns : "Delete Columns", -InsertCellAfter : "Insert Cell After", -InsertCellBefore : "Insert Cell Before", -DeleteCells : "Delete Cells", -MergeCells : "Merge Cells", -MergeRight : "Merge Right", -MergeDown : "Merge Down", -HorizontalSplitCell : "Split Cell Horizontally", -VerticalSplitCell : "Split Cell Vertically", -TableDelete : "Delete Table", -CellProperties : "Cell Properties", -TableProperties : "Table Properties", -ImageProperties : "Image Properties", -FlashProperties : "Flash Properties", - -AnchorProp : "Anchor Properties", -ButtonProp : "Button Properties", -CheckboxProp : "Checkbox Properties", -HiddenFieldProp : "Hidden Field Properties", -RadioButtonProp : "Radio Button Properties", -ImageButtonProp : "Image Button Properties", -TextFieldProp : "Text Field Properties", -SelectionFieldProp : "Selection Field Properties", -TextareaProp : "Textarea Properties", -FormProp : "Form Properties", - -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Processing XHTML. Please wait...", -Done : "Done", -PasteWordConfirm : "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?", -NotCompatiblePaste : "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?", -UnknownToolbarItem : "Unknown toolbar item \"%1\"", -UnknownCommand : "Unknown command name \"%1\"", -NotImplemented : "Command not implemented", -UnknownToolbarSet : "Toolbar set \"%1\" doesn't exist", -NoActiveX : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", -BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", -DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Cancel", -DlgBtnClose : "Close", -DlgBtnBrowseServer : "Browse Server", -DlgAdvancedTag : "Advanced", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Please insert the URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Language Direction", -DlgGenLangDirLtr : "Left to Right (LTR)", -DlgGenLangDirRtl : "Right to Left (RTL)", -DlgGenLangCode : "Language Code", -DlgGenAccessKey : "Access Key", -DlgGenName : "Name", -DlgGenTabIndex : "Tab Index", -DlgGenLongDescr : "Long Description URL", -DlgGenClass : "Stylesheet Classes", -DlgGenTitle : "Advisory Title", -DlgGenContType : "Advisory Content Type", -DlgGenLinkCharset : "Linked Resource Charset", -DlgGenStyle : "Style", - -// Image Dialog -DlgImgTitle : "Image Properties", -DlgImgInfoTab : "Image Info", -DlgImgBtnUpload : "Send it to the Server", -DlgImgURL : "URL", -DlgImgUpload : "Upload", -DlgImgAlt : "Alternative Text", -DlgImgWidth : "Width", -DlgImgHeight : "Height", -DlgImgLockRatio : "Lock Ratio", -DlgBtnResetSize : "Reset Size", -DlgImgBorder : "Border", -DlgImgHSpace : "HSpace", -DlgImgVSpace : "VSpace", -DlgImgAlign : "Align", -DlgImgAlignLeft : "Left", -DlgImgAlignAbsBottom: "Abs Bottom", -DlgImgAlignAbsMiddle: "Abs Middle", -DlgImgAlignBaseline : "Baseline", -DlgImgAlignBottom : "Bottom", -DlgImgAlignMiddle : "Middle", -DlgImgAlignRight : "Right", -DlgImgAlignTextTop : "Text Top", -DlgImgAlignTop : "Top", -DlgImgPreview : "Preview", -DlgImgAlertUrl : "Please type the image URL", -DlgImgLinkTab : "Link", - -// Flash Dialog -DlgFlashTitle : "Flash Properties", -DlgFlashChkPlay : "Auto Play", -DlgFlashChkLoop : "Loop", -DlgFlashChkMenu : "Enable Flash Menu", -DlgFlashScale : "Scale", -DlgFlashScaleAll : "Show all", -DlgFlashScaleNoBorder : "No Border", -DlgFlashScaleFit : "Exact Fit", - -// Link Dialog -DlgLnkWindowTitle : "Link", -DlgLnkInfoTab : "Link Info", -DlgLnkTargetTab : "Target", - -DlgLnkType : "Link Type", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Link to anchor in the text", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Select an Anchor", -DlgLnkAnchorByName : "By Anchor Name", -DlgLnkAnchorById : "By Element Id", -DlgLnkNoAnchors : "(No anchors available in the document)", -DlgLnkEMail : "E-Mail Address", -DlgLnkEMailSubject : "Message Subject", -DlgLnkEMailBody : "Message Body", -DlgLnkUpload : "Upload", -DlgLnkBtnUpload : "Send it to the Server", - -DlgLnkTarget : "Target", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "New Window (_blank)", -DlgLnkTargetParent : "Parent Window (_parent)", -DlgLnkTargetSelf : "Same Window (_self)", -DlgLnkTargetTop : "Topmost Window (_top)", -DlgLnkTargetFrameName : "Target Frame Name", -DlgLnkPopWinName : "Popup Window Name", -DlgLnkPopWinFeat : "Popup Window Features", -DlgLnkPopResize : "Resizable", -DlgLnkPopLocation : "Location Bar", -DlgLnkPopMenu : "Menu Bar", -DlgLnkPopScroll : "Scroll Bars", -DlgLnkPopStatus : "Status Bar", -DlgLnkPopToolbar : "Toolbar", -DlgLnkPopFullScrn : "Full Screen (IE)", -DlgLnkPopDependent : "Dependent (Netscape)", -DlgLnkPopWidth : "Width", -DlgLnkPopHeight : "Height", -DlgLnkPopLeft : "Left Position", -DlgLnkPopTop : "Top Position", - -DlnLnkMsgNoUrl : "Please type the link URL", -DlnLnkMsgNoEMail : "Please type the e-mail address", -DlnLnkMsgNoAnchor : "Please select an anchor", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", - -// Color Dialog -DlgColorTitle : "Select Colour", -DlgColorBtnClear : "Clear", -DlgColorHighlight : "Highlight", -DlgColorSelected : "Selected", - -// Smiley Dialog -DlgSmileyTitle : "Insert a Smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Select Special Character", - -// Table Dialog -DlgTableTitle : "Table Properties", -DlgTableRows : "Rows", -DlgTableColumns : "Columns", -DlgTableBorder : "Border size", -DlgTableAlign : "Alignment", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Left", -DlgTableAlignCenter : "Centre", -DlgTableAlignRight : "Right", -DlgTableWidth : "Width", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "percent", -DlgTableHeight : "Height", -DlgTableCellSpace : "Cell spacing", -DlgTableCellPad : "Cell padding", -DlgTableCaption : "Caption", -DlgTableSummary : "Summary", - -// Table Cell Dialog -DlgCellTitle : "Cell Properties", -DlgCellWidth : "Width", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "percent", -DlgCellHeight : "Height", -DlgCellWordWrap : "Word Wrap", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Yes", -DlgCellWordWrapNo : "No", -DlgCellHorAlign : "Horizontal Alignment", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Left", -DlgCellHorAlignCenter : "Centre", -DlgCellHorAlignRight: "Right", -DlgCellVerAlign : "Vertical Alignment", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Top", -DlgCellVerAlignMiddle : "Middle", -DlgCellVerAlignBottom : "Bottom", -DlgCellVerAlignBaseline : "Baseline", -DlgCellRowSpan : "Rows Span", -DlgCellCollSpan : "Columns Span", -DlgCellBackColor : "Background Colour", -DlgCellBorderColor : "Border Colour", -DlgCellBtnSelect : "Select...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", - -// Find Dialog -DlgFindTitle : "Find", -DlgFindFindBtn : "Find", -DlgFindNotFoundMsg : "The specified text was not found.", - -// Replace Dialog -DlgReplaceTitle : "Replace", -DlgReplaceFindLbl : "Find what:", -DlgReplaceReplaceLbl : "Replace with:", -DlgReplaceCaseChk : "Match case", -DlgReplaceReplaceBtn : "Replace", -DlgReplaceReplAllBtn : "Replace All", -DlgReplaceWordChk : "Match whole word", - -// Paste Operations / Dialog -PasteErrorCut : "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).", -PasteErrorCopy : "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).", - -PasteAsText : "Paste as Plain Text", -PasteFromWord : "Paste from Word", - -DlgPasteMsg2 : "Please paste inside the following box using the keyboard (Ctrl+V) and hit OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", -DlgPasteIgnoreFont : "Ignore Font Face definitions", -DlgPasteRemoveStyles : "Remove Styles definitions", - -// Color Picker -ColorAutomatic : "Automatic", -ColorMoreColors : "More Colours...", - -// Document Properties -DocProps : "Document Properties", - -// Anchor Dialog -DlgAnchorTitle : "Anchor Properties", -DlgAnchorName : "Anchor Name", -DlgAnchorErrorName : "Please type the anchor name", - -// Speller Pages Dialog -DlgSpellNotInDic : "Not in dictionary", -DlgSpellChangeTo : "Change to", -DlgSpellBtnIgnore : "Ignore", -DlgSpellBtnIgnoreAll : "Ignore All", -DlgSpellBtnReplace : "Replace", -DlgSpellBtnReplaceAll : "Replace All", -DlgSpellBtnUndo : "Undo", -DlgSpellNoSuggestions : "- No suggestions -", -DlgSpellProgress : "Spell check in progress...", -DlgSpellNoMispell : "Spell check complete: No misspellings found", -DlgSpellNoChanges : "Spell check complete: No words changed", -DlgSpellOneChange : "Spell check complete: One word changed", -DlgSpellManyChanges : "Spell check complete: %1 words changed", - -IeSpellDownload : "Spell checker not installed. Do you want to download it now?", - -// Button Dialog -DlgButtonText : "Text (Value)", -DlgButtonType : "Type", -DlgButtonTypeBtn : "Button", -DlgButtonTypeSbm : "Submit", -DlgButtonTypeRst : "Reset", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Name", -DlgCheckboxValue : "Value", -DlgCheckboxSelected : "Selected", - -// Form Dialog -DlgFormName : "Name", -DlgFormAction : "Action", -DlgFormMethod : "Method", - -// Select Field Dialog -DlgSelectName : "Name", -DlgSelectValue : "Value", -DlgSelectSize : "Size", -DlgSelectLines : "lines", -DlgSelectChkMulti : "Allow multiple selections", -DlgSelectOpAvail : "Available Options", -DlgSelectOpText : "Text", -DlgSelectOpValue : "Value", -DlgSelectBtnAdd : "Add", -DlgSelectBtnModify : "Modify", -DlgSelectBtnUp : "Up", -DlgSelectBtnDown : "Down", -DlgSelectBtnSetValue : "Set as selected value", -DlgSelectBtnDelete : "Delete", - -// Textarea Dialog -DlgTextareaName : "Name", -DlgTextareaCols : "Columns", -DlgTextareaRows : "Rows", - -// Text Field Dialog -DlgTextName : "Name", -DlgTextValue : "Value", -DlgTextCharWidth : "Character Width", -DlgTextMaxChars : "Maximum Characters", -DlgTextType : "Type", -DlgTextTypeText : "Text", -DlgTextTypePass : "Password", - -// Hidden Field Dialog -DlgHiddenName : "Name", -DlgHiddenValue : "Value", - -// Bulleted List Dialog -BulletedListProp : "Bulleted List Properties", -NumberedListProp : "Numbered List Properties", -DlgLstStart : "Start", -DlgLstType : "Type", -DlgLstTypeCircle : "Circle", -DlgLstTypeDisc : "Disc", -DlgLstTypeSquare : "Square", -DlgLstTypeNumbers : "Numbers (1, 2, 3)", -DlgLstTypeLCase : "Lowercase Letters (a, b, c)", -DlgLstTypeUCase : "Uppercase Letters (A, B, C)", -DlgLstTypeSRoman : "Small Roman Numerals (i, ii, iii)", -DlgLstTypeLRoman : "Large Roman Numerals (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "General", -DlgDocBackTab : "Background", -DlgDocColorsTab : "Colours and Margins", -DlgDocMetaTab : "Meta Data", - -DlgDocPageTitle : "Page Title", -DlgDocLangDir : "Language Direction", -DlgDocLangDirLTR : "Left to Right (LTR)", -DlgDocLangDirRTL : "Right to Left (RTL)", -DlgDocLangCode : "Language Code", -DlgDocCharSet : "Character Set Encoding", -DlgDocCharSetCE : "Central European", -DlgDocCharSetCT : "Chinese Traditional (Big5)", -DlgDocCharSetCR : "Cyrillic", -DlgDocCharSetGR : "Greek", -DlgDocCharSetJP : "Japanese", -DlgDocCharSetKR : "Korean", -DlgDocCharSetTR : "Turkish", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Western European", -DlgDocCharSetOther : "Other Character Set Encoding", - -DlgDocDocType : "Document Type Heading", -DlgDocDocTypeOther : "Other Document Type Heading", -DlgDocIncXHTML : "Include XHTML Declarations", -DlgDocBgColor : "Background Colour", -DlgDocBgImage : "Background Image URL", -DlgDocBgNoScroll : "Nonscrolling Background", -DlgDocCText : "Text", -DlgDocCLink : "Link", -DlgDocCVisited : "Visited Link", -DlgDocCActive : "Active Link", -DlgDocMargins : "Page Margins", -DlgDocMaTop : "Top", -DlgDocMaLeft : "Left", -DlgDocMaRight : "Right", -DlgDocMaBottom : "Bottom", -DlgDocMeIndex : "Document Indexing Keywords (comma separated)", -DlgDocMeDescr : "Document Description", -DlgDocMeAuthor : "Author", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Preview", - -// Templates Dialog -Templates : "Templates", -DlgTemplatesTitle : "Content Templates", -DlgTemplatesSelMsg : "Please select the template to open in the editor
    (the actual contents will be lost):", -DlgTemplatesLoading : "Loading templates list. Please wait...", -DlgTemplatesNoTpl : "(No templates defined)", -DlgTemplatesReplace : "Replace actual contents", - -// About Dialog -DlgAboutAboutTab : "About", -DlgAboutBrowserInfoTab : "Browser Info", -DlgAboutLicenseTab : "License", -DlgAboutVersion : "version", -DlgAboutInfo : "For further information go to", - -// Div Dialog -DlgDivGeneralTab : "General", -DlgDivAdvancedTab : "Advanced", -DlgDivStyle : "Style", -DlgDivInlineStyle : "Inline Style" -}; diff --git a/include/fckeditor/editor/lang/en-ca.js b/include/fckeditor/editor/lang/en-ca.js deleted file mode 100644 index b192385e3..000000000 --- a/include/fckeditor/editor/lang/en-ca.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * English (Canadian) language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Collapse Toolbar", -ToolbarExpand : "Expand Toolbar", - -// Toolbar Items and Context Menu -Save : "Save", -NewPage : "New Page", -Preview : "Preview", -Cut : "Cut", -Copy : "Copy", -Paste : "Paste", -PasteText : "Paste as plain text", -PasteWord : "Paste from Word", -Print : "Print", -SelectAll : "Select All", -RemoveFormat : "Remove Format", -InsertLinkLbl : "Link", -InsertLink : "Insert/Edit Link", -RemoveLink : "Remove Link", -VisitLink : "Open Link", -Anchor : "Insert/Edit Anchor", -AnchorDelete : "Remove Anchor", -InsertImageLbl : "Image", -InsertImage : "Insert/Edit Image", -InsertFlashLbl : "Flash", -InsertFlash : "Insert/Edit Flash", -InsertTableLbl : "Table", -InsertTable : "Insert/Edit Table", -InsertLineLbl : "Line", -InsertLine : "Insert Horizontal Line", -InsertSpecialCharLbl: "Special Character", -InsertSpecialChar : "Insert Special Character", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Insert Smiley", -About : "About FCKeditor", -Bold : "Bold", -Italic : "Italic", -Underline : "Underline", -StrikeThrough : "Strike Through", -Subscript : "Subscript", -Superscript : "Superscript", -LeftJustify : "Left Justify", -CenterJustify : "Centre Justify", -RightJustify : "Right Justify", -BlockJustify : "Block Justify", -DecreaseIndent : "Decrease Indent", -IncreaseIndent : "Increase Indent", -Blockquote : "Blockquote", -CreateDiv : "Create Div Container", -EditDiv : "Edit Div Container", -DeleteDiv : "Remove Div Container", -Undo : "Undo", -Redo : "Redo", -NumberedListLbl : "Numbered List", -NumberedList : "Insert/Remove Numbered List", -BulletedListLbl : "Bulleted List", -BulletedList : "Insert/Remove Bulleted List", -ShowTableBorders : "Show Table Borders", -ShowDetails : "Show Details", -Style : "Style", -FontFormat : "Format", -Font : "Font", -FontSize : "Size", -TextColor : "Text Colour", -BGColor : "Background Colour", -Source : "Source", -Find : "Find", -Replace : "Replace", -SpellCheck : "Check Spelling", -UniversalKeyboard : "Universal Keyboard", -PageBreakLbl : "Page Break", -PageBreak : "Insert Page Break", - -Form : "Form", -Checkbox : "Checkbox", -RadioButton : "Radio Button", -TextField : "Text Field", -Textarea : "Textarea", -HiddenField : "Hidden Field", -Button : "Button", -SelectionField : "Selection Field", -ImageButton : "Image Button", - -FitWindow : "Maximize the editor size", -ShowBlocks : "Show Blocks", - -// Context Menu -EditLink : "Edit Link", -CellCM : "Cell", -RowCM : "Row", -ColumnCM : "Column", -InsertRowAfter : "Insert Row After", -InsertRowBefore : "Insert Row Before", -DeleteRows : "Delete Rows", -InsertColumnAfter : "Insert Column After", -InsertColumnBefore : "Insert Column Before", -DeleteColumns : "Delete Columns", -InsertCellAfter : "Insert Cell After", -InsertCellBefore : "Insert Cell Before", -DeleteCells : "Delete Cells", -MergeCells : "Merge Cells", -MergeRight : "Merge Right", -MergeDown : "Merge Down", -HorizontalSplitCell : "Split Cell Horizontally", -VerticalSplitCell : "Split Cell Vertically", -TableDelete : "Delete Table", -CellProperties : "Cell Properties", -TableProperties : "Table Properties", -ImageProperties : "Image Properties", -FlashProperties : "Flash Properties", - -AnchorProp : "Anchor Properties", -ButtonProp : "Button Properties", -CheckboxProp : "Checkbox Properties", -HiddenFieldProp : "Hidden Field Properties", -RadioButtonProp : "Radio Button Properties", -ImageButtonProp : "Image Button Properties", -TextFieldProp : "Text Field Properties", -SelectionFieldProp : "Selection Field Properties", -TextareaProp : "Textarea Properties", -FormProp : "Form Properties", - -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Processing XHTML. Please wait...", -Done : "Done", -PasteWordConfirm : "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?", -NotCompatiblePaste : "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?", -UnknownToolbarItem : "Unknown toolbar item \"%1\"", -UnknownCommand : "Unknown command name \"%1\"", -NotImplemented : "Command not implemented", -UnknownToolbarSet : "Toolbar set \"%1\" doesn't exist", -NoActiveX : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", -BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", -DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Cancel", -DlgBtnClose : "Close", -DlgBtnBrowseServer : "Browse Server", -DlgAdvancedTag : "Advanced", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Please insert the URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Language Direction", -DlgGenLangDirLtr : "Left to Right (LTR)", -DlgGenLangDirRtl : "Right to Left (RTL)", -DlgGenLangCode : "Language Code", -DlgGenAccessKey : "Access Key", -DlgGenName : "Name", -DlgGenTabIndex : "Tab Index", -DlgGenLongDescr : "Long Description URL", -DlgGenClass : "Stylesheet Classes", -DlgGenTitle : "Advisory Title", -DlgGenContType : "Advisory Content Type", -DlgGenLinkCharset : "Linked Resource Charset", -DlgGenStyle : "Style", - -// Image Dialog -DlgImgTitle : "Image Properties", -DlgImgInfoTab : "Image Info", -DlgImgBtnUpload : "Send it to the Server", -DlgImgURL : "URL", -DlgImgUpload : "Upload", -DlgImgAlt : "Alternative Text", -DlgImgWidth : "Width", -DlgImgHeight : "Height", -DlgImgLockRatio : "Lock Ratio", -DlgBtnResetSize : "Reset Size", -DlgImgBorder : "Border", -DlgImgHSpace : "HSpace", -DlgImgVSpace : "VSpace", -DlgImgAlign : "Align", -DlgImgAlignLeft : "Left", -DlgImgAlignAbsBottom: "Abs Bottom", -DlgImgAlignAbsMiddle: "Abs Middle", -DlgImgAlignBaseline : "Baseline", -DlgImgAlignBottom : "Bottom", -DlgImgAlignMiddle : "Middle", -DlgImgAlignRight : "Right", -DlgImgAlignTextTop : "Text Top", -DlgImgAlignTop : "Top", -DlgImgPreview : "Preview", -DlgImgAlertUrl : "Please type the image URL", -DlgImgLinkTab : "Link", - -// Flash Dialog -DlgFlashTitle : "Flash Properties", -DlgFlashChkPlay : "Auto Play", -DlgFlashChkLoop : "Loop", -DlgFlashChkMenu : "Enable Flash Menu", -DlgFlashScale : "Scale", -DlgFlashScaleAll : "Show all", -DlgFlashScaleNoBorder : "No Border", -DlgFlashScaleFit : "Exact Fit", - -// Link Dialog -DlgLnkWindowTitle : "Link", -DlgLnkInfoTab : "Link Info", -DlgLnkTargetTab : "Target", - -DlgLnkType : "Link Type", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Link to anchor in the text", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Select an Anchor", -DlgLnkAnchorByName : "By Anchor Name", -DlgLnkAnchorById : "By Element Id", -DlgLnkNoAnchors : "(No anchors available in the document)", -DlgLnkEMail : "E-Mail Address", -DlgLnkEMailSubject : "Message Subject", -DlgLnkEMailBody : "Message Body", -DlgLnkUpload : "Upload", -DlgLnkBtnUpload : "Send it to the Server", - -DlgLnkTarget : "Target", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "New Window (_blank)", -DlgLnkTargetParent : "Parent Window (_parent)", -DlgLnkTargetSelf : "Same Window (_self)", -DlgLnkTargetTop : "Topmost Window (_top)", -DlgLnkTargetFrameName : "Target Frame Name", -DlgLnkPopWinName : "Popup Window Name", -DlgLnkPopWinFeat : "Popup Window Features", -DlgLnkPopResize : "Resizable", -DlgLnkPopLocation : "Location Bar", -DlgLnkPopMenu : "Menu Bar", -DlgLnkPopScroll : "Scroll Bars", -DlgLnkPopStatus : "Status Bar", -DlgLnkPopToolbar : "Toolbar", -DlgLnkPopFullScrn : "Full Screen (IE)", -DlgLnkPopDependent : "Dependent (Netscape)", -DlgLnkPopWidth : "Width", -DlgLnkPopHeight : "Height", -DlgLnkPopLeft : "Left Position", -DlgLnkPopTop : "Top Position", - -DlnLnkMsgNoUrl : "Please type the link URL", -DlnLnkMsgNoEMail : "Please type the e-mail address", -DlnLnkMsgNoAnchor : "Please select an anchor", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", - -// Color Dialog -DlgColorTitle : "Select Colour", -DlgColorBtnClear : "Clear", -DlgColorHighlight : "Highlight", -DlgColorSelected : "Selected", - -// Smiley Dialog -DlgSmileyTitle : "Insert a Smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Select Special Character", - -// Table Dialog -DlgTableTitle : "Table Properties", -DlgTableRows : "Rows", -DlgTableColumns : "Columns", -DlgTableBorder : "Border size", -DlgTableAlign : "Alignment", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Left", -DlgTableAlignCenter : "Centre", -DlgTableAlignRight : "Right", -DlgTableWidth : "Width", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "percent", -DlgTableHeight : "Height", -DlgTableCellSpace : "Cell spacing", -DlgTableCellPad : "Cell padding", -DlgTableCaption : "Caption", -DlgTableSummary : "Summary", - -// Table Cell Dialog -DlgCellTitle : "Cell Properties", -DlgCellWidth : "Width", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "percent", -DlgCellHeight : "Height", -DlgCellWordWrap : "Word Wrap", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Yes", -DlgCellWordWrapNo : "No", -DlgCellHorAlign : "Horizontal Alignment", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Left", -DlgCellHorAlignCenter : "Centre", -DlgCellHorAlignRight: "Right", -DlgCellVerAlign : "Vertical Alignment", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Top", -DlgCellVerAlignMiddle : "Middle", -DlgCellVerAlignBottom : "Bottom", -DlgCellVerAlignBaseline : "Baseline", -DlgCellRowSpan : "Rows Span", -DlgCellCollSpan : "Columns Span", -DlgCellBackColor : "Background Colour", -DlgCellBorderColor : "Border Colour", -DlgCellBtnSelect : "Select...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", - -// Find Dialog -DlgFindTitle : "Find", -DlgFindFindBtn : "Find", -DlgFindNotFoundMsg : "The specified text was not found.", - -// Replace Dialog -DlgReplaceTitle : "Replace", -DlgReplaceFindLbl : "Find what:", -DlgReplaceReplaceLbl : "Replace with:", -DlgReplaceCaseChk : "Match case", -DlgReplaceReplaceBtn : "Replace", -DlgReplaceReplAllBtn : "Replace All", -DlgReplaceWordChk : "Match whole word", - -// Paste Operations / Dialog -PasteErrorCut : "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).", -PasteErrorCopy : "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).", - -PasteAsText : "Paste as Plain Text", -PasteFromWord : "Paste from Word", - -DlgPasteMsg2 : "Please paste inside the following box using the keyboard (Ctrl+V) and hit OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", -DlgPasteIgnoreFont : "Ignore Font Face definitions", -DlgPasteRemoveStyles : "Remove Styles definitions", - -// Color Picker -ColorAutomatic : "Automatic", -ColorMoreColors : "More Colours...", - -// Document Properties -DocProps : "Document Properties", - -// Anchor Dialog -DlgAnchorTitle : "Anchor Properties", -DlgAnchorName : "Anchor Name", -DlgAnchorErrorName : "Please type the anchor name", - -// Speller Pages Dialog -DlgSpellNotInDic : "Not in dictionary", -DlgSpellChangeTo : "Change to", -DlgSpellBtnIgnore : "Ignore", -DlgSpellBtnIgnoreAll : "Ignore All", -DlgSpellBtnReplace : "Replace", -DlgSpellBtnReplaceAll : "Replace All", -DlgSpellBtnUndo : "Undo", -DlgSpellNoSuggestions : "- No suggestions -", -DlgSpellProgress : "Spell check in progress...", -DlgSpellNoMispell : "Spell check complete: No misspellings found", -DlgSpellNoChanges : "Spell check complete: No words changed", -DlgSpellOneChange : "Spell check complete: One word changed", -DlgSpellManyChanges : "Spell check complete: %1 words changed", - -IeSpellDownload : "Spell checker not installed. Do you want to download it now?", - -// Button Dialog -DlgButtonText : "Text (Value)", -DlgButtonType : "Type", -DlgButtonTypeBtn : "Button", -DlgButtonTypeSbm : "Submit", -DlgButtonTypeRst : "Reset", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Name", -DlgCheckboxValue : "Value", -DlgCheckboxSelected : "Selected", - -// Form Dialog -DlgFormName : "Name", -DlgFormAction : "Action", -DlgFormMethod : "Method", - -// Select Field Dialog -DlgSelectName : "Name", -DlgSelectValue : "Value", -DlgSelectSize : "Size", -DlgSelectLines : "lines", -DlgSelectChkMulti : "Allow multiple selections", -DlgSelectOpAvail : "Available Options", -DlgSelectOpText : "Text", -DlgSelectOpValue : "Value", -DlgSelectBtnAdd : "Add", -DlgSelectBtnModify : "Modify", -DlgSelectBtnUp : "Up", -DlgSelectBtnDown : "Down", -DlgSelectBtnSetValue : "Set as selected value", -DlgSelectBtnDelete : "Delete", - -// Textarea Dialog -DlgTextareaName : "Name", -DlgTextareaCols : "Columns", -DlgTextareaRows : "Rows", - -// Text Field Dialog -DlgTextName : "Name", -DlgTextValue : "Value", -DlgTextCharWidth : "Character Width", -DlgTextMaxChars : "Maximum Characters", -DlgTextType : "Type", -DlgTextTypeText : "Text", -DlgTextTypePass : "Password", - -// Hidden Field Dialog -DlgHiddenName : "Name", -DlgHiddenValue : "Value", - -// Bulleted List Dialog -BulletedListProp : "Bulleted List Properties", -NumberedListProp : "Numbered List Properties", -DlgLstStart : "Start", -DlgLstType : "Type", -DlgLstTypeCircle : "Circle", -DlgLstTypeDisc : "Disc", -DlgLstTypeSquare : "Square", -DlgLstTypeNumbers : "Numbers (1, 2, 3)", -DlgLstTypeLCase : "Lowercase Letters (a, b, c)", -DlgLstTypeUCase : "Uppercase Letters (A, B, C)", -DlgLstTypeSRoman : "Small Roman Numerals (i, ii, iii)", -DlgLstTypeLRoman : "Large Roman Numerals (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "General", -DlgDocBackTab : "Background", -DlgDocColorsTab : "Colours and Margins", -DlgDocMetaTab : "Meta Data", - -DlgDocPageTitle : "Page Title", -DlgDocLangDir : "Language Direction", -DlgDocLangDirLTR : "Left to Right (LTR)", -DlgDocLangDirRTL : "Right to Left (RTL)", -DlgDocLangCode : "Language Code", -DlgDocCharSet : "Character Set Encoding", -DlgDocCharSetCE : "Central European", -DlgDocCharSetCT : "Chinese Traditional (Big5)", -DlgDocCharSetCR : "Cyrillic", -DlgDocCharSetGR : "Greek", -DlgDocCharSetJP : "Japanese", -DlgDocCharSetKR : "Korean", -DlgDocCharSetTR : "Turkish", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Western European", -DlgDocCharSetOther : "Other Character Set Encoding", - -DlgDocDocType : "Document Type Heading", -DlgDocDocTypeOther : "Other Document Type Heading", -DlgDocIncXHTML : "Include XHTML Declarations", -DlgDocBgColor : "Background Colour", -DlgDocBgImage : "Background Image URL", -DlgDocBgNoScroll : "Nonscrolling Background", -DlgDocCText : "Text", -DlgDocCLink : "Link", -DlgDocCVisited : "Visited Link", -DlgDocCActive : "Active Link", -DlgDocMargins : "Page Margins", -DlgDocMaTop : "Top", -DlgDocMaLeft : "Left", -DlgDocMaRight : "Right", -DlgDocMaBottom : "Bottom", -DlgDocMeIndex : "Document Indexing Keywords (comma separated)", -DlgDocMeDescr : "Document Description", -DlgDocMeAuthor : "Author", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Preview", - -// Templates Dialog -Templates : "Templates", -DlgTemplatesTitle : "Content Templates", -DlgTemplatesSelMsg : "Please select the template to open in the editor
    (the actual contents will be lost):", -DlgTemplatesLoading : "Loading templates list. Please wait...", -DlgTemplatesNoTpl : "(No templates defined)", -DlgTemplatesReplace : "Replace actual contents", - -// About Dialog -DlgAboutAboutTab : "About", -DlgAboutBrowserInfoTab : "Browser Info", -DlgAboutLicenseTab : "License", -DlgAboutVersion : "version", -DlgAboutInfo : "For further information go to", - -// Div Dialog -DlgDivGeneralTab : "General", -DlgDivAdvancedTab : "Advanced", -DlgDivStyle : "Style", -DlgDivInlineStyle : "Inline Style" -}; diff --git a/include/fckeditor/editor/lang/en-uk.js b/include/fckeditor/editor/lang/en-uk.js deleted file mode 100644 index 901c8857f..000000000 --- a/include/fckeditor/editor/lang/en-uk.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * English (United Kingdom) language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Collapse Toolbar", -ToolbarExpand : "Expand Toolbar", - -// Toolbar Items and Context Menu -Save : "Save", -NewPage : "New Page", -Preview : "Preview", -Cut : "Cut", -Copy : "Copy", -Paste : "Paste", -PasteText : "Paste as plain text", -PasteWord : "Paste from Word", -Print : "Print", -SelectAll : "Select All", -RemoveFormat : "Remove Format", -InsertLinkLbl : "Link", -InsertLink : "Insert/Edit Link", -RemoveLink : "Remove Link", -VisitLink : "Open Link", -Anchor : "Insert/Edit Anchor", -AnchorDelete : "Remove Anchor", -InsertImageLbl : "Image", -InsertImage : "Insert/Edit Image", -InsertFlashLbl : "Flash", -InsertFlash : "Insert/Edit Flash", -InsertTableLbl : "Table", -InsertTable : "Insert/Edit Table", -InsertLineLbl : "Line", -InsertLine : "Insert Horizontal Line", -InsertSpecialCharLbl: "Special Character", -InsertSpecialChar : "Insert Special Character", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Insert Smiley", -About : "About FCKeditor", -Bold : "Bold", -Italic : "Italic", -Underline : "Underline", -StrikeThrough : "Strike Through", -Subscript : "Subscript", -Superscript : "Superscript", -LeftJustify : "Left Justify", -CenterJustify : "Centre Justify", -RightJustify : "Right Justify", -BlockJustify : "Block Justify", -DecreaseIndent : "Decrease Indent", -IncreaseIndent : "Increase Indent", -Blockquote : "Blockquote", -CreateDiv : "Create Div Container", -EditDiv : "Edit Div Container", -DeleteDiv : "Remove Div Container", -Undo : "Undo", -Redo : "Redo", -NumberedListLbl : "Numbered List", -NumberedList : "Insert/Remove Numbered List", -BulletedListLbl : "Bulleted List", -BulletedList : "Insert/Remove Bulleted List", -ShowTableBorders : "Show Table Borders", -ShowDetails : "Show Details", -Style : "Style", -FontFormat : "Format", -Font : "Font", -FontSize : "Size", -TextColor : "Text Colour", -BGColor : "Background Colour", -Source : "Source", -Find : "Find", -Replace : "Replace", -SpellCheck : "Check Spelling", -UniversalKeyboard : "Universal Keyboard", -PageBreakLbl : "Page Break", -PageBreak : "Insert Page Break", - -Form : "Form", -Checkbox : "Checkbox", -RadioButton : "Radio Button", -TextField : "Text Field", -Textarea : "Textarea", -HiddenField : "Hidden Field", -Button : "Button", -SelectionField : "Selection Field", -ImageButton : "Image Button", - -FitWindow : "Maximize the editor size", -ShowBlocks : "Show Blocks", - -// Context Menu -EditLink : "Edit Link", -CellCM : "Cell", -RowCM : "Row", -ColumnCM : "Column", -InsertRowAfter : "Insert Row After", -InsertRowBefore : "Insert Row Before", -DeleteRows : "Delete Rows", -InsertColumnAfter : "Insert Column After", -InsertColumnBefore : "Insert Column Before", -DeleteColumns : "Delete Columns", -InsertCellAfter : "Insert Cell After", -InsertCellBefore : "Insert Cell Before", -DeleteCells : "Delete Cells", -MergeCells : "Merge Cells", -MergeRight : "Merge Right", -MergeDown : "Merge Down", -HorizontalSplitCell : "Split Cell Horizontally", -VerticalSplitCell : "Split Cell Vertically", -TableDelete : "Delete Table", -CellProperties : "Cell Properties", -TableProperties : "Table Properties", -ImageProperties : "Image Properties", -FlashProperties : "Flash Properties", - -AnchorProp : "Anchor Properties", -ButtonProp : "Button Properties", -CheckboxProp : "Checkbox Properties", -HiddenFieldProp : "Hidden Field Properties", -RadioButtonProp : "Radio Button Properties", -ImageButtonProp : "Image Button Properties", -TextFieldProp : "Text Field Properties", -SelectionFieldProp : "Selection Field Properties", -TextareaProp : "Textarea Properties", -FormProp : "Form Properties", - -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Processing XHTML. Please wait...", -Done : "Done", -PasteWordConfirm : "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?", -NotCompatiblePaste : "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?", -UnknownToolbarItem : "Unknown toolbar item \"%1\"", -UnknownCommand : "Unknown command name \"%1\"", -NotImplemented : "Command not implemented", -UnknownToolbarSet : "Toolbar set \"%1\" doesn't exist", -NoActiveX : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", -BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", -DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Cancel", -DlgBtnClose : "Close", -DlgBtnBrowseServer : "Browse Server", -DlgAdvancedTag : "Advanced", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Please insert the URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Language Direction", -DlgGenLangDirLtr : "Left to Right (LTR)", -DlgGenLangDirRtl : "Right to Left (RTL)", -DlgGenLangCode : "Language Code", -DlgGenAccessKey : "Access Key", -DlgGenName : "Name", -DlgGenTabIndex : "Tab Index", -DlgGenLongDescr : "Long Description URL", -DlgGenClass : "Stylesheet Classes", -DlgGenTitle : "Advisory Title", -DlgGenContType : "Advisory Content Type", -DlgGenLinkCharset : "Linked Resource Charset", -DlgGenStyle : "Style", - -// Image Dialog -DlgImgTitle : "Image Properties", -DlgImgInfoTab : "Image Info", -DlgImgBtnUpload : "Send it to the Server", -DlgImgURL : "URL", -DlgImgUpload : "Upload", -DlgImgAlt : "Alternative Text", -DlgImgWidth : "Width", -DlgImgHeight : "Height", -DlgImgLockRatio : "Lock Ratio", -DlgBtnResetSize : "Reset Size", -DlgImgBorder : "Border", -DlgImgHSpace : "HSpace", -DlgImgVSpace : "VSpace", -DlgImgAlign : "Align", -DlgImgAlignLeft : "Left", -DlgImgAlignAbsBottom: "Abs Bottom", -DlgImgAlignAbsMiddle: "Abs Middle", -DlgImgAlignBaseline : "Baseline", -DlgImgAlignBottom : "Bottom", -DlgImgAlignMiddle : "Middle", -DlgImgAlignRight : "Right", -DlgImgAlignTextTop : "Text Top", -DlgImgAlignTop : "Top", -DlgImgPreview : "Preview", -DlgImgAlertUrl : "Please type the image URL", -DlgImgLinkTab : "Link", - -// Flash Dialog -DlgFlashTitle : "Flash Properties", -DlgFlashChkPlay : "Auto Play", -DlgFlashChkLoop : "Loop", -DlgFlashChkMenu : "Enable Flash Menu", -DlgFlashScale : "Scale", -DlgFlashScaleAll : "Show all", -DlgFlashScaleNoBorder : "No Border", -DlgFlashScaleFit : "Exact Fit", - -// Link Dialog -DlgLnkWindowTitle : "Link", -DlgLnkInfoTab : "Link Info", -DlgLnkTargetTab : "Target", - -DlgLnkType : "Link Type", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Link to anchor in the text", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Select an Anchor", -DlgLnkAnchorByName : "By Anchor Name", -DlgLnkAnchorById : "By Element Id", -DlgLnkNoAnchors : "(No anchors available in the document)", -DlgLnkEMail : "E-Mail Address", -DlgLnkEMailSubject : "Message Subject", -DlgLnkEMailBody : "Message Body", -DlgLnkUpload : "Upload", -DlgLnkBtnUpload : "Send it to the Server", - -DlgLnkTarget : "Target", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "New Window (_blank)", -DlgLnkTargetParent : "Parent Window (_parent)", -DlgLnkTargetSelf : "Same Window (_self)", -DlgLnkTargetTop : "Topmost Window (_top)", -DlgLnkTargetFrameName : "Target Frame Name", -DlgLnkPopWinName : "Popup Window Name", -DlgLnkPopWinFeat : "Popup Window Features", -DlgLnkPopResize : "Resizable", -DlgLnkPopLocation : "Location Bar", -DlgLnkPopMenu : "Menu Bar", -DlgLnkPopScroll : "Scroll Bars", -DlgLnkPopStatus : "Status Bar", -DlgLnkPopToolbar : "Toolbar", -DlgLnkPopFullScrn : "Full Screen (IE)", -DlgLnkPopDependent : "Dependent (Netscape)", -DlgLnkPopWidth : "Width", -DlgLnkPopHeight : "Height", -DlgLnkPopLeft : "Left Position", -DlgLnkPopTop : "Top Position", - -DlnLnkMsgNoUrl : "Please type the link URL", -DlnLnkMsgNoEMail : "Please type the e-mail address", -DlnLnkMsgNoAnchor : "Please select an anchor", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", - -// Color Dialog -DlgColorTitle : "Select Colour", -DlgColorBtnClear : "Clear", -DlgColorHighlight : "Highlight", -DlgColorSelected : "Selected", - -// Smiley Dialog -DlgSmileyTitle : "Insert a Smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Select Special Character", - -// Table Dialog -DlgTableTitle : "Table Properties", -DlgTableRows : "Rows", -DlgTableColumns : "Columns", -DlgTableBorder : "Border size", -DlgTableAlign : "Alignment", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Left", -DlgTableAlignCenter : "Centre", -DlgTableAlignRight : "Right", -DlgTableWidth : "Width", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "percent", -DlgTableHeight : "Height", -DlgTableCellSpace : "Cell spacing", -DlgTableCellPad : "Cell padding", -DlgTableCaption : "Caption", -DlgTableSummary : "Summary", - -// Table Cell Dialog -DlgCellTitle : "Cell Properties", -DlgCellWidth : "Width", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "percent", -DlgCellHeight : "Height", -DlgCellWordWrap : "Word Wrap", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Yes", -DlgCellWordWrapNo : "No", -DlgCellHorAlign : "Horizontal Alignment", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Left", -DlgCellHorAlignCenter : "Centre", -DlgCellHorAlignRight: "Right", -DlgCellVerAlign : "Vertical Alignment", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Top", -DlgCellVerAlignMiddle : "Middle", -DlgCellVerAlignBottom : "Bottom", -DlgCellVerAlignBaseline : "Baseline", -DlgCellRowSpan : "Rows Span", -DlgCellCollSpan : "Columns Span", -DlgCellBackColor : "Background Colour", -DlgCellBorderColor : "Border Colour", -DlgCellBtnSelect : "Select...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", - -// Find Dialog -DlgFindTitle : "Find", -DlgFindFindBtn : "Find", -DlgFindNotFoundMsg : "The specified text was not found.", - -// Replace Dialog -DlgReplaceTitle : "Replace", -DlgReplaceFindLbl : "Find what:", -DlgReplaceReplaceLbl : "Replace with:", -DlgReplaceCaseChk : "Match case", -DlgReplaceReplaceBtn : "Replace", -DlgReplaceReplAllBtn : "Replace All", -DlgReplaceWordChk : "Match whole word", - -// Paste Operations / Dialog -PasteErrorCut : "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).", -PasteErrorCopy : "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).", - -PasteAsText : "Paste as Plain Text", -PasteFromWord : "Paste from Word", - -DlgPasteMsg2 : "Please paste inside the following box using the keyboard (Ctrl+V) and hit OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", -DlgPasteIgnoreFont : "Ignore Font Face definitions", -DlgPasteRemoveStyles : "Remove Styles definitions", - -// Color Picker -ColorAutomatic : "Automatic", -ColorMoreColors : "More Colours...", - -// Document Properties -DocProps : "Document Properties", - -// Anchor Dialog -DlgAnchorTitle : "Anchor Properties", -DlgAnchorName : "Anchor Name", -DlgAnchorErrorName : "Please type the anchor name", - -// Speller Pages Dialog -DlgSpellNotInDic : "Not in dictionary", -DlgSpellChangeTo : "Change to", -DlgSpellBtnIgnore : "Ignore", -DlgSpellBtnIgnoreAll : "Ignore All", -DlgSpellBtnReplace : "Replace", -DlgSpellBtnReplaceAll : "Replace All", -DlgSpellBtnUndo : "Undo", -DlgSpellNoSuggestions : "- No suggestions -", -DlgSpellProgress : "Spell check in progress...", -DlgSpellNoMispell : "Spell check complete: No misspellings found", -DlgSpellNoChanges : "Spell check complete: No words changed", -DlgSpellOneChange : "Spell check complete: One word changed", -DlgSpellManyChanges : "Spell check complete: %1 words changed", - -IeSpellDownload : "Spell checker not installed. Do you want to download it now?", - -// Button Dialog -DlgButtonText : "Text (Value)", -DlgButtonType : "Type", -DlgButtonTypeBtn : "Button", -DlgButtonTypeSbm : "Submit", -DlgButtonTypeRst : "Reset", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Name", -DlgCheckboxValue : "Value", -DlgCheckboxSelected : "Selected", - -// Form Dialog -DlgFormName : "Name", -DlgFormAction : "Action", -DlgFormMethod : "Method", - -// Select Field Dialog -DlgSelectName : "Name", -DlgSelectValue : "Value", -DlgSelectSize : "Size", -DlgSelectLines : "lines", -DlgSelectChkMulti : "Allow multiple selections", -DlgSelectOpAvail : "Available Options", -DlgSelectOpText : "Text", -DlgSelectOpValue : "Value", -DlgSelectBtnAdd : "Add", -DlgSelectBtnModify : "Modify", -DlgSelectBtnUp : "Up", -DlgSelectBtnDown : "Down", -DlgSelectBtnSetValue : "Set as selected value", -DlgSelectBtnDelete : "Delete", - -// Textarea Dialog -DlgTextareaName : "Name", -DlgTextareaCols : "Columns", -DlgTextareaRows : "Rows", - -// Text Field Dialog -DlgTextName : "Name", -DlgTextValue : "Value", -DlgTextCharWidth : "Character Width", -DlgTextMaxChars : "Maximum Characters", -DlgTextType : "Type", -DlgTextTypeText : "Text", -DlgTextTypePass : "Password", - -// Hidden Field Dialog -DlgHiddenName : "Name", -DlgHiddenValue : "Value", - -// Bulleted List Dialog -BulletedListProp : "Bulleted List Properties", -NumberedListProp : "Numbered List Properties", -DlgLstStart : "Start", -DlgLstType : "Type", -DlgLstTypeCircle : "Circle", -DlgLstTypeDisc : "Disc", -DlgLstTypeSquare : "Square", -DlgLstTypeNumbers : "Numbers (1, 2, 3)", -DlgLstTypeLCase : "Lowercase Letters (a, b, c)", -DlgLstTypeUCase : "Uppercase Letters (A, B, C)", -DlgLstTypeSRoman : "Small Roman Numerals (i, ii, iii)", -DlgLstTypeLRoman : "Large Roman Numerals (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "General", -DlgDocBackTab : "Background", -DlgDocColorsTab : "Colours and Margins", -DlgDocMetaTab : "Meta Data", - -DlgDocPageTitle : "Page Title", -DlgDocLangDir : "Language Direction", -DlgDocLangDirLTR : "Left to Right (LTR)", -DlgDocLangDirRTL : "Right to Left (RTL)", -DlgDocLangCode : "Language Code", -DlgDocCharSet : "Character Set Encoding", -DlgDocCharSetCE : "Central European", -DlgDocCharSetCT : "Chinese Traditional (Big5)", -DlgDocCharSetCR : "Cyrillic", -DlgDocCharSetGR : "Greek", -DlgDocCharSetJP : "Japanese", -DlgDocCharSetKR : "Korean", -DlgDocCharSetTR : "Turkish", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Western European", -DlgDocCharSetOther : "Other Character Set Encoding", - -DlgDocDocType : "Document Type Heading", -DlgDocDocTypeOther : "Other Document Type Heading", -DlgDocIncXHTML : "Include XHTML Declarations", -DlgDocBgColor : "Background Colour", -DlgDocBgImage : "Background Image URL", -DlgDocBgNoScroll : "Nonscrolling Background", -DlgDocCText : "Text", -DlgDocCLink : "Link", -DlgDocCVisited : "Visited Link", -DlgDocCActive : "Active Link", -DlgDocMargins : "Page Margins", -DlgDocMaTop : "Top", -DlgDocMaLeft : "Left", -DlgDocMaRight : "Right", -DlgDocMaBottom : "Bottom", -DlgDocMeIndex : "Document Indexing Keywords (comma separated)", -DlgDocMeDescr : "Document Description", -DlgDocMeAuthor : "Author", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Preview", - -// Templates Dialog -Templates : "Templates", -DlgTemplatesTitle : "Content Templates", -DlgTemplatesSelMsg : "Please select the template to open in the editor
    (the actual contents will be lost):", -DlgTemplatesLoading : "Loading templates list. Please wait...", -DlgTemplatesNoTpl : "(No templates defined)", -DlgTemplatesReplace : "Replace actual contents", - -// About Dialog -DlgAboutAboutTab : "About", -DlgAboutBrowserInfoTab : "Browser Info", -DlgAboutLicenseTab : "License", -DlgAboutVersion : "version", -DlgAboutInfo : "For further information go to", - -// Div Dialog -DlgDivGeneralTab : "General", -DlgDivAdvancedTab : "Advanced", -DlgDivStyle : "Style", -DlgDivInlineStyle : "Inline Style" -}; diff --git a/include/fckeditor/editor/lang/en.js b/include/fckeditor/editor/lang/en.js deleted file mode 100644 index 59395887b..000000000 --- a/include/fckeditor/editor/lang/en.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * English language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Collapse Toolbar", -ToolbarExpand : "Expand Toolbar", - -// Toolbar Items and Context Menu -Save : "Save", -NewPage : "New Page", -Preview : "Preview", -Cut : "Cut", -Copy : "Copy", -Paste : "Paste", -PasteText : "Paste as plain text", -PasteWord : "Paste from Word", -Print : "Print", -SelectAll : "Select All", -RemoveFormat : "Remove Format", -InsertLinkLbl : "Link", -InsertLink : "Insert/Edit Link", -RemoveLink : "Remove Link", -VisitLink : "Open Link", -Anchor : "Insert/Edit Anchor", -AnchorDelete : "Remove Anchor", -InsertImageLbl : "Image", -InsertImage : "Insert/Edit Image", -InsertFlashLbl : "Flash", -InsertFlash : "Insert/Edit Flash", -InsertTableLbl : "Table", -InsertTable : "Insert/Edit Table", -InsertLineLbl : "Line", -InsertLine : "Insert Horizontal Line", -InsertSpecialCharLbl: "Special Character", -InsertSpecialChar : "Insert Special Character", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Insert Smiley", -About : "About FCKeditor", -Bold : "Bold", -Italic : "Italic", -Underline : "Underline", -StrikeThrough : "Strike Through", -Subscript : "Subscript", -Superscript : "Superscript", -LeftJustify : "Left Justify", -CenterJustify : "Center Justify", -RightJustify : "Right Justify", -BlockJustify : "Block Justify", -DecreaseIndent : "Decrease Indent", -IncreaseIndent : "Increase Indent", -Blockquote : "Blockquote", -CreateDiv : "Create Div Container", -EditDiv : "Edit Div Container", -DeleteDiv : "Remove Div Container", -Undo : "Undo", -Redo : "Redo", -NumberedListLbl : "Numbered List", -NumberedList : "Insert/Remove Numbered List", -BulletedListLbl : "Bulleted List", -BulletedList : "Insert/Remove Bulleted List", -ShowTableBorders : "Show Table Borders", -ShowDetails : "Show Details", -Style : "Style", -FontFormat : "Format", -Font : "Font", -FontSize : "Size", -TextColor : "Text Color", -BGColor : "Background Color", -Source : "Source", -Find : "Find", -Replace : "Replace", -SpellCheck : "Check Spelling", -UniversalKeyboard : "Universal Keyboard", -PageBreakLbl : "Page Break", -PageBreak : "Insert Page Break", - -Form : "Form", -Checkbox : "Checkbox", -RadioButton : "Radio Button", -TextField : "Text Field", -Textarea : "Textarea", -HiddenField : "Hidden Field", -Button : "Button", -SelectionField : "Selection Field", -ImageButton : "Image Button", - -FitWindow : "Maximize the editor size", -ShowBlocks : "Show Blocks", - -// Context Menu -EditLink : "Edit Link", -CellCM : "Cell", -RowCM : "Row", -ColumnCM : "Column", -InsertRowAfter : "Insert Row After", -InsertRowBefore : "Insert Row Before", -DeleteRows : "Delete Rows", -InsertColumnAfter : "Insert Column After", -InsertColumnBefore : "Insert Column Before", -DeleteColumns : "Delete Columns", -InsertCellAfter : "Insert Cell After", -InsertCellBefore : "Insert Cell Before", -DeleteCells : "Delete Cells", -MergeCells : "Merge Cells", -MergeRight : "Merge Right", -MergeDown : "Merge Down", -HorizontalSplitCell : "Split Cell Horizontally", -VerticalSplitCell : "Split Cell Vertically", -TableDelete : "Delete Table", -CellProperties : "Cell Properties", -TableProperties : "Table Properties", -ImageProperties : "Image Properties", -FlashProperties : "Flash Properties", - -AnchorProp : "Anchor Properties", -ButtonProp : "Button Properties", -CheckboxProp : "Checkbox Properties", -HiddenFieldProp : "Hidden Field Properties", -RadioButtonProp : "Radio Button Properties", -ImageButtonProp : "Image Button Properties", -TextFieldProp : "Text Field Properties", -SelectionFieldProp : "Selection Field Properties", -TextareaProp : "Textarea Properties", -FormProp : "Form Properties", - -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Processing XHTML. Please wait...", -Done : "Done", -PasteWordConfirm : "The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?", -NotCompatiblePaste : "This command is available for Internet Explorer version 5.5 or more. Do you want to paste without cleaning?", -UnknownToolbarItem : "Unknown toolbar item \"%1\"", -UnknownCommand : "Unknown command name \"%1\"", -NotImplemented : "Command not implemented", -UnknownToolbarSet : "Toolbar set \"%1\" doesn't exist", -NoActiveX : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", -BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", -DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Cancel", -DlgBtnClose : "Close", -DlgBtnBrowseServer : "Browse Server", -DlgAdvancedTag : "Advanced", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Please insert the URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Language Direction", -DlgGenLangDirLtr : "Left to Right (LTR)", -DlgGenLangDirRtl : "Right to Left (RTL)", -DlgGenLangCode : "Language Code", -DlgGenAccessKey : "Access Key", -DlgGenName : "Name", -DlgGenTabIndex : "Tab Index", -DlgGenLongDescr : "Long Description URL", -DlgGenClass : "Stylesheet Classes", -DlgGenTitle : "Advisory Title", -DlgGenContType : "Advisory Content Type", -DlgGenLinkCharset : "Linked Resource Charset", -DlgGenStyle : "Style", - -// Image Dialog -DlgImgTitle : "Image Properties", -DlgImgInfoTab : "Image Info", -DlgImgBtnUpload : "Send it to the Server", -DlgImgURL : "URL", -DlgImgUpload : "Upload", -DlgImgAlt : "Alternative Text", -DlgImgWidth : "Width", -DlgImgHeight : "Height", -DlgImgLockRatio : "Lock Ratio", -DlgBtnResetSize : "Reset Size", -DlgImgBorder : "Border", -DlgImgHSpace : "HSpace", -DlgImgVSpace : "VSpace", -DlgImgAlign : "Align", -DlgImgAlignLeft : "Left", -DlgImgAlignAbsBottom: "Abs Bottom", -DlgImgAlignAbsMiddle: "Abs Middle", -DlgImgAlignBaseline : "Baseline", -DlgImgAlignBottom : "Bottom", -DlgImgAlignMiddle : "Middle", -DlgImgAlignRight : "Right", -DlgImgAlignTextTop : "Text Top", -DlgImgAlignTop : "Top", -DlgImgPreview : "Preview", -DlgImgAlertUrl : "Please type the image URL", -DlgImgLinkTab : "Link", - -// Flash Dialog -DlgFlashTitle : "Flash Properties", -DlgFlashChkPlay : "Auto Play", -DlgFlashChkLoop : "Loop", -DlgFlashChkMenu : "Enable Flash Menu", -DlgFlashScale : "Scale", -DlgFlashScaleAll : "Show all", -DlgFlashScaleNoBorder : "No Border", -DlgFlashScaleFit : "Exact Fit", - -// Link Dialog -DlgLnkWindowTitle : "Link", -DlgLnkInfoTab : "Link Info", -DlgLnkTargetTab : "Target", - -DlgLnkType : "Link Type", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Link to anchor in the text", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Select an Anchor", -DlgLnkAnchorByName : "By Anchor Name", -DlgLnkAnchorById : "By Element Id", -DlgLnkNoAnchors : "(No anchors available in the document)", -DlgLnkEMail : "E-Mail Address", -DlgLnkEMailSubject : "Message Subject", -DlgLnkEMailBody : "Message Body", -DlgLnkUpload : "Upload", -DlgLnkBtnUpload : "Send it to the Server", - -DlgLnkTarget : "Target", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "New Window (_blank)", -DlgLnkTargetParent : "Parent Window (_parent)", -DlgLnkTargetSelf : "Same Window (_self)", -DlgLnkTargetTop : "Topmost Window (_top)", -DlgLnkTargetFrameName : "Target Frame Name", -DlgLnkPopWinName : "Popup Window Name", -DlgLnkPopWinFeat : "Popup Window Features", -DlgLnkPopResize : "Resizable", -DlgLnkPopLocation : "Location Bar", -DlgLnkPopMenu : "Menu Bar", -DlgLnkPopScroll : "Scroll Bars", -DlgLnkPopStatus : "Status Bar", -DlgLnkPopToolbar : "Toolbar", -DlgLnkPopFullScrn : "Full Screen (IE)", -DlgLnkPopDependent : "Dependent (Netscape)", -DlgLnkPopWidth : "Width", -DlgLnkPopHeight : "Height", -DlgLnkPopLeft : "Left Position", -DlgLnkPopTop : "Top Position", - -DlnLnkMsgNoUrl : "Please type the link URL", -DlnLnkMsgNoEMail : "Please type the e-mail address", -DlnLnkMsgNoAnchor : "Please select an anchor", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", - -// Color Dialog -DlgColorTitle : "Select Color", -DlgColorBtnClear : "Clear", -DlgColorHighlight : "Highlight", -DlgColorSelected : "Selected", - -// Smiley Dialog -DlgSmileyTitle : "Insert a Smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Select Special Character", - -// Table Dialog -DlgTableTitle : "Table Properties", -DlgTableRows : "Rows", -DlgTableColumns : "Columns", -DlgTableBorder : "Border size", -DlgTableAlign : "Alignment", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Left", -DlgTableAlignCenter : "Center", -DlgTableAlignRight : "Right", -DlgTableWidth : "Width", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "percent", -DlgTableHeight : "Height", -DlgTableCellSpace : "Cell spacing", -DlgTableCellPad : "Cell padding", -DlgTableCaption : "Caption", -DlgTableSummary : "Summary", - -// Table Cell Dialog -DlgCellTitle : "Cell Properties", -DlgCellWidth : "Width", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "percent", -DlgCellHeight : "Height", -DlgCellWordWrap : "Word Wrap", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Yes", -DlgCellWordWrapNo : "No", -DlgCellHorAlign : "Horizontal Alignment", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Left", -DlgCellHorAlignCenter : "Center", -DlgCellHorAlignRight: "Right", -DlgCellVerAlign : "Vertical Alignment", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Top", -DlgCellVerAlignMiddle : "Middle", -DlgCellVerAlignBottom : "Bottom", -DlgCellVerAlignBaseline : "Baseline", -DlgCellRowSpan : "Rows Span", -DlgCellCollSpan : "Columns Span", -DlgCellBackColor : "Background Color", -DlgCellBorderColor : "Border Color", -DlgCellBtnSelect : "Select...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", - -// Find Dialog -DlgFindTitle : "Find", -DlgFindFindBtn : "Find", -DlgFindNotFoundMsg : "The specified text was not found.", - -// Replace Dialog -DlgReplaceTitle : "Replace", -DlgReplaceFindLbl : "Find what:", -DlgReplaceReplaceLbl : "Replace with:", -DlgReplaceCaseChk : "Match case", -DlgReplaceReplaceBtn : "Replace", -DlgReplaceReplAllBtn : "Replace All", -DlgReplaceWordChk : "Match whole word", - -// Paste Operations / Dialog -PasteErrorCut : "Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl+X).", -PasteErrorCopy : "Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl+C).", - -PasteAsText : "Paste as Plain Text", -PasteFromWord : "Paste from Word", - -DlgPasteMsg2 : "Please paste inside the following box using the keyboard (Ctrl+V) and hit OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", -DlgPasteIgnoreFont : "Ignore Font Face definitions", -DlgPasteRemoveStyles : "Remove Styles definitions", - -// Color Picker -ColorAutomatic : "Automatic", -ColorMoreColors : "More Colors...", - -// Document Properties -DocProps : "Document Properties", - -// Anchor Dialog -DlgAnchorTitle : "Anchor Properties", -DlgAnchorName : "Anchor Name", -DlgAnchorErrorName : "Please type the anchor name", - -// Speller Pages Dialog -DlgSpellNotInDic : "Not in dictionary", -DlgSpellChangeTo : "Change to", -DlgSpellBtnIgnore : "Ignore", -DlgSpellBtnIgnoreAll : "Ignore All", -DlgSpellBtnReplace : "Replace", -DlgSpellBtnReplaceAll : "Replace All", -DlgSpellBtnUndo : "Undo", -DlgSpellNoSuggestions : "- No suggestions -", -DlgSpellProgress : "Spell check in progress...", -DlgSpellNoMispell : "Spell check complete: No misspellings found", -DlgSpellNoChanges : "Spell check complete: No words changed", -DlgSpellOneChange : "Spell check complete: One word changed", -DlgSpellManyChanges : "Spell check complete: %1 words changed", - -IeSpellDownload : "Spell checker not installed. Do you want to download it now?", - -// Button Dialog -DlgButtonText : "Text (Value)", -DlgButtonType : "Type", -DlgButtonTypeBtn : "Button", -DlgButtonTypeSbm : "Submit", -DlgButtonTypeRst : "Reset", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Name", -DlgCheckboxValue : "Value", -DlgCheckboxSelected : "Selected", - -// Form Dialog -DlgFormName : "Name", -DlgFormAction : "Action", -DlgFormMethod : "Method", - -// Select Field Dialog -DlgSelectName : "Name", -DlgSelectValue : "Value", -DlgSelectSize : "Size", -DlgSelectLines : "lines", -DlgSelectChkMulti : "Allow multiple selections", -DlgSelectOpAvail : "Available Options", -DlgSelectOpText : "Text", -DlgSelectOpValue : "Value", -DlgSelectBtnAdd : "Add", -DlgSelectBtnModify : "Modify", -DlgSelectBtnUp : "Up", -DlgSelectBtnDown : "Down", -DlgSelectBtnSetValue : "Set as selected value", -DlgSelectBtnDelete : "Delete", - -// Textarea Dialog -DlgTextareaName : "Name", -DlgTextareaCols : "Columns", -DlgTextareaRows : "Rows", - -// Text Field Dialog -DlgTextName : "Name", -DlgTextValue : "Value", -DlgTextCharWidth : "Character Width", -DlgTextMaxChars : "Maximum Characters", -DlgTextType : "Type", -DlgTextTypeText : "Text", -DlgTextTypePass : "Password", - -// Hidden Field Dialog -DlgHiddenName : "Name", -DlgHiddenValue : "Value", - -// Bulleted List Dialog -BulletedListProp : "Bulleted List Properties", -NumberedListProp : "Numbered List Properties", -DlgLstStart : "Start", -DlgLstType : "Type", -DlgLstTypeCircle : "Circle", -DlgLstTypeDisc : "Disc", -DlgLstTypeSquare : "Square", -DlgLstTypeNumbers : "Numbers (1, 2, 3)", -DlgLstTypeLCase : "Lowercase Letters (a, b, c)", -DlgLstTypeUCase : "Uppercase Letters (A, B, C)", -DlgLstTypeSRoman : "Small Roman Numerals (i, ii, iii)", -DlgLstTypeLRoman : "Large Roman Numerals (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "General", -DlgDocBackTab : "Background", -DlgDocColorsTab : "Colors and Margins", -DlgDocMetaTab : "Meta Data", - -DlgDocPageTitle : "Page Title", -DlgDocLangDir : "Language Direction", -DlgDocLangDirLTR : "Left to Right (LTR)", -DlgDocLangDirRTL : "Right to Left (RTL)", -DlgDocLangCode : "Language Code", -DlgDocCharSet : "Character Set Encoding", -DlgDocCharSetCE : "Central European", -DlgDocCharSetCT : "Chinese Traditional (Big5)", -DlgDocCharSetCR : "Cyrillic", -DlgDocCharSetGR : "Greek", -DlgDocCharSetJP : "Japanese", -DlgDocCharSetKR : "Korean", -DlgDocCharSetTR : "Turkish", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Western European", -DlgDocCharSetOther : "Other Character Set Encoding", - -DlgDocDocType : "Document Type Heading", -DlgDocDocTypeOther : "Other Document Type Heading", -DlgDocIncXHTML : "Include XHTML Declarations", -DlgDocBgColor : "Background Color", -DlgDocBgImage : "Background Image URL", -DlgDocBgNoScroll : "Nonscrolling Background", -DlgDocCText : "Text", -DlgDocCLink : "Link", -DlgDocCVisited : "Visited Link", -DlgDocCActive : "Active Link", -DlgDocMargins : "Page Margins", -DlgDocMaTop : "Top", -DlgDocMaLeft : "Left", -DlgDocMaRight : "Right", -DlgDocMaBottom : "Bottom", -DlgDocMeIndex : "Document Indexing Keywords (comma separated)", -DlgDocMeDescr : "Document Description", -DlgDocMeAuthor : "Author", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Preview", - -// Templates Dialog -Templates : "Templates", -DlgTemplatesTitle : "Content Templates", -DlgTemplatesSelMsg : "Please select the template to open in the editor
    (the actual contents will be lost):", -DlgTemplatesLoading : "Loading templates list. Please wait...", -DlgTemplatesNoTpl : "(No templates defined)", -DlgTemplatesReplace : "Replace actual contents", - -// About Dialog -DlgAboutAboutTab : "About", -DlgAboutBrowserInfoTab : "Browser Info", -DlgAboutLicenseTab : "License", -DlgAboutVersion : "version", -DlgAboutInfo : "For further information go to", - -// Div Dialog -DlgDivGeneralTab : "General", -DlgDivAdvancedTab : "Advanced", -DlgDivStyle : "Style", -DlgDivInlineStyle : "Inline Style" -}; diff --git a/include/fckeditor/editor/lang/eo.js b/include/fckeditor/editor/lang/eo.js deleted file mode 100644 index dc032efe7..000000000 --- a/include/fckeditor/editor/lang/eo.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Esperanto language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Kaŝi Ilobreton", -ToolbarExpand : "Vidigi Ilojn", - -// Toolbar Items and Context Menu -Save : "Sekurigi", -NewPage : "Nova Paĝo", -Preview : "Vidigi Aspekton", -Cut : "Eltondi", -Copy : "Kopii", -Paste : "Interglui", -PasteText : "Interglui kiel Tekston", -PasteWord : "Interglui el Word", -Print : "Presi", -SelectAll : "Elekti ĉion", -RemoveFormat : "Forigi Formaton", -InsertLinkLbl : "Ligilo", -InsertLink : "Enmeti/Ŝanĝi Ligilon", -RemoveLink : "Forigi Ligilon", -VisitLink : "Open Link", //MISSING -Anchor : "Enmeti/Ŝanĝi Ankron", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "Bildo", -InsertImage : "Enmeti/Ŝanĝi Bildon", -InsertFlashLbl : "Flash", //MISSING -InsertFlash : "Insert/Edit Flash", //MISSING -InsertTableLbl : "Tabelo", -InsertTable : "Enmeti/Ŝanĝi Tabelon", -InsertLineLbl : "Horizonta Linio", -InsertLine : "Enmeti Horizonta Linio", -InsertSpecialCharLbl: "Speciala Signo", -InsertSpecialChar : "Enmeti Specialan Signon", -InsertSmileyLbl : "Mienvinjeto", -InsertSmiley : "Enmeti Mienvinjeton", -About : "Pri FCKeditor", -Bold : "Grasa", -Italic : "Kursiva", -Underline : "Substreko", -StrikeThrough : "Trastreko", -Subscript : "Subskribo", -Superscript : "Superskribo", -LeftJustify : "Maldekstrigi", -CenterJustify : "Centrigi", -RightJustify : "Dekstrigi", -BlockJustify : "Ĝisrandigi Ambaŭflanke", -DecreaseIndent : "Malpligrandigi Krommarĝenon", -IncreaseIndent : "Pligrandigi Krommarĝenon", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Malfari", -Redo : "Refari", -NumberedListLbl : "Numera Listo", -NumberedList : "Enmeti/Forigi Numeran Liston", -BulletedListLbl : "Bula Listo", -BulletedList : "Enmeti/Forigi Bulan Liston", -ShowTableBorders : "Vidigi Borderojn de Tabelo", -ShowDetails : "Vidigi Detalojn", -Style : "Stilo", -FontFormat : "Formato", -Font : "Tiparo", -FontSize : "Grando", -TextColor : "Teksta Koloro", -BGColor : "Fona Koloro", -Source : "Fonto", -Find : "Serĉi", -Replace : "Anstataŭigi", -SpellCheck : "Literumada Kontrolilo", -UniversalKeyboard : "Universala Klavaro", -PageBreakLbl : "Page Break", //MISSING -PageBreak : "Insert Page Break", //MISSING - -Form : "Formularo", -Checkbox : "Markobutono", -RadioButton : "Radiobutono", -TextField : "Teksta kampo", -Textarea : "Teksta Areo", -HiddenField : "Kaŝita Kampo", -Button : "Butono", -SelectionField : "Elekta Kampo", -ImageButton : "Bildbutono", - -FitWindow : "Maximize the editor size", //MISSING -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "Modifier Ligilon", -CellCM : "Cell", //MISSING -RowCM : "Row", //MISSING -ColumnCM : "Column", //MISSING -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "Forigi Liniojn", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "Forigi Kolumnojn", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "Forigi Ĉelojn", -MergeCells : "Kunfandi Ĉelojn", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "Delete Table", //MISSING -CellProperties : "Atributoj de Ĉelo", -TableProperties : "Atributoj de Tabelo", -ImageProperties : "Atributoj de Bildo", -FlashProperties : "Flash Properties", //MISSING - -AnchorProp : "Ankraj Atributoj", -ButtonProp : "Butonaj Atributoj", -CheckboxProp : "Markobutonaj Atributoj", -HiddenFieldProp : "Atributoj de Kaŝita Kampo", -RadioButtonProp : "Radiobutonaj Atributoj", -ImageButtonProp : "Bildbutonaj Atributoj", -TextFieldProp : "Atributoj de Teksta Kampo", -SelectionFieldProp : "Atributoj de Elekta Kampo", -TextareaProp : "Atributoj de Teksta Areo", -FormProp : "Formularaj Atributoj", - -FontFormats : "Normala;Formatita;Adreso;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Traktado de XHTML. Bonvolu pacienci...", -Done : "Finita", -PasteWordConfirm : "La algluota teksto ŝajnas esti Word-devena. Ĉu vi volas purigi ĝin antaŭ ol interglui?", -NotCompatiblePaste : "Tiu ĉi komando bezonas almenaŭ Internet Explorer 5.5. Ĉu vi volas daŭrigi sen purigado?", -UnknownToolbarItem : "Ilobretero nekonata \"%1\"", -UnknownCommand : "Komandonomo nekonata \"%1\"", -NotImplemented : "Komando ne ankoraŭ realigita", -UnknownToolbarSet : "La ilobreto \"%1\" ne ekzistas", -NoActiveX : "Your browser's security settings could limit some features of the editor. You must enable the option \"Run ActiveX controls and plug-ins\". You may experience errors and notice missing features.", //MISSING -BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING -DialogBlocked : "It was not possible to open the dialog window. Make sure all popup blockers are disabled.", //MISSING -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "Akcepti", -DlgBtnCancel : "Rezigni", -DlgBtnClose : "Fermi", -DlgBtnBrowseServer : "Foliumi en la Servilo", -DlgAdvancedTag : "Speciala", -DlgOpOther : "", -DlgInfoTab : "Info", //MISSING -DlgAlertUrl : "Please insert the URL", //MISSING - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Skribdirekto", -DlgGenLangDirLtr : "De maldekstro dekstren (LTR)", -DlgGenLangDirRtl : "De dekstro maldekstren (RTL)", -DlgGenLangCode : "Lingva Kodo", -DlgGenAccessKey : "Fulmoklavo", -DlgGenName : "Nomo", -DlgGenTabIndex : "Taba Ordo", -DlgGenLongDescr : "URL de Longa Priskribo", -DlgGenClass : "Klasoj de Stilfolioj", -DlgGenTitle : "Indika Titolo", -DlgGenContType : "Indika Enhavotipo", -DlgGenLinkCharset : "Signaro de la Ligita Rimedo", -DlgGenStyle : "Stilo", - -// Image Dialog -DlgImgTitle : "Atributoj de Bildo", -DlgImgInfoTab : "Informoj pri Bildo", -DlgImgBtnUpload : "Sendu al Servilo", -DlgImgURL : "URL", -DlgImgUpload : "Alŝuti", -DlgImgAlt : "Anstataŭiga Teksto", -DlgImgWidth : "Larĝo", -DlgImgHeight : "Alto", -DlgImgLockRatio : "Konservi Proporcion", -DlgBtnResetSize : "Origina Grando", -DlgImgBorder : "Bordero", -DlgImgHSpace : "HSpaco", -DlgImgVSpace : "VSpaco", -DlgImgAlign : "Ĝisrandigo", -DlgImgAlignLeft : "Maldekstre", -DlgImgAlignAbsBottom: "Abs Malsupre", -DlgImgAlignAbsMiddle: "Abs Centre", -DlgImgAlignBaseline : "Je Malsupro de Teksto", -DlgImgAlignBottom : "Malsupre", -DlgImgAlignMiddle : "Centre", -DlgImgAlignRight : "Dekstre", -DlgImgAlignTextTop : "Je Supro de Teksto", -DlgImgAlignTop : "Supre", -DlgImgPreview : "Vidigi Aspekton", -DlgImgAlertUrl : "Bonvolu tajpi la URL de la bildo", -DlgImgLinkTab : "Link", //MISSING - -// Flash Dialog -DlgFlashTitle : "Flash Properties", //MISSING -DlgFlashChkPlay : "Auto Play", //MISSING -DlgFlashChkLoop : "Loop", //MISSING -DlgFlashChkMenu : "Enable Flash Menu", //MISSING -DlgFlashScale : "Scale", //MISSING -DlgFlashScaleAll : "Show all", //MISSING -DlgFlashScaleNoBorder : "No Border", //MISSING -DlgFlashScaleFit : "Exact Fit", //MISSING - -// Link Dialog -DlgLnkWindowTitle : "Ligilo", -DlgLnkInfoTab : "Informoj pri la Ligilo", -DlgLnkTargetTab : "Celo", - -DlgLnkType : "Tipo de Ligilo", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Ankri en tiu ĉi paĝo", -DlgLnkTypeEMail : "Retpoŝto", -DlgLnkProto : "Protokolo", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Elekti Ankron", -DlgLnkAnchorByName : "Per Ankronomo", -DlgLnkAnchorById : "Per Elementidentigilo", -DlgLnkNoAnchors : "", -DlgLnkEMail : "Retadreso", -DlgLnkEMailSubject : "Temlinio", -DlgLnkEMailBody : "Mesaĝa korpo", -DlgLnkUpload : "Alŝuti", -DlgLnkBtnUpload : "Sendi al Servilo", - -DlgLnkTarget : "Celo", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "<ŝprucfenestro>", -DlgLnkTargetBlank : "Nova Fenestro (_blank)", -DlgLnkTargetParent : "Gepatra Fenestro (_parent)", -DlgLnkTargetSelf : "Sama Fenestro (_self)", -DlgLnkTargetTop : "Plej Supra Fenestro (_top)", -DlgLnkTargetFrameName : "Nomo de Kadro", -DlgLnkPopWinName : "Nomo de Ŝprucfenestro", -DlgLnkPopWinFeat : "Atributoj de la Ŝprucfenestro", -DlgLnkPopResize : "Grando Ŝanĝebla", -DlgLnkPopLocation : "Adresobreto", -DlgLnkPopMenu : "Menubreto", -DlgLnkPopScroll : "Rulumlisteloj", -DlgLnkPopStatus : "Statobreto", -DlgLnkPopToolbar : "Ilobreto", -DlgLnkPopFullScrn : "Tutekrane (IE)", -DlgLnkPopDependent : "Dependa (Netscape)", -DlgLnkPopWidth : "Larĝo", -DlgLnkPopHeight : "Alto", -DlgLnkPopLeft : "Pozicio de Maldekstro", -DlgLnkPopTop : "Pozicio de Supro", - -DlnLnkMsgNoUrl : "Bonvolu entajpi la URL-on", -DlnLnkMsgNoEMail : "Bonvolu entajpi la retadreson", -DlnLnkMsgNoAnchor : "Bonvolu elekti ankron", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING - -// Color Dialog -DlgColorTitle : "Elekti", -DlgColorBtnClear : "Forigi", -DlgColorHighlight : "Emfazi", -DlgColorSelected : "Elektita", - -// Smiley Dialog -DlgSmileyTitle : "Enmeti Mienvinjeton", - -// Special Character Dialog -DlgSpecialCharTitle : "Enmeti Specialan Signon", - -// Table Dialog -DlgTableTitle : "Atributoj de Tabelo", -DlgTableRows : "Linioj", -DlgTableColumns : "Kolumnoj", -DlgTableBorder : "Bordero", -DlgTableAlign : "Ĝisrandigo", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Maldekstre", -DlgTableAlignCenter : "Centre", -DlgTableAlignRight : "Dekstre", -DlgTableWidth : "Larĝo", -DlgTableWidthPx : "Bitbilderoj", -DlgTableWidthPc : "elcentoj", -DlgTableHeight : "Alto", -DlgTableCellSpace : "Interspacigo de Ĉeloj", -DlgTableCellPad : "Ĉirkaŭenhava Plenigado", -DlgTableCaption : "Titolo", -DlgTableSummary : "Summary", //MISSING - -// Table Cell Dialog -DlgCellTitle : "Atributoj de Celo", -DlgCellWidth : "Larĝo", -DlgCellWidthPx : "bitbilderoj", -DlgCellWidthPc : "elcentoj", -DlgCellHeight : "Alto", -DlgCellWordWrap : "Linifaldo", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Jes", -DlgCellWordWrapNo : "Ne", -DlgCellHorAlign : "Horizonta Ĝisrandigo", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Maldekstre", -DlgCellHorAlignCenter : "Centre", -DlgCellHorAlignRight: "Dekstre", -DlgCellVerAlign : "Vertikala Ĝisrandigo", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Supre", -DlgCellVerAlignMiddle : "Centre", -DlgCellVerAlignBottom : "Malsupre", -DlgCellVerAlignBaseline : "Je Malsupro de Teksto", -DlgCellRowSpan : "Linioj Kunfanditaj", -DlgCellCollSpan : "Kolumnoj Kunfanditaj", -DlgCellBackColor : "Fono", -DlgCellBorderColor : "Bordero", -DlgCellBtnSelect : "Elekti...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "Serĉi", -DlgFindFindBtn : "Serĉi", -DlgFindNotFoundMsg : "La celteksto ne estas trovita.", - -// Replace Dialog -DlgReplaceTitle : "Anstataŭigi", -DlgReplaceFindLbl : "Serĉi:", -DlgReplaceReplaceLbl : "Anstataŭigi per:", -DlgReplaceCaseChk : "Kongruigi Usklecon", -DlgReplaceReplaceBtn : "Anstataŭigi", -DlgReplaceReplAllBtn : "Anstataŭigi Ĉiun", -DlgReplaceWordChk : "Tuta Vorto", - -// Paste Operations / Dialog -PasteErrorCut : "La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (ctrl-X).", -PasteErrorCopy : "La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (ctrl-C).", - -PasteAsText : "Interglui kiel Tekston", -PasteFromWord : "Interglui el Word", - -DlgPasteMsg2 : "Please paste inside the following box using the keyboard (Ctrl+V) and hit OK.", //MISSING -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "Ignore Font Face definitions", //MISSING -DlgPasteRemoveStyles : "Remove Styles definitions", //MISSING - -// Color Picker -ColorAutomatic : "Aŭtomata", -ColorMoreColors : "Pli da Koloroj...", - -// Document Properties -DocProps : "Dokumentaj Atributoj", - -// Anchor Dialog -DlgAnchorTitle : "Ankraj Atributoj", -DlgAnchorName : "Ankra Nomo", -DlgAnchorErrorName : "Bv tajpi la ankran nomon", - -// Speller Pages Dialog -DlgSpellNotInDic : "Ne trovita en la vortaro", -DlgSpellChangeTo : "Ŝanĝi al", -DlgSpellBtnIgnore : "Malatenti", -DlgSpellBtnIgnoreAll : "Malatenti Ĉiun", -DlgSpellBtnReplace : "Anstataŭigi", -DlgSpellBtnReplaceAll : "Anstataŭigi Ĉiun", -DlgSpellBtnUndo : "Malfari", -DlgSpellNoSuggestions : "- Neniu propono -", -DlgSpellProgress : "Literumkontrolado daŭras...", -DlgSpellNoMispell : "Literumkontrolado finita: neniu fuŝo trovita", -DlgSpellNoChanges : "Literumkontrolado finita: neniu vorto ŝanĝita", -DlgSpellOneChange : "Literumkontrolado finita: unu vorto ŝanĝita", -DlgSpellManyChanges : "Literumkontrolado finita: %1 vortoj ŝanĝitaj", - -IeSpellDownload : "Literumada Kontrolilo ne instalita. Ĉu vi volas elŝuti ĝin nun?", - -// Button Dialog -DlgButtonText : "Teksto (Valoro)", -DlgButtonType : "Tipo", -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nomo", -DlgCheckboxValue : "Valoro", -DlgCheckboxSelected : "Elektita", - -// Form Dialog -DlgFormName : "Nomo", -DlgFormAction : "Ago", -DlgFormMethod : "Metodo", - -// Select Field Dialog -DlgSelectName : "Nomo", -DlgSelectValue : "Valoro", -DlgSelectSize : "Grando", -DlgSelectLines : "Linioj", -DlgSelectChkMulti : "Permesi Plurajn Elektojn", -DlgSelectOpAvail : "Elektoj Disponeblaj", -DlgSelectOpText : "Teksto", -DlgSelectOpValue : "Valoro", -DlgSelectBtnAdd : "Aldoni", -DlgSelectBtnModify : "Modifi", -DlgSelectBtnUp : "Supren", -DlgSelectBtnDown : "Malsupren", -DlgSelectBtnSetValue : "Agordi kiel Elektitan Valoron", -DlgSelectBtnDelete : "Forigi", - -// Textarea Dialog -DlgTextareaName : "Nomo", -DlgTextareaCols : "Kolumnoj", -DlgTextareaRows : "Vicoj", - -// Text Field Dialog -DlgTextName : "Nomo", -DlgTextValue : "Valoro", -DlgTextCharWidth : "Signolarĝo", -DlgTextMaxChars : "Maksimuma Nombro da Signoj", -DlgTextType : "Tipo", -DlgTextTypeText : "Teksto", -DlgTextTypePass : "Pasvorto", - -// Hidden Field Dialog -DlgHiddenName : "Nomo", -DlgHiddenValue : "Valoro", - -// Bulleted List Dialog -BulletedListProp : "Atributoj de Bula Listo", -NumberedListProp : "Atributoj de Numera Listo", -DlgLstStart : "Start", //MISSING -DlgLstType : "Tipo", -DlgLstTypeCircle : "Cirklo", -DlgLstTypeDisc : "Disc", //MISSING -DlgLstTypeSquare : "Kvadrato", -DlgLstTypeNumbers : "Ciferoj (1, 2, 3)", -DlgLstTypeLCase : "Minusklaj Literoj (a, b, c)", -DlgLstTypeUCase : "Majusklaj Literoj (A, B, C)", -DlgLstTypeSRoman : "Malgrandaj Romanaj Ciferoj (i, ii, iii)", -DlgLstTypeLRoman : "Grandaj Romanaj Ciferoj (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Ĝeneralaĵoj", -DlgDocBackTab : "Fono", -DlgDocColorsTab : "Koloroj kaj Marĝenoj", -DlgDocMetaTab : "Metadatumoj", - -DlgDocPageTitle : "Paĝotitolo", -DlgDocLangDir : "Skribdirekto de la Lingvo", -DlgDocLangDirLTR : "De maldekstro dekstren (LTR)", -DlgDocLangDirRTL : "De dekstro maldekstren (LTR)", -DlgDocLangCode : "Lingvokodo", -DlgDocCharSet : "Signara Kodo", -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "Alia Signara Kodo", - -DlgDocDocType : "Dokumenta Tipo", -DlgDocDocTypeOther : "Alia Dokumenta Tipo", -DlgDocIncXHTML : "Inkluzivi XHTML Deklaroj", -DlgDocBgColor : "Fona Koloro", -DlgDocBgImage : "URL de Fona Bildo", -DlgDocBgNoScroll : "Neruluma Fono", -DlgDocCText : "Teksto", -DlgDocCLink : "Ligilo", -DlgDocCVisited : "Vizitita Ligilo", -DlgDocCActive : "Aktiva Ligilo", -DlgDocMargins : "Paĝaj Marĝenoj", -DlgDocMaTop : "Supra", -DlgDocMaLeft : "Maldekstra", -DlgDocMaRight : "Dekstra", -DlgDocMaBottom : "Malsupra", -DlgDocMeIndex : "Ŝlosilvortoj de la Dokumento (apartigita de komoj)", -DlgDocMeDescr : "Dokumenta Priskribo", -DlgDocMeAuthor : "Verkinto", -DlgDocMeCopy : "Kopirajto", -DlgDocPreview : "Aspekto", - -// Templates Dialog -Templates : "Templates", //MISSING -DlgTemplatesTitle : "Content Templates", //MISSING -DlgTemplatesSelMsg : "Please select the template to open in the editor
    (the actual contents will be lost):", //MISSING -DlgTemplatesLoading : "Loading templates list. Please wait...", //MISSING -DlgTemplatesNoTpl : "(No templates defined)", //MISSING -DlgTemplatesReplace : "Replace actual contents", //MISSING - -// About Dialog -DlgAboutAboutTab : "Pri", -DlgAboutBrowserInfoTab : "Informoj pri TTT-legilo", -DlgAboutLicenseTab : "License", //MISSING -DlgAboutVersion : "versio", -DlgAboutInfo : "Por pli da informoj, vizitu", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/es.js b/include/fckeditor/editor/lang/es.js deleted file mode 100644 index c6f655a23..000000000 --- a/include/fckeditor/editor/lang/es.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Spanish language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Contraer Barra", -ToolbarExpand : "Expandir Barra", - -// Toolbar Items and Context Menu -Save : "Guardar", -NewPage : "Nueva Página", -Preview : "Vista Previa", -Cut : "Cortar", -Copy : "Copiar", -Paste : "Pegar", -PasteText : "Pegar como texto plano", -PasteWord : "Pegar desde Word", -Print : "Imprimir", -SelectAll : "Seleccionar Todo", -RemoveFormat : "Eliminar Formato", -InsertLinkLbl : "Vínculo", -InsertLink : "Insertar/Editar Vínculo", -RemoveLink : "Eliminar Vínculo", -VisitLink : "Abrir enlace", -Anchor : "Referencia", -AnchorDelete : "Eliminar Referencia", -InsertImageLbl : "Imagen", -InsertImage : "Insertar/Editar Imagen", -InsertFlashLbl : "Flash", -InsertFlash : "Insertar/Editar Flash", -InsertTableLbl : "Tabla", -InsertTable : "Insertar/Editar Tabla", -InsertLineLbl : "Línea", -InsertLine : "Insertar Línea Horizontal", -InsertSpecialCharLbl: "Caracter Especial", -InsertSpecialChar : "Insertar Caracter Especial", -InsertSmileyLbl : "Emoticons", -InsertSmiley : "Insertar Emoticons", -About : "Acerca de FCKeditor", -Bold : "Negrita", -Italic : "Cursiva", -Underline : "Subrayado", -StrikeThrough : "Tachado", -Subscript : "Subíndice", -Superscript : "Superíndice", -LeftJustify : "Alinear a Izquierda", -CenterJustify : "Centrar", -RightJustify : "Alinear a Derecha", -BlockJustify : "Justificado", -DecreaseIndent : "Disminuir Sangría", -IncreaseIndent : "Aumentar Sangría", -Blockquote : "Cita", -CreateDiv : "Crear contenedor (div)", -EditDiv : "Editar contenedor (div)", -DeleteDiv : "Eliminar contenedor (div)", -Undo : "Deshacer", -Redo : "Rehacer", -NumberedListLbl : "Numeración", -NumberedList : "Insertar/Eliminar Numeración", -BulletedListLbl : "Viñetas", -BulletedList : "Insertar/Eliminar Viñetas", -ShowTableBorders : "Mostrar Bordes de Tablas", -ShowDetails : "Mostrar saltos de Párrafo", -Style : "Estilo", -FontFormat : "Formato", -Font : "Fuente", -FontSize : "Tamaño", -TextColor : "Color de Texto", -BGColor : "Color de Fondo", -Source : "Fuente HTML", -Find : "Buscar", -Replace : "Reemplazar", -SpellCheck : "Ortografía", -UniversalKeyboard : "Teclado Universal", -PageBreakLbl : "Salto de Página", -PageBreak : "Insertar Salto de Página", - -Form : "Formulario", -Checkbox : "Casilla de Verificación", -RadioButton : "Botones de Radio", -TextField : "Campo de Texto", -Textarea : "Area de Texto", -HiddenField : "Campo Oculto", -Button : "Botón", -SelectionField : "Campo de Selección", -ImageButton : "Botón Imagen", - -FitWindow : "Maximizar el tamaño del editor", -ShowBlocks : "Mostrar bloques", - -// Context Menu -EditLink : "Editar Vínculo", -CellCM : "Celda", -RowCM : "Fila", -ColumnCM : "Columna", -InsertRowAfter : "Insertar fila en la parte inferior", -InsertRowBefore : "Insertar fila en la parte superior", -DeleteRows : "Eliminar Filas", -InsertColumnAfter : "Insertar columna a la derecha", -InsertColumnBefore : "Insertar columna a la izquierda", -DeleteColumns : "Eliminar Columnas", -InsertCellAfter : "Insertar celda a la derecha", -InsertCellBefore : "Insertar celda a la izquierda", -DeleteCells : "Eliminar Celdas", -MergeCells : "Combinar Celdas", -MergeRight : "Combinar a la derecha", -MergeDown : "Combinar hacia abajo", -HorizontalSplitCell : "Dividir la celda horizontalmente", -VerticalSplitCell : "Dividir la celda verticalmente", -TableDelete : "Eliminar Tabla", -CellProperties : "Propiedades de Celda", -TableProperties : "Propiedades de Tabla", -ImageProperties : "Propiedades de Imagen", -FlashProperties : "Propiedades de Flash", - -AnchorProp : "Propiedades de Referencia", -ButtonProp : "Propiedades de Botón", -CheckboxProp : "Propiedades de Casilla", -HiddenFieldProp : "Propiedades de Campo Oculto", -RadioButtonProp : "Propiedades de Botón de Radio", -ImageButtonProp : "Propiedades de Botón de Imagen", -TextFieldProp : "Propiedades de Campo de Texto", -SelectionFieldProp : "Propiedades de Campo de Selección", -TextareaProp : "Propiedades de Area de Texto", -FormProp : "Propiedades de Formulario", - -FontFormats : "Normal;Con formato;Dirección;Encabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Procesando XHTML. Por favor, espere...", -Done : "Hecho", -PasteWordConfirm : "El texto que desea parece provenir de Word. Desea depurarlo antes de pegarlo?", -NotCompatiblePaste : "Este comando está disponible sólo para Internet Explorer version 5.5 or superior. Desea pegar sin depurar?", -UnknownToolbarItem : "Item de barra desconocido \"%1\"", -UnknownCommand : "Nombre de comando desconocido \"%1\"", -NotImplemented : "Comando no implementado", -UnknownToolbarSet : "Nombre de barra \"%1\" no definido", -NoActiveX : "La configuración de las opciones de seguridad de su navegador puede estar limitando algunas características del editor. Por favor active la opción \"Ejecutar controles y complementos de ActiveX \", de lo contrario puede experimentar errores o ausencia de funcionalidades.", -BrowseServerBlocked : "La ventana de visualización del servidor no pudo ser abierta. Verifique que su navegador no esté bloqueando las ventanas emergentes (pop up).", -DialogBlocked : "No se ha podido abrir la ventana de diálogo. Verifique que su navegador no esté bloqueando las ventanas emergentes (pop up).", -VisitLinkBlocked : "Nose ha podido abrir la ventana. Asegurese de que todos los bloqueadores de popups están deshabilitados.", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Cancelar", -DlgBtnClose : "Cerrar", -DlgBtnBrowseServer : "Ver Servidor", -DlgAdvancedTag : "Avanzado", -DlgOpOther : "", -DlgInfoTab : "Información", -DlgAlertUrl : "Inserte el URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Orientación", -DlgGenLangDirLtr : "Izquierda a Derecha (LTR)", -DlgGenLangDirRtl : "Derecha a Izquierda (RTL)", -DlgGenLangCode : "Cód. de idioma", -DlgGenAccessKey : "Clave de Acceso", -DlgGenName : "Nombre", -DlgGenTabIndex : "Indice de tabulación", -DlgGenLongDescr : "Descripción larga URL", -DlgGenClass : "Clases de hojas de estilo", -DlgGenTitle : "Título", -DlgGenContType : "Tipo de Contenido", -DlgGenLinkCharset : "Fuente de caracteres vinculado", -DlgGenStyle : "Estilo", - -// Image Dialog -DlgImgTitle : "Propiedades de Imagen", -DlgImgInfoTab : "Información de Imagen", -DlgImgBtnUpload : "Enviar al Servidor", -DlgImgURL : "URL", -DlgImgUpload : "Cargar", -DlgImgAlt : "Texto Alternativo", -DlgImgWidth : "Anchura", -DlgImgHeight : "Altura", -DlgImgLockRatio : "Proporcional", -DlgBtnResetSize : "Tamaño Original", -DlgImgBorder : "Borde", -DlgImgHSpace : "Esp.Horiz", -DlgImgVSpace : "Esp.Vert", -DlgImgAlign : "Alineación", -DlgImgAlignLeft : "Izquierda", -DlgImgAlignAbsBottom: "Abs inferior", -DlgImgAlignAbsMiddle: "Abs centro", -DlgImgAlignBaseline : "Línea de base", -DlgImgAlignBottom : "Pie", -DlgImgAlignMiddle : "Centro", -DlgImgAlignRight : "Derecha", -DlgImgAlignTextTop : "Tope del texto", -DlgImgAlignTop : "Tope", -DlgImgPreview : "Vista Previa", -DlgImgAlertUrl : "Por favor escriba la URL de la imagen", -DlgImgLinkTab : "Vínculo", - -// Flash Dialog -DlgFlashTitle : "Propiedades de Flash", -DlgFlashChkPlay : "Autoejecución", -DlgFlashChkLoop : "Repetir", -DlgFlashChkMenu : "Activar Menú Flash", -DlgFlashScale : "Escala", -DlgFlashScaleAll : "Mostrar todo", -DlgFlashScaleNoBorder : "Sin Borde", -DlgFlashScaleFit : "Ajustado", - -// Link Dialog -DlgLnkWindowTitle : "Vínculo", -DlgLnkInfoTab : "Información de Vínculo", -DlgLnkTargetTab : "Destino", - -DlgLnkType : "Tipo de vínculo", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Referencia en esta página", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocolo", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Seleccionar una referencia", -DlgLnkAnchorByName : "Por Nombre de Referencia", -DlgLnkAnchorById : "Por ID de elemento", -DlgLnkNoAnchors : "(No hay referencias disponibles en el documento)", -DlgLnkEMail : "Dirección de E-Mail", -DlgLnkEMailSubject : "Título del Mensaje", -DlgLnkEMailBody : "Cuerpo del Mensaje", -DlgLnkUpload : "Cargar", -DlgLnkBtnUpload : "Enviar al Servidor", - -DlgLnkTarget : "Destino", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nueva Ventana(_blank)", -DlgLnkTargetParent : "Ventana Padre (_parent)", -DlgLnkTargetSelf : "Misma Ventana (_self)", -DlgLnkTargetTop : "Ventana primaria (_top)", -DlgLnkTargetFrameName : "Nombre del Marco Destino", -DlgLnkPopWinName : "Nombre de Ventana Emergente", -DlgLnkPopWinFeat : "Características de Ventana Emergente", -DlgLnkPopResize : "Ajustable", -DlgLnkPopLocation : "Barra de ubicación", -DlgLnkPopMenu : "Barra de Menú", -DlgLnkPopScroll : "Barras de desplazamiento", -DlgLnkPopStatus : "Barra de Estado", -DlgLnkPopToolbar : "Barra de Herramientas", -DlgLnkPopFullScrn : "Pantalla Completa (IE)", -DlgLnkPopDependent : "Dependiente (Netscape)", -DlgLnkPopWidth : "Anchura", -DlgLnkPopHeight : "Altura", -DlgLnkPopLeft : "Posición Izquierda", -DlgLnkPopTop : "Posición Derecha", - -DlnLnkMsgNoUrl : "Por favor tipee el vínculo URL", -DlnLnkMsgNoEMail : "Por favor tipee la dirección de e-mail", -DlnLnkMsgNoAnchor : "Por favor seleccione una referencia", -DlnLnkMsgInvPopName : "El nombre debe empezar con un caracter alfanumérico y no debe contener espacios", - -// Color Dialog -DlgColorTitle : "Seleccionar Color", -DlgColorBtnClear : "Ninguno", -DlgColorHighlight : "Resaltado", -DlgColorSelected : "Seleccionado", - -// Smiley Dialog -DlgSmileyTitle : "Insertar un Emoticon", - -// Special Character Dialog -DlgSpecialCharTitle : "Seleccione un caracter especial", - -// Table Dialog -DlgTableTitle : "Propiedades de Tabla", -DlgTableRows : "Filas", -DlgTableColumns : "Columnas", -DlgTableBorder : "Tamaño de Borde", -DlgTableAlign : "Alineación", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Izquierda", -DlgTableAlignCenter : "Centrado", -DlgTableAlignRight : "Derecha", -DlgTableWidth : "Anchura", -DlgTableWidthPx : "pixeles", -DlgTableWidthPc : "porcentaje", -DlgTableHeight : "Altura", -DlgTableCellSpace : "Esp. e/celdas", -DlgTableCellPad : "Esp. interior", -DlgTableCaption : "Título", -DlgTableSummary : "Síntesis", - -// Table Cell Dialog -DlgCellTitle : "Propiedades de Celda", -DlgCellWidth : "Anchura", -DlgCellWidthPx : "pixeles", -DlgCellWidthPc : "porcentaje", -DlgCellHeight : "Altura", -DlgCellWordWrap : "Cortar Línea", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Si", -DlgCellWordWrapNo : "No", -DlgCellHorAlign : "Alineación Horizontal", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Izquierda", -DlgCellHorAlignCenter : "Centrado", -DlgCellHorAlignRight: "Derecha", -DlgCellVerAlign : "Alineación Vertical", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Tope", -DlgCellVerAlignMiddle : "Medio", -DlgCellVerAlignBottom : "ie", -DlgCellVerAlignBaseline : "Línea de Base", -DlgCellRowSpan : "Abarcar Filas", -DlgCellCollSpan : "Abarcar Columnas", -DlgCellBackColor : "Color de Fondo", -DlgCellBorderColor : "Color de Borde", -DlgCellBtnSelect : "Seleccione...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Buscar y Reemplazar", - -// Find Dialog -DlgFindTitle : "Buscar", -DlgFindFindBtn : "Buscar", -DlgFindNotFoundMsg : "El texto especificado no ha sido encontrado.", - -// Replace Dialog -DlgReplaceTitle : "Reemplazar", -DlgReplaceFindLbl : "Texto a buscar:", -DlgReplaceReplaceLbl : "Reemplazar con:", -DlgReplaceCaseChk : "Coincidir may/min", -DlgReplaceReplaceBtn : "Reemplazar", -DlgReplaceReplAllBtn : "Reemplazar Todo", -DlgReplaceWordChk : "Coincidir toda la palabra", - -// Paste Operations / Dialog -PasteErrorCut : "La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado. Por favor use el teclado (Ctrl+X).", -PasteErrorCopy : "La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de copiado. Por favor use el teclado (Ctrl+C).", - -PasteAsText : "Pegar como Texto Plano", -PasteFromWord : "Pegar desde Word", - -DlgPasteMsg2 : "Por favor pegue dentro del cuadro utilizando el teclado (Ctrl+V); luego presione OK.", -DlgPasteSec : "Debido a la configuración de seguridad de su navegador, el editor no tiene acceso al portapapeles. Es necesario que lo pegue de nuevo en esta ventana.", -DlgPasteIgnoreFont : "Ignorar definiciones de fuentes", -DlgPasteRemoveStyles : "Remover definiciones de estilo", - -// Color Picker -ColorAutomatic : "Automático", -ColorMoreColors : "Más Colores...", - -// Document Properties -DocProps : "Propiedades del Documento", - -// Anchor Dialog -DlgAnchorTitle : "Propiedades de la Referencia", -DlgAnchorName : "Nombre de la Referencia", -DlgAnchorErrorName : "Por favor, complete el nombre de la Referencia", - -// Speller Pages Dialog -DlgSpellNotInDic : "No se encuentra en el Diccionario", -DlgSpellChangeTo : "Cambiar a", -DlgSpellBtnIgnore : "Ignorar", -DlgSpellBtnIgnoreAll : "Ignorar Todo", -DlgSpellBtnReplace : "Reemplazar", -DlgSpellBtnReplaceAll : "Reemplazar Todo", -DlgSpellBtnUndo : "Deshacer", -DlgSpellNoSuggestions : "- No hay sugerencias -", -DlgSpellProgress : "Control de Ortografía en progreso...", -DlgSpellNoMispell : "Control finalizado: no se encontraron errores", -DlgSpellNoChanges : "Control finalizado: no se ha cambiado ninguna palabra", -DlgSpellOneChange : "Control finalizado: se ha cambiado una palabra", -DlgSpellManyChanges : "Control finalizado: se ha cambiado %1 palabras", - -IeSpellDownload : "Módulo de Control de Ortografía no instalado. ¿Desea descargarlo ahora?", - -// Button Dialog -DlgButtonText : "Texto (Valor)", -DlgButtonType : "Tipo", -DlgButtonTypeBtn : "Boton", -DlgButtonTypeSbm : "Enviar", -DlgButtonTypeRst : "Reestablecer", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nombre", -DlgCheckboxValue : "Valor", -DlgCheckboxSelected : "Seleccionado", - -// Form Dialog -DlgFormName : "Nombre", -DlgFormAction : "Acción", -DlgFormMethod : "Método", - -// Select Field Dialog -DlgSelectName : "Nombre", -DlgSelectValue : "Valor", -DlgSelectSize : "Tamaño", -DlgSelectLines : "Lineas", -DlgSelectChkMulti : "Permitir múltiple selección", -DlgSelectOpAvail : "Opciones disponibles", -DlgSelectOpText : "Texto", -DlgSelectOpValue : "Valor", -DlgSelectBtnAdd : "Agregar", -DlgSelectBtnModify : "Modificar", -DlgSelectBtnUp : "Subir", -DlgSelectBtnDown : "Bajar", -DlgSelectBtnSetValue : "Establecer como predeterminado", -DlgSelectBtnDelete : "Eliminar", - -// Textarea Dialog -DlgTextareaName : "Nombre", -DlgTextareaCols : "Columnas", -DlgTextareaRows : "Filas", - -// Text Field Dialog -DlgTextName : "Nombre", -DlgTextValue : "Valor", -DlgTextCharWidth : "Caracteres de ancho", -DlgTextMaxChars : "Máximo caracteres", -DlgTextType : "Tipo", -DlgTextTypeText : "Texto", -DlgTextTypePass : "Contraseña", - -// Hidden Field Dialog -DlgHiddenName : "Nombre", -DlgHiddenValue : "Valor", - -// Bulleted List Dialog -BulletedListProp : "Propiedades de Viñetas", -NumberedListProp : "Propiedades de Numeraciones", -DlgLstStart : "Inicio", -DlgLstType : "Tipo", -DlgLstTypeCircle : "Círculo", -DlgLstTypeDisc : "Disco", -DlgLstTypeSquare : "Cuadrado", -DlgLstTypeNumbers : "Números (1, 2, 3)", -DlgLstTypeLCase : "letras en minúsculas (a, b, c)", -DlgLstTypeUCase : "letras en mayúsculas (A, B, C)", -DlgLstTypeSRoman : "Números Romanos (i, ii, iii)", -DlgLstTypeLRoman : "Números Romanos (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "General", -DlgDocBackTab : "Fondo", -DlgDocColorsTab : "Colores y Márgenes", -DlgDocMetaTab : "Meta Información", - -DlgDocPageTitle : "Título de Página", -DlgDocLangDir : "Orientación de idioma", -DlgDocLangDirLTR : "Izq. a Derecha (LTR)", -DlgDocLangDirRTL : "Der. a Izquierda (RTL)", -DlgDocLangCode : "Código de Idioma", -DlgDocCharSet : "Codif. de Conjunto de Caracteres", -DlgDocCharSetCE : "Centro Europeo", -DlgDocCharSetCT : "Chino Tradicional (Big5)", -DlgDocCharSetCR : "Cirílico", -DlgDocCharSetGR : "Griego", -DlgDocCharSetJP : "Japonés", -DlgDocCharSetKR : "Coreano", -DlgDocCharSetTR : "Turco", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Europeo occidental", -DlgDocCharSetOther : "Otra Codificación", - -DlgDocDocType : "Encabezado de Tipo de Documento", -DlgDocDocTypeOther : "Otro Encabezado", -DlgDocIncXHTML : "Incluir Declaraciones XHTML", -DlgDocBgColor : "Color de Fondo", -DlgDocBgImage : "URL de Imagen de Fondo", -DlgDocBgNoScroll : "Fondo sin rolido", -DlgDocCText : "Texto", -DlgDocCLink : "Vínculo", -DlgDocCVisited : "Vínculo Visitado", -DlgDocCActive : "Vínculo Activo", -DlgDocMargins : "Márgenes de Página", -DlgDocMaTop : "Tope", -DlgDocMaLeft : "Izquierda", -DlgDocMaRight : "Derecha", -DlgDocMaBottom : "Pie", -DlgDocMeIndex : "Claves de indexación del Documento (separados por comas)", -DlgDocMeDescr : "Descripción del Documento", -DlgDocMeAuthor : "Autor", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Vista Previa", - -// Templates Dialog -Templates : "Plantillas", -DlgTemplatesTitle : "Contenido de Plantillas", -DlgTemplatesSelMsg : "Por favor selecciona la plantilla a abrir en el editor
    (el contenido actual se perderá):", -DlgTemplatesLoading : "Cargando lista de Plantillas. Por favor, aguarde...", -DlgTemplatesNoTpl : "(No hay plantillas definidas)", -DlgTemplatesReplace : "Reemplazar el contenido actual", - -// About Dialog -DlgAboutAboutTab : "Acerca de", -DlgAboutBrowserInfoTab : "Información de Navegador", -DlgAboutLicenseTab : "Licencia", -DlgAboutVersion : "versión", -DlgAboutInfo : "Para mayor información por favor dirigirse a", - -// Div Dialog -DlgDivGeneralTab : "General", -DlgDivAdvancedTab : "Avanzado", -DlgDivStyle : "Estilo", -DlgDivInlineStyle : "Estilos CSS" -}; diff --git a/include/fckeditor/editor/lang/et.js b/include/fckeditor/editor/lang/et.js deleted file mode 100644 index 8c9d5ff44..000000000 --- a/include/fckeditor/editor/lang/et.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Estonian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Voldi tööriistariba", -ToolbarExpand : "Laienda tööriistariba", - -// Toolbar Items and Context Menu -Save : "Salvesta", -NewPage : "Uus leht", -Preview : "Eelvaade", -Cut : "Lõika", -Copy : "Kopeeri", -Paste : "Kleebi", -PasteText : "Kleebi tavalise tekstina", -PasteWord : "Kleebi Wordist", -Print : "Prindi", -SelectAll : "Vali kõik", -RemoveFormat : "Eemalda vorming", -InsertLinkLbl : "Link", -InsertLink : "Sisesta link / Muuda linki", -RemoveLink : "Eemalda link", -VisitLink : "Open Link", //MISSING -Anchor : "Sisesta ankur / Muuda ankrut", -AnchorDelete : "Eemalda ankur", -InsertImageLbl : "Pilt", -InsertImage : "Sisesta pilt / Muuda pilti", -InsertFlashLbl : "Flash", -InsertFlash : "Sisesta flash / Muuda flashi", -InsertTableLbl : "Tabel", -InsertTable : "Sisesta tabel / Muuda tabelit", -InsertLineLbl : "Joon", -InsertLine : "Sisesta horisontaaljoon", -InsertSpecialCharLbl: "Erimärgid", -InsertSpecialChar : "Sisesta erimärk", -InsertSmileyLbl : "Emotikon", -InsertSmiley : "Sisesta emotikon", -About : "FCKeditor teave", -Bold : "Paks", -Italic : "Kursiiv", -Underline : "Allajoonitud", -StrikeThrough : "Läbijoonitud", -Subscript : "Allindeks", -Superscript : "Ülaindeks", -LeftJustify : "Vasakjoondus", -CenterJustify : "Keskjoondus", -RightJustify : "Paremjoondus", -BlockJustify : "Rööpjoondus", -DecreaseIndent : "Vähenda taanet", -IncreaseIndent : "Suurenda taanet", -Blockquote : "Blokktsitaat", -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Võta tagasi", -Redo : "Korda toimingut", -NumberedListLbl : "Nummerdatud loetelu", -NumberedList : "Sisesta/Eemalda nummerdatud loetelu", -BulletedListLbl : "Punktiseeritud loetelu", -BulletedList : "Sisesta/Eemalda punktiseeritud loetelu", -ShowTableBorders : "Näita tabeli jooni", -ShowDetails : "Näita üksikasju", -Style : "Laad", -FontFormat : "Vorming", -Font : "Kiri", -FontSize : "Suurus", -TextColor : "Teksti värv", -BGColor : "Tausta värv", -Source : "Lähtekood", -Find : "Otsi", -Replace : "Asenda", -SpellCheck : "Kontrolli õigekirja", -UniversalKeyboard : "Universaalne klaviatuur", -PageBreakLbl : "Lehepiir", -PageBreak : "Sisesta lehevahetuskoht", - -Form : "Vorm", -Checkbox : "Märkeruut", -RadioButton : "Raadionupp", -TextField : "Tekstilahter", -Textarea : "Tekstiala", -HiddenField : "Varjatud lahter", -Button : "Nupp", -SelectionField : "Valiklahter", -ImageButton : "Piltnupp", - -FitWindow : "Maksimeeri redaktori mõõtmed", -ShowBlocks : "Näita blokke", - -// Context Menu -EditLink : "Muuda linki", -CellCM : "Lahter", -RowCM : "Rida", -ColumnCM : "Veerg", -InsertRowAfter : "Sisesta rida peale", -InsertRowBefore : "Sisesta rida enne", -DeleteRows : "Eemalda read", -InsertColumnAfter : "Sisesta veerg peale", -InsertColumnBefore : "Sisesta veerg enne", -DeleteColumns : "Eemalda veerud", -InsertCellAfter : "Sisesta lahter peale", -InsertCellBefore : "Sisesta lahter enne", -DeleteCells : "Eemalda lahtrid", -MergeCells : "Ühenda lahtrid", -MergeRight : "Ühenda paremale", -MergeDown : "Ühenda alla", -HorizontalSplitCell : "Poolita lahter horisontaalselt", -VerticalSplitCell : "Poolita lahter vertikaalselt", -TableDelete : "Kustuta tabel", -CellProperties : "Lahtri atribuudid", -TableProperties : "Tabeli atribuudid", -ImageProperties : "Pildi atribuudid", -FlashProperties : "Flash omadused", - -AnchorProp : "Ankru omadused", -ButtonProp : "Nupu omadused", -CheckboxProp : "Märkeruudu omadused", -HiddenFieldProp : "Varjatud lahtri omadused", -RadioButtonProp : "Raadionupu omadused", -ImageButtonProp : "Piltnupu omadused", -TextFieldProp : "Tekstilahtri omadused", -SelectionFieldProp : "Valiklahtri omadused", -TextareaProp : "Tekstiala omadused", -FormProp : "Vormi omadused", - -FontFormats : "Tavaline;Vormindatud;Aadress;Pealkiri 1;Pealkiri 2;Pealkiri 3;Pealkiri 4;Pealkiri 5;Pealkiri 6;Tavaline (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Töötlen XHTML'i. Palun oota...", -Done : "Tehtud", -PasteWordConfirm : "Tekst, mida soovid lisada paistab pärinevat Word'ist. Kas soovid seda enne kleepimist puhastada?", -NotCompatiblePaste : "See käsk on saadaval ainult Internet Explorer versioon 5.5 või uuema puhul. Kas soovid kleepida ilma puhastamata?", -UnknownToolbarItem : "Tundmatu tööriistarea üksus \"%1\"", -UnknownCommand : "Tundmatu käsunimi \"%1\"", -NotImplemented : "Käsku ei täidetud", -UnknownToolbarSet : "Tööriistariba \"%1\" ei eksisteeri", -NoActiveX : "Sinu veebisirvija turvalisuse seaded võivad limiteerida mõningaid tekstirdaktori kasutusvõimalusi. Sa peaksid võimaldama valiku \"Run ActiveX controls and plug-ins\" oma veebisirvija seadetes. Muidu võid sa täheldada vigu tekstiredaktori töös ja märgata puuduvaid funktsioone.", -BrowseServerBlocked : "Ressursside sirvija avamine ebaõnnestus. Võimalda pop-up akende avanemine.", -DialogBlocked : "Ei olenud võimalik avada dialoogi akent. Võimalda pop-up akende avanemine.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Loobu", -DlgBtnClose : "Sulge", -DlgBtnBrowseServer : "Sirvi serverit", -DlgAdvancedTag : "Täpsemalt", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Palun sisesta URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Keele suund", -DlgGenLangDirLtr : "Vasakult paremale (LTR)", -DlgGenLangDirRtl : "Paremalt vasakule (RTL)", -DlgGenLangCode : "Keele kood", -DlgGenAccessKey : "Juurdepääsu võti", -DlgGenName : "Nimi", -DlgGenTabIndex : "Tab indeks", -DlgGenLongDescr : "Pikk kirjeldus URL", -DlgGenClass : "Stiilistiku klassid", -DlgGenTitle : "Juhendav tiitel", -DlgGenContType : "Juhendava sisu tüüp", -DlgGenLinkCharset : "Lingitud ressurssi märgistik", -DlgGenStyle : "Laad", - -// Image Dialog -DlgImgTitle : "Pildi atribuudid", -DlgImgInfoTab : "Pildi info", -DlgImgBtnUpload : "Saada serverissee", -DlgImgURL : "URL", -DlgImgUpload : "Lae üles", -DlgImgAlt : "Alternatiivne tekst", -DlgImgWidth : "Laius", -DlgImgHeight : "Kõrgus", -DlgImgLockRatio : "Lukusta kuvasuhe", -DlgBtnResetSize : "Lähtesta suurus", -DlgImgBorder : "Joon", -DlgImgHSpace : "H. vaheruum", -DlgImgVSpace : "V. vaheruum", -DlgImgAlign : "Joondus", -DlgImgAlignLeft : "Vasak", -DlgImgAlignAbsBottom: "Abs alla", -DlgImgAlignAbsMiddle: "Abs keskele", -DlgImgAlignBaseline : "Baasjoonele", -DlgImgAlignBottom : "Alla", -DlgImgAlignMiddle : "Keskele", -DlgImgAlignRight : "Paremale", -DlgImgAlignTextTop : "Tekstit üles", -DlgImgAlignTop : "Üles", -DlgImgPreview : "Eelvaade", -DlgImgAlertUrl : "Palun kirjuta pildi URL", -DlgImgLinkTab : "Link", - -// Flash Dialog -DlgFlashTitle : "Flash omadused", -DlgFlashChkPlay : "Automaatne start ", -DlgFlashChkLoop : "Korduv", -DlgFlashChkMenu : "Võimalda flash menüü", -DlgFlashScale : "Mastaap", -DlgFlashScaleAll : "Näita kõike", -DlgFlashScaleNoBorder : "Äärist ei ole", -DlgFlashScaleFit : "Täpne sobivus", - -// Link Dialog -DlgLnkWindowTitle : "Link", -DlgLnkInfoTab : "Lingi info", -DlgLnkTargetTab : "Sihtkoht", - -DlgLnkType : "Lingi tüüp", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Ankur sellel lehel", -DlgLnkTypeEMail : "E-post", -DlgLnkProto : "Protokoll", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Vali ankur", -DlgLnkAnchorByName : "Ankru nime järgi", -DlgLnkAnchorById : "Elemendi id järgi", -DlgLnkNoAnchors : "(Selles dokumendis ei ole ankruid)", -DlgLnkEMail : "E-posti aadress", -DlgLnkEMailSubject : "Sõnumi teema", -DlgLnkEMailBody : "Sõnumi tekst", -DlgLnkUpload : "Lae üles", -DlgLnkBtnUpload : "Saada serverisse", - -DlgLnkTarget : "Sihtkoht", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Uus aken (_blank)", -DlgLnkTargetParent : "Esivanem aken (_parent)", -DlgLnkTargetSelf : "Sama aken (_self)", -DlgLnkTargetTop : "Pealmine aken (_top)", -DlgLnkTargetFrameName : "Sihtmärk raami nimi", -DlgLnkPopWinName : "Hüpikakna nimi", -DlgLnkPopWinFeat : "Hüpikakna omadused", -DlgLnkPopResize : "Suurendatav", -DlgLnkPopLocation : "Aadressiriba", -DlgLnkPopMenu : "Menüüriba", -DlgLnkPopScroll : "Kerimisribad", -DlgLnkPopStatus : "Olekuriba", -DlgLnkPopToolbar : "Tööriistariba", -DlgLnkPopFullScrn : "Täisekraan (IE)", -DlgLnkPopDependent : "Sõltuv (Netscape)", -DlgLnkPopWidth : "Laius", -DlgLnkPopHeight : "Kõrgus", -DlgLnkPopLeft : "Vasak asukoht", -DlgLnkPopTop : "Ülemine asukoht", - -DlnLnkMsgNoUrl : "Palun kirjuta lingi URL", -DlnLnkMsgNoEMail : "Palun kirjuta E-Posti aadress", -DlnLnkMsgNoAnchor : "Palun vali ankur", -DlnLnkMsgInvPopName : "Hüpikakna nimi peab algama alfabeetilise tähega ja ei tohi sisaldada tühikuid", - -// Color Dialog -DlgColorTitle : "Vali värv", -DlgColorBtnClear : "Tühjenda", -DlgColorHighlight : "Märgi", -DlgColorSelected : "Valitud", - -// Smiley Dialog -DlgSmileyTitle : "Sisesta emotikon", - -// Special Character Dialog -DlgSpecialCharTitle : "Vali erimärk", - -// Table Dialog -DlgTableTitle : "Tabeli atribuudid", -DlgTableRows : "Read", -DlgTableColumns : "Veerud", -DlgTableBorder : "Joone suurus", -DlgTableAlign : "Joondus", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Vasak", -DlgTableAlignCenter : "Kesk", -DlgTableAlignRight : "Parem", -DlgTableWidth : "Laius", -DlgTableWidthPx : "pikslit", -DlgTableWidthPc : "protsenti", -DlgTableHeight : "Kõrgus", -DlgTableCellSpace : "Lahtri vahe", -DlgTableCellPad : "Lahtri täidis", -DlgTableCaption : "Tabeli tiitel", -DlgTableSummary : "Kokkuvõte", - -// Table Cell Dialog -DlgCellTitle : "Lahtri atribuudid", -DlgCellWidth : "Laius", -DlgCellWidthPx : "pikslit", -DlgCellWidthPc : "protsenti", -DlgCellHeight : "Kõrgus", -DlgCellWordWrap : "Sõna ülekanne", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Jah", -DlgCellWordWrapNo : "Ei", -DlgCellHorAlign : "Horisontaaljoondus", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Vasak", -DlgCellHorAlignCenter : "Kesk", -DlgCellHorAlignRight: "Parem", -DlgCellVerAlign : "Vertikaaljoondus", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Üles", -DlgCellVerAlignMiddle : "Keskele", -DlgCellVerAlignBottom : "Alla", -DlgCellVerAlignBaseline : "Baasjoonele", -DlgCellRowSpan : "Reaulatus", -DlgCellCollSpan : "Veeruulatus", -DlgCellBackColor : "Tausta värv", -DlgCellBorderColor : "Joone värv", -DlgCellBtnSelect : "Vali...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Otsi ja asenda", - -// Find Dialog -DlgFindTitle : "Otsi", -DlgFindFindBtn : "Otsi", -DlgFindNotFoundMsg : "Valitud teksti ei leitud.", - -// Replace Dialog -DlgReplaceTitle : "Asenda", -DlgReplaceFindLbl : "Leia mida:", -DlgReplaceReplaceLbl : "Asenda millega:", -DlgReplaceCaseChk : "Erista suur- ja väiketähti", -DlgReplaceReplaceBtn : "Asenda", -DlgReplaceReplAllBtn : "Asenda kõik", -DlgReplaceWordChk : "Otsi terviklike sõnu", - -// Paste Operations / Dialog -PasteErrorCut : "Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl+X).", -PasteErrorCopy : "Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl+C).", - -PasteAsText : "Kleebi tavalise tekstina", -PasteFromWord : "Kleebi Wordist", - -DlgPasteMsg2 : "Palun kleebi järgnevasse kasti kasutades klaviatuuri klahvikombinatsiooni (Ctrl+V) ja vajuta seejärel OK.", -DlgPasteSec : "Sinu veebisirvija turvaseadete tõttu, ei oma redaktor otsest ligipääsu lõikelaua andmetele. Sa pead kleepima need uuesti siia aknasse.", -DlgPasteIgnoreFont : "Ignoreeri kirja definitsioone", -DlgPasteRemoveStyles : "Eemalda stiilide definitsioonid", - -// Color Picker -ColorAutomatic : "Automaatne", -ColorMoreColors : "Rohkem värve...", - -// Document Properties -DocProps : "Dokumendi omadused", - -// Anchor Dialog -DlgAnchorTitle : "Ankru omadused", -DlgAnchorName : "Ankru nimi", -DlgAnchorErrorName : "Palun sisest ankru nimi", - -// Speller Pages Dialog -DlgSpellNotInDic : "Puudub sõnastikust", -DlgSpellChangeTo : "Muuda", -DlgSpellBtnIgnore : "Ignoreeri", -DlgSpellBtnIgnoreAll : "Ignoreeri kõiki", -DlgSpellBtnReplace : "Asenda", -DlgSpellBtnReplaceAll : "Asenda kõik", -DlgSpellBtnUndo : "Võta tagasi", -DlgSpellNoSuggestions : "- Soovitused puuduvad -", -DlgSpellProgress : "Toimub õigekirja kontroll...", -DlgSpellNoMispell : "Õigekirja kontroll sooritatud: õigekirjuvigu ei leitud", -DlgSpellNoChanges : "Õigekirja kontroll sooritatud: ühtegi sõna ei muudetud", -DlgSpellOneChange : "Õigekirja kontroll sooritatud: üks sõna muudeti", -DlgSpellManyChanges : "Õigekirja kontroll sooritatud: %1 sõna muudetud", - -IeSpellDownload : "Õigekirja kontrollija ei ole installeeritud. Soovid sa selle alla laadida?", - -// Button Dialog -DlgButtonText : "Tekst (väärtus)", -DlgButtonType : "Tüüp", -DlgButtonTypeBtn : "Nupp", -DlgButtonTypeSbm : "Saada", -DlgButtonTypeRst : "Lähtesta", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nimi", -DlgCheckboxValue : "Väärtus", -DlgCheckboxSelected : "Valitud", - -// Form Dialog -DlgFormName : "Nimi", -DlgFormAction : "Toiming", -DlgFormMethod : "Meetod", - -// Select Field Dialog -DlgSelectName : "Nimi", -DlgSelectValue : "Väärtus", -DlgSelectSize : "Suurus", -DlgSelectLines : "ridu", -DlgSelectChkMulti : "Võimalda mitu valikut", -DlgSelectOpAvail : "Võimalikud valikud", -DlgSelectOpText : "Tekst", -DlgSelectOpValue : "Väärtus", -DlgSelectBtnAdd : "Lisa", -DlgSelectBtnModify : "Muuda", -DlgSelectBtnUp : "Üles", -DlgSelectBtnDown : "Alla", -DlgSelectBtnSetValue : "Sea valitud olekuna", -DlgSelectBtnDelete : "Kustuta", - -// Textarea Dialog -DlgTextareaName : "Nimi", -DlgTextareaCols : "Veerge", -DlgTextareaRows : "Ridu", - -// Text Field Dialog -DlgTextName : "Nimi", -DlgTextValue : "Väärtus", -DlgTextCharWidth : "Laius (tähemärkides)", -DlgTextMaxChars : "Maksimaalselt tähemärke", -DlgTextType : "Tüüp", -DlgTextTypeText : "Tekst", -DlgTextTypePass : "Parool", - -// Hidden Field Dialog -DlgHiddenName : "Nimi", -DlgHiddenValue : "Väärtus", - -// Bulleted List Dialog -BulletedListProp : "Täpitud loetelu omadused", -NumberedListProp : "Nummerdatud loetelu omadused", -DlgLstStart : "Alusta", -DlgLstType : "Tüüp", -DlgLstTypeCircle : "Ring", -DlgLstTypeDisc : "Ketas", -DlgLstTypeSquare : "Ruut", -DlgLstTypeNumbers : "Numbrid (1, 2, 3)", -DlgLstTypeLCase : "Väiketähed (a, b, c)", -DlgLstTypeUCase : "Suurtähed (A, B, C)", -DlgLstTypeSRoman : "Väiksed Rooma numbrid (i, ii, iii)", -DlgLstTypeLRoman : "Suured Rooma numbrid (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Üldine", -DlgDocBackTab : "Taust", -DlgDocColorsTab : "Värvid ja veerised", -DlgDocMetaTab : "Meta andmed", - -DlgDocPageTitle : "Lehekülje tiitel", -DlgDocLangDir : "Kirja suund", -DlgDocLangDirLTR : "Vasakult paremale (LTR)", -DlgDocLangDirRTL : "Paremalt vasakule (RTL)", -DlgDocLangCode : "Keele kood", -DlgDocCharSet : "Märgistiku kodeering", -DlgDocCharSetCE : "Kesk-Euroopa", -DlgDocCharSetCT : "Hiina traditsiooniline (Big5)", -DlgDocCharSetCR : "Kirillisa", -DlgDocCharSetGR : "Kreeka", -DlgDocCharSetJP : "Jaapani", -DlgDocCharSetKR : "Korea", -DlgDocCharSetTR : "Türgi", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Lääne-Euroopa", -DlgDocCharSetOther : "Ülejäänud märgistike kodeeringud", - -DlgDocDocType : "Dokumendi tüüppäis", -DlgDocDocTypeOther : "Teised dokumendi tüüppäised", -DlgDocIncXHTML : "Arva kaasa XHTML deklaratsioonid", -DlgDocBgColor : "Taustavärv", -DlgDocBgImage : "Taustapildi URL", -DlgDocBgNoScroll : "Mittekeritav tagataust", -DlgDocCText : "Tekst", -DlgDocCLink : "Link", -DlgDocCVisited : "Külastatud link", -DlgDocCActive : "Aktiivne link", -DlgDocMargins : "Lehekülje äärised", -DlgDocMaTop : "Ülaserv", -DlgDocMaLeft : "Vasakserv", -DlgDocMaRight : "Paremserv", -DlgDocMaBottom : "Alaserv", -DlgDocMeIndex : "Dokumendi võtmesõnad (eraldatud komadega)", -DlgDocMeDescr : "Dokumendi kirjeldus", -DlgDocMeAuthor : "Autor", -DlgDocMeCopy : "Autoriõigus", -DlgDocPreview : "Eelvaade", - -// Templates Dialog -Templates : "Šabloon", -DlgTemplatesTitle : "Sisu šabloonid", -DlgTemplatesSelMsg : "Palun vali šabloon, et avada see redaktoris
    (praegune sisu läheb kaotsi):", -DlgTemplatesLoading : "Laen šabloonide nimekirja. Palun oota...", -DlgTemplatesNoTpl : "(Ühtegi šablooni ei ole defineeritud)", -DlgTemplatesReplace : "Asenda tegelik sisu", - -// About Dialog -DlgAboutAboutTab : "Teave", -DlgAboutBrowserInfoTab : "Veebisirvija info", -DlgAboutLicenseTab : "Litsents", -DlgAboutVersion : "versioon", -DlgAboutInfo : "Täpsema info saamiseks mine", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/eu.js b/include/fckeditor/editor/lang/eu.js deleted file mode 100644 index 2ad6f2666..000000000 --- a/include/fckeditor/editor/lang/eu.js +++ /dev/null @@ -1,527 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Basque language file. - * Euskara hizkuntza fitxategia. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Estutu Tresna Barra", -ToolbarExpand : "Hedatu Tresna Barra", - -// Toolbar Items and Context Menu -Save : "Gorde", -NewPage : "Orrialde Berria", -Preview : "Aurrebista", -Cut : "Ebaki", -Copy : "Kopiatu", -Paste : "Itsatsi", -PasteText : "Itsatsi testu bezala", -PasteWord : "Itsatsi Word-etik", -Print : "Inprimatu", -SelectAll : "Hautatu dena", -RemoveFormat : "Kendu Formatoa", -InsertLinkLbl : "Esteka", -InsertLink : "Txertatu/Editatu Esteka", -RemoveLink : "Kendu Esteka", -VisitLink : "Open Link", //MISSING -Anchor : "Aingura", -AnchorDelete : "Ezabatu Aingura", -InsertImageLbl : "Irudia", -InsertImage : "Txertatu/Editatu Irudia", -InsertFlashLbl : "Flasha", -InsertFlash : "Txertatu/Editatu Flasha", -InsertTableLbl : "Taula", -InsertTable : "Txertatu/Editatu Taula", -InsertLineLbl : "Lerroa", -InsertLine : "Txertatu Marra Horizontala", -InsertSpecialCharLbl: "Karaktere Berezia", -InsertSpecialChar : "Txertatu Karaktere Berezia", -InsertSmileyLbl : "Aurpegierak", -InsertSmiley : "Txertatu Aurpegierak", -About : "FCKeditor-ri buruz", -Bold : "Lodia", -Italic : "Etzana", -Underline : "Azpimarratu", -StrikeThrough : "Marratua", -Subscript : "Azpi-indize", -Superscript : "Goi-indize", -LeftJustify : "Lerrokatu Ezkerrean", -CenterJustify : "Lerrokatu Erdian", -RightJustify : "Lerrokatu Eskuman", -BlockJustify : "Justifikatu", -DecreaseIndent : "Txikitu Koska", -IncreaseIndent : "Handitu Koska", -Blockquote : "Aipamen blokea", -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Desegin", -Redo : "Berregin", -NumberedListLbl : "Zenbakidun Zerrenda", -NumberedList : "Txertatu/Kendu Zenbakidun zerrenda", -BulletedListLbl : "Buletdun Zerrenda", -BulletedList : "Txertatu/Kendu Buletdun zerrenda", -ShowTableBorders : "Erakutsi Taularen Ertzak", -ShowDetails : "Erakutsi Xehetasunak", -Style : "Estiloa", -FontFormat : "Formatoa", -Font : "Letra-tipoa", -FontSize : "Tamaina", -TextColor : "Testu Kolorea", -BGColor : "Atzeko kolorea", -Source : "HTML Iturburua", -Find : "Bilatu", -Replace : "Ordezkatu", -SpellCheck : "Ortografia", -UniversalKeyboard : "Teklatu Unibertsala", -PageBreakLbl : "Orrialde-jauzia", -PageBreak : "Txertatu Orrialde-jauzia", - -Form : "Formularioa", -Checkbox : "Kontrol-laukia", -RadioButton : "Aukera-botoia", -TextField : "Testu Eremua", -Textarea : "Testu-area", -HiddenField : "Ezkutuko Eremua", -Button : "Botoia", -SelectionField : "Hautespen Eremua", -ImageButton : "Irudi Botoia", - -FitWindow : "Maximizatu editorearen tamaina", -ShowBlocks : "Blokeak erakutsi", - -// Context Menu -EditLink : "Aldatu Esteka", -CellCM : "Gelaxka", -RowCM : "Errenkada", -ColumnCM : "Zutabea", -InsertRowAfter : "Txertatu Lerroa Ostean", -InsertRowBefore : "Txertatu Lerroa Aurretik", -DeleteRows : "Ezabatu Errenkadak", -InsertColumnAfter : "Txertatu Zutabea Ostean", -InsertColumnBefore : "Txertatu Zutabea Aurretik", -DeleteColumns : "Ezabatu Zutabeak", -InsertCellAfter : "Txertatu Gelaxka Ostean", -InsertCellBefore : "Txertatu Gelaxka Aurretik", -DeleteCells : "Kendu Gelaxkak", -MergeCells : "Batu Gelaxkak", -MergeRight : "Elkartu Eskumara", -MergeDown : "Elkartu Behera", -HorizontalSplitCell : "Banatu Gelaxkak Horizontalki", -VerticalSplitCell : "Banatu Gelaxkak Bertikalki", -TableDelete : "Ezabatu Taula", -CellProperties : "Gelaxkaren Ezaugarriak", -TableProperties : "Taularen Ezaugarriak", -ImageProperties : "Irudiaren Ezaugarriak", -FlashProperties : "Flasharen Ezaugarriak", - -AnchorProp : "Ainguraren Ezaugarriak", -ButtonProp : "Botoiaren Ezaugarriak", -CheckboxProp : "Kontrol-laukiko Ezaugarriak", -HiddenFieldProp : "Ezkutuko Eremuaren Ezaugarriak", -RadioButtonProp : "Aukera-botoiaren Ezaugarriak", -ImageButtonProp : "Irudi Botoiaren Ezaugarriak", -TextFieldProp : "Testu Eremuaren Ezaugarriak", -SelectionFieldProp : "Hautespen Eremuaren Ezaugarriak", -TextareaProp : "Testu-arearen Ezaugarriak", -FormProp : "Formularioaren Ezaugarriak", - -FontFormats : "Arrunta;Formateatua;Helbidea;Izenburua 1;Izenburua 2;Izenburua 3;Izenburua 4;Izenburua 5;Izenburua 6;Paragrafoa (DIV)", - -// Alerts and Messages -ProcessingXHTML : "XHTML Prozesatzen. Itxaron mesedez...", -Done : "Eginda", -PasteWordConfirm : "Itsatsi nahi duzun textua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?", -NotCompatiblePaste : "Komando hau Internet Explorer 5.5 bertsiorako edo ondorengoentzako erabilgarria dago. Garbitu gabe itsatsi nahi duzu?", -UnknownToolbarItem : "Ataza barrako elementu ezezaguna \"%1\"", -UnknownCommand : "Komando izen ezezaguna \"%1\"", -NotImplemented : "Komando ez inplementatua", -UnknownToolbarSet : "Ataza barra \"%1\" taldea ez da existitzen", -NoActiveX : "Zure nabigatzailearen segustasun hobespenak editore honen zenbait ezaugarri mugatu ditzake. \"ActiveX kontrolak eta plug-inak\" aktibatu beharko zenituzke, bestela erroreak eta ezaugarrietan mugak egon daitezke.", -BrowseServerBlocked : "Baliabideen arakatzailea ezin da ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.", -DialogBlocked : "Ezin da elkarrizketa-leihoa ireki. Ziurtatu popup blokeatzaileak desgaituta dituzula.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "Ados", -DlgBtnCancel : "Utzi", -DlgBtnClose : "Itxi", -DlgBtnBrowseServer : "Zerbitzaria arakatu", -DlgAdvancedTag : "Aurreratua", -DlgOpOther : "", -DlgInfoTab : "Informazioa", -DlgAlertUrl : "Mesedez URLa idatzi ezazu", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Hizkuntzaren Norabidea", -DlgGenLangDirLtr : "Ezkerretik Eskumara(LTR)", -DlgGenLangDirRtl : "Eskumatik Ezkerrera (RTL)", -DlgGenLangCode : "Hizkuntza Kodea", -DlgGenAccessKey : "Sarbide-gakoa", -DlgGenName : "Izena", -DlgGenTabIndex : "Tabulazio Indizea", -DlgGenLongDescr : "URL Deskribapen Luzea", -DlgGenClass : "Estilo-orriko Klaseak", -DlgGenTitle : "Izenburua", -DlgGenContType : "Eduki Mota (Content Type)", -DlgGenLinkCharset : "Estekatutako Karaktere Multzoa", -DlgGenStyle : "Estiloa", - -// Image Dialog -DlgImgTitle : "Irudi Ezaugarriak", -DlgImgInfoTab : "Irudi informazioa", -DlgImgBtnUpload : "Zerbitzarira bidalia", -DlgImgURL : "URL", -DlgImgUpload : "Gora Kargatu", -DlgImgAlt : "Textu Alternatiboa", -DlgImgWidth : "Zabalera", -DlgImgHeight : "Altuera", -DlgImgLockRatio : "Erlazioa Blokeatu", -DlgBtnResetSize : "Tamaina Berrezarri", -DlgImgBorder : "Ertza", -DlgImgHSpace : "HSpace", -DlgImgVSpace : "VSpace", -DlgImgAlign : "Lerrokatu", -DlgImgAlignLeft : "Ezkerrera", -DlgImgAlignAbsBottom: "Abs Behean", -DlgImgAlignAbsMiddle: "Abs Erdian", -DlgImgAlignBaseline : "Oinan", -DlgImgAlignBottom : "Behean", -DlgImgAlignMiddle : "Erdian", -DlgImgAlignRight : "Eskuman", -DlgImgAlignTextTop : "Testua Goian", -DlgImgAlignTop : "Goian", -DlgImgPreview : "Aurrebista", -DlgImgAlertUrl : "Mesedez Irudiaren URLa idatzi", -DlgImgLinkTab : "Esteka", - -// Flash Dialog -DlgFlashTitle : "Flasharen Ezaugarriak", -DlgFlashChkPlay : "Automatikoki Erreproduzitu", -DlgFlashChkLoop : "Begizta", -DlgFlashChkMenu : "Flasharen Menua Gaitu", -DlgFlashScale : "Eskalatu", -DlgFlashScaleAll : "Dena erakutsi", -DlgFlashScaleNoBorder : "Ertzarik gabe", -DlgFlashScaleFit : "Doitu", - -// Link Dialog -DlgLnkWindowTitle : "Esteka", -DlgLnkInfoTab : "Estekaren Informazioa", -DlgLnkTargetTab : "Helburua", - -DlgLnkType : "Esteka Mota", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Aingura horrialde honentan", -DlgLnkTypeEMail : "ePosta", -DlgLnkProto : "Protokoloa", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Aingura bat hautatu", -DlgLnkAnchorByName : "Aingura izenagatik", -DlgLnkAnchorById : "Elementuaren ID-gatik", -DlgLnkNoAnchors : "(Ez daude aingurak eskuragarri dokumentuan)", -DlgLnkEMail : "ePosta Helbidea", -DlgLnkEMailSubject : "Mezuaren Gaia", -DlgLnkEMailBody : "Mezuaren Gorputza", -DlgLnkUpload : "Gora kargatu", -DlgLnkBtnUpload : "Zerbitzarira bidali", - -DlgLnkTarget : "Target (Helburua)", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Lehio Berria (_blank)", -DlgLnkTargetParent : "Lehio Gurasoa (_parent)", -DlgLnkTargetSelf : "Lehio Berdina (_self)", -DlgLnkTargetTop : "Goiko Lehioa (_top)", -DlgLnkTargetFrameName : "Marko Helburuaren Izena", -DlgLnkPopWinName : "Popup Lehioaren Izena", -DlgLnkPopWinFeat : "Popup Lehioaren Ezaugarriak", -DlgLnkPopResize : "Tamaina Aldakorra", -DlgLnkPopLocation : "Kokaleku Barra", -DlgLnkPopMenu : "Menu Barra", -DlgLnkPopScroll : "Korritze Barrak", -DlgLnkPopStatus : "Egoera Barra", -DlgLnkPopToolbar : "Tresna Barra", -DlgLnkPopFullScrn : "Pantaila Osoa (IE)", -DlgLnkPopDependent : "Menpekoa (Netscape)", -DlgLnkPopWidth : "Zabalera", -DlgLnkPopHeight : "Altuera", -DlgLnkPopLeft : "Ezkerreko Posizioa", -DlgLnkPopTop : "Goiko Posizioa", - -DlnLnkMsgNoUrl : "Mesedez URL esteka idatzi", -DlnLnkMsgNoEMail : "Mesedez ePosta helbidea idatzi", -DlnLnkMsgNoAnchor : "Mesedez aingura bat aukeratu", -DlnLnkMsgInvPopName : "Popup lehioaren izenak karaktere alfabetiko batekin hasi behar du eta eta ezin du zuriunerik izan", - -// Color Dialog -DlgColorTitle : "Kolore Aukeraketa", -DlgColorBtnClear : "Garbitu", -DlgColorHighlight : "Nabarmendu", -DlgColorSelected : "Aukeratuta", - -// Smiley Dialog -DlgSmileyTitle : "Aurpegiera Sartu", - -// Special Character Dialog -DlgSpecialCharTitle : "Karaktere Berezia Aukeratu", - -// Table Dialog -DlgTableTitle : "Taularen Ezaugarriak", -DlgTableRows : "Lerroak", -DlgTableColumns : "Zutabeak", -DlgTableBorder : "Ertzaren Zabalera", -DlgTableAlign : "Lerrokatu", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Ezkerrean", -DlgTableAlignCenter : "Erdian", -DlgTableAlignRight : "Eskuman", -DlgTableWidth : "Zabalera", -DlgTableWidthPx : "pixel", -DlgTableWidthPc : "ehuneko", -DlgTableHeight : "Altuera", -DlgTableCellSpace : "Gelaxka arteko tartea", -DlgTableCellPad : "Gelaxken betegarria", -DlgTableCaption : "Epigrafea", -DlgTableSummary : "Laburpena", - -// Table Cell Dialog -DlgCellTitle : "Gelaxken Ezaugarriak", -DlgCellWidth : "Zabalera", -DlgCellWidthPx : "pixel", -DlgCellWidthPc : "ehuneko", -DlgCellHeight : "Altuera", -DlgCellWordWrap : "Itzulbira", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Bai", -DlgCellWordWrapNo : "Ez", -DlgCellHorAlign : "Horizontal Alignment", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Ezkerrean", -DlgCellHorAlignCenter : "Erdian", -DlgCellHorAlignRight: "Eskuman", -DlgCellVerAlign : "Lerrokatu Bertikalki", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Goian", -DlgCellVerAlignMiddle : "Erdian", -DlgCellVerAlignBottom : "Behean", -DlgCellVerAlignBaseline : "Oinan", -DlgCellRowSpan : "Lerroak Hedatu", -DlgCellCollSpan : "Zutabeak Hedatu", -DlgCellBackColor : "Atzeko Kolorea", -DlgCellBorderColor : "Ertzako Kolorea", -DlgCellBtnSelect : "Aukertau...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Bilatu eta Ordeztu", - -// Find Dialog -DlgFindTitle : "Bilaketa", -DlgFindFindBtn : "Bilatu", -DlgFindNotFoundMsg : "Idatzitako testua ez da topatu.", - -// Replace Dialog -DlgReplaceTitle : "Ordeztu", -DlgReplaceFindLbl : "Zer bilatu:", -DlgReplaceReplaceLbl : "Zerekin ordeztu:", -DlgReplaceCaseChk : "Maiuskula/minuskula", -DlgReplaceReplaceBtn : "Ordeztu", -DlgReplaceReplAllBtn : "Ordeztu Guztiak", -DlgReplaceWordChk : "Esaldi osoa bilatu", - -// Paste Operations / Dialog -PasteErrorCut : "Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki moztea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl+X).", -PasteErrorCopy : "Zure web nabigatzailearen segurtasun ezarpenak testuak automatikoki kopiatzea ez dute baimentzen. Mesedez teklatua erabili ezazu (Ctrl+C).", - -PasteAsText : "Testu Arrunta bezala Itsatsi", -PasteFromWord : "Word-etik itsatsi", - -DlgPasteMsg2 : "Mesedez teklatua erabilita (Ctrl+V) ondorego eremuan testua itsatsi eta OK sakatu.", -DlgPasteSec : "Nabigatzailearen segurtasun ezarpenak direla eta, editoreak ezin du arbela zuzenean erabili. Leiho honetan berriro itsatsi behar duzu.", -DlgPasteIgnoreFont : "Letra Motaren definizioa ezikusi", -DlgPasteRemoveStyles : "Estilo definizioak kendu", - -// Color Picker -ColorAutomatic : "Automatikoa", -ColorMoreColors : "Kolore gehiago...", - -// Document Properties -DocProps : "Dokumentuaren Ezarpenak", - -// Anchor Dialog -DlgAnchorTitle : "Ainguraren Ezaugarriak", -DlgAnchorName : "Ainguraren Izena", -DlgAnchorErrorName : "Idatzi ainguraren izena", - -// Speller Pages Dialog -DlgSpellNotInDic : "Ez dago hiztegian", -DlgSpellChangeTo : "Honekin ordezkatu", -DlgSpellBtnIgnore : "Ezikusi", -DlgSpellBtnIgnoreAll : "Denak Ezikusi", -DlgSpellBtnReplace : "Ordezkatu", -DlgSpellBtnReplaceAll : "Denak Ordezkatu", -DlgSpellBtnUndo : "Desegin", -DlgSpellNoSuggestions : "- Iradokizunik ez -", -DlgSpellProgress : "Zuzenketa ortografikoa martxan...", -DlgSpellNoMispell : "Zuzenketa ortografikoa bukatuta: Akatsik ez", -DlgSpellNoChanges : "Zuzenketa ortografikoa bukatuta: Ez da ezer aldatu", -DlgSpellOneChange : "Zuzenketa ortografikoa bukatuta: Hitz bat aldatu da", -DlgSpellManyChanges : "Zuzenketa ortografikoa bukatuta: %1 hitz aldatu dira", - -IeSpellDownload : "Zuzentzaile ortografikoa ez dago instalatuta. Deskargatu nahi duzu?", - -// Button Dialog -DlgButtonText : "Testua (Balorea)", -DlgButtonType : "Mota", -DlgButtonTypeBtn : "Botoia", -DlgButtonTypeSbm : "Bidali", -DlgButtonTypeRst : "Garbitu", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Izena", -DlgCheckboxValue : "Balorea", -DlgCheckboxSelected : "Hautatuta", - -// Form Dialog -DlgFormName : "Izena", -DlgFormAction : "Ekintza", -DlgFormMethod : "Method", - -// Select Field Dialog -DlgSelectName : "Izena", -DlgSelectValue : "Balorea", -DlgSelectSize : "Tamaina", -DlgSelectLines : "lerro kopurura", -DlgSelectChkMulti : "Hautaketa anitzak baimendu", -DlgSelectOpAvail : "Aukera Eskuragarriak", -DlgSelectOpText : "Testua", -DlgSelectOpValue : "Balorea", -DlgSelectBtnAdd : "Gehitu", -DlgSelectBtnModify : "Aldatu", -DlgSelectBtnUp : "Gora", -DlgSelectBtnDown : "Behera", -DlgSelectBtnSetValue : "Aukeratutako balorea ezarri", -DlgSelectBtnDelete : "Ezabatu", - -// Textarea Dialog -DlgTextareaName : "Izena", -DlgTextareaCols : "Zutabeak", -DlgTextareaRows : "Lerroak", - -// Text Field Dialog -DlgTextName : "Izena", -DlgTextValue : "Balorea", -DlgTextCharWidth : "Zabalera", -DlgTextMaxChars : "Zenbat karaktere gehienez", -DlgTextType : "Mota", -DlgTextTypeText : "Testua", -DlgTextTypePass : "Pasahitza", - -// Hidden Field Dialog -DlgHiddenName : "Izena", -DlgHiddenValue : "Balorea", - -// Bulleted List Dialog -BulletedListProp : "Buletdun Zerrendaren Ezarpenak", -NumberedListProp : "Zenbakidun Zerrendaren Ezarpenak", -DlgLstStart : "Hasiera", -DlgLstType : "Mota", -DlgLstTypeCircle : "Zirkulua", -DlgLstTypeDisc : "Diskoa", -DlgLstTypeSquare : "Karratua", -DlgLstTypeNumbers : "Zenbakiak (1, 2, 3)", -DlgLstTypeLCase : "Letra xeheak (a, b, c)", -DlgLstTypeUCase : "Letra larriak (A, B, C)", -DlgLstTypeSRoman : "Erromatar zenbaki zeheak (i, ii, iii)", -DlgLstTypeLRoman : "Erromatar zenbaki larriak (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Orokorra", -DlgDocBackTab : "Atzekaldea", -DlgDocColorsTab : "Koloreak eta Marjinak", -DlgDocMetaTab : "Meta Informazioa", - -DlgDocPageTitle : "Orriaren Izenburua", -DlgDocLangDir : "Hizkuntzaren Norabidea", -DlgDocLangDirLTR : "Ezkerretik eskumara (LTR)", -DlgDocLangDirRTL : "Eskumatik ezkerrera (RTL)", -DlgDocLangCode : "Hizkuntzaren Kodea", -DlgDocCharSet : "Karaktere Multzoaren Kodeketa", -DlgDocCharSetCE : "Erdialdeko Europakoa", -DlgDocCharSetCT : "Txinatar Tradizionala (Big5)", -DlgDocCharSetCR : "Zirilikoa", -DlgDocCharSetGR : "Grekoa", -DlgDocCharSetJP : "Japoniarra", -DlgDocCharSetKR : "Korearra", -DlgDocCharSetTR : "Turkiarra", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Mendebaldeko Europakoa", -DlgDocCharSetOther : "Beste Karaktere Multzoko Kodeketa", - -DlgDocDocType : "Document Type Goiburua", -DlgDocDocTypeOther : "Beste Document Type Goiburua", -DlgDocIncXHTML : "XHTML Ezarpenak", -DlgDocBgColor : "Atzeko Kolorea", -DlgDocBgImage : "Atzeko Irudiaren URL-a", -DlgDocBgNoScroll : "Korritze gabeko Atzekaldea", -DlgDocCText : "Testua", -DlgDocCLink : "Estekak", -DlgDocCVisited : "Bisitatutako Estekak", -DlgDocCActive : "Esteka Aktiboa", -DlgDocMargins : "Orrialdearen marjinak", -DlgDocMaTop : "Goian", -DlgDocMaLeft : "Ezkerrean", -DlgDocMaRight : "Eskuman", -DlgDocMaBottom : "Behean", -DlgDocMeIndex : "Dokumentuaren Gako-hitzak (komarekin bananduta)", -DlgDocMeDescr : "Dokumentuaren Deskribapena", -DlgDocMeAuthor : "Egilea", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Aurrebista", - -// Templates Dialog -Templates : "Txantiloiak", -DlgTemplatesTitle : "Eduki Txantiloiak", -DlgTemplatesSelMsg : "Mesedez txantiloia aukeratu editorean kargatzeko
    (orain dauden edukiak galduko dira):", -DlgTemplatesLoading : "Txantiloiak kargatzen. Itxaron mesedez...", -DlgTemplatesNoTpl : "(Ez dago definitutako txantiloirik)", -DlgTemplatesReplace : "Ordeztu oraingo edukiak", - -// About Dialog -DlgAboutAboutTab : "Honi buruz", -DlgAboutBrowserInfoTab : "Nabigatzailearen Informazioa", -DlgAboutLicenseTab : "Lizentzia", -DlgAboutVersion : "bertsioa", -DlgAboutInfo : "Informazio gehiago eskuratzeko hona joan", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/fa.js b/include/fckeditor/editor/lang/fa.js deleted file mode 100644 index a63852670..000000000 --- a/include/fckeditor/editor/lang/fa.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Persian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "rtl", - -ToolbarCollapse : "برچیدن نوارابزار", -ToolbarExpand : "گستردن نوارابزار", - -// Toolbar Items and Context Menu -Save : "ذخیره", -NewPage : "برگهٴ تازه", -Preview : "پیش‌نمایش", -Cut : "برش", -Copy : "کپی", -Paste : "چسباندن", -PasteText : "چسباندن به عنوان متن ِساده", -PasteWord : "چسباندن از Word", -Print : "چاپ", -SelectAll : "گزینش همه", -RemoveFormat : "برداشتن فرمت", -InsertLinkLbl : "پیوند", -InsertLink : "گنجاندن/ویرایش ِپیوند", -RemoveLink : "برداشتن پیوند", -VisitLink : "باز کردن پیوند", -Anchor : "گنجاندن/ویرایش ِلنگر", -AnchorDelete : "برداشتن لنگر", -InsertImageLbl : "تصویر", -InsertImage : "گنجاندن/ویرایش ِتصویر", -InsertFlashLbl : "Flash", -InsertFlash : "گنجاندن/ویرایش ِFlash", -InsertTableLbl : "جدول", -InsertTable : "گنجاندن/ویرایش ِجدول", -InsertLineLbl : "خط", -InsertLine : "گنجاندن خط ِافقی", -InsertSpecialCharLbl: "نویسهٴ ویژه", -InsertSpecialChar : "گنجاندن نویسهٴ ویژه", -InsertSmileyLbl : "خندانک", -InsertSmiley : "گنجاندن خندانک", -About : "دربارهٴ FCKeditor", -Bold : "درشت", -Italic : "خمیده", -Underline : "خط‌زیردار", -StrikeThrough : "میان‌خط", -Subscript : "زیرنویس", -Superscript : "بالانویس", -LeftJustify : "چپ‌چین", -CenterJustify : "میان‌چین", -RightJustify : "راست‌چین", -BlockJustify : "بلوک‌چین", -DecreaseIndent : "کاهش تورفتگی", -IncreaseIndent : "افزایش تورفتگی", -Blockquote : "بلوک نقل قول", -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "واچیدن", -Redo : "بازچیدن", -NumberedListLbl : "فهرست شماره‌دار", -NumberedList : "گنجاندن/برداشتن فهرست شماره‌دار", -BulletedListLbl : "فهرست نقطه‌ای", -BulletedList : "گنجاندن/برداشتن فهرست نقطه‌ای", -ShowTableBorders : "نمایش لبهٴ جدول", -ShowDetails : "نمایش جزئیات", -Style : "سبک", -FontFormat : "فرمت", -Font : "قلم", -FontSize : "اندازه", -TextColor : "رنگ متن", -BGColor : "رنگ پس‌زمینه", -Source : "منبع", -Find : "جستجو", -Replace : "جایگزینی", -SpellCheck : "بررسی املا", -UniversalKeyboard : "صفحه‌کلید جهانی", -PageBreakLbl : "شکستگی ِپایان ِبرگه", -PageBreak : "گنجاندن شکستگی ِپایان ِبرگه", - -Form : "فرم", -Checkbox : "خانهٴ گزینه‌ای", -RadioButton : "دکمهٴ رادیویی", -TextField : "فیلد متنی", -Textarea : "ناحیهٴ متنی", -HiddenField : "فیلد پنهان", -Button : "دکمه", -SelectionField : "فیلد چندگزینه‌ای", -ImageButton : "دکمهٴ تصویری", - -FitWindow : "بیشینه‌سازی ِاندازهٴ ویرایشگر", -ShowBlocks : "نمایش بلوک‌ها", - -// Context Menu -EditLink : "ویرایش پیوند", -CellCM : "سلول", -RowCM : "سطر", -ColumnCM : "ستون", -InsertRowAfter : "افزودن سطر بعد از", -InsertRowBefore : "افزودن سطر قبل از", -DeleteRows : "حذف سطرها", -InsertColumnAfter : "افزودن ستون بعد از", -InsertColumnBefore : "افزودن ستون قبل از", -DeleteColumns : "حذف ستونها", -InsertCellAfter : "افزودن سلول بعد از", -InsertCellBefore : "افزودن سلول قبل از", -DeleteCells : "حذف سلولها", -MergeCells : "ادغام سلولها", -MergeRight : "ادغام به راست", -MergeDown : "ادغام به پایین", -HorizontalSplitCell : "جدا کردن افقی سلول", -VerticalSplitCell : "جدا کردن عمودی سلول", -TableDelete : "پاک‌کردن جدول", -CellProperties : "ویژگیهای سلول", -TableProperties : "ویژگیهای جدول", -ImageProperties : "ویژگیهای تصویر", -FlashProperties : "ویژگیهای Flash", - -AnchorProp : "ویژگیهای لنگر", -ButtonProp : "ویژگیهای دکمه", -CheckboxProp : "ویژگیهای خانهٴ گزینه‌ای", -HiddenFieldProp : "ویژگیهای فیلد پنهان", -RadioButtonProp : "ویژگیهای دکمهٴ رادیویی", -ImageButtonProp : "ویژگیهای دکمهٴ تصویری", -TextFieldProp : "ویژگیهای فیلد متنی", -SelectionFieldProp : "ویژگیهای فیلد چندگزینه‌ای", -TextareaProp : "ویژگیهای ناحیهٴ متنی", -FormProp : "ویژگیهای فرم", - -FontFormats : "نرمال;فرمت‌شده;آدرس;سرنویس 1;سرنویس 2;سرنویس 3;سرنویس 4;سرنویس 5;سرنویس 6;بند;(DIV)", - -// Alerts and Messages -ProcessingXHTML : "پردازش XHTML. لطفا صبر کنید...", -Done : "انجام شد", -PasteWordConfirm : "متنی که می‌خواهید بچسبانید به نظر می‌رسد از Word کپی شده است. آیا می‌خواهید قبل از چسباندن آن را پاک‌سازی کنید؟", -NotCompatiblePaste : "این فرمان برای مرورگر Internet Explorer از نگارش 5.5 یا بالاتر در دسترس است. آیا می‌خواهید بدون پاک‌سازی، متن را بچسبانید؟", -UnknownToolbarItem : "فقرهٴ نوارابزار ناشناخته \"%1\"", -UnknownCommand : "نام دستور ناشناخته \"%1\"", -NotImplemented : "دستور پیاده‌سازی‌نشده", -UnknownToolbarSet : "مجموعهٴ نوارابزار \"%1\" وجود ندارد", -NoActiveX : "تنظیمات امنیتی مرورگر شما ممکن است در بعضی از ویژگیهای مرورگر محدودیت ایجاد کند. شما باید گزینهٴ \"Run ActiveX controls and plug-ins\" را فعال کنید. ممکن است شما با خطاهایی روبرو باشید و متوجه کمبود ویژگیهایی شوید.", -BrowseServerBlocked : "توانایی بازگشایی مرورگر منابع فراهم نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.", -DialogBlocked : "توانایی بازگشایی پنجرهٴ کوچک ِگفتگو فراهم نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.", -VisitLinkBlocked : "امکان بازکردن یک پنجره جدید نیست. اطمینان حاصل کنید که تمامی برنامه‌های پیشگیری از نمایش popup را از کار بازداشته‌اید.", - -// Dialogs -DlgBtnOK : "پذیرش", -DlgBtnCancel : "انصراف", -DlgBtnClose : "بستن", -DlgBtnBrowseServer : "فهرست‌نمایی سرور", -DlgAdvancedTag : "پیشرفته", -DlgOpOther : "<غیره>", -DlgInfoTab : "اطلاعات", -DlgAlertUrl : "لطفاً URL را بنویسید", - -// General Dialogs Labels -DlgGenNotSet : "<تعین‌نشده>", -DlgGenId : "شناسه", -DlgGenLangDir : "جهت‌نمای زبان", -DlgGenLangDirLtr : "چپ به راست (LTR)", -DlgGenLangDirRtl : "راست به چپ (RTL)", -DlgGenLangCode : "کد زبان", -DlgGenAccessKey : "کلید دستیابی", -DlgGenName : "نام", -DlgGenTabIndex : "نمایهٴ دسترسی با Tab", -DlgGenLongDescr : "URL توصیف طولانی", -DlgGenClass : "کلاسهای شیوه‌نامه(Stylesheet)", -DlgGenTitle : "عنوان کمکی", -DlgGenContType : "نوع محتوای کمکی", -DlgGenLinkCharset : "نویسه‌گان منبع ِپیوندشده", -DlgGenStyle : "شیوه(style)", - -// Image Dialog -DlgImgTitle : "ویژگیهای تصویر", -DlgImgInfoTab : "اطلاعات تصویر", -DlgImgBtnUpload : "به سرور بفرست", -DlgImgURL : "URL", -DlgImgUpload : "انتقال به سرور", -DlgImgAlt : "متن جایگزین", -DlgImgWidth : "پهنا", -DlgImgHeight : "درازا", -DlgImgLockRatio : "قفل‌کردن ِنسبت", -DlgBtnResetSize : "بازنشانی اندازه", -DlgImgBorder : "لبه", -DlgImgHSpace : "فاصلهٴ افقی", -DlgImgVSpace : "فاصلهٴ عمودی", -DlgImgAlign : "چینش", -DlgImgAlignLeft : "چپ", -DlgImgAlignAbsBottom: "پائین مطلق", -DlgImgAlignAbsMiddle: "وسط مطلق", -DlgImgAlignBaseline : "خط‌پایه", -DlgImgAlignBottom : "پائین", -DlgImgAlignMiddle : "وسط", -DlgImgAlignRight : "راست", -DlgImgAlignTextTop : "متن بالا", -DlgImgAlignTop : "بالا", -DlgImgPreview : "پیش‌نمایش", -DlgImgAlertUrl : "لطفا URL تصویر را بنویسید", -DlgImgLinkTab : "پیوند", - -// Flash Dialog -DlgFlashTitle : "ویژگیهای Flash", -DlgFlashChkPlay : "آغاز ِخودکار", -DlgFlashChkLoop : "اجرای پیاپی", -DlgFlashChkMenu : "دردسترس‌بودن منوی Flash", -DlgFlashScale : "مقیاس", -DlgFlashScaleAll : "نمایش همه", -DlgFlashScaleNoBorder : "بدون کران", -DlgFlashScaleFit : "جایگیری کامل", - -// Link Dialog -DlgLnkWindowTitle : "پیوند", -DlgLnkInfoTab : "اطلاعات پیوند", -DlgLnkTargetTab : "مقصد", - -DlgLnkType : "نوع پیوند", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "لنگر در همین صفحه", -DlgLnkTypeEMail : "پست الکترونیکی", -DlgLnkProto : "پروتکل", -DlgLnkProtoOther : "<دیگر>", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "یک لنگر برگزینید", -DlgLnkAnchorByName : "با نام لنگر", -DlgLnkAnchorById : "با شناسهٴ المان", -DlgLnkNoAnchors : "(در این سند لنگری دردسترس نیست)", -DlgLnkEMail : "نشانی پست الکترونیکی", -DlgLnkEMailSubject : "موضوع پیام", -DlgLnkEMailBody : "متن پیام", -DlgLnkUpload : "انتقال به سرور", -DlgLnkBtnUpload : "به سرور بفرست", - -DlgLnkTarget : "مقصد", -DlgLnkTargetFrame : "<فریم>", -DlgLnkTargetPopup : "<پنجرهٴ پاپاپ>", -DlgLnkTargetBlank : "پنجرهٴ دیگر (_blank)", -DlgLnkTargetParent : "پنجرهٴ والد (_parent)", -DlgLnkTargetSelf : "همان پنجره (_self)", -DlgLnkTargetTop : "بالاترین پنجره (_top)", -DlgLnkTargetFrameName : "نام فریم مقصد", -DlgLnkPopWinName : "نام پنجرهٴ پاپاپ", -DlgLnkPopWinFeat : "ویژگیهای پنجرهٴ پاپاپ", -DlgLnkPopResize : "قابل تغییر اندازه", -DlgLnkPopLocation : "نوار موقعیت", -DlgLnkPopMenu : "نوار منو", -DlgLnkPopScroll : "میله‌های پیمایش", -DlgLnkPopStatus : "نوار وضعیت", -DlgLnkPopToolbar : "نوارابزار", -DlgLnkPopFullScrn : "تمام‌صفحه (IE)", -DlgLnkPopDependent : "وابسته (Netscape)", -DlgLnkPopWidth : "پهنا", -DlgLnkPopHeight : "درازا", -DlgLnkPopLeft : "موقعیت ِچپ", -DlgLnkPopTop : "موقعیت ِبالا", - -DlnLnkMsgNoUrl : "لطفا URL پیوند را بنویسید", -DlnLnkMsgNoEMail : "لطفا نشانی پست الکترونیکی را بنویسید", -DlnLnkMsgNoAnchor : "لطفا لنگری را برگزینید", -DlnLnkMsgInvPopName : "نام پنجرهٴ پاپاپ باید با یک نویسهٴ الفبایی آغاز گردد و نباید فاصله‌های خالی در آن باشند", - -// Color Dialog -DlgColorTitle : "گزینش رنگ", -DlgColorBtnClear : "پاک‌کردن", -DlgColorHighlight : "نمونه", -DlgColorSelected : "برگزیده", - -// Smiley Dialog -DlgSmileyTitle : "گنجاندن خندانک", - -// Special Character Dialog -DlgSpecialCharTitle : "گزینش نویسهٴ‌ویژه", - -// Table Dialog -DlgTableTitle : "ویژگیهای جدول", -DlgTableRows : "سطرها", -DlgTableColumns : "ستونها", -DlgTableBorder : "اندازهٴ لبه", -DlgTableAlign : "چینش", -DlgTableAlignNotSet : "<تعین‌نشده>", -DlgTableAlignLeft : "چپ", -DlgTableAlignCenter : "وسط", -DlgTableAlignRight : "راست", -DlgTableWidth : "پهنا", -DlgTableWidthPx : "پیکسل", -DlgTableWidthPc : "درصد", -DlgTableHeight : "درازا", -DlgTableCellSpace : "فاصلهٴ میان سلولها", -DlgTableCellPad : "فاصلهٴ پرشده در سلول", -DlgTableCaption : "عنوان", -DlgTableSummary : "خلاصه", - -// Table Cell Dialog -DlgCellTitle : "ویژگیهای سلول", -DlgCellWidth : "پهنا", -DlgCellWidthPx : "پیکسل", -DlgCellWidthPc : "درصد", -DlgCellHeight : "درازا", -DlgCellWordWrap : "شکستن واژه‌ها", -DlgCellWordWrapNotSet : "<تعین‌نشده>", -DlgCellWordWrapYes : "بله", -DlgCellWordWrapNo : "خیر", -DlgCellHorAlign : "چینش ِافقی", -DlgCellHorAlignNotSet : "<تعین‌نشده>", -DlgCellHorAlignLeft : "چپ", -DlgCellHorAlignCenter : "وسط", -DlgCellHorAlignRight: "راست", -DlgCellVerAlign : "چینش ِعمودی", -DlgCellVerAlignNotSet : "<تعین‌نشده>", -DlgCellVerAlignTop : "بالا", -DlgCellVerAlignMiddle : "میان", -DlgCellVerAlignBottom : "پائین", -DlgCellVerAlignBaseline : "خط‌پایه", -DlgCellRowSpan : "گستردگی سطرها", -DlgCellCollSpan : "گستردگی ستونها", -DlgCellBackColor : "رنگ پس‌زمینه", -DlgCellBorderColor : "رنگ لبه", -DlgCellBtnSelect : "برگزینید...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "جستجو و جایگزینی", - -// Find Dialog -DlgFindTitle : "یافتن", -DlgFindFindBtn : "یافتن", -DlgFindNotFoundMsg : "متن موردنظر یافت نشد.", - -// Replace Dialog -DlgReplaceTitle : "جایگزینی", -DlgReplaceFindLbl : "چه‌چیز را می‌یابید:", -DlgReplaceReplaceLbl : "جایگزینی با:", -DlgReplaceCaseChk : "همسانی در بزرگی و کوچکی نویسه‌ها", -DlgReplaceReplaceBtn : "جایگزینی", -DlgReplaceReplAllBtn : "جایگزینی همهٴ یافته‌ها", -DlgReplaceWordChk : "همسانی با واژهٴ کامل", - -// Paste Operations / Dialog -PasteErrorCut : "تنظیمات امنیتی مرورگر شما اجازه نمی‌دهد که ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطفا با دکمه‌های صفحه‌کلید این کار را انجام دهید (Ctrl+X).", -PasteErrorCopy : "تنظیمات امنیتی مرورگر شما اجازه نمی‌دهد که ویرایشگر به طور خودکار عملکردهای کپی‌کردن را انجام دهد. لطفا با دکمه‌های صفحه‌کلید این کار را انجام دهید (Ctrl+C).", - -PasteAsText : "چسباندن به عنوان متن ِساده", -PasteFromWord : "چسباندن از Word", - -DlgPasteMsg2 : "لطفا متن را با کلیدهای (Ctrl+V) در این جعبهٴ متنی بچسبانید و پذیرش را بزنید.", -DlgPasteSec : "به خاطر تنظیمات امنیتی مرورگر شما، ویرایشگر نمی‌تواند دسترسی مستقیم به داده‌های clipboard داشته باشد. شما باید دوباره آنرا در این پنجره بچسبانید.", -DlgPasteIgnoreFont : "چشم‌پوشی از تعاریف نوع قلم", -DlgPasteRemoveStyles : "چشم‌پوشی از تعاریف سبک (style)", - -// Color Picker -ColorAutomatic : "خودکار", -ColorMoreColors : "رنگهای بیشتر...", - -// Document Properties -DocProps : "ویژگیهای سند", - -// Anchor Dialog -DlgAnchorTitle : "ویژگیهای لنگر", -DlgAnchorName : "نام لنگر", -DlgAnchorErrorName : "لطفا نام لنگر را بنویسید", - -// Speller Pages Dialog -DlgSpellNotInDic : "در واژه‌نامه یافت نشد", -DlgSpellChangeTo : "تغییر به", -DlgSpellBtnIgnore : "چشم‌پوشی", -DlgSpellBtnIgnoreAll : "چشم‌پوشی همه", -DlgSpellBtnReplace : "جایگزینی", -DlgSpellBtnReplaceAll : "جایگزینی همه", -DlgSpellBtnUndo : "واچینش", -DlgSpellNoSuggestions : "- پیشنهادی نیست -", -DlgSpellProgress : "بررسی املا در حال انجام...", -DlgSpellNoMispell : "بررسی املا انجام شد. هیچ غلط‌املائی یافت نشد", -DlgSpellNoChanges : "بررسی املا انجام شد. هیچ واژه‌ای تغییر نیافت", -DlgSpellOneChange : "بررسی املا انجام شد. یک واژه تغییر یافت", -DlgSpellManyChanges : "بررسی املا انجام شد. %1 واژه تغییر یافت", - -IeSpellDownload : "بررسی‌کنندهٴ املا نصب نشده است. آیا می‌خواهید آن را هم‌اکنون دریافت کنید؟", - -// Button Dialog -DlgButtonText : "متن (مقدار)", -DlgButtonType : "نوع", -DlgButtonTypeBtn : "دکمه", -DlgButtonTypeSbm : "Submit", -DlgButtonTypeRst : "بازنشانی (Reset)", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "نام", -DlgCheckboxValue : "مقدار", -DlgCheckboxSelected : "برگزیده", - -// Form Dialog -DlgFormName : "نام", -DlgFormAction : "رویداد", -DlgFormMethod : "متد", - -// Select Field Dialog -DlgSelectName : "نام", -DlgSelectValue : "مقدار", -DlgSelectSize : "اندازه", -DlgSelectLines : "خطوط", -DlgSelectChkMulti : "گزینش چندگانه فراهم باشد", -DlgSelectOpAvail : "گزینه‌های دردسترس", -DlgSelectOpText : "متن", -DlgSelectOpValue : "مقدار", -DlgSelectBtnAdd : "افزودن", -DlgSelectBtnModify : "ویرایش", -DlgSelectBtnUp : "بالا", -DlgSelectBtnDown : "پائین", -DlgSelectBtnSetValue : "تنظیم به عنوان مقدار ِبرگزیده", -DlgSelectBtnDelete : "پاک‌کردن", - -// Textarea Dialog -DlgTextareaName : "نام", -DlgTextareaCols : "ستونها", -DlgTextareaRows : "سطرها", - -// Text Field Dialog -DlgTextName : "نام", -DlgTextValue : "مقدار", -DlgTextCharWidth : "پهنای نویسه", -DlgTextMaxChars : "بیشینهٴ نویسه‌ها", -DlgTextType : "نوع", -DlgTextTypeText : "متن", -DlgTextTypePass : "گذرواژه", - -// Hidden Field Dialog -DlgHiddenName : "نام", -DlgHiddenValue : "مقدار", - -// Bulleted List Dialog -BulletedListProp : "ویژگیهای فهرست نقطه‌ای", -NumberedListProp : "ویژگیهای فهرست شماره‌دار", -DlgLstStart : "آغاز", -DlgLstType : "نوع", -DlgLstTypeCircle : "دایره", -DlgLstTypeDisc : "قرص", -DlgLstTypeSquare : "چهارگوش", -DlgLstTypeNumbers : "شماره‌ها (1، 2، 3)", -DlgLstTypeLCase : "نویسه‌های کوچک (a، b، c)", -DlgLstTypeUCase : "نویسه‌های بزرگ (A، B، C)", -DlgLstTypeSRoman : "شمارگان رومی کوچک (i، ii، iii)", -DlgLstTypeLRoman : "شمارگان رومی بزرگ (I، II، III)", - -// Document Properties Dialog -DlgDocGeneralTab : "عمومی", -DlgDocBackTab : "پس‌زمینه", -DlgDocColorsTab : "رنگها و حاشیه‌ها", -DlgDocMetaTab : "فراداده", - -DlgDocPageTitle : "عنوان صفحه", -DlgDocLangDir : "جهت زبان", -DlgDocLangDirLTR : "چپ به راست (LTR(", -DlgDocLangDirRTL : "راست به چپ (RTL(", -DlgDocLangCode : "کد زبان", -DlgDocCharSet : "رمزگذاری نویسه‌گان", -DlgDocCharSetCE : "اروپای مرکزی", -DlgDocCharSetCT : "چینی رسمی (Big5)", -DlgDocCharSetCR : "سیریلیک", -DlgDocCharSetGR : "یونانی", -DlgDocCharSetJP : "ژاپنی", -DlgDocCharSetKR : "کره‌ای", -DlgDocCharSetTR : "ترکی", -DlgDocCharSetUN : "یونیکُد (UTF-8)", -DlgDocCharSetWE : "اروپای غربی", -DlgDocCharSetOther : "رمزگذاری نویسه‌گان دیگر", - -DlgDocDocType : "عنوان نوع سند", -DlgDocDocTypeOther : "عنوان نوع سند دیگر", -DlgDocIncXHTML : "شامل تعاریف XHTML", -DlgDocBgColor : "رنگ پس‌زمینه", -DlgDocBgImage : "URL تصویر پس‌زمینه", -DlgDocBgNoScroll : "پس‌زمینهٴ پیمایش‌ناپذیر", -DlgDocCText : "متن", -DlgDocCLink : "پیوند", -DlgDocCVisited : "پیوند مشاهده‌شده", -DlgDocCActive : "پیوند فعال", -DlgDocMargins : "حاشیه‌های صفحه", -DlgDocMaTop : "بالا", -DlgDocMaLeft : "چپ", -DlgDocMaRight : "راست", -DlgDocMaBottom : "پایین", -DlgDocMeIndex : "کلیدواژگان نمایه‌گذاری سند (با کاما جدا شوند)", -DlgDocMeDescr : "توصیف سند", -DlgDocMeAuthor : "نویسنده", -DlgDocMeCopy : "کپی‌رایت", -DlgDocPreview : "پیش‌نمایش", - -// Templates Dialog -Templates : "الگوها", -DlgTemplatesTitle : "الگوهای محتویات", -DlgTemplatesSelMsg : "لطفا الگوی موردنظر را برای بازکردن در ویرایشگر برگزینید
    (محتویات کنونی از دست خواهند رفت):", -DlgTemplatesLoading : "بارگذاری فهرست الگوها. لطفا صبر کنید...", -DlgTemplatesNoTpl : "(الگوئی تعریف نشده است)", -DlgTemplatesReplace : "محتویات کنونی جایگزین شوند", - -// About Dialog -DlgAboutAboutTab : "درباره", -DlgAboutBrowserInfoTab : "اطلاعات مرورگر", -DlgAboutLicenseTab : "گواهینامه", -DlgAboutVersion : "نگارش", -DlgAboutInfo : "برای آگاهی بیشتر به این نشانی بروید", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/fi.js b/include/fckeditor/editor/lang/fi.js deleted file mode 100644 index 1bd09eab9..000000000 --- a/include/fckeditor/editor/lang/fi.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Finnish language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Piilota työkalurivi", -ToolbarExpand : "Näytä työkalurivi", - -// Toolbar Items and Context Menu -Save : "Tallenna", -NewPage : "Tyhjennä", -Preview : "Esikatsele", -Cut : "Leikkaa", -Copy : "Kopioi", -Paste : "Liitä", -PasteText : "Liitä tekstinä", -PasteWord : "Liitä Wordista", -Print : "Tulosta", -SelectAll : "Valitse kaikki", -RemoveFormat : "Poista muotoilu", -InsertLinkLbl : "Linkki", -InsertLink : "Lisää linkki/muokkaa linkkiä", -RemoveLink : "Poista linkki", -VisitLink : "Open Link", //MISSING -Anchor : "Lisää ankkuri/muokkaa ankkuria", -AnchorDelete : "Poista ankkuri", -InsertImageLbl : "Kuva", -InsertImage : "Lisää kuva/muokkaa kuvaa", -InsertFlashLbl : "Flash", -InsertFlash : "Lisää/muokkaa Flashia", -InsertTableLbl : "Taulu", -InsertTable : "Lisää taulu/muokkaa taulua", -InsertLineLbl : "Murtoviiva", -InsertLine : "Lisää murtoviiva", -InsertSpecialCharLbl: "Erikoismerkki", -InsertSpecialChar : "Lisää erikoismerkki", -InsertSmileyLbl : "Hymiö", -InsertSmiley : "Lisää hymiö", -About : "FCKeditorista", -Bold : "Lihavoitu", -Italic : "Kursivoitu", -Underline : "Alleviivattu", -StrikeThrough : "Yliviivattu", -Subscript : "Alaindeksi", -Superscript : "Yläindeksi", -LeftJustify : "Tasaa vasemmat reunat", -CenterJustify : "Keskitä", -RightJustify : "Tasaa oikeat reunat", -BlockJustify : "Tasaa molemmat reunat", -DecreaseIndent : "Pienennä sisennystä", -IncreaseIndent : "Suurenna sisennystä", -Blockquote : "Lainaus", -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Kumoa", -Redo : "Toista", -NumberedListLbl : "Numerointi", -NumberedList : "Lisää/poista numerointi", -BulletedListLbl : "Luottelomerkit", -BulletedList : "Lisää/poista luottelomerkit", -ShowTableBorders : "Näytä taulun rajat", -ShowDetails : "Näytä muotoilu", -Style : "Tyyli", -FontFormat : "Muotoilu", -Font : "Fontti", -FontSize : "Koko", -TextColor : "Tekstiväri", -BGColor : "Taustaväri", -Source : "Koodi", -Find : "Etsi", -Replace : "Korvaa", -SpellCheck : "Tarkista oikeinkirjoitus", -UniversalKeyboard : "Universaali näppäimistö", -PageBreakLbl : "Sivun vaihto", -PageBreak : "Lisää sivun vaihto", - -Form : "Lomake", -Checkbox : "Valintaruutu", -RadioButton : "Radiopainike", -TextField : "Tekstikenttä", -Textarea : "Tekstilaatikko", -HiddenField : "Piilokenttä", -Button : "Painike", -SelectionField : "Valintakenttä", -ImageButton : "Kuvapainike", - -FitWindow : "Suurenna editori koko ikkunaan", -ShowBlocks : "Näytä elementit", - -// Context Menu -EditLink : "Muokkaa linkkiä", -CellCM : "Solu", -RowCM : "Rivi", -ColumnCM : "Sarake", -InsertRowAfter : "Lisää rivi alapuolelle", -InsertRowBefore : "Lisää rivi yläpuolelle", -DeleteRows : "Poista rivit", -InsertColumnAfter : "Lisää sarake oikealle", -InsertColumnBefore : "Lisää sarake vasemmalle", -DeleteColumns : "Poista sarakkeet", -InsertCellAfter : "Lisää solu perään", -InsertCellBefore : "Lisää solu eteen", -DeleteCells : "Poista solut", -MergeCells : "Yhdistä solut", -MergeRight : "Yhdistä oikealla olevan kanssa", -MergeDown : "Yhdistä alla olevan kanssa", -HorizontalSplitCell : "Jaa solu vaakasuunnassa", -VerticalSplitCell : "Jaa solu pystysuunnassa", -TableDelete : "Poista taulu", -CellProperties : "Solun ominaisuudet", -TableProperties : "Taulun ominaisuudet", -ImageProperties : "Kuvan ominaisuudet", -FlashProperties : "Flash ominaisuudet", - -AnchorProp : "Ankkurin ominaisuudet", -ButtonProp : "Painikkeen ominaisuudet", -CheckboxProp : "Valintaruudun ominaisuudet", -HiddenFieldProp : "Piilokentän ominaisuudet", -RadioButtonProp : "Radiopainikkeen ominaisuudet", -ImageButtonProp : "Kuvapainikkeen ominaisuudet", -TextFieldProp : "Tekstikentän ominaisuudet", -SelectionFieldProp : "Valintakentän ominaisuudet", -TextareaProp : "Tekstilaatikon ominaisuudet", -FormProp : "Lomakkeen ominaisuudet", - -FontFormats : "Normaali;Muotoiltu;Osoite;Otsikko 1;Otsikko 2;Otsikko 3;Otsikko 4;Otsikko 5;Otsikko 6", - -// Alerts and Messages -ProcessingXHTML : "Prosessoidaan XHTML:ää. Odota hetki...", -Done : "Valmis", -PasteWordConfirm : "Teksti, jonka haluat liittää, näyttää olevan kopioitu Wordista. Haluatko puhdistaa sen ennen liittämistä?", -NotCompatiblePaste : "Tämä komento toimii vain Internet Explorer 5.5:ssa tai uudemmassa. Haluatko liittää ilman puhdistusta?", -UnknownToolbarItem : "Tuntemanton työkalu \"%1\"", -UnknownCommand : "Tuntematon komento \"%1\"", -NotImplemented : "Komentoa ei ole liitetty sovellukseen", -UnknownToolbarSet : "Työkalukokonaisuus \"%1\" ei ole olemassa", -NoActiveX : "Selaimesi turvallisuusasetukset voivat rajoittaa joitain editorin ominaisuuksia. Sinun pitää ottaa käyttöön asetuksista \"Suorita ActiveX komponentit ja -plugin-laajennukset\". Saatat kohdata virheitä ja huomata puuttuvia ominaisuuksia.", -BrowseServerBlocked : "Resurssiselainta ei voitu avata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.", -DialogBlocked : "Apuikkunaa ei voitu avaata. Varmista, että ponnahdusikkunoiden estäjät eivät ole päällä.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Peruuta", -DlgBtnClose : "Sulje", -DlgBtnBrowseServer : "Selaa palvelinta", -DlgAdvancedTag : "Lisäominaisuudet", -DlgOpOther : "Muut", -DlgInfoTab : "Info", -DlgAlertUrl : "Lisää URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Tunniste", -DlgGenLangDir : "Kielen suunta", -DlgGenLangDirLtr : "Vasemmalta oikealle (LTR)", -DlgGenLangDirRtl : "Oikealta vasemmalle (RTL)", -DlgGenLangCode : "Kielikoodi", -DlgGenAccessKey : "Pikanäppäin", -DlgGenName : "Nimi", -DlgGenTabIndex : "Tabulaattori indeksi", -DlgGenLongDescr : "Pitkän kuvauksen URL", -DlgGenClass : "Tyyliluokat", -DlgGenTitle : "Avustava otsikko", -DlgGenContType : "Avustava sisällön tyyppi", -DlgGenLinkCharset : "Linkitetty kirjaimisto", -DlgGenStyle : "Tyyli", - -// Image Dialog -DlgImgTitle : "Kuvan ominaisuudet", -DlgImgInfoTab : "Kuvan tiedot", -DlgImgBtnUpload : "Lähetä palvelimelle", -DlgImgURL : "Osoite", -DlgImgUpload : "Lisää kuva", -DlgImgAlt : "Vaihtoehtoinen teksti", -DlgImgWidth : "Leveys", -DlgImgHeight : "Korkeus", -DlgImgLockRatio : "Lukitse suhteet", -DlgBtnResetSize : "Alkuperäinen koko", -DlgImgBorder : "Raja", -DlgImgHSpace : "Vaakatila", -DlgImgVSpace : "Pystytila", -DlgImgAlign : "Kohdistus", -DlgImgAlignLeft : "Vasemmalle", -DlgImgAlignAbsBottom: "Aivan alas", -DlgImgAlignAbsMiddle: "Aivan keskelle", -DlgImgAlignBaseline : "Alas (teksti)", -DlgImgAlignBottom : "Alas", -DlgImgAlignMiddle : "Keskelle", -DlgImgAlignRight : "Oikealle", -DlgImgAlignTextTop : "Ylös (teksti)", -DlgImgAlignTop : "Ylös", -DlgImgPreview : "Esikatselu", -DlgImgAlertUrl : "Kirjoita kuvan osoite (URL)", -DlgImgLinkTab : "Linkki", - -// Flash Dialog -DlgFlashTitle : "Flash ominaisuudet", -DlgFlashChkPlay : "Automaattinen käynnistys", -DlgFlashChkLoop : "Toisto", -DlgFlashChkMenu : "Näytä Flash-valikko", -DlgFlashScale : "Levitä", -DlgFlashScaleAll : "Näytä kaikki", -DlgFlashScaleNoBorder : "Ei rajaa", -DlgFlashScaleFit : "Tarkka koko", - -// Link Dialog -DlgLnkWindowTitle : "Linkki", -DlgLnkInfoTab : "Linkin tiedot", -DlgLnkTargetTab : "Kohde", - -DlgLnkType : "Linkkityyppi", -DlgLnkTypeURL : "Osoite", -DlgLnkTypeAnchor : "Ankkuri tässä sivussa", -DlgLnkTypeEMail : "Sähköposti", -DlgLnkProto : "Protokolla", -DlgLnkProtoOther : "", -DlgLnkURL : "Osoite", -DlgLnkAnchorSel : "Valitse ankkuri", -DlgLnkAnchorByName : "Ankkurin nimen mukaan", -DlgLnkAnchorById : "Ankkurin ID:n mukaan", -DlgLnkNoAnchors : "(Ei ankkureita tässä dokumentissa)", -DlgLnkEMail : "Sähköpostiosoite", -DlgLnkEMailSubject : "Aihe", -DlgLnkEMailBody : "Viesti", -DlgLnkUpload : "Lisää tiedosto", -DlgLnkBtnUpload : "Lähetä palvelimelle", - -DlgLnkTarget : "Kohde", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Uusi ikkuna (_blank)", -DlgLnkTargetParent : "Emoikkuna (_parent)", -DlgLnkTargetSelf : "Sama ikkuna (_self)", -DlgLnkTargetTop : "Päällimmäisin ikkuna (_top)", -DlgLnkTargetFrameName : "Kohdekehyksen nimi", -DlgLnkPopWinName : "Popup ikkunan nimi", -DlgLnkPopWinFeat : "Popup ikkunan ominaisuudet", -DlgLnkPopResize : "Venytettävä", -DlgLnkPopLocation : "Osoiterivi", -DlgLnkPopMenu : "Valikkorivi", -DlgLnkPopScroll : "Vierityspalkit", -DlgLnkPopStatus : "Tilarivi", -DlgLnkPopToolbar : "Vakiopainikkeet", -DlgLnkPopFullScrn : "Täysi ikkuna (IE)", -DlgLnkPopDependent : "Riippuva (Netscape)", -DlgLnkPopWidth : "Leveys", -DlgLnkPopHeight : "Korkeus", -DlgLnkPopLeft : "Vasemmalta (px)", -DlgLnkPopTop : "Ylhäältä (px)", - -DlnLnkMsgNoUrl : "Linkille on kirjoitettava URL", -DlnLnkMsgNoEMail : "Kirjoita sähköpostiosoite", -DlnLnkMsgNoAnchor : "Valitse ankkuri", -DlnLnkMsgInvPopName : "Popup-ikkunan nimi pitää alkaa aakkosella ja ei saa sisältää välejä", - -// Color Dialog -DlgColorTitle : "Valitse väri", -DlgColorBtnClear : "Tyhjennä", -DlgColorHighlight : "Kohdalla", -DlgColorSelected : "Valittu", - -// Smiley Dialog -DlgSmileyTitle : "Lisää hymiö", - -// Special Character Dialog -DlgSpecialCharTitle : "Valitse erikoismerkki", - -// Table Dialog -DlgTableTitle : "Taulun ominaisuudet", -DlgTableRows : "Rivit", -DlgTableColumns : "Sarakkeet", -DlgTableBorder : "Rajan paksuus", -DlgTableAlign : "Kohdistus", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Vasemmalle", -DlgTableAlignCenter : "Keskelle", -DlgTableAlignRight : "Oikealle", -DlgTableWidth : "Leveys", -DlgTableWidthPx : "pikseliä", -DlgTableWidthPc : "prosenttia", -DlgTableHeight : "Korkeus", -DlgTableCellSpace : "Solujen väli", -DlgTableCellPad : "Solujen sisennys", -DlgTableCaption : "Otsikko", -DlgTableSummary : "Yhteenveto", - -// Table Cell Dialog -DlgCellTitle : "Solun ominaisuudet", -DlgCellWidth : "Leveys", -DlgCellWidthPx : "pikseliä", -DlgCellWidthPc : "prosenttia", -DlgCellHeight : "Korkeus", -DlgCellWordWrap : "Tekstikierrätys", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Kyllä", -DlgCellWordWrapNo : "Ei", -DlgCellHorAlign : "Vaakakohdistus", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Vasemmalle", -DlgCellHorAlignCenter : "Keskelle", -DlgCellHorAlignRight: "Oikealle", -DlgCellVerAlign : "Pystykohdistus", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Ylös", -DlgCellVerAlignMiddle : "Keskelle", -DlgCellVerAlignBottom : "Alas", -DlgCellVerAlignBaseline : "Tekstin alas", -DlgCellRowSpan : "Rivin jatkuvuus", -DlgCellCollSpan : "Sarakkeen jatkuvuus", -DlgCellBackColor : "Taustaväri", -DlgCellBorderColor : "Rajan väri", -DlgCellBtnSelect : "Valitse...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Etsi ja korvaa", - -// Find Dialog -DlgFindTitle : "Etsi", -DlgFindFindBtn : "Etsi", -DlgFindNotFoundMsg : "Etsittyä tekstiä ei löytynyt.", - -// Replace Dialog -DlgReplaceTitle : "Korvaa", -DlgReplaceFindLbl : "Etsi mitä:", -DlgReplaceReplaceLbl : "Korvaa tällä:", -DlgReplaceCaseChk : "Sama kirjainkoko", -DlgReplaceReplaceBtn : "Korvaa", -DlgReplaceReplAllBtn : "Korvaa kaikki", -DlgReplaceWordChk : "Koko sana", - -// Paste Operations / Dialog -PasteErrorCut : "Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).", -PasteErrorCopy : "Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).", - -PasteAsText : "Liitä tekstinä", -PasteFromWord : "Liitä Wordista", - -DlgPasteMsg2 : "Liitä painamalla (Ctrl+V) ja painamalla OK.", -DlgPasteSec : "Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.", -DlgPasteIgnoreFont : "Jätä huomioimatta fonttimääritykset", -DlgPasteRemoveStyles : "Poista tyylimääritykset", - -// Color Picker -ColorAutomatic : "Automaattinen", -ColorMoreColors : "Lisää värejä...", - -// Document Properties -DocProps : "Dokumentin ominaisuudet", - -// Anchor Dialog -DlgAnchorTitle : "Ankkurin ominaisuudet", -DlgAnchorName : "Nimi", -DlgAnchorErrorName : "Ankkurille on kirjoitettava nimi", - -// Speller Pages Dialog -DlgSpellNotInDic : "Ei sanakirjassa", -DlgSpellChangeTo : "Vaihda", -DlgSpellBtnIgnore : "Jätä huomioimatta", -DlgSpellBtnIgnoreAll : "Jätä kaikki huomioimatta", -DlgSpellBtnReplace : "Korvaa", -DlgSpellBtnReplaceAll : "Korvaa kaikki", -DlgSpellBtnUndo : "Kumoa", -DlgSpellNoSuggestions : "Ei ehdotuksia", -DlgSpellProgress : "Tarkistus käynnissä...", -DlgSpellNoMispell : "Tarkistus valmis: Ei virheitä", -DlgSpellNoChanges : "Tarkistus valmis: Yhtään sanaa ei muutettu", -DlgSpellOneChange : "Tarkistus valmis: Yksi sana muutettiin", -DlgSpellManyChanges : "Tarkistus valmis: %1 sanaa muutettiin", - -IeSpellDownload : "Oikeinkirjoituksen tarkistusta ei ole asennettu. Haluatko ladata sen nyt?", - -// Button Dialog -DlgButtonText : "Teksti (arvo)", -DlgButtonType : "Tyyppi", -DlgButtonTypeBtn : "Painike", -DlgButtonTypeSbm : "Lähetä", -DlgButtonTypeRst : "Tyhjennä", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nimi", -DlgCheckboxValue : "Arvo", -DlgCheckboxSelected : "Valittu", - -// Form Dialog -DlgFormName : "Nimi", -DlgFormAction : "Toiminto", -DlgFormMethod : "Tapa", - -// Select Field Dialog -DlgSelectName : "Nimi", -DlgSelectValue : "Arvo", -DlgSelectSize : "Koko", -DlgSelectLines : "Rivit", -DlgSelectChkMulti : "Salli usea valinta", -DlgSelectOpAvail : "Ominaisuudet", -DlgSelectOpText : "Teksti", -DlgSelectOpValue : "Arvo", -DlgSelectBtnAdd : "Lisää", -DlgSelectBtnModify : "Muuta", -DlgSelectBtnUp : "Ylös", -DlgSelectBtnDown : "Alas", -DlgSelectBtnSetValue : "Aseta valituksi", -DlgSelectBtnDelete : "Poista", - -// Textarea Dialog -DlgTextareaName : "Nimi", -DlgTextareaCols : "Sarakkeita", -DlgTextareaRows : "Rivejä", - -// Text Field Dialog -DlgTextName : "Nimi", -DlgTextValue : "Arvo", -DlgTextCharWidth : "Leveys", -DlgTextMaxChars : "Maksimi merkkimäärä", -DlgTextType : "Tyyppi", -DlgTextTypeText : "Teksti", -DlgTextTypePass : "Salasana", - -// Hidden Field Dialog -DlgHiddenName : "Nimi", -DlgHiddenValue : "Arvo", - -// Bulleted List Dialog -BulletedListProp : "Luettelon ominaisuudet", -NumberedListProp : "Numeroinnin ominaisuudet", -DlgLstStart : "Alku", -DlgLstType : "Tyyppi", -DlgLstTypeCircle : "Kehä", -DlgLstTypeDisc : "Ympyrä", -DlgLstTypeSquare : "Neliö", -DlgLstTypeNumbers : "Numerot (1, 2, 3)", -DlgLstTypeLCase : "Pienet kirjaimet (a, b, c)", -DlgLstTypeUCase : "Isot kirjaimet (A, B, C)", -DlgLstTypeSRoman : "Pienet roomalaiset numerot (i, ii, iii)", -DlgLstTypeLRoman : "Isot roomalaiset numerot (Ii, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Yleiset", -DlgDocBackTab : "Tausta", -DlgDocColorsTab : "Värit ja marginaalit", -DlgDocMetaTab : "Meta-tieto", - -DlgDocPageTitle : "Sivun nimi", -DlgDocLangDir : "Kielen suunta", -DlgDocLangDirLTR : "Vasemmalta oikealle (LTR)", -DlgDocLangDirRTL : "Oikealta vasemmalle (RTL)", -DlgDocLangCode : "Kielikoodi", -DlgDocCharSet : "Merkistökoodaus", -DlgDocCharSetCE : "Keskieurooppalainen", -DlgDocCharSetCT : "Kiina, perinteinen (Big5)", -DlgDocCharSetCR : "Kyrillinen", -DlgDocCharSetGR : "Kreikka", -DlgDocCharSetJP : "Japani", -DlgDocCharSetKR : "Korealainen", -DlgDocCharSetTR : "Turkkilainen", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Länsieurooppalainen", -DlgDocCharSetOther : "Muu merkistökoodaus", - -DlgDocDocType : "Dokumentin tyyppi", -DlgDocDocTypeOther : "Muu dokumentin tyyppi", -DlgDocIncXHTML : "Lisää XHTML julistukset", -DlgDocBgColor : "Taustaväri", -DlgDocBgImage : "Taustakuva", -DlgDocBgNoScroll : "Paikallaanpysyvä tausta", -DlgDocCText : "Teksti", -DlgDocCLink : "Linkki", -DlgDocCVisited : "Vierailtu linkki", -DlgDocCActive : "Aktiivinen linkki", -DlgDocMargins : "Sivun marginaalit", -DlgDocMaTop : "Ylä", -DlgDocMaLeft : "Vasen", -DlgDocMaRight : "Oikea", -DlgDocMaBottom : "Ala", -DlgDocMeIndex : "Hakusanat (pilkulla erotettuna)", -DlgDocMeDescr : "Kuvaus", -DlgDocMeAuthor : "Tekijä", -DlgDocMeCopy : "Tekijänoikeudet", -DlgDocPreview : "Esikatselu", - -// Templates Dialog -Templates : "Pohjat", -DlgTemplatesTitle : "Sisältöpohjat", -DlgTemplatesSelMsg : "Valitse pohja editoriin
    (aiempi sisältö menetetään):", -DlgTemplatesLoading : "Ladataan listaa pohjista. Hetkinen...", -DlgTemplatesNoTpl : "(Ei määriteltyjä pohjia)", -DlgTemplatesReplace : "Korvaa editorin koko sisältö", - -// About Dialog -DlgAboutAboutTab : "Editorista", -DlgAboutBrowserInfoTab : "Selaimen tiedot", -DlgAboutLicenseTab : "Lisenssi", -DlgAboutVersion : "versio", -DlgAboutInfo : "Lisää tietoa osoitteesta", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/fo.js b/include/fckeditor/editor/lang/fo.js deleted file mode 100644 index fa0d8c959..000000000 --- a/include/fckeditor/editor/lang/fo.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Faroese language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Fjal amboðsbjálkan", -ToolbarExpand : "Vís amboðsbjálkan", - -// Toolbar Items and Context Menu -Save : "Goym", -NewPage : "Nýggj síða", -Preview : "Frumsýning", -Cut : "Kvett", -Copy : "Avrita", -Paste : "Innrita", -PasteText : "Innrita reinan tekst", -PasteWord : "Innrita frá Word", -Print : "Prenta", -SelectAll : "Markera alt", -RemoveFormat : "Strika sniðgeving", -InsertLinkLbl : "Tilknýti", -InsertLink : "Ger/broyt tilknýti", -RemoveLink : "Strika tilknýti", -VisitLink : "Opna tilknýti", -Anchor : "Ger/broyt marknastein", -AnchorDelete : "Strika marknastein", -InsertImageLbl : "Myndir", -InsertImage : "Set inn/broyt mynd", -InsertFlashLbl : "Flash", -InsertFlash : "Set inn/broyt Flash", -InsertTableLbl : "Tabell", -InsertTable : "Set inn/broyt tabell", -InsertLineLbl : "Linja", -InsertLine : "Ger vatnrætta linju", -InsertSpecialCharLbl: "Sertekn", -InsertSpecialChar : "Set inn sertekn", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Set inn Smiley", -About : "Um FCKeditor", -Bold : "Feit skrift", -Italic : "Skráskrift", -Underline : "Undirstrikað", -StrikeThrough : "Yvirstrikað", -Subscript : "Lækkað skrift", -Superscript : "Hækkað skrift", -LeftJustify : "Vinstrasett", -CenterJustify : "Miðsett", -RightJustify : "Høgrasett", -BlockJustify : "Javnir tekstkantar", -DecreaseIndent : "Minka reglubrotarinntriv", -IncreaseIndent : "Økja reglubrotarinntriv", -Blockquote : "Blockquote", -CreateDiv : "Ger DIV øki", -EditDiv : "Broyt DIV øki", -DeleteDiv : "Strika DIV øki", -Undo : "Angra", -Redo : "Vend aftur", -NumberedListLbl : "Talmerktur listi", -NumberedList : "Ger/strika talmerktan lista", -BulletedListLbl : "Punktmerktur listi", -BulletedList : "Ger/strika punktmerktan lista", -ShowTableBorders : "Vís tabellbordar", -ShowDetails : "Vís í smálutum", -Style : "Typografi", -FontFormat : "Skriftsnið", -Font : "Skrift", -FontSize : "Skriftstødd", -TextColor : "Tekstlitur", -BGColor : "Bakgrundslitur", -Source : "Kelda", -Find : "Leita", -Replace : "Yvirskriva", -SpellCheck : "Kanna stavseting", -UniversalKeyboard : "Knappaborð", -PageBreakLbl : "Síðuskift", -PageBreak : "Ger síðuskift", - -Form : "Formur", -Checkbox : "Flugubein", -RadioButton : "Radioknøttur", -TextField : "Tekstteigur", -Textarea : "Tekstumráði", -HiddenField : "Fjaldur teigur", -Button : "Knøttur", -SelectionField : "Valskrá", -ImageButton : "Myndaknøttur", - -FitWindow : "Set tekstviðgera til fulla stødd", -ShowBlocks : "Vís blokkar", - -// Context Menu -EditLink : "Broyt tilknýti", -CellCM : "Meski", -RowCM : "Rað", -ColumnCM : "Kolonna", -InsertRowAfter : "Set rað inn aftaná", -InsertRowBefore : "Set rað inn áðrenn", -DeleteRows : "Strika røðir", -InsertColumnAfter : "Set kolonnu inn aftaná", -InsertColumnBefore : "Set kolonnu inn áðrenn", -DeleteColumns : "Strika kolonnur", -InsertCellAfter : "Set meska inn aftaná", -InsertCellBefore : "Set meska inn áðrenn", -DeleteCells : "Strika meskar", -MergeCells : "Flætta meskar", -MergeRight : "Flætta meskar til høgru", -MergeDown : "Flætta saman", -HorizontalSplitCell : "Kloyv meska vatnrætt", -VerticalSplitCell : "Kloyv meska loddrætt", -TableDelete : "Strika tabell", -CellProperties : "Meskueginleikar", -TableProperties : "Tabelleginleikar", -ImageProperties : "Myndaeginleikar", -FlashProperties : "Flash eginleikar", - -AnchorProp : "Eginleikar fyri marknastein", -ButtonProp : "Eginleikar fyri knøtt", -CheckboxProp : "Eginleikar fyri flugubein", -HiddenFieldProp : "Eginleikar fyri fjaldan teig", -RadioButtonProp : "Eginleikar fyri radioknøtt", -ImageButtonProp : "Eginleikar fyri myndaknøtt", -TextFieldProp : "Eginleikar fyri tekstteig", -SelectionFieldProp : "Eginleikar fyri valskrá", -TextareaProp : "Eginleikar fyri tekstumráði", -FormProp : "Eginleikar fyri Form", - -FontFormats : "Vanligt;Sniðgivið;Adressa;Yvirskrift 1;Yvirskrift 2;Yvirskrift 3;Yvirskrift 4;Yvirskrift 5;Yvirskrift 6", - -// Alerts and Messages -ProcessingXHTML : "XHTML verður viðgjørt. Bíða við...", -Done : "Liðugt", -PasteWordConfirm : "Teksturin, royndur verður at seta inn, tykist at stava frá Word. Vilt tú reinsa tekstin, áðrenn hann verður settur inn?", -NotCompatiblePaste : "Hetta er bert tøkt í Internet Explorer 5.5 og nýggjari. Vilt tú seta tekstin inn kortini - óreinsaðan?", -UnknownToolbarItem : "Ókendur lutur í amboðsbjálkanum \"%1\"", -UnknownCommand : "Ókend kommando \"%1\"", -NotImplemented : "Hetta er ikki tøkt í hesi útgávuni", -UnknownToolbarSet : "Amboðsbjálkin \"%1\" finst ikki", -NoActiveX : "Trygdaruppsetingin í alnótskaganum kann sum er avmarka onkrar hentleikar í tekstviðgeranum. Tú mást loyva møguleikanum \"Run/Kør ActiveX controls and plug-ins\". Tú kanst uppliva feilir og ávaringar um tvørrandi hentleikar.", -BrowseServerBlocked : "Ambætarakagin kundi ikki opnast. Tryggja tær, at allar pop-up forðingar eru óvirknar.", -DialogBlocked : "Tað eyðnaðist ikki at opna samskiftisrútin. Tryggja tær, at allar pop-up forðingar eru óvirknar.", -VisitLinkBlocked : "Tað eyðnaðist ikki at opna nýggjan rút. Tryggja tær, at allar pop-up forðingar eru óvirknar.", - -// Dialogs -DlgBtnOK : "Góðkent", -DlgBtnCancel : "Avlýst", -DlgBtnClose : "Lat aftur", -DlgBtnBrowseServer : "Ambætarakagi", -DlgAdvancedTag : "Fjølbroytt", -DlgOpOther : "", -DlgInfoTab : "Upplýsingar", -DlgAlertUrl : "Vinarliga veit ein URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Tekstkós", -DlgGenLangDirLtr : "Frá vinstru til høgru (LTR)", -DlgGenLangDirRtl : "Frá høgru til vinstru (RTL)", -DlgGenLangCode : "Málkoda", -DlgGenAccessKey : "Snarvegisknappur", -DlgGenName : "Navn", -DlgGenTabIndex : "Inntriv indeks", -DlgGenLongDescr : "Víðkað URL frágreiðing", -DlgGenClass : "Typografi klassar", -DlgGenTitle : "Vegleiðandi heiti", -DlgGenContType : "Vegleiðandi innihaldsslag", -DlgGenLinkCharset : "Atknýtt teknsett", -DlgGenStyle : "Typografi", - -// Image Dialog -DlgImgTitle : "Myndaeginleikar", -DlgImgInfoTab : "Myndaupplýsingar", -DlgImgBtnUpload : "Send til ambætaran", -DlgImgURL : "URL", -DlgImgUpload : "Send", -DlgImgAlt : "Alternativur tekstur", -DlgImgWidth : "Breidd", -DlgImgHeight : "Hædd", -DlgImgLockRatio : "Læs lutfallið", -DlgBtnResetSize : "Upprunastødd", -DlgImgBorder : "Bordi", -DlgImgHSpace : "Høgri breddi", -DlgImgVSpace : "Vinstri breddi", -DlgImgAlign : "Justering", -DlgImgAlignLeft : "Vinstra", -DlgImgAlignAbsBottom: "Abs botnur", -DlgImgAlignAbsMiddle: "Abs miðja", -DlgImgAlignBaseline : "Basislinja", -DlgImgAlignBottom : "Botnur", -DlgImgAlignMiddle : "Miðja", -DlgImgAlignRight : "Høgra", -DlgImgAlignTextTop : "Tekst toppur", -DlgImgAlignTop : "Ovast", -DlgImgPreview : "Frumsýning", -DlgImgAlertUrl : "Rita slóðina til myndina", -DlgImgLinkTab : "Tilknýti", - -// Flash Dialog -DlgFlashTitle : "Flash eginleikar", -DlgFlashChkPlay : "Avspælingin byrjar sjálv", -DlgFlashChkLoop : "Endurspæl", -DlgFlashChkMenu : "Ger Flash skrá virkna", -DlgFlashScale : "Skalering", -DlgFlashScaleAll : "Vís alt", -DlgFlashScaleNoBorder : "Eingin bordi", -DlgFlashScaleFit : "Neyv skalering", - -// Link Dialog -DlgLnkWindowTitle : "Tilknýti", -DlgLnkInfoTab : "Tilknýtis upplýsingar", -DlgLnkTargetTab : "Mál", - -DlgLnkType : "Tilknýtisslag", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Tilknýti til marknastein í tekstinum", -DlgLnkTypeEMail : "Teldupostur", -DlgLnkProto : "Protokoll", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Vel ein marknastein", -DlgLnkAnchorByName : "Eftir navni á marknasteini", -DlgLnkAnchorById : "Eftir element Id", -DlgLnkNoAnchors : "(Eingir marknasteinar eru í hesum dokumentið)", -DlgLnkEMail : "Teldupost-adressa", -DlgLnkEMailSubject : "Evni", -DlgLnkEMailBody : "Breyðtekstur", -DlgLnkUpload : "Send til ambætaran", -DlgLnkBtnUpload : "Send til ambætaran", - -DlgLnkTarget : "Mál", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nýtt vindeyga (_blank)", -DlgLnkTargetParent : "Upphavliga vindeygað (_parent)", -DlgLnkTargetSelf : "Sama vindeygað (_self)", -DlgLnkTargetTop : "Alt vindeygað (_top)", -DlgLnkTargetFrameName : "Vís navn vindeygans", -DlgLnkPopWinName : "Popup vindeygans navn", -DlgLnkPopWinFeat : "Popup vindeygans víðkaðu eginleikar", -DlgLnkPopResize : "Kann broyta stødd", -DlgLnkPopLocation : "Adressulinja", -DlgLnkPopMenu : "Skrábjálki", -DlgLnkPopScroll : "Rullibjálki", -DlgLnkPopStatus : "Støðufrágreiðingarbjálki", -DlgLnkPopToolbar : "Amboðsbjálki", -DlgLnkPopFullScrn : "Fullur skermur (IE)", -DlgLnkPopDependent : "Bundið (Netscape)", -DlgLnkPopWidth : "Breidd", -DlgLnkPopHeight : "Hædd", -DlgLnkPopLeft : "Frástøða frá vinstru", -DlgLnkPopTop : "Frástøða frá íerva", - -DlnLnkMsgNoUrl : "Vinarliga skriva tilknýti (URL)", -DlnLnkMsgNoEMail : "Vinarliga skriva teldupost-adressu", -DlnLnkMsgNoAnchor : "Vinarliga vel marknastein", -DlnLnkMsgInvPopName : "Popup navnið má byrja við bókstavi og má ikki hava millumrúm", - -// Color Dialog -DlgColorTitle : "Vel lit", -DlgColorBtnClear : "Strika alt", -DlgColorHighlight : "Framhevja", -DlgColorSelected : "Valt", - -// Smiley Dialog -DlgSmileyTitle : "Vel Smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Vel sertekn", - -// Table Dialog -DlgTableTitle : "Eginleikar fyri tabell", -DlgTableRows : "Røðir", -DlgTableColumns : "Kolonnur", -DlgTableBorder : "Bordabreidd", -DlgTableAlign : "Justering", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Vinstrasett", -DlgTableAlignCenter : "Miðsett", -DlgTableAlignRight : "Høgrasett", -DlgTableWidth : "Breidd", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "prosent", -DlgTableHeight : "Hædd", -DlgTableCellSpace : "Fjarstøða millum meskar", -DlgTableCellPad : "Meskubreddi", -DlgTableCaption : "Tabellfrágreiðing", -DlgTableSummary : "Samandráttur", - -// Table Cell Dialog -DlgCellTitle : "Mesku eginleikar", -DlgCellWidth : "Breidd", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "prosent", -DlgCellHeight : "Hædd", -DlgCellWordWrap : "Orðkloyving", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Ja", -DlgCellWordWrapNo : "Nei", -DlgCellHorAlign : "Vatnrøtt justering", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Vinstrasett", -DlgCellHorAlignCenter : "Miðsett", -DlgCellHorAlignRight: "Høgrasett", -DlgCellVerAlign : "Lodrøtt justering", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Ovast", -DlgCellVerAlignMiddle : "Miðjan", -DlgCellVerAlignBottom : "Niðast", -DlgCellVerAlignBaseline : "Basislinja", -DlgCellRowSpan : "Røðir, meskin fevnir um", -DlgCellCollSpan : "Kolonnur, meskin fevnir um", -DlgCellBackColor : "Bakgrundslitur", -DlgCellBorderColor : "Litur á borda", -DlgCellBtnSelect : "Vel...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Finn og broyt", - -// Find Dialog -DlgFindTitle : "Finn", -DlgFindFindBtn : "Finn", -DlgFindNotFoundMsg : "Leititeksturin varð ikki funnin", - -// Replace Dialog -DlgReplaceTitle : "Yvirskriva", -DlgReplaceFindLbl : "Finn:", -DlgReplaceReplaceLbl : "Yvirskriva við:", -DlgReplaceCaseChk : "Munur á stórum og smáðum bókstavum", -DlgReplaceReplaceBtn : "Yvirskriva", -DlgReplaceReplAllBtn : "Yvirskriva alt", -DlgReplaceWordChk : "Bert heil orð", - -// Paste Operations / Dialog -PasteErrorCut : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (CTRL+X).", -PasteErrorCopy : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í at avrita tekstin. Vinarliga nýt knappaborðið til at avrita tekstin (CTRL+C).", - -PasteAsText : "Innrita som reinan tekst", -PasteFromWord : "Innrita fra Word", - -DlgPasteMsg2 : "Vinarliga koyr tekstin í hendan rútin við knappaborðinum (CTRL+V) og klikk á Góðtak.", -DlgPasteSec : "Trygdaruppseting alnótskagans forðar tekstviðgeranum í beinleiðis atgongd til avritingarminnið. Tygum mugu royna aftur í hesum rútinum.", -DlgPasteIgnoreFont : "Forfjóna Font definitiónirnar", -DlgPasteRemoveStyles : "Strika typografi definitiónir", - -// Color Picker -ColorAutomatic : "Automatiskt", -ColorMoreColors : "Fleiri litir...", - -// Document Properties -DocProps : "Eginleikar fyri dokument", - -// Anchor Dialog -DlgAnchorTitle : "Eginleikar fyri marknastein", -DlgAnchorName : "Heiti marknasteinsins", -DlgAnchorErrorName : "Vinarliga rita marknasteinsins heiti", - -// Speller Pages Dialog -DlgSpellNotInDic : "Finst ikki í orðabókini", -DlgSpellChangeTo : "Broyt til", -DlgSpellBtnIgnore : "Forfjóna", -DlgSpellBtnIgnoreAll : "Forfjóna alt", -DlgSpellBtnReplace : "Yvirskriva", -DlgSpellBtnReplaceAll : "Yvirskriva alt", -DlgSpellBtnUndo : "Angra", -DlgSpellNoSuggestions : "- Einki uppskot -", -DlgSpellProgress : "Rættstavarin arbeiðir...", -DlgSpellNoMispell : "Rættstavarain liðugur: Eingin feilur funnin", -DlgSpellNoChanges : "Rættstavarain liðugur: Einki orð varð broytt", -DlgSpellOneChange : "Rættstavarain liðugur: Eitt orð er broytt", -DlgSpellManyChanges : "Rættstavarain liðugur: %1 orð broytt", - -IeSpellDownload : "Rættstavarin er ikki tøkur í tekstviðgeranum. Vilt tú heinta hann nú?", - -// Button Dialog -DlgButtonText : "Tekstur", -DlgButtonType : "Slag", -DlgButtonTypeBtn : "Knøttur", -DlgButtonTypeSbm : "Send", -DlgButtonTypeRst : "Nullstilla", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Navn", -DlgCheckboxValue : "Virði", -DlgCheckboxSelected : "Valt", - -// Form Dialog -DlgFormName : "Navn", -DlgFormAction : "Hending", -DlgFormMethod : "Háttur", - -// Select Field Dialog -DlgSelectName : "Navn", -DlgSelectValue : "Virði", -DlgSelectSize : "Stødd", -DlgSelectLines : "Linjur", -DlgSelectChkMulti : "Loyv fleiri valmøguleikum samstundis", -DlgSelectOpAvail : "Tøkir møguleikar", -DlgSelectOpText : "Tekstur", -DlgSelectOpValue : "Virði", -DlgSelectBtnAdd : "Legg afturat", -DlgSelectBtnModify : "Broyt", -DlgSelectBtnUp : "Upp", -DlgSelectBtnDown : "Niður", -DlgSelectBtnSetValue : "Set sum valt virði", -DlgSelectBtnDelete : "Strika", - -// Textarea Dialog -DlgTextareaName : "Navn", -DlgTextareaCols : "kolonnur", -DlgTextareaRows : "røðir", - -// Text Field Dialog -DlgTextName : "Navn", -DlgTextValue : "Virði", -DlgTextCharWidth : "Breidd (sjónlig tekn)", -DlgTextMaxChars : "Mest loyvdu tekn", -DlgTextType : "Slag", -DlgTextTypeText : "Tekstur", -DlgTextTypePass : "Loyniorð", - -// Hidden Field Dialog -DlgHiddenName : "Navn", -DlgHiddenValue : "Virði", - -// Bulleted List Dialog -BulletedListProp : "Eginleikar fyri punktmerktan lista", -NumberedListProp : "Eginleikar fyri talmerktan lista", -DlgLstStart : "Byrjan", -DlgLstType : "Slag", -DlgLstTypeCircle : "Sirkul", -DlgLstTypeDisc : "Fyltur sirkul", -DlgLstTypeSquare : "Fjórhyrningur", -DlgLstTypeNumbers : "Talmerkt (1, 2, 3)", -DlgLstTypeLCase : "Smáir bókstavir (a, b, c)", -DlgLstTypeUCase : "Stórir bókstavir (A, B, C)", -DlgLstTypeSRoman : "Smá rómaratøl (i, ii, iii)", -DlgLstTypeLRoman : "Stór rómaratøl (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Generelt", -DlgDocBackTab : "Bakgrund", -DlgDocColorsTab : "Litir og breddar", -DlgDocMetaTab : "META-upplýsingar", - -DlgDocPageTitle : "Síðuheiti", -DlgDocLangDir : "Tekstkós", -DlgDocLangDirLTR : "Frá vinstru móti høgru (LTR)", -DlgDocLangDirRTL : "Frá høgru móti vinstru (RTL)", -DlgDocLangCode : "Málkoda", -DlgDocCharSet : "Teknsett koda", -DlgDocCharSetCE : "Miðeuropa", -DlgDocCharSetCT : "Kinesiskt traditionelt (Big5)", -DlgDocCharSetCR : "Cyrilliskt", -DlgDocCharSetGR : "Grikst", -DlgDocCharSetJP : "Japanskt", -DlgDocCharSetKR : "Koreanskt", -DlgDocCharSetTR : "Turkiskt", -DlgDocCharSetUN : "UNICODE (UTF-8)", -DlgDocCharSetWE : "Vestureuropa", -DlgDocCharSetOther : "Onnur teknsett koda", - -DlgDocDocType : "Dokumentslag yvirskrift", -DlgDocDocTypeOther : "Annað dokumentslag yvirskrift", -DlgDocIncXHTML : "Viðfest XHTML deklaratiónir", -DlgDocBgColor : "Bakgrundslitur", -DlgDocBgImage : "Leið til bakgrundsmynd (URL)", -DlgDocBgNoScroll : "Læst bakgrund (rullar ikki)", -DlgDocCText : "Tekstur", -DlgDocCLink : "Tilknýti", -DlgDocCVisited : "Vitjaði tilknýti", -DlgDocCActive : "Virkin tilknýti", -DlgDocMargins : "Síðubreddar", -DlgDocMaTop : "Ovast", -DlgDocMaLeft : "Vinstra", -DlgDocMaRight : "Høgra", -DlgDocMaBottom : "Niðast", -DlgDocMeIndex : "Dokument index lyklaorð (sundurbýtt við komma)", -DlgDocMeDescr : "Dokumentlýsing", -DlgDocMeAuthor : "Høvundur", -DlgDocMeCopy : "Upphavsrættindi", -DlgDocPreview : "Frumsýning", - -// Templates Dialog -Templates : "Skabelónir", -DlgTemplatesTitle : "Innihaldsskabelónir", -DlgTemplatesSelMsg : "Vinarliga vel ta skabelón, ið skal opnast í tekstviðgeranum
    (Hetta yvirskrivar núverandi innihald):", -DlgTemplatesLoading : "Heinti yvirlit yvir skabelónir. Vinarliga bíða við...", -DlgTemplatesNoTpl : "(Ongar skabelónir tøkar)", -DlgTemplatesReplace : "Yvirskriva núverandi innihald", - -// About Dialog -DlgAboutAboutTab : "Um", -DlgAboutBrowserInfoTab : "Upplýsingar um alnótskagan", -DlgAboutLicenseTab : "License", -DlgAboutVersion : "version", -DlgAboutInfo : "Fyri fleiri upplýsingar, far til", - -// Div Dialog -DlgDivGeneralTab : "Generelt", -DlgDivAdvancedTab : "Fjølbroytt", -DlgDivStyle : "Typografi", -DlgDivInlineStyle : "Inline typografi" -}; diff --git a/include/fckeditor/editor/lang/fr-ca.js b/include/fckeditor/editor/lang/fr-ca.js deleted file mode 100644 index eb40f8b0d..000000000 --- a/include/fckeditor/editor/lang/fr-ca.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Canadian French language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Masquer Outils", -ToolbarExpand : "Afficher Outils", - -// Toolbar Items and Context Menu -Save : "Sauvegarder", -NewPage : "Nouvelle page", -Preview : "Previsualiser", -Cut : "Couper", -Copy : "Copier", -Paste : "Coller", -PasteText : "Coller en tant que texte", -PasteWord : "Coller en tant que Word (formaté)", -Print : "Imprimer", -SelectAll : "Tout sélectionner", -RemoveFormat : "Supprimer le formatage", -InsertLinkLbl : "Lien", -InsertLink : "Insérer/modifier le lien", -RemoveLink : "Supprimer le lien", -VisitLink : "Suivre le lien", -Anchor : "Insérer/modifier l'ancre", -AnchorDelete : "Supprimer l'ancre", -InsertImageLbl : "Image", -InsertImage : "Insérer/modifier l'image", -InsertFlashLbl : "Animation Flash", -InsertFlash : "Insérer/modifier l'animation Flash", -InsertTableLbl : "Tableau", -InsertTable : "Insérer/modifier le tableau", -InsertLineLbl : "Séparateur", -InsertLine : "Insérer un séparateur", -InsertSpecialCharLbl: "Caractères spéciaux", -InsertSpecialChar : "Insérer un caractère spécial", -InsertSmileyLbl : "Emoticon", -InsertSmiley : "Insérer un Emoticon", -About : "A propos de FCKeditor", -Bold : "Gras", -Italic : "Italique", -Underline : "Souligné", -StrikeThrough : "Barrer", -Subscript : "Indice", -Superscript : "Exposant", -LeftJustify : "Aligner à gauche", -CenterJustify : "Centrer", -RightJustify : "Aligner à Droite", -BlockJustify : "Texte justifié", -DecreaseIndent : "Diminuer le retrait", -IncreaseIndent : "Augmenter le retrait", -Blockquote : "Citation", -CreateDiv : "Créer Balise Div", -EditDiv : "Modifier Balise Div", -DeleteDiv : "Supprimer Balise Div", -Undo : "Annuler", -Redo : "Refaire", -NumberedListLbl : "Liste numérotée", -NumberedList : "Insérer/supprimer la liste numérotée", -BulletedListLbl : "Liste à puces", -BulletedList : "Insérer/supprimer la liste à puces", -ShowTableBorders : "Afficher les bordures du tableau", -ShowDetails : "Afficher les caractères invisibles", -Style : "Style", -FontFormat : "Format", -Font : "Police", -FontSize : "Taille", -TextColor : "Couleur de caractère", -BGColor : "Couleur de fond", -Source : "Source", -Find : "Chercher", -Replace : "Remplacer", -SpellCheck : "Orthographe", -UniversalKeyboard : "Clavier universel", -PageBreakLbl : "Saut de page", -PageBreak : "Insérer un saut de page", - -Form : "Formulaire", -Checkbox : "Case à cocher", -RadioButton : "Bouton radio", -TextField : "Champ texte", -Textarea : "Zone de texte", -HiddenField : "Champ caché", -Button : "Bouton", -SelectionField : "Champ de sélection", -ImageButton : "Bouton image", - -FitWindow : "Edition pleine page", -ShowBlocks : "Afficher les blocs", - -// Context Menu -EditLink : "Modifier le lien", -CellCM : "Cellule", -RowCM : "Ligne", -ColumnCM : "Colonne", -InsertRowAfter : "Insérer une ligne après", -InsertRowBefore : "Insérer une ligne avant", -DeleteRows : "Supprimer des lignes", -InsertColumnAfter : "Insérer une colonne après", -InsertColumnBefore : "Insérer une colonne avant", -DeleteColumns : "Supprimer des colonnes", -InsertCellAfter : "Insérer une cellule après", -InsertCellBefore : "Insérer une cellule avant", -DeleteCells : "Supprimer des cellules", -MergeCells : "Fusionner les cellules", -MergeRight : "Fusionner à droite", -MergeDown : "Fusionner en bas", -HorizontalSplitCell : "Scinder la cellule horizontalement", -VerticalSplitCell : "Scinder la cellule verticalement", -TableDelete : "Supprimer le tableau", -CellProperties : "Propriétés de cellule", -TableProperties : "Propriétés du tableau", -ImageProperties : "Propriétés de l'image", -FlashProperties : "Propriétés de l'animation Flash", - -AnchorProp : "Propriétés de l'ancre", -ButtonProp : "Propriétés du bouton", -CheckboxProp : "Propriétés de la case à cocher", -HiddenFieldProp : "Propriétés du champ caché", -RadioButtonProp : "Propriétés du bouton radio", -ImageButtonProp : "Propriétés du bouton image", -TextFieldProp : "Propriétés du champ texte", -SelectionFieldProp : "Propriétés de la liste/du menu", -TextareaProp : "Propriétés de la zone de texte", -FormProp : "Propriétés du formulaire", - -FontFormats : "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Calcul XHTML. Veuillez patienter...", -Done : "Terminé", -PasteWordConfirm : "Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller?", -NotCompatiblePaste : "Cette commande nécessite Internet Explorer version 5.5 et plus. Souhaitez-vous coller sans nettoyage?", -UnknownToolbarItem : "Élément de barre d'outil inconnu \"%1\"", -UnknownCommand : "Nom de commande inconnu \"%1\"", -NotImplemented : "Commande indisponible", -UnknownToolbarSet : "La barre d'outils \"%1\" n'existe pas", -NoActiveX : "Les paramètres de sécurité de votre navigateur peuvent limiter quelques fonctionnalités de l'éditeur. Veuillez activer l'option \"Exécuter les contrôles ActiveX et les plug-ins\". Il se peut que vous rencontriez des erreurs et remarquiez quelques limitations.", -BrowseServerBlocked : "Le navigateur n'a pas pu être ouvert. Assurez-vous que les bloqueurs de popups soient désactivés.", -DialogBlocked : "La fenêtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient désactivés.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Annuler", -DlgBtnClose : "Fermer", -DlgBtnBrowseServer : "Parcourir le serveur", -DlgAdvancedTag : "Avancée", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Veuillez saisir l'URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Sens d'écriture", -DlgGenLangDirLtr : "De gauche à droite (LTR)", -DlgGenLangDirRtl : "De droite à gauche (RTL)", -DlgGenLangCode : "Code langue", -DlgGenAccessKey : "Équivalent clavier", -DlgGenName : "Nom", -DlgGenTabIndex : "Ordre de tabulation", -DlgGenLongDescr : "URL de description longue", -DlgGenClass : "Classes de feuilles de style", -DlgGenTitle : "Titre", -DlgGenContType : "Type de contenu", -DlgGenLinkCharset : "Encodage de caractère", -DlgGenStyle : "Style", - -// Image Dialog -DlgImgTitle : "Propriétés de l'image", -DlgImgInfoTab : "Informations sur l'image", -DlgImgBtnUpload : "Envoyer sur le serveur", -DlgImgURL : "URL", -DlgImgUpload : "Télécharger", -DlgImgAlt : "Texte de remplacement", -DlgImgWidth : "Largeur", -DlgImgHeight : "Hauteur", -DlgImgLockRatio : "Garder les proportions", -DlgBtnResetSize : "Taille originale", -DlgImgBorder : "Bordure", -DlgImgHSpace : "Espacement horizontal", -DlgImgVSpace : "Espacement vertical", -DlgImgAlign : "Alignement", -DlgImgAlignLeft : "Gauche", -DlgImgAlignAbsBottom: "Abs Bas", -DlgImgAlignAbsMiddle: "Abs Milieu", -DlgImgAlignBaseline : "Bas du texte", -DlgImgAlignBottom : "Bas", -DlgImgAlignMiddle : "Milieu", -DlgImgAlignRight : "Droite", -DlgImgAlignTextTop : "Haut du texte", -DlgImgAlignTop : "Haut", -DlgImgPreview : "Prévisualisation", -DlgImgAlertUrl : "Veuillez saisir l'URL de l'image", -DlgImgLinkTab : "Lien", - -// Flash Dialog -DlgFlashTitle : "Propriétés de l'animation Flash", -DlgFlashChkPlay : "Lecture automatique", -DlgFlashChkLoop : "Boucle", -DlgFlashChkMenu : "Activer le menu Flash", -DlgFlashScale : "Affichage", -DlgFlashScaleAll : "Par défaut (tout montrer)", -DlgFlashScaleNoBorder : "Sans bordure", -DlgFlashScaleFit : "Ajuster aux dimensions", - -// Link Dialog -DlgLnkWindowTitle : "Propriétés du lien", -DlgLnkInfoTab : "Informations sur le lien", -DlgLnkTargetTab : "Destination", - -DlgLnkType : "Type de lien", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Ancre dans cette page", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocole", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Sélectionner une ancre", -DlgLnkAnchorByName : "Par nom", -DlgLnkAnchorById : "Par id", -DlgLnkNoAnchors : "(Pas d'ancre disponible dans le document)", -DlgLnkEMail : "Adresse E-Mail", -DlgLnkEMailSubject : "Sujet du message", -DlgLnkEMailBody : "Corps du message", -DlgLnkUpload : "Télécharger", -DlgLnkBtnUpload : "Envoyer sur le serveur", - -DlgLnkTarget : "Destination", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nouvelle fenêtre (_blank)", -DlgLnkTargetParent : "Fenêtre mère (_parent)", -DlgLnkTargetSelf : "Même fenêtre (_self)", -DlgLnkTargetTop : "Fenêtre supérieure (_top)", -DlgLnkTargetFrameName : "Nom du cadre de destination", -DlgLnkPopWinName : "Nom de la fenêtre popup", -DlgLnkPopWinFeat : "Caractéristiques de la fenêtre popup", -DlgLnkPopResize : "Taille modifiable", -DlgLnkPopLocation : "Barre d'adresses", -DlgLnkPopMenu : "Barre de menu", -DlgLnkPopScroll : "Barres de défilement", -DlgLnkPopStatus : "Barre d'état", -DlgLnkPopToolbar : "Barre d'outils", -DlgLnkPopFullScrn : "Plein écran (IE)", -DlgLnkPopDependent : "Dépendante (Netscape)", -DlgLnkPopWidth : "Largeur", -DlgLnkPopHeight : "Hauteur", -DlgLnkPopLeft : "Position à partir de la gauche", -DlgLnkPopTop : "Position à partir du haut", - -DlnLnkMsgNoUrl : "Veuillez saisir l'URL", -DlnLnkMsgNoEMail : "Veuillez saisir l'adresse e-mail", -DlnLnkMsgNoAnchor : "Veuillez sélectionner une ancre", -DlnLnkMsgInvPopName : "Le nom de la fenêtre popup doit commencer par une lettre et ne doit pas contenir d'espace", - -// Color Dialog -DlgColorTitle : "Sélectionner", -DlgColorBtnClear : "Effacer", -DlgColorHighlight : "Prévisualisation", -DlgColorSelected : "Sélectionné", - -// Smiley Dialog -DlgSmileyTitle : "Insérer un Emoticon", - -// Special Character Dialog -DlgSpecialCharTitle : "Insérer un caractère spécial", - -// Table Dialog -DlgTableTitle : "Propriétés du tableau", -DlgTableRows : "Lignes", -DlgTableColumns : "Colonnes", -DlgTableBorder : "Taille de la bordure", -DlgTableAlign : "Alignement", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Gauche", -DlgTableAlignCenter : "Centré", -DlgTableAlignRight : "Droite", -DlgTableWidth : "Largeur", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "pourcentage", -DlgTableHeight : "Hauteur", -DlgTableCellSpace : "Espacement", -DlgTableCellPad : "Contour", -DlgTableCaption : "Titre", -DlgTableSummary : "Résumé", - -// Table Cell Dialog -DlgCellTitle : "Propriétés de la cellule", -DlgCellWidth : "Largeur", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "pourcentage", -DlgCellHeight : "Hauteur", -DlgCellWordWrap : "Retour à la ligne", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Oui", -DlgCellWordWrapNo : "Non", -DlgCellHorAlign : "Alignement horizontal", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Gauche", -DlgCellHorAlignCenter : "Centré", -DlgCellHorAlignRight: "Droite", -DlgCellVerAlign : "Alignement vertical", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Haut", -DlgCellVerAlignMiddle : "Milieu", -DlgCellVerAlignBottom : "Bas", -DlgCellVerAlignBaseline : "Bas du texte", -DlgCellRowSpan : "Lignes fusionnées", -DlgCellCollSpan : "Colonnes fusionnées", -DlgCellBackColor : "Couleur de fond", -DlgCellBorderColor : "Couleur de bordure", -DlgCellBtnSelect : "Sélectionner...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Chercher et Remplacer", - -// Find Dialog -DlgFindTitle : "Chercher", -DlgFindFindBtn : "Chercher", -DlgFindNotFoundMsg : "Le texte indiqué est introuvable.", - -// Replace Dialog -DlgReplaceTitle : "Remplacer", -DlgReplaceFindLbl : "Rechercher:", -DlgReplaceReplaceLbl : "Remplacer par:", -DlgReplaceCaseChk : "Respecter la casse", -DlgReplaceReplaceBtn : "Remplacer", -DlgReplaceReplAllBtn : "Tout remplacer", -DlgReplaceWordChk : "Mot entier", - -// Paste Operations / Dialog -PasteErrorCut : "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+X).", -PasteErrorCopy : "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+C).", - -PasteAsText : "Coller comme texte", -PasteFromWord : "Coller à partir de Word", - -DlgPasteMsg2 : "Veuillez coller dans la zone ci-dessous en utilisant le clavier (Ctrl+V) et appuyer sur OK.", -DlgPasteSec : "A cause des paramètres de sécurité de votre navigateur, l'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.", -DlgPasteIgnoreFont : "Ignorer les polices de caractères", -DlgPasteRemoveStyles : "Supprimer les styles", - -// Color Picker -ColorAutomatic : "Automatique", -ColorMoreColors : "Plus de couleurs...", - -// Document Properties -DocProps : "Propriétés du document", - -// Anchor Dialog -DlgAnchorTitle : "Propriétés de l'ancre", -DlgAnchorName : "Nom de l'ancre", -DlgAnchorErrorName : "Veuillez saisir le nom de l'ancre", - -// Speller Pages Dialog -DlgSpellNotInDic : "Pas dans le dictionnaire", -DlgSpellChangeTo : "Changer en", -DlgSpellBtnIgnore : "Ignorer", -DlgSpellBtnIgnoreAll : "Ignorer tout", -DlgSpellBtnReplace : "Remplacer", -DlgSpellBtnReplaceAll : "Remplacer tout", -DlgSpellBtnUndo : "Annuler", -DlgSpellNoSuggestions : "- Pas de suggestion -", -DlgSpellProgress : "Vérification d'orthographe en cours...", -DlgSpellNoMispell : "Vérification d'orthographe terminée: pas d'erreur trouvée", -DlgSpellNoChanges : "Vérification d'orthographe terminée: Pas de modifications", -DlgSpellOneChange : "Vérification d'orthographe terminée: Un mot modifié", -DlgSpellManyChanges : "Vérification d'orthographe terminée: %1 mots modifiés", - -IeSpellDownload : "Le Correcteur d'orthographe n'est pas installé. Souhaitez-vous le télécharger maintenant?", - -// Button Dialog -DlgButtonText : "Texte (Valeur)", -DlgButtonType : "Type", -DlgButtonTypeBtn : "Bouton", -DlgButtonTypeSbm : "Soumettre", -DlgButtonTypeRst : "Réinitialiser", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nom", -DlgCheckboxValue : "Valeur", -DlgCheckboxSelected : "Sélectionné", - -// Form Dialog -DlgFormName : "Nom", -DlgFormAction : "Action", -DlgFormMethod : "Méthode", - -// Select Field Dialog -DlgSelectName : "Nom", -DlgSelectValue : "Valeur", -DlgSelectSize : "Taille", -DlgSelectLines : "lignes", -DlgSelectChkMulti : "Sélection multiple", -DlgSelectOpAvail : "Options disponibles", -DlgSelectOpText : "Texte", -DlgSelectOpValue : "Valeur", -DlgSelectBtnAdd : "Ajouter", -DlgSelectBtnModify : "Modifier", -DlgSelectBtnUp : "Monter", -DlgSelectBtnDown : "Descendre", -DlgSelectBtnSetValue : "Valeur sélectionnée", -DlgSelectBtnDelete : "Supprimer", - -// Textarea Dialog -DlgTextareaName : "Nom", -DlgTextareaCols : "Colonnes", -DlgTextareaRows : "Lignes", - -// Text Field Dialog -DlgTextName : "Nom", -DlgTextValue : "Valeur", -DlgTextCharWidth : "Largeur en caractères", -DlgTextMaxChars : "Nombre maximum de caractères", -DlgTextType : "Type", -DlgTextTypeText : "Texte", -DlgTextTypePass : "Mot de passe", - -// Hidden Field Dialog -DlgHiddenName : "Nom", -DlgHiddenValue : "Valeur", - -// Bulleted List Dialog -BulletedListProp : "Propriétés de liste à puces", -NumberedListProp : "Propriétés de liste numérotée", -DlgLstStart : "Début", -DlgLstType : "Type", -DlgLstTypeCircle : "Cercle", -DlgLstTypeDisc : "Disque", -DlgLstTypeSquare : "Carré", -DlgLstTypeNumbers : "Nombres (1, 2, 3)", -DlgLstTypeLCase : "Lettres minuscules (a, b, c)", -DlgLstTypeUCase : "Lettres majuscules (A, B, C)", -DlgLstTypeSRoman : "Chiffres romains minuscules (i, ii, iii)", -DlgLstTypeLRoman : "Chiffres romains majuscules (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Général", -DlgDocBackTab : "Fond", -DlgDocColorsTab : "Couleurs et Marges", -DlgDocMetaTab : "Méta-Données", - -DlgDocPageTitle : "Titre de la page", -DlgDocLangDir : "Sens d'écriture", -DlgDocLangDirLTR : "De la gauche vers la droite (LTR)", -DlgDocLangDirRTL : "De la droite vers la gauche (RTL)", -DlgDocLangCode : "Code langue", -DlgDocCharSet : "Encodage de caractère", -DlgDocCharSetCE : "Europe Centrale", -DlgDocCharSetCT : "Chinois Traditionnel (Big5)", -DlgDocCharSetCR : "Cyrillique", -DlgDocCharSetGR : "Grecque", -DlgDocCharSetJP : "Japonais", -DlgDocCharSetKR : "Coréen", -DlgDocCharSetTR : "Turcque", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Occidental", -DlgDocCharSetOther : "Autre encodage de caractère", - -DlgDocDocType : "Type de document", -DlgDocDocTypeOther : "Autre type de document", -DlgDocIncXHTML : "Inclure les déclarations XHTML", -DlgDocBgColor : "Couleur de fond", -DlgDocBgImage : "Image de fond", -DlgDocBgNoScroll : "Image fixe sans défilement", -DlgDocCText : "Texte", -DlgDocCLink : "Lien", -DlgDocCVisited : "Lien visité", -DlgDocCActive : "Lien activé", -DlgDocMargins : "Marges", -DlgDocMaTop : "Haut", -DlgDocMaLeft : "Gauche", -DlgDocMaRight : "Droite", -DlgDocMaBottom : "Bas", -DlgDocMeIndex : "Mots-clés (séparés par des virgules)", -DlgDocMeDescr : "Description", -DlgDocMeAuthor : "Auteur", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Prévisualisation", - -// Templates Dialog -Templates : "Modèles", -DlgTemplatesTitle : "Modèles de contenu", -DlgTemplatesSelMsg : "Sélectionner le modèle à ouvrir dans l'éditeur
    (le contenu actuel sera remplacé):", -DlgTemplatesLoading : "Chargement de la liste des modèles. Veuillez patienter...", -DlgTemplatesNoTpl : "(Aucun modèle disponible)", -DlgTemplatesReplace : "Remplacer tout le contenu actuel", - -// About Dialog -DlgAboutAboutTab : "Á propos de", -DlgAboutBrowserInfoTab : "Navigateur", -DlgAboutLicenseTab : "License", -DlgAboutVersion : "Version", -DlgAboutInfo : "Pour plus d'informations, visiter", - -// Div Dialog -DlgDivGeneralTab : "Général", -DlgDivAdvancedTab : "Avancé", -DlgDivStyle : "Style", -DlgDivInlineStyle : "Attribut Style" -}; diff --git a/include/fckeditor/editor/lang/fr.js b/include/fckeditor/editor/lang/fr.js deleted file mode 100644 index 7b744ad0f..000000000 --- a/include/fckeditor/editor/lang/fr.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * French language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Masquer Outils", -ToolbarExpand : "Afficher Outils", - -// Toolbar Items and Context Menu -Save : "Enregistrer", -NewPage : "Nouvelle page", -Preview : "Prévisualisation", -Cut : "Couper", -Copy : "Copier", -Paste : "Coller", -PasteText : "Coller comme texte", -PasteWord : "Coller de Word", -Print : "Imprimer", -SelectAll : "Tout sélectionner", -RemoveFormat : "Supprimer le format", -InsertLinkLbl : "Lien", -InsertLink : "Insérer/modifier le lien", -RemoveLink : "Supprimer le lien", -VisitLink : "Suivre le lien", -Anchor : "Insérer/modifier l'ancre", -AnchorDelete : "Supprimer l'ancre", -InsertImageLbl : "Image", -InsertImage : "Insérer/modifier l'image", -InsertFlashLbl : "Animation Flash", -InsertFlash : "Insérer/modifier l'animation Flash", -InsertTableLbl : "Tableau", -InsertTable : "Insérer/modifier le tableau", -InsertLineLbl : "Séparateur", -InsertLine : "Insérer un séparateur", -InsertSpecialCharLbl: "Caractères spéciaux", -InsertSpecialChar : "Insérer un caractère spécial", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Insérer un Smiley", -About : "A propos de FCKeditor", -Bold : "Gras", -Italic : "Italique", -Underline : "Souligné", -StrikeThrough : "Barré", -Subscript : "Indice", -Superscript : "Exposant", -LeftJustify : "Aligné à gauche", -CenterJustify : "Centré", -RightJustify : "Aligné à Droite", -BlockJustify : "Texte justifié", -DecreaseIndent : "Diminuer le retrait", -IncreaseIndent : "Augmenter le retrait", -Blockquote : "Citation", -CreateDiv : "Créer Balise Div", -EditDiv : "Modifier Balise Div", -DeleteDiv : "Supprimer Balise Div", -Undo : "Annuler", -Redo : "Refaire", -NumberedListLbl : "Liste numérotée", -NumberedList : "Insérer/supprimer la liste numérotée", -BulletedListLbl : "Liste à puces", -BulletedList : "Insérer/supprimer la liste à puces", -ShowTableBorders : "Afficher les bordures du tableau", -ShowDetails : "Afficher les caractères invisibles", -Style : "Style", -FontFormat : "Format", -Font : "Police", -FontSize : "Taille", -TextColor : "Couleur de caractère", -BGColor : "Couleur de fond", -Source : "Source", -Find : "Chercher", -Replace : "Remplacer", -SpellCheck : "Orthographe", -UniversalKeyboard : "Clavier universel", -PageBreakLbl : "Saut de page", -PageBreak : "Insérer un saut de page", - -Form : "Formulaire", -Checkbox : "Case à cocher", -RadioButton : "Bouton radio", -TextField : "Champ texte", -Textarea : "Zone de texte", -HiddenField : "Champ caché", -Button : "Bouton", -SelectionField : "Liste/menu", -ImageButton : "Bouton image", - -FitWindow : "Edition pleine page", -ShowBlocks : "Afficher les blocs", - -// Context Menu -EditLink : "Modifier le lien", -CellCM : "Cellule", -RowCM : "Ligne", -ColumnCM : "Colonne", -InsertRowAfter : "Insérer une ligne après", -InsertRowBefore : "Insérer une ligne avant", -DeleteRows : "Supprimer des lignes", -InsertColumnAfter : "Insérer une colonne après", -InsertColumnBefore : "Insérer une colonne avant", -DeleteColumns : "Supprimer des colonnes", -InsertCellAfter : "Insérer une cellule après", -InsertCellBefore : "Insérer une cellule avant", -DeleteCells : "Supprimer des cellules", -MergeCells : "Fusionner les cellules", -MergeRight : "Fusionner à droite", -MergeDown : "Fusionner en bas", -HorizontalSplitCell : "Scinder la cellule horizontalement", -VerticalSplitCell : "Scinder la cellule verticalement", -TableDelete : "Supprimer le tableau", -CellProperties : "Propriétés de cellule", -TableProperties : "Propriétés du tableau", -ImageProperties : "Propriétés de l'image", -FlashProperties : "Propriétés de l'animation Flash", - -AnchorProp : "Propriétés de l'ancre", -ButtonProp : "Propriétés du bouton", -CheckboxProp : "Propriétés de la case à cocher", -HiddenFieldProp : "Propriétés du champ caché", -RadioButtonProp : "Propriétés du bouton radio", -ImageButtonProp : "Propriétés du bouton image", -TextFieldProp : "Propriétés du champ texte", -SelectionFieldProp : "Propriétés de la liste/du menu", -TextareaProp : "Propriétés de la zone de texte", -FormProp : "Propriétés du formulaire", - -FontFormats : "Normal;Formaté;Adresse;En-tête 1;En-tête 2;En-tête 3;En-tête 4;En-tête 5;En-tête 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Calcul XHTML. Veuillez patienter...", -Done : "Terminé", -PasteWordConfirm : "Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller?", -NotCompatiblePaste : "Cette commande nécessite Internet Explorer version 5.5 minimum. Souhaitez-vous coller sans nettoyage?", -UnknownToolbarItem : "Elément de barre d'outil inconnu \"%1\"", -UnknownCommand : "Nom de commande inconnu \"%1\"", -NotImplemented : "Commande non encore écrite", -UnknownToolbarSet : "La barre d'outils \"%1\" n'existe pas", -NoActiveX : "Les paramètres de sécurité de votre navigateur peuvent limiter quelques fonctionnalités de l'éditeur. Veuillez activer l'option \"Exécuter les contrôles ActiveX et les plug-ins\". Il se peut que vous rencontriez des erreurs et remarquiez quelques limitations.", -BrowseServerBlocked : "Le navigateur n'a pas pu être ouvert. Assurez-vous que les bloqueurs de popups soient désactivés.", -DialogBlocked : "La fenêtre de dialogue n'a pas pu s'ouvrir. Assurez-vous que les bloqueurs de popups soient désactivés.", -VisitLinkBlocked : "Impossible d'ouvrir une nouvelle fenêtre. Assurez-vous que les bloqueurs de popups soient désactivés.", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Annuler", -DlgBtnClose : "Fermer", -DlgBtnBrowseServer : "Parcourir le serveur", -DlgAdvancedTag : "Avancé", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Veuillez saisir l'URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Sens d'écriture", -DlgGenLangDirLtr : "De gauche à droite (LTR)", -DlgGenLangDirRtl : "De droite à gauche (RTL)", -DlgGenLangCode : "Code langue", -DlgGenAccessKey : "Equivalent clavier", -DlgGenName : "Nom", -DlgGenTabIndex : "Ordre de tabulation", -DlgGenLongDescr : "URL de description longue", -DlgGenClass : "Classes de feuilles de style", -DlgGenTitle : "Titre", -DlgGenContType : "Type de contenu", -DlgGenLinkCharset : "Encodage de caractère", -DlgGenStyle : "Style", - -// Image Dialog -DlgImgTitle : "Propriétés de l'image", -DlgImgInfoTab : "Informations sur l'image", -DlgImgBtnUpload : "Envoyer sur le serveur", -DlgImgURL : "URL", -DlgImgUpload : "Télécharger", -DlgImgAlt : "Texte de remplacement", -DlgImgWidth : "Largeur", -DlgImgHeight : "Hauteur", -DlgImgLockRatio : "Garder les proportions", -DlgBtnResetSize : "Taille originale", -DlgImgBorder : "Bordure", -DlgImgHSpace : "Espacement horizontal", -DlgImgVSpace : "Espacement vertical", -DlgImgAlign : "Alignement", -DlgImgAlignLeft : "Gauche", -DlgImgAlignAbsBottom: "Abs Bas", -DlgImgAlignAbsMiddle: "Abs Milieu", -DlgImgAlignBaseline : "Bas du texte", -DlgImgAlignBottom : "Bas", -DlgImgAlignMiddle : "Milieu", -DlgImgAlignRight : "Droite", -DlgImgAlignTextTop : "Haut du texte", -DlgImgAlignTop : "Haut", -DlgImgPreview : "Prévisualisation", -DlgImgAlertUrl : "Veuillez saisir l'URL de l'image", -DlgImgLinkTab : "Lien", - -// Flash Dialog -DlgFlashTitle : "Propriétés de l'animation Flash", -DlgFlashChkPlay : "Lecture automatique", -DlgFlashChkLoop : "Boucle", -DlgFlashChkMenu : "Activer le menu Flash", -DlgFlashScale : "Affichage", -DlgFlashScaleAll : "Par défaut (tout montrer)", -DlgFlashScaleNoBorder : "Sans bordure", -DlgFlashScaleFit : "Ajuster aux dimensions", - -// Link Dialog -DlgLnkWindowTitle : "Propriétés du lien", -DlgLnkInfoTab : "Informations sur le lien", -DlgLnkTargetTab : "Destination", - -DlgLnkType : "Type de lien", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Ancre dans cette page", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocole", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Sélectionner une ancre", -DlgLnkAnchorByName : "Par nom", -DlgLnkAnchorById : "Par id", -DlgLnkNoAnchors : "(Pas d'ancre disponible dans le document)", -DlgLnkEMail : "Adresse E-Mail", -DlgLnkEMailSubject : "Sujet du message", -DlgLnkEMailBody : "Corps du message", -DlgLnkUpload : "Télécharger", -DlgLnkBtnUpload : "Envoyer sur le serveur", - -DlgLnkTarget : "Destination", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nouvelle fenêtre (_blank)", -DlgLnkTargetParent : "Fenêtre mère (_parent)", -DlgLnkTargetSelf : "Même fenêtre (_self)", -DlgLnkTargetTop : "Fenêtre supérieure (_top)", -DlgLnkTargetFrameName : "Nom du cadre de destination", -DlgLnkPopWinName : "Nom de la fenêtre popup", -DlgLnkPopWinFeat : "Caractéristiques de la fenêtre popup", -DlgLnkPopResize : "Taille modifiable", -DlgLnkPopLocation : "Barre d'adresses", -DlgLnkPopMenu : "Barre de menu", -DlgLnkPopScroll : "Barres de défilement", -DlgLnkPopStatus : "Barre d'état", -DlgLnkPopToolbar : "Barre d'outils", -DlgLnkPopFullScrn : "Plein écran (IE)", -DlgLnkPopDependent : "Dépendante (Netscape)", -DlgLnkPopWidth : "Largeur", -DlgLnkPopHeight : "Hauteur", -DlgLnkPopLeft : "Position à partir de la gauche", -DlgLnkPopTop : "Position à partir du haut", - -DlnLnkMsgNoUrl : "Veuillez saisir l'URL", -DlnLnkMsgNoEMail : "Veuillez saisir l'adresse e-mail", -DlnLnkMsgNoAnchor : "Veuillez sélectionner une ancre", -DlnLnkMsgInvPopName : "Le nom de la fenêtre popup doit commencer par une lettre et ne doit pas contenir d'espace", - -// Color Dialog -DlgColorTitle : "Sélectionner", -DlgColorBtnClear : "Effacer", -DlgColorHighlight : "Prévisualisation", -DlgColorSelected : "Sélectionné", - -// Smiley Dialog -DlgSmileyTitle : "Insérer un Smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Insérer un caractère spécial", - -// Table Dialog -DlgTableTitle : "Propriétés du tableau", -DlgTableRows : "Lignes", -DlgTableColumns : "Colonnes", -DlgTableBorder : "Bordure", -DlgTableAlign : "Alignement", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Gauche", -DlgTableAlignCenter : "Centré", -DlgTableAlignRight : "Droite", -DlgTableWidth : "Largeur", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "pourcentage", -DlgTableHeight : "Hauteur", -DlgTableCellSpace : "Espacement", -DlgTableCellPad : "Contour", -DlgTableCaption : "Titre", -DlgTableSummary : "Résumé", - -// Table Cell Dialog -DlgCellTitle : "Propriétés de la cellule", -DlgCellWidth : "Largeur", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "pourcentage", -DlgCellHeight : "Hauteur", -DlgCellWordWrap : "Retour à la ligne", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Oui", -DlgCellWordWrapNo : "Non", -DlgCellHorAlign : "Alignement horizontal", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Gauche", -DlgCellHorAlignCenter : "Centré", -DlgCellHorAlignRight: "Droite", -DlgCellVerAlign : "Alignement vertical", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Haut", -DlgCellVerAlignMiddle : "Milieu", -DlgCellVerAlignBottom : "Bas", -DlgCellVerAlignBaseline : "Bas du texte", -DlgCellRowSpan : "Lignes fusionnées", -DlgCellCollSpan : "Colonnes fusionnées", -DlgCellBackColor : "Fond", -DlgCellBorderColor : "Bordure", -DlgCellBtnSelect : "Choisir...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Chercher et Remplacer", - -// Find Dialog -DlgFindTitle : "Chercher", -DlgFindFindBtn : "Chercher", -DlgFindNotFoundMsg : "Le texte indiqué est introuvable.", - -// Replace Dialog -DlgReplaceTitle : "Remplacer", -DlgReplaceFindLbl : "Rechercher:", -DlgReplaceReplaceLbl : "Remplacer par:", -DlgReplaceCaseChk : "Respecter la casse", -DlgReplaceReplaceBtn : "Remplacer", -DlgReplaceReplAllBtn : "Tout remplacer", -DlgReplaceWordChk : "Mot entier", - -// Paste Operations / Dialog -PasteErrorCut : "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+X).", -PasteErrorCopy : "Les paramètres de sécurité de votre navigateur empêchent l'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl+C).", - -PasteAsText : "Coller comme texte", -PasteFromWord : "Coller à partir de Word", - -DlgPasteMsg2 : "Veuillez coller dans la zone ci-dessous en utilisant le clavier (Ctrl+V) et cliquez sur OK.", -DlgPasteSec : "A cause des paramètres de sécurité de votre navigateur, l'éditeur ne peut accéder au presse-papier directement. Vous devez coller à nouveau le contenu dans cette fenêtre.", -DlgPasteIgnoreFont : "Ignorer les polices de caractères", -DlgPasteRemoveStyles : "Supprimer les styles", - -// Color Picker -ColorAutomatic : "Automatique", -ColorMoreColors : "Plus de couleurs...", - -// Document Properties -DocProps : "Propriétés du document", - -// Anchor Dialog -DlgAnchorTitle : "Propriétés de l'ancre", -DlgAnchorName : "Nom de l'ancre", -DlgAnchorErrorName : "Veuillez saisir le nom de l'ancre", - -// Speller Pages Dialog -DlgSpellNotInDic : "Pas dans le dictionnaire", -DlgSpellChangeTo : "Changer en", -DlgSpellBtnIgnore : "Ignorer", -DlgSpellBtnIgnoreAll : "Ignorer tout", -DlgSpellBtnReplace : "Remplacer", -DlgSpellBtnReplaceAll : "Remplacer tout", -DlgSpellBtnUndo : "Annuler", -DlgSpellNoSuggestions : "- Aucune suggestion -", -DlgSpellProgress : "Vérification d'orthographe en cours...", -DlgSpellNoMispell : "Vérification d'orthographe terminée: Aucune erreur trouvée", -DlgSpellNoChanges : "Vérification d'orthographe terminée: Pas de modifications", -DlgSpellOneChange : "Vérification d'orthographe terminée: Un mot modifié", -DlgSpellManyChanges : "Vérification d'orthographe terminée: %1 mots modifiés", - -IeSpellDownload : "Le Correcteur n'est pas installé. Souhaitez-vous le télécharger maintenant?", - -// Button Dialog -DlgButtonText : "Texte (valeur)", -DlgButtonType : "Type", -DlgButtonTypeBtn : "Bouton", -DlgButtonTypeSbm : "Envoyer", -DlgButtonTypeRst : "Réinitialiser", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nom", -DlgCheckboxValue : "Valeur", -DlgCheckboxSelected : "Sélectionné", - -// Form Dialog -DlgFormName : "Nom", -DlgFormAction : "Action", -DlgFormMethod : "Méthode", - -// Select Field Dialog -DlgSelectName : "Nom", -DlgSelectValue : "Valeur", -DlgSelectSize : "Taille", -DlgSelectLines : "lignes", -DlgSelectChkMulti : "Sélection multiple", -DlgSelectOpAvail : "Options disponibles", -DlgSelectOpText : "Texte", -DlgSelectOpValue : "Valeur", -DlgSelectBtnAdd : "Ajouter", -DlgSelectBtnModify : "Modifier", -DlgSelectBtnUp : "Monter", -DlgSelectBtnDown : "Descendre", -DlgSelectBtnSetValue : "Valeur sélectionnée", -DlgSelectBtnDelete : "Supprimer", - -// Textarea Dialog -DlgTextareaName : "Nom", -DlgTextareaCols : "Colonnes", -DlgTextareaRows : "Lignes", - -// Text Field Dialog -DlgTextName : "Nom", -DlgTextValue : "Valeur", -DlgTextCharWidth : "Largeur en caractères", -DlgTextMaxChars : "Nombre maximum de caractères", -DlgTextType : "Type", -DlgTextTypeText : "Texte", -DlgTextTypePass : "Mot de passe", - -// Hidden Field Dialog -DlgHiddenName : "Nom", -DlgHiddenValue : "Valeur", - -// Bulleted List Dialog -BulletedListProp : "Propriétés de liste à puces", -NumberedListProp : "Propriétés de liste numérotée", -DlgLstStart : "Début", -DlgLstType : "Type", -DlgLstTypeCircle : "Cercle", -DlgLstTypeDisc : "Disque", -DlgLstTypeSquare : "Carré", -DlgLstTypeNumbers : "Nombres (1, 2, 3)", -DlgLstTypeLCase : "Lettres minuscules (a, b, c)", -DlgLstTypeUCase : "Lettres majuscules (A, B, C)", -DlgLstTypeSRoman : "Chiffres romains minuscules (i, ii, iii)", -DlgLstTypeLRoman : "Chiffres romains majuscules (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Général", -DlgDocBackTab : "Fond", -DlgDocColorsTab : "Couleurs et marges", -DlgDocMetaTab : "Métadonnées", - -DlgDocPageTitle : "Titre de la page", -DlgDocLangDir : "Sens d'écriture", -DlgDocLangDirLTR : "De la gauche vers la droite (LTR)", -DlgDocLangDirRTL : "De la droite vers la gauche (RTL)", -DlgDocLangCode : "Code langue", -DlgDocCharSet : "Encodage de caractère", -DlgDocCharSetCE : "Europe Centrale", -DlgDocCharSetCT : "Chinois Traditionnel (Big5)", -DlgDocCharSetCR : "Cyrillique", -DlgDocCharSetGR : "Grec", -DlgDocCharSetJP : "Japonais", -DlgDocCharSetKR : "Coréen", -DlgDocCharSetTR : "Turc", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Occidental", -DlgDocCharSetOther : "Autre encodage de caractère", - -DlgDocDocType : "Type de document", -DlgDocDocTypeOther : "Autre type de document", -DlgDocIncXHTML : "Inclure les déclarations XHTML", -DlgDocBgColor : "Couleur de fond", -DlgDocBgImage : "Image de fond", -DlgDocBgNoScroll : "Image fixe sans défilement", -DlgDocCText : "Texte", -DlgDocCLink : "Lien", -DlgDocCVisited : "Lien visité", -DlgDocCActive : "Lien activé", -DlgDocMargins : "Marges", -DlgDocMaTop : "Haut", -DlgDocMaLeft : "Gauche", -DlgDocMaRight : "Droite", -DlgDocMaBottom : "Bas", -DlgDocMeIndex : "Mots-clés (séparés par des virgules)", -DlgDocMeDescr : "Description", -DlgDocMeAuthor : "Auteur", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Prévisualisation", - -// Templates Dialog -Templates : "Modèles", -DlgTemplatesTitle : "Modèles de contenu", -DlgTemplatesSelMsg : "Veuillez sélectionner le modèle à ouvrir dans l'éditeur
    (le contenu actuel sera remplacé):", -DlgTemplatesLoading : "Chargement de la liste des modèles. Veuillez patienter...", -DlgTemplatesNoTpl : "(Aucun modèle disponible)", -DlgTemplatesReplace : "Remplacer tout le contenu", - -// About Dialog -DlgAboutAboutTab : "A propos de", -DlgAboutBrowserInfoTab : "Navigateur", -DlgAboutLicenseTab : "Licence", -DlgAboutVersion : "Version", -DlgAboutInfo : "Pour plus d'informations, aller à", - -// Div Dialog -DlgDivGeneralTab : "Général", -DlgDivAdvancedTab : "Avancé", -DlgDivStyle : "Style", -DlgDivInlineStyle : "Attribut Style" -}; diff --git a/include/fckeditor/editor/lang/gl.js b/include/fckeditor/editor/lang/gl.js deleted file mode 100644 index 560969f79..000000000 --- a/include/fckeditor/editor/lang/gl.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Galician language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Ocultar Ferramentas", -ToolbarExpand : "Mostrar Ferramentas", - -// Toolbar Items and Context Menu -Save : "Gardar", -NewPage : "Nova Páxina", -Preview : "Vista Previa", -Cut : "Cortar", -Copy : "Copiar", -Paste : "Pegar", -PasteText : "Pegar como texto plano", -PasteWord : "Pegar dende Word", -Print : "Imprimir", -SelectAll : "Seleccionar todo", -RemoveFormat : "Eliminar Formato", -InsertLinkLbl : "Ligazón", -InsertLink : "Inserir/Editar Ligazón", -RemoveLink : "Eliminar Ligazón", -VisitLink : "Open Link", //MISSING -Anchor : "Inserir/Editar Referencia", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "Imaxe", -InsertImage : "Inserir/Editar Imaxe", -InsertFlashLbl : "Flash", -InsertFlash : "Inserir/Editar Flash", -InsertTableLbl : "Tabla", -InsertTable : "Inserir/Editar Tabla", -InsertLineLbl : "Liña", -InsertLine : "Inserir Liña Horizontal", -InsertSpecialCharLbl: "Carácter Special", -InsertSpecialChar : "Inserir Carácter Especial", -InsertSmileyLbl : "Smiley", -InsertSmiley : "Inserir Smiley", -About : "Acerca de FCKeditor", -Bold : "Negrita", -Italic : "Cursiva", -Underline : "Sub-raiado", -StrikeThrough : "Tachado", -Subscript : "Subíndice", -Superscript : "Superíndice", -LeftJustify : "Aliñar á Esquerda", -CenterJustify : "Centrado", -RightJustify : "Aliñar á Dereita", -BlockJustify : "Xustificado", -DecreaseIndent : "Disminuir Sangría", -IncreaseIndent : "Aumentar Sangría", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Desfacer", -Redo : "Refacer", -NumberedListLbl : "Lista Numerada", -NumberedList : "Inserir/Eliminar Lista Numerada", -BulletedListLbl : "Marcas", -BulletedList : "Inserir/Eliminar Marcas", -ShowTableBorders : "Mostrar Bordes das Táboas", -ShowDetails : "Mostrar Marcas Parágrafo", -Style : "Estilo", -FontFormat : "Formato", -Font : "Tipo", -FontSize : "Tamaño", -TextColor : "Cor do Texto", -BGColor : "Cor do Fondo", -Source : "Código Fonte", -Find : "Procurar", -Replace : "Substituir", -SpellCheck : "Corrección Ortográfica", -UniversalKeyboard : "Teclado Universal", -PageBreakLbl : "Salto de Páxina", -PageBreak : "Inserir Salto de Páxina", - -Form : "Formulario", -Checkbox : "Cadro de Verificación", -RadioButton : "Botón de Radio", -TextField : "Campo de Texto", -Textarea : "Área de Texto", -HiddenField : "Campo Oculto", -Button : "Botón", -SelectionField : "Campo de Selección", -ImageButton : "Botón de Imaxe", - -FitWindow : "Maximizar o tamaño do editor", -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "Editar Ligazón", -CellCM : "Cela", -RowCM : "Fila", -ColumnCM : "Columna", -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "Borrar Filas", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "Borrar Columnas", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "Borrar Cela", -MergeCells : "Unir Celas", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "Borrar Táboa", -CellProperties : "Propriedades da Cela", -TableProperties : "Propriedades da Táboa", -ImageProperties : "Propriedades Imaxe", -FlashProperties : "Propriedades Flash", - -AnchorProp : "Propriedades da Referencia", -ButtonProp : "Propriedades do Botón", -CheckboxProp : "Propriedades do Cadro de Verificación", -HiddenFieldProp : "Propriedades do Campo Oculto", -RadioButtonProp : "Propriedades do Botón de Radio", -ImageButtonProp : "Propriedades do Botón de Imaxe", -TextFieldProp : "Propriedades do Campo de Texto", -SelectionFieldProp : "Propriedades do Campo de Selección", -TextareaProp : "Propriedades da Área de Texto", -FormProp : "Propriedades do Formulario", - -FontFormats : "Normal;Formateado;Enderezo;Enacabezado 1;Encabezado 2;Encabezado 3;Encabezado 4;Encabezado 5;Encabezado 6;Paragraph (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Procesando XHTML. Por facor, agarde...", -Done : "Feiro", -PasteWordConfirm : "Parece que o texto que quere pegar está copiado do Word.¿Quere limpar o formato antes de pegalo?", -NotCompatiblePaste : "Este comando está disponible para Internet Explorer versión 5.5 ou superior. ¿Quere pegalo sen limpar o formato?", -UnknownToolbarItem : "Ítem de ferramentas descoñecido \"%1\"", -UnknownCommand : "Nome de comando descoñecido \"%1\"", -NotImplemented : "Comando non implementado", -UnknownToolbarSet : "O conxunto de ferramentas \"%1\" non existe", -NoActiveX : "As opcións de seguridade do seu navegador poderían limitar algunha das características de editor. Debe activar a opción \"Executar controis ActiveX e plug-ins\". Pode notar que faltan características e experimentar erros", -BrowseServerBlocked : "Non se poido abrir o navegador de recursos. Asegúrese de que están desactivados os bloqueadores de xanelas emerxentes", -DialogBlocked : "Non foi posible abrir a xanela de diálogo. Asegúrese de que están desactivados os bloqueadores de xanelas emerxentes", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Cancelar", -DlgBtnClose : "Pechar", -DlgBtnBrowseServer : "Navegar no Servidor", -DlgAdvancedTag : "Advanzado", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Por favor, insira a URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Orientación do Idioma", -DlgGenLangDirLtr : "Esquerda a Dereita (LTR)", -DlgGenLangDirRtl : "Dereita a Esquerda (RTL)", -DlgGenLangCode : "Código do Idioma", -DlgGenAccessKey : "Chave de Acceso", -DlgGenName : "Nome", -DlgGenTabIndex : "Índice de Tabulación", -DlgGenLongDescr : "Descrición Completa da URL", -DlgGenClass : "Clases da Folla de Estilos", -DlgGenTitle : "Título", -DlgGenContType : "Tipo de Contido", -DlgGenLinkCharset : "Fonte de Caracteres Vinculado", -DlgGenStyle : "Estilo", - -// Image Dialog -DlgImgTitle : "Propriedades da Imaxe", -DlgImgInfoTab : "Información da Imaxe", -DlgImgBtnUpload : "Enviar ó Servidor", -DlgImgURL : "URL", -DlgImgUpload : "Carregar", -DlgImgAlt : "Texto Alternativo", -DlgImgWidth : "Largura", -DlgImgHeight : "Altura", -DlgImgLockRatio : "Proporcional", -DlgBtnResetSize : "Tamaño Orixinal", -DlgImgBorder : "Límite", -DlgImgHSpace : "Esp. Horiz.", -DlgImgVSpace : "Esp. Vert.", -DlgImgAlign : "Aliñamento", -DlgImgAlignLeft : "Esquerda", -DlgImgAlignAbsBottom: "Abs Inferior", -DlgImgAlignAbsMiddle: "Abs Centro", -DlgImgAlignBaseline : "Liña Base", -DlgImgAlignBottom : "Pé", -DlgImgAlignMiddle : "Centro", -DlgImgAlignRight : "Dereita", -DlgImgAlignTextTop : "Tope do Texto", -DlgImgAlignTop : "Tope", -DlgImgPreview : "Vista Previa", -DlgImgAlertUrl : "Por favor, escriba a URL da imaxe", -DlgImgLinkTab : "Ligazón", - -// Flash Dialog -DlgFlashTitle : "Propriedades Flash", -DlgFlashChkPlay : "Auto Execución", -DlgFlashChkLoop : "Bucle", -DlgFlashChkMenu : "Activar Menú Flash", -DlgFlashScale : "Escalar", -DlgFlashScaleAll : "Amosar Todo", -DlgFlashScaleNoBorder : "Sen Borde", -DlgFlashScaleFit : "Encaixar axustando", - -// Link Dialog -DlgLnkWindowTitle : "Ligazón", -DlgLnkInfoTab : "Información da Ligazón", -DlgLnkTargetTab : "Referencia a esta páxina", - -DlgLnkType : "Tipo de Ligazón", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Referencia nesta páxina", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocolo", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Seleccionar unha Referencia", -DlgLnkAnchorByName : "Por Nome de Referencia", -DlgLnkAnchorById : "Por Element Id", -DlgLnkNoAnchors : "(Non hai referencias disponibles no documento)", -DlgLnkEMail : "Enderezo de E-Mail", -DlgLnkEMailSubject : "Asunto do Mensaxe", -DlgLnkEMailBody : "Corpo do Mensaxe", -DlgLnkUpload : "Carregar", -DlgLnkBtnUpload : "Enviar ó servidor", - -DlgLnkTarget : "Destino", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nova Xanela (_blank)", -DlgLnkTargetParent : "Xanela Pai (_parent)", -DlgLnkTargetSelf : "Mesma Xanela (_self)", -DlgLnkTargetTop : "Xanela Primaria (_top)", -DlgLnkTargetFrameName : "Nome do Marco Destino", -DlgLnkPopWinName : "Nome da Xanela Emerxente", -DlgLnkPopWinFeat : "Características da Xanela Emerxente", -DlgLnkPopResize : "Axustable", -DlgLnkPopLocation : "Barra de Localización", -DlgLnkPopMenu : "Barra de Menú", -DlgLnkPopScroll : "Barras de Desplazamento", -DlgLnkPopStatus : "Barra de Estado", -DlgLnkPopToolbar : "Barra de Ferramentas", -DlgLnkPopFullScrn : "A Toda Pantalla (IE)", -DlgLnkPopDependent : "Dependente (Netscape)", -DlgLnkPopWidth : "Largura", -DlgLnkPopHeight : "Altura", -DlgLnkPopLeft : "Posición Esquerda", -DlgLnkPopTop : "Posición dende Arriba", - -DlnLnkMsgNoUrl : "Por favor, escriba a ligazón URL", -DlnLnkMsgNoEMail : "Por favor, escriba o enderezo de e-mail", -DlnLnkMsgNoAnchor : "Por favor, seleccione un destino", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING - -// Color Dialog -DlgColorTitle : "Seleccionar Color", -DlgColorBtnClear : "Nengunha", -DlgColorHighlight : "Destacado", -DlgColorSelected : "Seleccionado", - -// Smiley Dialog -DlgSmileyTitle : "Inserte un Smiley", - -// Special Character Dialog -DlgSpecialCharTitle : "Seleccione Caracter Especial", - -// Table Dialog -DlgTableTitle : "Propiedades da Táboa", -DlgTableRows : "Filas", -DlgTableColumns : "Columnas", -DlgTableBorder : "Tamaño do Borde", -DlgTableAlign : "Aliñamento", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Esquerda", -DlgTableAlignCenter : "Centro", -DlgTableAlignRight : "Ereita", -DlgTableWidth : "Largura", -DlgTableWidthPx : "pixels", -DlgTableWidthPc : "percent", -DlgTableHeight : "Altura", -DlgTableCellSpace : "Marxe entre Celas", -DlgTableCellPad : "Marxe interior", -DlgTableCaption : "Título", -DlgTableSummary : "Sumario", - -// Table Cell Dialog -DlgCellTitle : "Propriedades da Cela", -DlgCellWidth : "Largura", -DlgCellWidthPx : "pixels", -DlgCellWidthPc : "percent", -DlgCellHeight : "Altura", -DlgCellWordWrap : "Axustar Liñas", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Si", -DlgCellWordWrapNo : "Non", -DlgCellHorAlign : "Aliñamento Horizontal", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Esquerda", -DlgCellHorAlignCenter : "Centro", -DlgCellHorAlignRight: "Dereita", -DlgCellVerAlign : "Aliñamento Vertical", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Arriba", -DlgCellVerAlignMiddle : "Medio", -DlgCellVerAlignBottom : "Abaixo", -DlgCellVerAlignBaseline : "Liña de Base", -DlgCellRowSpan : "Ocupar Filas", -DlgCellCollSpan : "Ocupar Columnas", -DlgCellBackColor : "Color de Fondo", -DlgCellBorderColor : "Color de Borde", -DlgCellBtnSelect : "Seleccionar...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "Procurar", -DlgFindFindBtn : "Procurar", -DlgFindNotFoundMsg : "Non te atopou o texto indicado.", - -// Replace Dialog -DlgReplaceTitle : "Substituir", -DlgReplaceFindLbl : "Texto a procurar:", -DlgReplaceReplaceLbl : "Substituir con:", -DlgReplaceCaseChk : "Coincidir Mai./min.", -DlgReplaceReplaceBtn : "Substituir", -DlgReplaceReplAllBtn : "Substitiur Todo", -DlgReplaceWordChk : "Coincidir con toda a palabra", - -// Paste Operations / Dialog -PasteErrorCut : "Os axustes de seguridade do seu navegador non permiten que o editor realice automáticamente as tarefas de corte. Por favor, use o teclado para iso (Ctrl+X).", -PasteErrorCopy : "Os axustes de seguridade do seu navegador non permiten que o editor realice automáticamente as tarefas de copia. Por favor, use o teclado para iso (Ctrl+C).", - -PasteAsText : "Pegar como texto plano", -PasteFromWord : "Pegar dende Word", - -DlgPasteMsg2 : "Por favor, pegue dentro do seguinte cadro usando o teclado (Ctrl+V) e pulse OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "Ignorar as definicións de Tipografía", -DlgPasteRemoveStyles : "Eliminar as definicións de Estilos", - -// Color Picker -ColorAutomatic : "Automático", -ColorMoreColors : "Máis Cores...", - -// Document Properties -DocProps : "Propriedades do Documento", - -// Anchor Dialog -DlgAnchorTitle : "Propriedades da Referencia", -DlgAnchorName : "Nome da Referencia", -DlgAnchorErrorName : "Por favor, escriba o nome da referencia", - -// Speller Pages Dialog -DlgSpellNotInDic : "Non está no diccionario", -DlgSpellChangeTo : "Cambiar a", -DlgSpellBtnIgnore : "Ignorar", -DlgSpellBtnIgnoreAll : "Ignorar Todas", -DlgSpellBtnReplace : "Substituir", -DlgSpellBtnReplaceAll : "Substituir Todas", -DlgSpellBtnUndo : "Desfacer", -DlgSpellNoSuggestions : "- Sen candidatos -", -DlgSpellProgress : "Corrección ortográfica en progreso...", -DlgSpellNoMispell : "Corrección ortográfica rematada: Non se atoparon erros", -DlgSpellNoChanges : "Corrección ortográfica rematada: Non se substituiu nengunha verba", -DlgSpellOneChange : "Corrección ortográfica rematada: Unha verba substituida", -DlgSpellManyChanges : "Corrección ortográfica rematada: %1 verbas substituidas", - -IeSpellDownload : "O corrector ortográfico non está instalado. ¿Quere descargalo agora?", - -// Button Dialog -DlgButtonText : "Texto (Valor)", -DlgButtonType : "Tipo", -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nome", -DlgCheckboxValue : "Valor", -DlgCheckboxSelected : "Seleccionado", - -// Form Dialog -DlgFormName : "Nome", -DlgFormAction : "Acción", -DlgFormMethod : "Método", - -// Select Field Dialog -DlgSelectName : "Nome", -DlgSelectValue : "Valor", -DlgSelectSize : "Tamaño", -DlgSelectLines : "liñas", -DlgSelectChkMulti : "Permitir múltiples seleccións", -DlgSelectOpAvail : "Opcións Disponibles", -DlgSelectOpText : "Texto", -DlgSelectOpValue : "Valor", -DlgSelectBtnAdd : "Engadir", -DlgSelectBtnModify : "Modificar", -DlgSelectBtnUp : "Subir", -DlgSelectBtnDown : "Baixar", -DlgSelectBtnSetValue : "Definir como valor por defecto", -DlgSelectBtnDelete : "Borrar", - -// Textarea Dialog -DlgTextareaName : "Nome", -DlgTextareaCols : "Columnas", -DlgTextareaRows : "Filas", - -// Text Field Dialog -DlgTextName : "Nome", -DlgTextValue : "Valor", -DlgTextCharWidth : "Tamaño do Caracter", -DlgTextMaxChars : "Máximo de Caracteres", -DlgTextType : "Tipo", -DlgTextTypeText : "Texto", -DlgTextTypePass : "Chave", - -// Hidden Field Dialog -DlgHiddenName : "Nome", -DlgHiddenValue : "Valor", - -// Bulleted List Dialog -BulletedListProp : "Propriedades das Marcas", -NumberedListProp : "Propriedades da Lista de Numeración", -DlgLstStart : "Start", //MISSING -DlgLstType : "Tipo", -DlgLstTypeCircle : "Círculo", -DlgLstTypeDisc : "Disco", -DlgLstTypeSquare : "Cuadrado", -DlgLstTypeNumbers : "Números (1, 2, 3)", -DlgLstTypeLCase : "Letras Minúsculas (a, b, c)", -DlgLstTypeUCase : "Letras Maiúsculas (A, B, C)", -DlgLstTypeSRoman : "Números Romanos en minúscula (i, ii, iii)", -DlgLstTypeLRoman : "Números Romanos en Maiúscula (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Xeral", -DlgDocBackTab : "Fondo", -DlgDocColorsTab : "Cores e Marxes", -DlgDocMetaTab : "Meta Data", - -DlgDocPageTitle : "Título da Páxina", -DlgDocLangDir : "Orientación do Idioma", -DlgDocLangDirLTR : "Esquerda a Dereita (LTR)", -DlgDocLangDirRTL : "Dereita a Esquerda (RTL)", -DlgDocLangCode : "Código de Idioma", -DlgDocCharSet : "Codificación do Xogo de Caracteres", -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "Outra Codificación do Xogo de Caracteres", - -DlgDocDocType : "Encabezado do Tipo de Documento", -DlgDocDocTypeOther : "Outro Encabezado do Tipo de Documento", -DlgDocIncXHTML : "Incluir Declaracións XHTML", -DlgDocBgColor : "Cor de Fondo", -DlgDocBgImage : "URL da Imaxe de Fondo", -DlgDocBgNoScroll : "Fondo Fixo", -DlgDocCText : "Texto", -DlgDocCLink : "Ligazóns", -DlgDocCVisited : "Ligazón Visitada", -DlgDocCActive : "Ligazón Activa", -DlgDocMargins : "Marxes da Páxina", -DlgDocMaTop : "Arriba", -DlgDocMaLeft : "Esquerda", -DlgDocMaRight : "Dereita", -DlgDocMaBottom : "Abaixo", -DlgDocMeIndex : "Palabras Chave de Indexación do Documento (separadas por comas)", -DlgDocMeDescr : "Descripción do Documento", -DlgDocMeAuthor : "Autor", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Vista Previa", - -// Templates Dialog -Templates : "Plantillas", -DlgTemplatesTitle : "Plantillas de Contido", -DlgTemplatesSelMsg : "Por favor, seleccione a plantilla a abrir no editor
    (o contido actual perderase):", -DlgTemplatesLoading : "Cargando listado de plantillas. Por favor, espere...", -DlgTemplatesNoTpl : "(Non hai plantillas definidas)", -DlgTemplatesReplace : "Replace actual contents", //MISSING - -// About Dialog -DlgAboutAboutTab : "Acerca de", -DlgAboutBrowserInfoTab : "Información do Navegador", -DlgAboutLicenseTab : "Licencia", -DlgAboutVersion : "versión", -DlgAboutInfo : "Para máis información visitar:", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/gu.js b/include/fckeditor/editor/lang/gu.js deleted file mode 100644 index e14eca70e..000000000 --- a/include/fckeditor/editor/lang/gu.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Gujarati language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "ટૂલબાર નાનું કરવું", -ToolbarExpand : "ટૂલબાર મોટું કરવું", - -// Toolbar Items and Context Menu -Save : "સેવ", -NewPage : "નવુ પાનું", -Preview : "પૂર્વદર્શન", -Cut : "કાપવું", -Copy : "નકલ", -Paste : "પેસ્ટ", -PasteText : "પેસ્ટ (સાદી ટેક્સ્ટ)", -PasteWord : "પેસ્ટ (વડૅ ટેક્સ્ટ)", -Print : "પ્રિન્ટ", -SelectAll : "બઘું પસંદ કરવું", -RemoveFormat : "ફૉર્મટ કાઢવું", -InsertLinkLbl : "સંબંધન, લિંક", -InsertLink : "લિંક ઇન્સર્ટ/દાખલ કરવી", -RemoveLink : "લિંક કાઢવી", -VisitLink : "Open Link", //MISSING -Anchor : "ઍંકર ઇન્સર્ટ/દાખલ કરવી", -AnchorDelete : "ઍંકર કાઢવી", -InsertImageLbl : "ચિત્ર", -InsertImage : "ચિત્ર ઇન્સર્ટ/દાખલ કરવું", -InsertFlashLbl : "ફ્લૅશ", -InsertFlash : "ફ્લૅશ ઇન્સર્ટ/દાખલ કરવું", -InsertTableLbl : "ટેબલ, કોઠો", -InsertTable : "ટેબલ, કોઠો ઇન્સર્ટ/દાખલ કરવું", -InsertLineLbl : "રેખા", -InsertLine : "સમસ્તરીય રેખા ઇન્સર્ટ/દાખલ કરવી", -InsertSpecialCharLbl: "વિશિષ્ટ અક્ષર", -InsertSpecialChar : "વિશિષ્ટ અક્ષર ઇન્સર્ટ/દાખલ કરવું", -InsertSmileyLbl : "સ્માઇલી", -InsertSmiley : "સ્માઇલી ઇન્સર્ટ/દાખલ કરવી", -About : "FCKeditorના વિષે", -Bold : "બોલ્ડ/સ્પષ્ટ", -Italic : "ઇટેલિક, ત્રાંસા", -Underline : "અન્ડર્લાઇન, નીચે લીટી", -StrikeThrough : "છેકી નાખવું", -Subscript : "એક ચિહ્નની નીચે કરેલું બીજું ચિહ્ન", -Superscript : "એક ચિહ્ન ઉપર કરેલું બીજું ચિહ્ન.", -LeftJustify : "ડાબી બાજુએ/બાજુ તરફ", -CenterJustify : "સંકેંદ્રણ/સેંટરિંગ", -RightJustify : "જમણી બાજુએ/બાજુ તરફ", -BlockJustify : "બ્લૉક, અંતરાય જસ્ટિફાઇ", -DecreaseIndent : "ઇન્ડેન્ટ લીટીના આરંભમાં જગ્યા ઘટાડવી", -IncreaseIndent : "ઇન્ડેન્ટ, લીટીના આરંભમાં જગ્યા વધારવી", -Blockquote : "બ્લૉક-કોટ, અવતરણચિહ્નો", -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "રદ કરવું; પહેલાં હતી એવી સ્થિતિ પાછી લાવવી", -Redo : "રિડૂ; પછી હતી એવી સ્થિતિ પાછી લાવવી", -NumberedListLbl : "સંખ્યાંકન સૂચિ", -NumberedList : "સંખ્યાંકન સૂચિ ઇન્સર્ટ/દાખલ કરવી", -BulletedListLbl : "બુલેટ સૂચિ", -BulletedList : "બુલેટ સૂચિ ઇન્સર્ટ/દાખલ કરવી", -ShowTableBorders : "ટેબલ, કોઠાની બાજુ(બોર્ડર) બતાવવી", -ShowDetails : "વિસ્તૃત વિગતવાર બતાવવું", -Style : "શૈલી/રીત", -FontFormat : "ફૉન્ટ ફૉર્મટ, રચનાની શૈલી", -Font : "ફૉન્ટ", -FontSize : "ફૉન્ટ સાઇઝ/કદ", -TextColor : "શબ્દનો રંગ", -BGColor : "બૅકગ્રાઉન્ડ રંગ,", -Source : "મૂળ કે પ્રાથમિક દસ્તાવેજ", -Find : "શોધવું", -Replace : "રિપ્લેસ/બદલવું", -SpellCheck : "જોડણી (સ્પેલિંગ) તપાસવી", -UniversalKeyboard : "યૂનિવર્સલ/વિશ્વવ્યાપક કીબૉર્ડ", -PageBreakLbl : "પેજબ્રેક/પાનાને અલગ કરવું", -PageBreak : "ઇન્સર્ટ પેજબ્રેક/પાનાને અલગ કરવું/દાખલ કરવું", - -Form : "ફૉર્મ/પત્રક", -Checkbox : "ચેક બોક્સ", -RadioButton : "રેડિઓ બટન", -TextField : "ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્ર", -Textarea : "ટેક્સ્ટ એરિઆ, શબ્દ વિસ્તાર", -HiddenField : "ગુપ્ત ક્ષેત્ર", -Button : "બટન", -SelectionField : "પસંદગી ક્ષેત્ર", -ImageButton : "ચિત્ર બટન", - -FitWindow : "એડિટરની સાઇઝ અધિકતમ કરવી", -ShowBlocks : "બ્લૉક બતાવવું", - -// Context Menu -EditLink : " લિંક એડિટ/માં ફેરફાર કરવો", -CellCM : "કોષના ખાના", -RowCM : "પંક્તિના ખાના", -ColumnCM : "કૉલમ/ઊભી કટાર", -InsertRowAfter : "પછી પંક્તિ ઉમેરવી", -InsertRowBefore : "પહેલાં પંક્તિ ઉમેરવી", -DeleteRows : "પંક્તિઓ ડિલીટ/કાઢી નાખવી", -InsertColumnAfter : "પછી કૉલમ/ઊભી કટાર ઉમેરવી", -InsertColumnBefore : "પહેલાં કૉલમ/ઊભી કટાર ઉમેરવી", -DeleteColumns : "કૉલમ/ઊભી કટાર ડિલીટ/કાઢી નાખવી", -InsertCellAfter : "પછી કોષ ઉમેરવો", -InsertCellBefore : "પહેલાં કોષ ઉમેરવો", -DeleteCells : "કોષ ડિલીટ/કાઢી નાખવો", -MergeCells : "કોષ ભેગા કરવા", -MergeRight : "જમણી બાજુ ભેગા કરવા", -MergeDown : "નીચે ભેગા કરવા", -HorizontalSplitCell : "કોષને સમસ્તરીય વિભાજન કરવું", -VerticalSplitCell : "કોષને સીધું ને ઊભું વિભાજન કરવું", -TableDelete : "કોઠો ડિલીટ/કાઢી નાખવું", -CellProperties : "કોષના ગુણ", -TableProperties : "કોઠાના ગુણ", -ImageProperties : "ચિત્રના ગુણ", -FlashProperties : "ફ્લૅશના ગુણ", - -AnchorProp : "ઍંકરના ગુણ", -ButtonProp : "બટનના ગુણ", -CheckboxProp : "ચેક બોક્સ ગુણ", -HiddenFieldProp : "ગુપ્ત ક્ષેત્રના ગુણ", -RadioButtonProp : "રેડિઓ બટનના ગુણ", -ImageButtonProp : "ચિત્ર બટનના ગુણ", -TextFieldProp : "ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્રના ગુણ", -SelectionFieldProp : "પસંદગી ક્ષેત્રના ગુણ", -TextareaProp : "ટેક્સ્ટ એઅરિઆ, શબ્દ વિસ્તારના ગુણ", -FormProp : "ફૉર્મ/પત્રકના ગુણ", - -FontFormats : "સામાન્ય;ફૉર્મટેડ;સરનામું;શીર્ષક 1;શીર્ષક 2;શીર્ષક 3;શીર્ષક 4;શીર્ષક 5;શીર્ષક 6;શીર્ષક (DIV)", - -// Alerts and Messages -ProcessingXHTML : "XHTML પ્રક્રિયા ચાલુ છે. મહેરબાની કરીને રાહ જોવો...", -Done : "પતી ગયું", -PasteWordConfirm : "તમે જે ટેક્સ્ટ પેસ્ટ કરવા માંગો છો, તે વડૅમાંથી કોપી કરેલુ લાગે છે. પેસ્ટ કરતા પહેલાં ટેક્સ્ટ સાફ કરવી છે?", -NotCompatiblePaste : "આ કમાન્ડ ઈનટરનેટ એક્સપ્લોરર(Internet Explorer) 5.5 અથવા એના પછીના વર્ઝન માટેજ છે. ટેક્સ્ટને સાફ કયૅા પહેલાં પેસ્ટ કરવી છે?", -UnknownToolbarItem : "અજાણી ટૂલબાર આઇટમ \"%1\"", -UnknownCommand : "અજાણયો કમાન્ડ \"%1\"", -NotImplemented : "કમાન્ડ ઇમ્પ્લિમન્ટ નથી કરોયો", -UnknownToolbarSet : "ટૂલબાર સેટ \"%1\" ઉપલબ્ધ નથી", -NoActiveX : "તમારા બ્રાઉઝરની સુરક્ષા સેટિંગસ એડિટરના અમુક ફીચરને પરવાનગી આપતી નથી. કૃપયા \"Run ActiveX controls and plug-ins\" વિકલ્પને ઇનેબલ/સમર્થ કરો. તમારા બ્રાઉઝરમાં એરર ઇન્વિઝિબલ ફીચરનો અનુભવ થઈ શકે છે. કૃપયા પૉપ-અપ બ્લૉકર ડિસેબલ કરો.", -BrowseServerBlocked : "રિસૉર્સ બ્રાઉઝર ખોલી ન સકાયું.", -DialogBlocked : "ડાયલૉગ વિન્ડો ખોલી ન સકાયું. કૃપયા પૉપ-અપ બ્લૉકર ડિસેબલ કરો.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "ઠીક છે", -DlgBtnCancel : "રદ કરવું", -DlgBtnClose : "બંધ કરવું", -DlgBtnBrowseServer : "સર્વર બ્રાઉઝ કરો", -DlgAdvancedTag : "અડ્વાન્સડ", -DlgOpOther : "<અન્ય>", -DlgInfoTab : "સૂચના", -DlgAlertUrl : "URL ઇન્સર્ટ કરો", - -// General Dialogs Labels -DlgGenNotSet : "<સેટ નથી>", -DlgGenId : "Id", -DlgGenLangDir : "ભાષા લેખવાની પદ્ધતિ", -DlgGenLangDirLtr : "ડાબે થી જમણે (LTR)", -DlgGenLangDirRtl : "જમણે થી ડાબે (RTL)", -DlgGenLangCode : "ભાષા કોડ", -DlgGenAccessKey : "ઍક્સેસ કી", -DlgGenName : "નામ", -DlgGenTabIndex : "ટૅબ ઇન્ડેક્સ", -DlgGenLongDescr : "વધારે માહિતી માટે URL", -DlgGenClass : "સ્ટાઇલ-શીટ ક્લાસ", -DlgGenTitle : "મુખ્ય મથાળું", -DlgGenContType : "મુખ્ય કન્ટેન્ટ પ્રકાર", -DlgGenLinkCharset : "લિંક રિસૉર્સ કૅરિક્ટર સેટ", -DlgGenStyle : "સ્ટાઇલ", - -// Image Dialog -DlgImgTitle : "ચિત્રના ગુણ", -DlgImgInfoTab : "ચિત્ર ની જાણકારી", -DlgImgBtnUpload : "આ સર્વરને મોકલવું", -DlgImgURL : "URL", -DlgImgUpload : "અપલોડ", -DlgImgAlt : "ઑલ્ટર્નટ ટેક્સ્ટ", -DlgImgWidth : "પહોળાઈ", -DlgImgHeight : "ઊંચાઈ", -DlgImgLockRatio : "લૉક ગુણોત્તર", -DlgBtnResetSize : "રીસેટ સાઇઝ", -DlgImgBorder : "બોર્ડર", -DlgImgHSpace : "સમસ્તરીય જગ્યા", -DlgImgVSpace : "લંબરૂપ જગ્યા", -DlgImgAlign : "લાઇનદોરીમાં ગોઠવવું", -DlgImgAlignLeft : "ડાબી બાજુ ગોઠવવું", -DlgImgAlignAbsBottom: "Abs નીચે", -DlgImgAlignAbsMiddle: "Abs ઉપર", -DlgImgAlignBaseline : "આધાર લીટી", -DlgImgAlignBottom : "નીચે", -DlgImgAlignMiddle : "વચ્ચે", -DlgImgAlignRight : "જમણી", -DlgImgAlignTextTop : "ટેક્સ્ટ ઉપર", -DlgImgAlignTop : "ઉપર", -DlgImgPreview : "પૂર્વદર્શન", -DlgImgAlertUrl : "ચિત્રની URL ટાઇપ કરો", -DlgImgLinkTab : "લિંક", - -// Flash Dialog -DlgFlashTitle : "ફ્લૅશ ગુણ", -DlgFlashChkPlay : "ઑટો/સ્વયં પ્લે", -DlgFlashChkLoop : "લૂપ", -DlgFlashChkMenu : "ફ્લૅશ મેન્યૂ નો પ્રયોગ કરો", -DlgFlashScale : "સ્કેલ", -DlgFlashScaleAll : "સ્કેલ ઓલ/બધુ બતાવો", -DlgFlashScaleNoBorder : "સ્કેલ બોર્ડર વગર", -DlgFlashScaleFit : "સ્કેલ એકદમ ફીટ", - -// Link Dialog -DlgLnkWindowTitle : "લિંક", -DlgLnkInfoTab : "લિંક ઇન્ફૉ ટૅબ", -DlgLnkTargetTab : "ટાર્ગેટ/લક્ષ્ય ટૅબ", - -DlgLnkType : "લિંક પ્રકાર", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "આ પેજનો ઍંકર", -DlgLnkTypeEMail : "ઈ-મેલ", -DlgLnkProto : "પ્રોટોકૉલ", -DlgLnkProtoOther : "<અન્ય>", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "ઍંકર પસંદ કરો", -DlgLnkAnchorByName : "ઍંકર નામથી પસંદ કરો", -DlgLnkAnchorById : "ઍંકર એલિમન્ટ Id થી પસંદ કરો", -DlgLnkNoAnchors : "(ડૉક્યુમન્ટમાં ઍંકરની સંખ્યા)", -DlgLnkEMail : "ઈ-મેલ સરનામું", -DlgLnkEMailSubject : "ઈ-મેલ વિષય", -DlgLnkEMailBody : "સંદેશ", -DlgLnkUpload : "અપલોડ", -DlgLnkBtnUpload : "આ સર્વરને મોકલવું", - -DlgLnkTarget : "ટાર્ગેટ/લક્ષ્ય", -DlgLnkTargetFrame : "<ફ્રેમ>", -DlgLnkTargetPopup : "<પૉપ-અપ વિન્ડો>", -DlgLnkTargetBlank : "નવી વિન્ડો (_blank)", -DlgLnkTargetParent : "મૂળ વિન્ડો (_parent)", -DlgLnkTargetSelf : "આજ વિન્ડો (_self)", -DlgLnkTargetTop : "ઉપરની વિન્ડો (_top)", -DlgLnkTargetFrameName : "ટાર્ગેટ ફ્રેમ નું નામ", -DlgLnkPopWinName : "પૉપ-અપ વિન્ડો નું નામ", -DlgLnkPopWinFeat : "પૉપ-અપ વિન્ડો ફીચરસૅ", -DlgLnkPopResize : "સાઇઝ બદલી સકાય છે", -DlgLnkPopLocation : "લોકેશન બાર", -DlgLnkPopMenu : "મેન્યૂ બાર", -DlgLnkPopScroll : "સ્ક્રોલ બાર", -DlgLnkPopStatus : "સ્ટૅટસ બાર", -DlgLnkPopToolbar : "ટૂલ બાર", -DlgLnkPopFullScrn : "ફુલ સ્ક્રીન (IE)", -DlgLnkPopDependent : "ડિપેન્ડન્ટ (Netscape)", -DlgLnkPopWidth : "પહોળાઈ", -DlgLnkPopHeight : "ઊંચાઈ", -DlgLnkPopLeft : "ડાબી બાજુ", -DlgLnkPopTop : "જમણી બાજુ", - -DlnLnkMsgNoUrl : "લિંક URL ટાઇપ કરો", -DlnLnkMsgNoEMail : "ઈ-મેલ સરનામું ટાઇપ કરો", -DlnLnkMsgNoAnchor : "ઍંકર પસંદ કરો", -DlnLnkMsgInvPopName : "પૉપ-અપ વિન્ડો નું નામ ઍલ્ફબેટથી શરૂ કરવો અને તેમાં સ્પેઇસ ન હોવી જોઈએ", - -// Color Dialog -DlgColorTitle : "રંગ પસંદ કરો", -DlgColorBtnClear : "સાફ કરો", -DlgColorHighlight : "હાઈલાઇટ", -DlgColorSelected : "સિલેક્ટેડ/પસંદ કરવું", - -// Smiley Dialog -DlgSmileyTitle : "સ્માઇલી પસંદ કરો", - -// Special Character Dialog -DlgSpecialCharTitle : "સ્પેશિઅલ વિશિષ્ટ અક્ષર પસંદ કરો", - -// Table Dialog -DlgTableTitle : "ટેબલ, કોઠાનું મથાળું", -DlgTableRows : "પંક્તિના ખાના", -DlgTableColumns : "કૉલમ/ઊભી કટાર", -DlgTableBorder : "કોઠાની બાજુ(બોર્ડર) સાઇઝ", -DlgTableAlign : "અલાઇનમન્ટ/ગોઠવાયેલું ", -DlgTableAlignNotSet : "<સેટ નથી>", -DlgTableAlignLeft : "ડાબી બાજુ", -DlgTableAlignCenter : "મધ્ય સેન્ટર", -DlgTableAlignRight : "જમણી બાજુ", -DlgTableWidth : "પહોળાઈ", -DlgTableWidthPx : "પિકસલ", -DlgTableWidthPc : "પ્રતિશત", -DlgTableHeight : "ઊંચાઈ", -DlgTableCellSpace : "સેલ અંતર", -DlgTableCellPad : "સેલ પૅડિંગ", -DlgTableCaption : "મથાળું/કૅપ્શન ", -DlgTableSummary : "ટૂંકો એહેવાલ", - -// Table Cell Dialog -DlgCellTitle : "પંક્તિના ખાનાના ગુણ", -DlgCellWidth : "પહોળાઈ", -DlgCellWidthPx : "પિકસલ", -DlgCellWidthPc : "પ્રતિશત", -DlgCellHeight : "ઊંચાઈ", -DlgCellWordWrap : "વર્ડ રૅપ", -DlgCellWordWrapNotSet : "<સેટ નથી>", -DlgCellWordWrapYes : "હા", -DlgCellWordWrapNo : "ના", -DlgCellHorAlign : "સમસ્તરીય ગોઠવવું", -DlgCellHorAlignNotSet : "<સેટ નથી>", -DlgCellHorAlignLeft : "ડાબી બાજુ", -DlgCellHorAlignCenter : "મધ્ય સેન્ટર", -DlgCellHorAlignRight: "જમણી બાજુ", -DlgCellVerAlign : "લંબરૂપ ગોઠવવું", -DlgCellVerAlignNotSet : "<સેટ નથી>", -DlgCellVerAlignTop : "ઉપર", -DlgCellVerAlignMiddle : "મધ્ય સેન્ટર", -DlgCellVerAlignBottom : "નીચે", -DlgCellVerAlignBaseline : "મૂળ રેખા", -DlgCellRowSpan : "પંક્તિ સ્પાન", -DlgCellCollSpan : "કૉલમ/ઊભી કટાર સ્પાન", -DlgCellBackColor : "બૅકગ્રાઉન્ડ રંગ", -DlgCellBorderColor : "બોર્ડરનો રંગ", -DlgCellBtnSelect : "પસંદ કરો...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "શોધવું અને બદલવું", - -// Find Dialog -DlgFindTitle : "શોધવું", -DlgFindFindBtn : "શોધવું", -DlgFindNotFoundMsg : "તમે શોધેલી ટેક્સ્ટ નથી મળી", - -// Replace Dialog -DlgReplaceTitle : "બદલવું", -DlgReplaceFindLbl : "આ શોધો", -DlgReplaceReplaceLbl : "આનાથી બદલો", -DlgReplaceCaseChk : "કેસ સરખા રાખો", -DlgReplaceReplaceBtn : "બદલવું", -DlgReplaceReplAllBtn : "બઘા બદલી ", -DlgReplaceWordChk : "બઘા શબ્દ સરખા રાખો", - -// Paste Operations / Dialog -PasteErrorCut : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl+X) નો ઉપયોગ કરો.", -PasteErrorCopy : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કોપી કરવાની પરવાનગી નથી આપતી. (Ctrl+C) का प्रयोग करें।", - -PasteAsText : "પેસ્ટ (ટેક્સ્ટ)", -PasteFromWord : "પેસ્ટ (વર્ડ થી)", - -DlgPasteMsg2 : "Ctrl+V નો પ્રયોગ કરી પેસ્ટ કરો", -DlgPasteSec : "તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસના કારણે,એડિટર તમારા કિલ્પબોર્ડ ડેટા ને કોપી નથી કરી શકતો. તમારે આ વિન્ડોમાં ફરીથી પેસ્ટ કરવું પડશે.", -DlgPasteIgnoreFont : "ફૉન્ટફેસ વ્યાખ્યાની અવગણના", -DlgPasteRemoveStyles : "સ્ટાઇલ વ્યાખ્યા કાઢી નાખવી", - -// Color Picker -ColorAutomatic : "સ્વચાલિત", -ColorMoreColors : "ઔર રંગ...", - -// Document Properties -DocProps : "ડૉક્યુમન્ટ ગુણ/પ્રૉપર્ટિઝ", - -// Anchor Dialog -DlgAnchorTitle : "ઍંકર ગુણ/પ્રૉપર્ટિઝ", -DlgAnchorName : "ઍંકરનું નામ", -DlgAnchorErrorName : "ઍંકરનું નામ ટાઈપ કરો", - -// Speller Pages Dialog -DlgSpellNotInDic : "શબ્દકોશમાં નથી", -DlgSpellChangeTo : "આનાથી બદલવું", -DlgSpellBtnIgnore : "ઇગ્નોર/અવગણના કરવી", -DlgSpellBtnIgnoreAll : "બધાની ઇગ્નોર/અવગણના કરવી", -DlgSpellBtnReplace : "બદલવું", -DlgSpellBtnReplaceAll : "બધા બદલી કરો", -DlgSpellBtnUndo : "અન્ડૂ", -DlgSpellNoSuggestions : "- કઇ સજેશન નથી -", -DlgSpellProgress : "શબ્દની જોડણી/સ્પેલ ચેક ચાલુ છે...", -DlgSpellNoMispell : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: ખોટી જોડણી મળી નથી", -DlgSpellNoChanges : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: એકપણ શબ્દ બદલયો નથી", -DlgSpellOneChange : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: એક શબ્દ બદલયો છે", -DlgSpellManyChanges : "શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: %1 શબ્દ બદલયા છે", - -IeSpellDownload : "સ્પેલ-ચેકર ઇન્સ્ટોલ નથી. શું તમે ડાઉનલોડ કરવા માંગો છો?", - -// Button Dialog -DlgButtonText : "ટેક્સ્ટ (વૅલ્યૂ)", -DlgButtonType : "પ્રકાર", -DlgButtonTypeBtn : "બટન", -DlgButtonTypeSbm : "સબ્મિટ", -DlgButtonTypeRst : "રિસેટ", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "નામ", -DlgCheckboxValue : "વૅલ્યૂ", -DlgCheckboxSelected : "સિલેક્ટેડ", - -// Form Dialog -DlgFormName : "નામ", -DlgFormAction : "ક્રિયા", -DlgFormMethod : "પદ્ધતિ", - -// Select Field Dialog -DlgSelectName : "નામ", -DlgSelectValue : "વૅલ્યૂ", -DlgSelectSize : "સાઇઝ", -DlgSelectLines : "લીટીઓ", -DlgSelectChkMulti : "એકથી વધારે પસંદ કરી શકો", -DlgSelectOpAvail : "ઉપલબ્ધ વિકલ્પ", -DlgSelectOpText : "ટેક્સ્ટ", -DlgSelectOpValue : "વૅલ્યૂ", -DlgSelectBtnAdd : "ઉમેરવું", -DlgSelectBtnModify : "બદલવું", -DlgSelectBtnUp : "ઉપર", -DlgSelectBtnDown : "નીચે", -DlgSelectBtnSetValue : "પસંદ કરલી વૅલ્યૂ સેટ કરો", -DlgSelectBtnDelete : "રદ કરવું", - -// Textarea Dialog -DlgTextareaName : "નામ", -DlgTextareaCols : "કૉલમ/ઊભી કટાર", -DlgTextareaRows : "પંક્તિઓ", - -// Text Field Dialog -DlgTextName : "નામ", -DlgTextValue : "વૅલ્યૂ", -DlgTextCharWidth : "કેરેક્ટરની પહોળાઈ", -DlgTextMaxChars : "અધિકતમ કેરેક્ટર", -DlgTextType : "ટાઇપ", -DlgTextTypeText : "ટેક્સ્ટ", -DlgTextTypePass : "પાસવર્ડ", - -// Hidden Field Dialog -DlgHiddenName : "નામ", -DlgHiddenValue : "વૅલ્યૂ", - -// Bulleted List Dialog -BulletedListProp : "બુલેટ સૂચિ ગુણ", -NumberedListProp : "સંખ્યાંક્તિ સૂચિ ગુણ", -DlgLstStart : "શરૂઆતથી", -DlgLstType : "પ્રકાર", -DlgLstTypeCircle : "વર્તુળ", -DlgLstTypeDisc : "ડિસ્ક", -DlgLstTypeSquare : "ચોરસ", -DlgLstTypeNumbers : "સંખ્યા (1, 2, 3)", -DlgLstTypeLCase : "નાના અક્ષર (a, b, c)", -DlgLstTypeUCase : "મોટા અક્ષર (A, B, C)", -DlgLstTypeSRoman : "નાના રોમન આંક (i, ii, iii)", -DlgLstTypeLRoman : "મોટા રોમન આંક (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "સાધારણ", -DlgDocBackTab : "બૅકગ્રાઉન્ડ", -DlgDocColorsTab : "રંગ અને માર્જિન/કિનાર", -DlgDocMetaTab : "મેટાડૅટા", - -DlgDocPageTitle : "પેજ મથાળું/ટાઇટલ", -DlgDocLangDir : "ભાષા લેખવાની પદ્ધતિ", -DlgDocLangDirLTR : "ડાબે થી જમણે (LTR)", -DlgDocLangDirRTL : "જમણે થી ડાબે (RTL)", -DlgDocLangCode : "ભાષા કોડ", -DlgDocCharSet : "કેરેક્ટર સેટ એન્કોડિંગ", -DlgDocCharSetCE : "મધ્ય યુરોપિઅન (Central European)", -DlgDocCharSetCT : "ચાઇનીઝ (Chinese Traditional Big5)", -DlgDocCharSetCR : "સિરીલિક (Cyrillic)", -DlgDocCharSetGR : "ગ્રીક (Greek)", -DlgDocCharSetJP : "જાપાનિઝ (Japanese)", -DlgDocCharSetKR : "કોરીયન (Korean)", -DlgDocCharSetTR : "ટર્કિ (Turkish)", -DlgDocCharSetUN : "યૂનિકોડ (UTF-8)", -DlgDocCharSetWE : "પશ્ચિમ યુરોપિઅન (Western European)", -DlgDocCharSetOther : "અન્ય કેરેક્ટર સેટ એન્કોડિંગ", - -DlgDocDocType : "ડૉક્યુમન્ટ પ્રકાર શીર્ષક", -DlgDocDocTypeOther : "અન્ય ડૉક્યુમન્ટ પ્રકાર શીર્ષક", -DlgDocIncXHTML : "XHTML સૂચના સમાવિષ્ટ કરવી", -DlgDocBgColor : "બૅકગ્રાઉન્ડ રંગ", -DlgDocBgImage : "બૅકગ્રાઉન્ડ ચિત્ર URL", -DlgDocBgNoScroll : "સ્ક્રોલ ન થાય તેવું બૅકગ્રાઉન્ડ", -DlgDocCText : "ટેક્સ્ટ", -DlgDocCLink : "લિંક", -DlgDocCVisited : "વિઝિટેડ લિંક", -DlgDocCActive : "સક્રિય લિંક", -DlgDocMargins : "પેજ માર્જિન", -DlgDocMaTop : "ઉપર", -DlgDocMaLeft : "ડાબી", -DlgDocMaRight : "જમણી", -DlgDocMaBottom : "નીચે", -DlgDocMeIndex : "ડૉક્યુમન્ટ ઇન્ડેક્સ સંકેતશબ્દ (અલ્પવિરામ (,) થી અલગ કરો)", -DlgDocMeDescr : "ડૉક્યુમન્ટ વર્ણન", -DlgDocMeAuthor : "લેખક", -DlgDocMeCopy : "કૉપિરાઇટ", -DlgDocPreview : "પૂર્વદર્શન", - -// Templates Dialog -Templates : "ટેમ્પ્લેટ", -DlgTemplatesTitle : "કન્ટેન્ટ ટેમ્પ્લેટ", -DlgTemplatesSelMsg : "એડિટરમાં ઓપન કરવા ટેમ્પ્લેટ પસંદ કરો (વર્તમાન કન્ટેન્ટ સેવ નહીં થાય):", -DlgTemplatesLoading : "ટેમ્પ્લેટ સૂચિ લોડ થાય છે. રાહ જુઓ...", -DlgTemplatesNoTpl : "(કોઈ ટેમ્પ્લેટ ડિફાઇન નથી)", -DlgTemplatesReplace : "મૂળ શબ્દને બદલો", - -// About Dialog -DlgAboutAboutTab : "FCKEditor ના વિષે", -DlgAboutBrowserInfoTab : "બ્રાઉઝર ના વિષે", -DlgAboutLicenseTab : "લાઇસન્સ", -DlgAboutVersion : "વર્ઝન", -DlgAboutInfo : "વધારે માહિતી માટે:", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/he.js b/include/fckeditor/editor/lang/he.js deleted file mode 100644 index 63cf97665..000000000 --- a/include/fckeditor/editor/lang/he.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Hebrew language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "rtl", - -ToolbarCollapse : "כיווץ סרגל הכלים", -ToolbarExpand : "פתיחת סרגל הכלים", - -// Toolbar Items and Context Menu -Save : "שמירה", -NewPage : "דף חדש", -Preview : "תצוגה מקדימה", -Cut : "גזירה", -Copy : "העתקה", -Paste : "הדבקה", -PasteText : "הדבקה כטקסט פשוט", -PasteWord : "הדבקה מ-וורד", -Print : "הדפסה", -SelectAll : "בחירת הכל", -RemoveFormat : "הסרת העיצוב", -InsertLinkLbl : "קישור", -InsertLink : "הוספת/עריכת קישור", -RemoveLink : "הסרת הקישור", -VisitLink : "פתח קישור", -Anchor : "הוספת/עריכת נקודת עיגון", -AnchorDelete : "הסר נקודת עיגון", -InsertImageLbl : "תמונה", -InsertImage : "הוספת/עריכת תמונה", -InsertFlashLbl : "פלאש", -InsertFlash : "הוסף/ערוך פלאש", -InsertTableLbl : "טבלה", -InsertTable : "הוספת/עריכת טבלה", -InsertLineLbl : "קו", -InsertLine : "הוספת קו אופקי", -InsertSpecialCharLbl: "תו מיוחד", -InsertSpecialChar : "הוספת תו מיוחד", -InsertSmileyLbl : "סמיילי", -InsertSmiley : "הוספת סמיילי", -About : "אודות FCKeditor", -Bold : "מודגש", -Italic : "נטוי", -Underline : "קו תחתון", -StrikeThrough : "כתיב מחוק", -Subscript : "כתיב תחתון", -Superscript : "כתיב עליון", -LeftJustify : "יישור לשמאל", -CenterJustify : "מרכוז", -RightJustify : "יישור לימין", -BlockJustify : "יישור לשוליים", -DecreaseIndent : "הקטנת אינדנטציה", -IncreaseIndent : "הגדלת אינדנטציה", -Blockquote : "בלוק ציטוט", -CreateDiv : "צור מיכל(תג)DIV", -EditDiv : "ערוך מיכל (תג)DIV", -DeleteDiv : "הסר מיכל(תג) DIV", -Undo : "ביטול צעד אחרון", -Redo : "חזרה על צעד אחרון", -NumberedListLbl : "רשימה ממוספרת", -NumberedList : "הוספת/הסרת רשימה ממוספרת", -BulletedListLbl : "רשימת נקודות", -BulletedList : "הוספת/הסרת רשימת נקודות", -ShowTableBorders : "הצגת מסגרת הטבלה", -ShowDetails : "הצגת פרטים", -Style : "סגנון", -FontFormat : "עיצוב", -Font : "גופן", -FontSize : "גודל", -TextColor : "צבע טקסט", -BGColor : "צבע רקע", -Source : "מקור", -Find : "חיפוש", -Replace : "החלפה", -SpellCheck : "בדיקת איות", -UniversalKeyboard : "מקלדת אוניברסלית", -PageBreakLbl : "שבירת דף", -PageBreak : "הוסף שבירת דף", - -Form : "טופס", -Checkbox : "תיבת סימון", -RadioButton : "לחצן אפשרויות", -TextField : "שדה טקסט", -Textarea : "איזור טקסט", -HiddenField : "שדה חבוי", -Button : "כפתור", -SelectionField : "שדה בחירה", -ImageButton : "כפתור תמונה", - -FitWindow : "הגדל את גודל העורך", -ShowBlocks : "הצג בלוקים", - -// Context Menu -EditLink : "עריכת קישור", -CellCM : "תא", -RowCM : "שורה", -ColumnCM : "עמודה", -InsertRowAfter : "הוסף שורה אחרי", -InsertRowBefore : "הוסף שורה לפני", -DeleteRows : "מחיקת שורות", -InsertColumnAfter : "הוסף עמודה אחרי", -InsertColumnBefore : "הוסף עמודה לפני", -DeleteColumns : "מחיקת עמודות", -InsertCellAfter : "הוסף תא אחרי", -InsertCellBefore : "הוסף תא אחרי", -DeleteCells : "מחיקת תאים", -MergeCells : "מיזוג תאים", -MergeRight : "מזג ימינה", -MergeDown : "מזג למטה", -HorizontalSplitCell : "פצל תא אופקית", -VerticalSplitCell : "פצל תא אנכית", -TableDelete : "מחק טבלה", -CellProperties : "תכונות התא", -TableProperties : "תכונות הטבלה", -ImageProperties : "תכונות התמונה", -FlashProperties : "מאפייני פלאש", - -AnchorProp : "מאפייני נקודת עיגון", -ButtonProp : "מאפייני כפתור", -CheckboxProp : "מאפייני תיבת סימון", -HiddenFieldProp : "מאפיני שדה חבוי", -RadioButtonProp : "מאפייני לחצן אפשרויות", -ImageButtonProp : "מאפיני כפתור תמונה", -TextFieldProp : "מאפייני שדה טקסט", -SelectionFieldProp : "מאפייני שדה בחירה", -TextareaProp : "מאפיני איזור טקסט", -FormProp : "מאפיני טופס", - -FontFormats : "נורמלי;קוד;כתובת;כותרת;כותרת 2;כותרת 3;כותרת 4;כותרת 5;כותרת 6", - -// Alerts and Messages -ProcessingXHTML : "מעבד XHTML, נא להמתין...", -Done : "המשימה הושלמה", -PasteWordConfirm : "נראה הטקסט שבכוונתך להדביק מקורו בקובץ וורד. האם ברצונך לנקות אותו טרם ההדבקה?", -NotCompatiblePaste : "פעולה זו זמינה לדפדפן אינטרנט אקספלורר מגירסא 5.5 ומעלה. האם להמשיך בהדבקה ללא הניקוי?", -UnknownToolbarItem : "פריט לא ידוע בסרגל הכלים \"%1\"", -UnknownCommand : "שם פעולה לא ידוע \"%1\"", -NotImplemented : "הפקודה לא מיושמת", -UnknownToolbarSet : "ערכת סרגל הכלים \"%1\" לא קיימת", -NoActiveX : "הגדרות אבטחה של הדפדפן עלולות לגביל את אפשרויות העריכה.יש לאפשר את האופציה \"הרץ פקדים פעילים ותוספות\". תוכל לחוות טעויות וחיווים של אפשרויות שחסרים.", -BrowseServerBlocked : "לא ניתן לגשת לדפדפן משאבים.אנא וודא שחוסם חלונות הקופצים לא פעיל.", -DialogBlocked : "לא היה ניתן לפתוח חלון דיאלוג. אנא וודא שחוסם חלונות קופצים לא פעיל.", -VisitLinkBlocked : "לא ניתן לפתוח חלון חדש.נא לוודא שחוסמי החלונות הקופצים לא פעילים.", - -// Dialogs -DlgBtnOK : "אישור", -DlgBtnCancel : "ביטול", -DlgBtnClose : "סגירה", -DlgBtnBrowseServer : "סייר השרת", -DlgAdvancedTag : "אפשרויות מתקדמות", -DlgOpOther : "<אחר>", -DlgInfoTab : "מידע", -DlgAlertUrl : "אנא הזן URL", - -// General Dialogs Labels -DlgGenNotSet : "<לא נקבע>", -DlgGenId : "זיהוי (Id)", -DlgGenLangDir : "כיוון שפה", -DlgGenLangDirLtr : "שמאל לימין (LTR)", -DlgGenLangDirRtl : "ימין לשמאל (RTL)", -DlgGenLangCode : "קוד שפה", -DlgGenAccessKey : "מקש גישה", -DlgGenName : "שם", -DlgGenTabIndex : "מספר טאב", -DlgGenLongDescr : "קישור לתיאור מפורט", -DlgGenClass : "גיליונות עיצוב קבוצות", -DlgGenTitle : "כותרת מוצעת", -DlgGenContType : "Content Type מוצע", -DlgGenLinkCharset : "קידוד המשאב המקושר", -DlgGenStyle : "סגנון", - -// Image Dialog -DlgImgTitle : "תכונות התמונה", -DlgImgInfoTab : "מידע על התמונה", -DlgImgBtnUpload : "שליחה לשרת", -DlgImgURL : "כתובת (URL)", -DlgImgUpload : "העלאה", -DlgImgAlt : "טקסט חלופי", -DlgImgWidth : "רוחב", -DlgImgHeight : "גובה", -DlgImgLockRatio : "נעילת היחס", -DlgBtnResetSize : "איפוס הגודל", -DlgImgBorder : "מסגרת", -DlgImgHSpace : "מרווח אופקי", -DlgImgVSpace : "מרווח אנכי", -DlgImgAlign : "יישור", -DlgImgAlignLeft : "לשמאל", -DlgImgAlignAbsBottom: "לתחתית האבסולוטית", -DlgImgAlignAbsMiddle: "מרכוז אבסולוטי", -DlgImgAlignBaseline : "לקו התחתית", -DlgImgAlignBottom : "לתחתית", -DlgImgAlignMiddle : "לאמצע", -DlgImgAlignRight : "לימין", -DlgImgAlignTextTop : "לראש הטקסט", -DlgImgAlignTop : "למעלה", -DlgImgPreview : "תצוגה מקדימה", -DlgImgAlertUrl : "נא להקליד את כתובת התמונה", -DlgImgLinkTab : "קישור", - -// Flash Dialog -DlgFlashTitle : "מאפיני פלאש", -DlgFlashChkPlay : "נגן אוטומטי", -DlgFlashChkLoop : "לולאה", -DlgFlashChkMenu : "אפשר תפריט פלאש", -DlgFlashScale : "גודל", -DlgFlashScaleAll : "הצג הכל", -DlgFlashScaleNoBorder : "ללא גבולות", -DlgFlashScaleFit : "התאמה מושלמת", - -// Link Dialog -DlgLnkWindowTitle : "קישור", -DlgLnkInfoTab : "מידע על הקישור", -DlgLnkTargetTab : "מטרה", - -DlgLnkType : "סוג קישור", -DlgLnkTypeURL : "כתובת (URL)", -DlgLnkTypeAnchor : "עוגן בעמוד זה", -DlgLnkTypeEMail : "דוא''ל", -DlgLnkProto : "פרוטוקול", -DlgLnkProtoOther : "<אחר>", -DlgLnkURL : "כתובת (URL)", -DlgLnkAnchorSel : "בחירת עוגן", -DlgLnkAnchorByName : "עפ''י שם העוגן", -DlgLnkAnchorById : "עפ''י זיהוי (Id) הרכיב", -DlgLnkNoAnchors : "(אין עוגנים זמינים בדף)", -DlgLnkEMail : "כתובת הדוא''ל", -DlgLnkEMailSubject : "נושא ההודעה", -DlgLnkEMailBody : "גוף ההודעה", -DlgLnkUpload : "העלאה", -DlgLnkBtnUpload : "שליחה לשרת", - -DlgLnkTarget : "מטרה", -DlgLnkTargetFrame : "<מסגרת>", -DlgLnkTargetPopup : "<חלון קופץ>", -DlgLnkTargetBlank : "חלון חדש (_blank)", -DlgLnkTargetParent : "חלון האב (_parent)", -DlgLnkTargetSelf : "באותו החלון (_self)", -DlgLnkTargetTop : "חלון ראשי (_top)", -DlgLnkTargetFrameName : "שם מסגרת היעד", -DlgLnkPopWinName : "שם החלון הקופץ", -DlgLnkPopWinFeat : "תכונות החלון הקופץ", -DlgLnkPopResize : "בעל גודל ניתן לשינוי", -DlgLnkPopLocation : "סרגל כתובת", -DlgLnkPopMenu : "סרגל תפריט", -DlgLnkPopScroll : "ניתן לגלילה", -DlgLnkPopStatus : "סרגל חיווי", -DlgLnkPopToolbar : "סרגל הכלים", -DlgLnkPopFullScrn : "מסך מלא (IE)", -DlgLnkPopDependent : "תלוי (Netscape)", -DlgLnkPopWidth : "רוחב", -DlgLnkPopHeight : "גובה", -DlgLnkPopLeft : "מיקום צד שמאל", -DlgLnkPopTop : "מיקום צד עליון", - -DlnLnkMsgNoUrl : "נא להקליד את כתובת הקישור (URL)", -DlnLnkMsgNoEMail : "נא להקליד את כתובת הדוא''ל", -DlnLnkMsgNoAnchor : "נא לבחור עוגן במסמך", -DlnLnkMsgInvPopName : "שם החלון הקופץ חייב להתחיל באותיות ואסור לכלול רווחים", - -// Color Dialog -DlgColorTitle : "בחירת צבע", -DlgColorBtnClear : "איפוס", -DlgColorHighlight : "נוכחי", -DlgColorSelected : "נבחר", - -// Smiley Dialog -DlgSmileyTitle : "הוספת סמיילי", - -// Special Character Dialog -DlgSpecialCharTitle : "בחירת תו מיוחד", - -// Table Dialog -DlgTableTitle : "תכונות טבלה", -DlgTableRows : "שורות", -DlgTableColumns : "עמודות", -DlgTableBorder : "גודל מסגרת", -DlgTableAlign : "יישור", -DlgTableAlignNotSet : "<לא נקבע>", -DlgTableAlignLeft : "שמאל", -DlgTableAlignCenter : "מרכז", -DlgTableAlignRight : "ימין", -DlgTableWidth : "רוחב", -DlgTableWidthPx : "פיקסלים", -DlgTableWidthPc : "אחוז", -DlgTableHeight : "גובה", -DlgTableCellSpace : "מרווח תא", -DlgTableCellPad : "ריפוד תא", -DlgTableCaption : "כיתוב", -DlgTableSummary : "סיכום", - -// Table Cell Dialog -DlgCellTitle : "תכונות תא", -DlgCellWidth : "רוחב", -DlgCellWidthPx : "פיקסלים", -DlgCellWidthPc : "אחוז", -DlgCellHeight : "גובה", -DlgCellWordWrap : "גלילת שורות", -DlgCellWordWrapNotSet : "<לא נקבע>", -DlgCellWordWrapYes : "כן", -DlgCellWordWrapNo : "לא", -DlgCellHorAlign : "יישור אופקי", -DlgCellHorAlignNotSet : "<לא נקבע>", -DlgCellHorAlignLeft : "שמאל", -DlgCellHorAlignCenter : "מרכז", -DlgCellHorAlignRight: "ימין", -DlgCellVerAlign : "יישור אנכי", -DlgCellVerAlignNotSet : "<לא נקבע>", -DlgCellVerAlignTop : "למעלה", -DlgCellVerAlignMiddle : "לאמצע", -DlgCellVerAlignBottom : "לתחתית", -DlgCellVerAlignBaseline : "קו תחתית", -DlgCellRowSpan : "טווח שורות", -DlgCellCollSpan : "טווח עמודות", -DlgCellBackColor : "צבע רקע", -DlgCellBorderColor : "צבע מסגרת", -DlgCellBtnSelect : "בחירה...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "חפש והחלף", - -// Find Dialog -DlgFindTitle : "חיפוש", -DlgFindFindBtn : "חיפוש", -DlgFindNotFoundMsg : "הטקסט המבוקש לא נמצא.", - -// Replace Dialog -DlgReplaceTitle : "החלפה", -DlgReplaceFindLbl : "חיפוש מחרוזת:", -DlgReplaceReplaceLbl : "החלפה במחרוזת:", -DlgReplaceCaseChk : "התאמת סוג אותיות (Case)", -DlgReplaceReplaceBtn : "החלפה", -DlgReplaceReplAllBtn : "החלפה בכל העמוד", -DlgReplaceWordChk : "התאמה למילה המלאה", - -// Paste Operations / Dialog -PasteErrorCut : "הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות גזירה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl+X).", -PasteErrorCopy : "הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות העתקה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl+C).", - -PasteAsText : "הדבקה כטקסט פשוט", -PasteFromWord : "הדבקה מ-וורד", - -DlgPasteMsg2 : "אנא הדבק בתוך הקופסה באמצעות (Ctrl+V) ולחץ על אישור.", -DlgPasteSec : "עקב הגדרות אבטחה בדפדפן, לא ניתן לגשת אל לוח הגזירים (clipboard) בצורה ישירה.אנא בצע הדבק שוב בחלון זה.", -DlgPasteIgnoreFont : "התעלם מהגדרות סוג פונט", -DlgPasteRemoveStyles : "הסר הגדרות סגנון", - -// Color Picker -ColorAutomatic : "אוטומטי", -ColorMoreColors : "צבעים נוספים...", - -// Document Properties -DocProps : "מאפיני מסמך", - -// Anchor Dialog -DlgAnchorTitle : "מאפיני נקודת עיגון", -DlgAnchorName : "שם לנקודת עיגון", -DlgAnchorErrorName : "אנא הזן שם לנקודת עיגון", - -// Speller Pages Dialog -DlgSpellNotInDic : "לא נמצא במילון", -DlgSpellChangeTo : "שנה ל", -DlgSpellBtnIgnore : "התעלם", -DlgSpellBtnIgnoreAll : "התעלם מהכל", -DlgSpellBtnReplace : "החלף", -DlgSpellBtnReplaceAll : "החלף הכל", -DlgSpellBtnUndo : "החזר", -DlgSpellNoSuggestions : "- אין הצעות -", -DlgSpellProgress : "בדיקות איות בתהליך ....", -DlgSpellNoMispell : "בדיקות איות הסתיימה: לא נמצאו שגיעות כתיב", -DlgSpellNoChanges : "בדיקות איות הסתיימה: לא שונתה אף מילה", -DlgSpellOneChange : "בדיקות איות הסתיימה: שונתה מילה אחת", -DlgSpellManyChanges : "בדיקות איות הסתיימה: %1 מילים שונו", - -IeSpellDownload : "בודק האיות לא מותקן, האם אתה מעוניין להוריד?", - -// Button Dialog -DlgButtonText : "טקסט (ערך)", -DlgButtonType : "סוג", -DlgButtonTypeBtn : "כפתור", -DlgButtonTypeSbm : "שלח", -DlgButtonTypeRst : "אפס", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "שם", -DlgCheckboxValue : "ערך", -DlgCheckboxSelected : "בחור", - -// Form Dialog -DlgFormName : "שם", -DlgFormAction : "שלח אל", -DlgFormMethod : "סוג שליחה", - -// Select Field Dialog -DlgSelectName : "שם", -DlgSelectValue : "ערך", -DlgSelectSize : "גודל", -DlgSelectLines : "שורות", -DlgSelectChkMulti : "אפשר בחירות מרובות", -DlgSelectOpAvail : "אפשרויות זמינות", -DlgSelectOpText : "טקסט", -DlgSelectOpValue : "ערך", -DlgSelectBtnAdd : "הוסף", -DlgSelectBtnModify : "שנה", -DlgSelectBtnUp : "למעלה", -DlgSelectBtnDown : "למטה", -DlgSelectBtnSetValue : "קבע כברירת מחדל", -DlgSelectBtnDelete : "מחק", - -// Textarea Dialog -DlgTextareaName : "שם", -DlgTextareaCols : "עמודות", -DlgTextareaRows : "שורות", - -// Text Field Dialog -DlgTextName : "שם", -DlgTextValue : "ערך", -DlgTextCharWidth : "רוחב באותיות", -DlgTextMaxChars : "מקסימות אותיות", -DlgTextType : "סוג", -DlgTextTypeText : "טקסט", -DlgTextTypePass : "סיסמה", - -// Hidden Field Dialog -DlgHiddenName : "שם", -DlgHiddenValue : "ערך", - -// Bulleted List Dialog -BulletedListProp : "מאפייני רשימה", -NumberedListProp : "מאפייני רשימה ממוספרת", -DlgLstStart : "התחלה", -DlgLstType : "סוג", -DlgLstTypeCircle : "עיגול", -DlgLstTypeDisc : "דיסק", -DlgLstTypeSquare : "מרובע", -DlgLstTypeNumbers : "מספרים (1, 2, 3)", -DlgLstTypeLCase : "אותיות קטנות (a, b, c)", -DlgLstTypeUCase : "אותיות גדולות (A, B, C)", -DlgLstTypeSRoman : "ספרות רומאיות קטנות (i, ii, iii)", -DlgLstTypeLRoman : "ספרות רומאיות גדולות (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "כללי", -DlgDocBackTab : "רקע", -DlgDocColorsTab : "צבעים וגבולות", -DlgDocMetaTab : "נתוני META", - -DlgDocPageTitle : "כותרת דף", -DlgDocLangDir : "כיוון שפה", -DlgDocLangDirLTR : "שמאל לימין (LTR)", -DlgDocLangDirRTL : "ימין לשמאל (RTL)", -DlgDocLangCode : "קוד שפה", -DlgDocCharSet : "קידוד אותיות", -DlgDocCharSetCE : "מרכז אירופה", -DlgDocCharSetCT : "סיני מסורתי (Big5)", -DlgDocCharSetCR : "קירילי", -DlgDocCharSetGR : "יוונית", -DlgDocCharSetJP : "יפנית", -DlgDocCharSetKR : "קוראנית", -DlgDocCharSetTR : "טורקית", -DlgDocCharSetUN : "יוני קוד (UTF-8)", -DlgDocCharSetWE : "מערב אירופה", -DlgDocCharSetOther : "קידוד אותיות אחר", - -DlgDocDocType : "הגדרות סוג מסמך", -DlgDocDocTypeOther : "הגדרות סוג מסמך אחרות", -DlgDocIncXHTML : "כלול הגדרות XHTML", -DlgDocBgColor : "צבע רקע", -DlgDocBgImage : "URL לתמונת רקע", -DlgDocBgNoScroll : "רגע ללא גלילה", -DlgDocCText : "טקסט", -DlgDocCLink : "קישור", -DlgDocCVisited : "קישור שבוקר", -DlgDocCActive : " קישור פעיל", -DlgDocMargins : "גבולות דף", -DlgDocMaTop : "למעלה", -DlgDocMaLeft : "שמאלה", -DlgDocMaRight : "ימינה", -DlgDocMaBottom : "למטה", -DlgDocMeIndex : "מפתח עניינים של המסמך )מופרד בפסיק(", -DlgDocMeDescr : "תאור מסמך", -DlgDocMeAuthor : "מחבר", -DlgDocMeCopy : "זכויות יוצרים", -DlgDocPreview : "תצוגה מקדימה", - -// Templates Dialog -Templates : "תבניות", -DlgTemplatesTitle : "תביות תוכן", -DlgTemplatesSelMsg : "אנא בחר תבנית לפתיחה בעורך
    התוכן המקורי ימחק:", -DlgTemplatesLoading : "מעלה רשימת תבניות אנא המתן", -DlgTemplatesNoTpl : "(לא הוגדרו תבניות)", -DlgTemplatesReplace : "החלפת תוכן ממשי", - -// About Dialog -DlgAboutAboutTab : "אודות", -DlgAboutBrowserInfoTab : "גירסת דפדפן", -DlgAboutLicenseTab : "רשיון", -DlgAboutVersion : "גירסא", -DlgAboutInfo : "מידע נוסף ניתן למצוא כאן:", - -// Div Dialog -DlgDivGeneralTab : "כללי", -DlgDivAdvancedTab : "מתקדם", -DlgDivStyle : "סגנון", -DlgDivInlineStyle : "סגנון בתוך השורה" -}; diff --git a/include/fckeditor/editor/lang/hi.js b/include/fckeditor/editor/lang/hi.js deleted file mode 100644 index 52dacde20..000000000 --- a/include/fckeditor/editor/lang/hi.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Hindi language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "टूलबार सिमटायें", -ToolbarExpand : "टूलबार का विस्तार करें", - -// Toolbar Items and Context Menu -Save : "सेव", -NewPage : "नया पेज", -Preview : "प्रीव्यू", -Cut : "कट", -Copy : "कॉपी", -Paste : "पेस्ट", -PasteText : "पेस्ट (सादा टॅक्स्ट)", -PasteWord : "पेस्ट (वर्ड से)", -Print : "प्रिन्ट", -SelectAll : "सब सॅलॅक्ट करें", -RemoveFormat : "फ़ॉर्मैट हटायें", -InsertLinkLbl : "लिंक", -InsertLink : "लिंक इन्सर्ट/संपादन", -RemoveLink : "लिंक हटायें", -VisitLink : "लिंक खोलें", -Anchor : "ऐंकर इन्सर्ट/संपादन", -AnchorDelete : "ऐंकर हटायें", -InsertImageLbl : "तस्वीर", -InsertImage : "तस्वीर इन्सर्ट/संपादन", -InsertFlashLbl : "फ़्लैश", -InsertFlash : "फ़्लैश इन्सर्ट/संपादन", -InsertTableLbl : "टेबल", -InsertTable : "टेबल इन्सर्ट/संपादन", -InsertLineLbl : "रेखा", -InsertLine : "हॉरिज़ॉन्टल रेखा इन्सर्ट करें", -InsertSpecialCharLbl: "विशेष करॅक्टर", -InsertSpecialChar : "विशेष करॅक्टर इन्सर्ट करें", -InsertSmileyLbl : "स्माइली", -InsertSmiley : "स्माइली इन्सर्ट करें", -About : "FCKeditor के बारे में", -Bold : "बोल्ड", -Italic : "इटैलिक", -Underline : "रेखांकण", -StrikeThrough : "स्ट्राइक थ्रू", -Subscript : "अधोलेख", -Superscript : "अभिलेख", -LeftJustify : "बायीं तरफ", -CenterJustify : "बीच में", -RightJustify : "दायीं तरफ", -BlockJustify : "ब्लॉक जस्टीफ़ाई", -DecreaseIndent : "इन्डॅन्ट कम करें", -IncreaseIndent : "इन्डॅन्ट बढ़ायें", -Blockquote : "ब्लॉक-कोट", -CreateDiv : "डिव (Div) कन्टेनर बनायें", -EditDiv : "डिव (Div) कन्टेनर बदलें", -DeleteDiv : "डिव कन्टेनर हटायें", -Undo : "अन्डू", -Redo : "रीडू", -NumberedListLbl : "अंकीय सूची", -NumberedList : "अंकीय सूची इन्सर्ट/संपादन", -BulletedListLbl : "बुलॅट सूची", -BulletedList : "बुलॅट सूची इन्सर्ट/संपादन", -ShowTableBorders : "टेबल बॉर्डरयें दिखायें", -ShowDetails : "ज्यादा दिखायें", -Style : "स्टाइल", -FontFormat : "फ़ॉर्मैट", -Font : "फ़ॉन्ट", -FontSize : "साइज़", -TextColor : "टेक्स्ट रंग", -BGColor : "बैक्ग्राउन्ड रंग", -Source : "सोर्स", -Find : "खोजें", -Replace : "रीप्लेस", -SpellCheck : "वर्तनी (स्पेलिंग) जाँच", -UniversalKeyboard : "यूनीवर्सल कीबोर्ड", -PageBreakLbl : "पेज ब्रेक", -PageBreak : "पेज ब्रेक इन्सर्ट् करें", - -Form : "फ़ॉर्म", -Checkbox : "चॅक बॉक्स", -RadioButton : "रेडिओ बटन", -TextField : "टेक्स्ट फ़ील्ड", -Textarea : "टेक्स्ट एरिया", -HiddenField : "गुप्त फ़ील्ड", -Button : "बटन", -SelectionField : "चुनाव फ़ील्ड", -ImageButton : "तस्वीर बटन", - -FitWindow : "एडिटर साइज़ को चरम सीमा तक बढ़ायें", -ShowBlocks : "ब्लॉक दिखायें", - -// Context Menu -EditLink : "लिंक संपादन", -CellCM : "खाना", -RowCM : "पंक्ति", -ColumnCM : "कालम", -InsertRowAfter : "बाद में पंक्ति डालें", -InsertRowBefore : "पहले पंक्ति डालें", -DeleteRows : "पंक्तियाँ डिलीट करें", -InsertColumnAfter : "बाद में कालम डालें", -InsertColumnBefore : "पहले कालम डालें", -DeleteColumns : "कालम डिलीट करें", -InsertCellAfter : "बाद में सैल डालें", -InsertCellBefore : "पहले सैल डालें", -DeleteCells : "सैल डिलीट करें", -MergeCells : "सैल मिलायें", -MergeRight : "बाँया विलय", -MergeDown : "नीचे विलय करें", -HorizontalSplitCell : "सैल को क्षैतिज स्थिति में विभाजित करें", -VerticalSplitCell : "सैल को लम्बाकार में विभाजित करें", -TableDelete : "टेबल डिलीट करें", -CellProperties : "सैल प्रॉपर्टीज़", -TableProperties : "टेबल प्रॉपर्टीज़", -ImageProperties : "तस्वीर प्रॉपर्टीज़", -FlashProperties : "फ़्लैश प्रॉपर्टीज़", - -AnchorProp : "ऐंकर प्रॉपर्टीज़", -ButtonProp : "बटन प्रॉपर्टीज़", -CheckboxProp : "चॅक बॉक्स प्रॉपर्टीज़", -HiddenFieldProp : "गुप्त फ़ील्ड प्रॉपर्टीज़", -RadioButtonProp : "रेडिओ बटन प्रॉपर्टीज़", -ImageButtonProp : "तस्वीर बटन प्रॉपर्टीज़", -TextFieldProp : "टेक्स्ट फ़ील्ड प्रॉपर्टीज़", -SelectionFieldProp : "चुनाव फ़ील्ड प्रॉपर्टीज़", -TextareaProp : "टेक्स्त एरिया प्रॉपर्टीज़", -FormProp : "फ़ॉर्म प्रॉपर्टीज़", - -FontFormats : "साधारण;फ़ॉर्मैटॅड;पता;शीर्षक 1;शीर्षक 2;शीर्षक 3;शीर्षक 4;शीर्षक 5;शीर्षक 6;शीर्षक (DIV)", - -// Alerts and Messages -ProcessingXHTML : "XHTML प्रोसॅस हो रहा है। ज़रा ठहरें...", -Done : "पूरा हुआ", -PasteWordConfirm : "आप जो टेक्स्ट पेस्ट करना चाहते हैं, वह वर्ड से कॉपी किया हुआ लग रहा है। क्या पेस्ट करने से पहले आप इसे साफ़ करना चाहेंगे?", -NotCompatiblePaste : "यह कमांड इन्टरनॅट एक्स्प्लोरर(Internet Explorer) 5.5 या उसके बाद के वर्ज़न के लिए ही उपलब्ध है। क्या आप बिना साफ़ किए पेस्ट करना चाहेंगे?", -UnknownToolbarItem : "अनजान टूलबार आइटम \"%1\"", -UnknownCommand : "अनजान कमान्ड \"%1\"", -NotImplemented : "कमान्ड इम्प्लीमॅन्ट नहीं किया गया है", -UnknownToolbarSet : "टूलबार सॅट \"%1\" उपलब्ध नहीं है", -NoActiveX : "आपके ब्राउज़र् की सुरक्शा सेटिंग्स् एडिटर की कुछ् फ़ीचरों को सीमित कर् सकती हैं। क्रिपया \"Run ActiveX controls and plug-ins\" विकल्प को एनेबल करें. आपको एरर्स् और गायब फ़ीचर्स् का अनुभव हो सकता है।", -BrowseServerBlocked : "रिसोर्सेज़ ब्राउज़र् नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।", -DialogBlocked : "डायलग विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।", -VisitLinkBlocked : "नया विन्डो नहीं खोला जा सका। क्रिपया सभी पॉप्-अप् ब्लॉकर्स् को निष्क्रिय करें।", - -// Dialogs -DlgBtnOK : "ठीक है", -DlgBtnCancel : "रद्द करें", -DlgBtnClose : "बन्द करें", -DlgBtnBrowseServer : "सर्वर ब्राउज़ करें", -DlgAdvancedTag : "ऍड्वान्स्ड", -DlgOpOther : "<अन्य>", -DlgInfoTab : "सूचना", -DlgAlertUrl : "URL इन्सर्ट करें", - -// General Dialogs Labels -DlgGenNotSet : "<सॅट नहीं>", -DlgGenId : "Id", -DlgGenLangDir : "भाषा लिखने की दिशा", -DlgGenLangDirLtr : "बायें से दायें (LTR)", -DlgGenLangDirRtl : "दायें से बायें (RTL)", -DlgGenLangCode : "भाषा कोड", -DlgGenAccessKey : "ऍक्सॅस की", -DlgGenName : "नाम", -DlgGenTabIndex : "टैब इन्डॅक्स", -DlgGenLongDescr : "अधिक विवरण के लिए URL", -DlgGenClass : "स्टाइल-शीट क्लास", -DlgGenTitle : "परामर्श शीर्शक", -DlgGenContType : "परामर्श कन्टॅन्ट प्रकार", -DlgGenLinkCharset : "लिंक रिसोर्स करॅक्टर सॅट", -DlgGenStyle : "स्टाइल", - -// Image Dialog -DlgImgTitle : "तस्वीर प्रॉपर्टीज़", -DlgImgInfoTab : "तस्वीर की जानकारी", -DlgImgBtnUpload : "इसे सर्वर को भेजें", -DlgImgURL : "URL", -DlgImgUpload : "अपलोड", -DlgImgAlt : "वैकल्पिक टेक्स्ट", -DlgImgWidth : "चौड़ाई", -DlgImgHeight : "ऊँचाई", -DlgImgLockRatio : "लॉक अनुपात", -DlgBtnResetSize : "रीसॅट साइज़", -DlgImgBorder : "बॉर्डर", -DlgImgHSpace : "हॉरिज़ॉन्टल स्पेस", -DlgImgVSpace : "वर्टिकल स्पेस", -DlgImgAlign : "ऍलाइन", -DlgImgAlignLeft : "दायें", -DlgImgAlignAbsBottom: "Abs नीचे", -DlgImgAlignAbsMiddle: "Abs ऊपर", -DlgImgAlignBaseline : "मूल रेखा", -DlgImgAlignBottom : "नीचे", -DlgImgAlignMiddle : "मध्य", -DlgImgAlignRight : "दायें", -DlgImgAlignTextTop : "टेक्स्ट ऊपर", -DlgImgAlignTop : "ऊपर", -DlgImgPreview : "प्रीव्यू", -DlgImgAlertUrl : "तस्वीर का URL टाइप करें ", -DlgImgLinkTab : "लिंक", - -// Flash Dialog -DlgFlashTitle : "फ़्लैश प्रॉपर्टीज़", -DlgFlashChkPlay : "ऑटो प्ले", -DlgFlashChkLoop : "लूप", -DlgFlashChkMenu : "फ़्लैश मॅन्यू का प्रयोग करें", -DlgFlashScale : "स्केल", -DlgFlashScaleAll : "सभी दिखायें", -DlgFlashScaleNoBorder : "कोई बॉर्डर नहीं", -DlgFlashScaleFit : "बिल्कुल फ़िट", - -// Link Dialog -DlgLnkWindowTitle : "लिंक", -DlgLnkInfoTab : "लिंक ", -DlgLnkTargetTab : "टार्गेट", - -DlgLnkType : "लिंक प्रकार", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "इस पेज का ऐंकर", -DlgLnkTypeEMail : "ई-मेल", -DlgLnkProto : "प्रोटोकॉल", -DlgLnkProtoOther : "<अन्य>", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "ऐंकर चुनें", -DlgLnkAnchorByName : "ऐंकर नाम से", -DlgLnkAnchorById : "ऍलीमॅन्ट Id से", -DlgLnkNoAnchors : "(डॉक्यूमॅन्ट में ऐंकर्स की संख्या)", -DlgLnkEMail : "ई-मेल पता", -DlgLnkEMailSubject : "संदेश विषय", -DlgLnkEMailBody : "संदेश", -DlgLnkUpload : "अपलोड", -DlgLnkBtnUpload : "इसे सर्वर को भेजें", - -DlgLnkTarget : "टार्गेट", -DlgLnkTargetFrame : "<फ़्रेम>", -DlgLnkTargetPopup : "<पॉप-अप विन्डो>", -DlgLnkTargetBlank : "नया विन्डो (_blank)", -DlgLnkTargetParent : "मूल विन्डो (_parent)", -DlgLnkTargetSelf : "इसी विन्डो (_self)", -DlgLnkTargetTop : "शीर्ष विन्डो (_top)", -DlgLnkTargetFrameName : "टार्गेट फ़्रेम का नाम", -DlgLnkPopWinName : "पॉप-अप विन्डो का नाम", -DlgLnkPopWinFeat : "पॉप-अप विन्डो फ़ीचर्स", -DlgLnkPopResize : "साइज़ बदला जा सकता है", -DlgLnkPopLocation : "लोकेशन बार", -DlgLnkPopMenu : "मॅन्यू बार", -DlgLnkPopScroll : "स्क्रॉल बार", -DlgLnkPopStatus : "स्टेटस बार", -DlgLnkPopToolbar : "टूल बार", -DlgLnkPopFullScrn : "फ़ुल स्क्रीन (IE)", -DlgLnkPopDependent : "डिपेन्डॅन्ट (Netscape)", -DlgLnkPopWidth : "चौड़ाई", -DlgLnkPopHeight : "ऊँचाई", -DlgLnkPopLeft : "बायीं तरफ", -DlgLnkPopTop : "दायीं तरफ", - -DlnLnkMsgNoUrl : "लिंक URL टाइप करें", -DlnLnkMsgNoEMail : "ई-मेल पता टाइप करें", -DlnLnkMsgNoAnchor : "ऐंकर चुनें", -DlnLnkMsgInvPopName : "पॉप-अप का नाम अल्फाबेट से शुरू होना चाहिये और उसमें स्पेस नहीं होने चाहिए", - -// Color Dialog -DlgColorTitle : "रंग चुनें", -DlgColorBtnClear : "साफ़ करें", -DlgColorHighlight : "हाइलाइट", -DlgColorSelected : "सॅलॅक्टॅड", - -// Smiley Dialog -DlgSmileyTitle : "स्माइली इन्सर्ट करें", - -// Special Character Dialog -DlgSpecialCharTitle : "विशेष करॅक्टर चुनें", - -// Table Dialog -DlgTableTitle : "टेबल प्रॉपर्टीज़", -DlgTableRows : "पंक्तियाँ", -DlgTableColumns : "कालम", -DlgTableBorder : "बॉर्डर साइज़", -DlgTableAlign : "ऍलाइन्मॅन्ट", -DlgTableAlignNotSet : "<सॅट नहीं>", -DlgTableAlignLeft : "दायें", -DlgTableAlignCenter : "बीच में", -DlgTableAlignRight : "बायें", -DlgTableWidth : "चौड़ाई", -DlgTableWidthPx : "पिक्सैल", -DlgTableWidthPc : "प्रतिशत", -DlgTableHeight : "ऊँचाई", -DlgTableCellSpace : "सैल अंतर", -DlgTableCellPad : "सैल पैडिंग", -DlgTableCaption : "शीर्षक", -DlgTableSummary : "सारांश", - -// Table Cell Dialog -DlgCellTitle : "सैल प्रॉपर्टीज़", -DlgCellWidth : "चौड़ाई", -DlgCellWidthPx : "पिक्सैल", -DlgCellWidthPc : "प्रतिशत", -DlgCellHeight : "ऊँचाई", -DlgCellWordWrap : "वर्ड रैप", -DlgCellWordWrapNotSet : "<सॅट नहीं>", -DlgCellWordWrapYes : "हाँ", -DlgCellWordWrapNo : "नहीं", -DlgCellHorAlign : "हॉरिज़ॉन्टल ऍलाइन्मॅन्ट", -DlgCellHorAlignNotSet : "<सॅट नहीं>", -DlgCellHorAlignLeft : "दायें", -DlgCellHorAlignCenter : "बीच में", -DlgCellHorAlignRight: "बायें", -DlgCellVerAlign : "वर्टिकल ऍलाइन्मॅन्ट", -DlgCellVerAlignNotSet : "<सॅट नहीं>", -DlgCellVerAlignTop : "ऊपर", -DlgCellVerAlignMiddle : "मध्य", -DlgCellVerAlignBottom : "नीचे", -DlgCellVerAlignBaseline : "मूलरेखा", -DlgCellRowSpan : "पंक्ति स्पैन", -DlgCellCollSpan : "कालम स्पैन", -DlgCellBackColor : "बैक्ग्राउन्ड रंग", -DlgCellBorderColor : "बॉर्डर का रंग", -DlgCellBtnSelect : "चुनें...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "खोजें और बदलें", - -// Find Dialog -DlgFindTitle : "खोजें", -DlgFindFindBtn : "खोजें", -DlgFindNotFoundMsg : "आपके द्वारा दिया गया टेक्स्ट नहीं मिला", - -// Replace Dialog -DlgReplaceTitle : "रिप्लेस", -DlgReplaceFindLbl : "यह खोजें:", -DlgReplaceReplaceLbl : "इससे रिप्लेस करें:", -DlgReplaceCaseChk : "केस मिलायें", -DlgReplaceReplaceBtn : "रिप्लेस", -DlgReplaceReplAllBtn : "सभी रिप्लेस करें", -DlgReplaceWordChk : "पूरा शब्द मिलायें", - -// Paste Operations / Dialog -PasteErrorCut : "आपके ब्राउज़र की सुरक्षा सॅटिन्ग्स ने कट करने की अनुमति नहीं प्रदान की है। (Ctrl+X) का प्रयोग करें।", -PasteErrorCopy : "आपके ब्राआउज़र की सुरक्षा सॅटिन्ग्स ने कॉपी करने की अनुमति नहीं प्रदान की है। (Ctrl+C) का प्रयोग करें।", - -PasteAsText : "पेस्ट (सादा टॅक्स्ट)", -PasteFromWord : "पेस्ट (वर्ड से)", - -DlgPasteMsg2 : "Ctrl+V का प्रयोग करके पेस्ट करें और ठीक है करें.", -DlgPasteSec : "आपके ब्राउज़र की सुरक्षा आपके ब्राउज़र की सुरKश सैटिंग के कारण, एडिटर आपके क्लिपबोर्ड डेटा को नहीं पा सकता है. आपको उसे इस विन्डो में दोबारा पेस्ट करना होगा.", -DlgPasteIgnoreFont : "फ़ॉन्ट परिभाषा निकालें", -DlgPasteRemoveStyles : "स्टाइल परिभाषा निकालें", - -// Color Picker -ColorAutomatic : "स्वचालित", -ColorMoreColors : "और रंग...", - -// Document Properties -DocProps : "डॉक्यूमॅन्ट प्रॉपर्टीज़", - -// Anchor Dialog -DlgAnchorTitle : "ऐंकर प्रॉपर्टीज़", -DlgAnchorName : "ऐंकर का नाम", -DlgAnchorErrorName : "ऐंकर का नाम टाइप करें", - -// Speller Pages Dialog -DlgSpellNotInDic : "शब्दकोश में नहीं", -DlgSpellChangeTo : "इसमें बदलें", -DlgSpellBtnIgnore : "इग्नोर", -DlgSpellBtnIgnoreAll : "सभी इग्नोर करें", -DlgSpellBtnReplace : "रिप्लेस", -DlgSpellBtnReplaceAll : "सभी रिप्लेस करें", -DlgSpellBtnUndo : "अन्डू", -DlgSpellNoSuggestions : "- कोई सुझाव नहीं -", -DlgSpellProgress : "वर्तनी की जाँच (स्पॅल-चॅक) जारी है...", -DlgSpellNoMispell : "वर्तनी की जाँच : कोई गलत वर्तनी (स्पॅलिंग) नहीं पाई गई", -DlgSpellNoChanges : "वर्तनी की जाँच :कोई शब्द नहीं बदला गया", -DlgSpellOneChange : "वर्तनी की जाँच : एक शब्द बदला गया", -DlgSpellManyChanges : "वर्तनी की जाँच : %1 शब्द बदले गये", - -IeSpellDownload : "स्पॅल-चॅकर इन्स्टाल नहीं किया गया है। क्या आप इसे डा‌उनलोड करना चाहेंगे?", - -// Button Dialog -DlgButtonText : "टेक्स्ट (वैल्यू)", -DlgButtonType : "प्रकार", -DlgButtonTypeBtn : "बटन", -DlgButtonTypeSbm : "सब्मिट", -DlgButtonTypeRst : "रिसेट", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "नाम", -DlgCheckboxValue : "वैल्यू", -DlgCheckboxSelected : "सॅलॅक्टॅड", - -// Form Dialog -DlgFormName : "नाम", -DlgFormAction : "क्रिया", -DlgFormMethod : "तरीका", - -// Select Field Dialog -DlgSelectName : "नाम", -DlgSelectValue : "वैल्यू", -DlgSelectSize : "साइज़", -DlgSelectLines : "पंक्तियाँ", -DlgSelectChkMulti : "एक से ज्यादा विकल्प चुनने दें", -DlgSelectOpAvail : "उपलब्ध विकल्प", -DlgSelectOpText : "टेक्स्ट", -DlgSelectOpValue : "वैल्यू", -DlgSelectBtnAdd : "जोड़ें", -DlgSelectBtnModify : "बदलें", -DlgSelectBtnUp : "ऊपर", -DlgSelectBtnDown : "नीचे", -DlgSelectBtnSetValue : "चुनी गई वैल्यू सॅट करें", -DlgSelectBtnDelete : "डिलीट", - -// Textarea Dialog -DlgTextareaName : "नाम", -DlgTextareaCols : "कालम", -DlgTextareaRows : "पंक्तियां", - -// Text Field Dialog -DlgTextName : "नाम", -DlgTextValue : "वैल्यू", -DlgTextCharWidth : "करॅक्टर की चौढ़ाई", -DlgTextMaxChars : "अधिकतम करॅक्टर", -DlgTextType : "टाइप", -DlgTextTypeText : "टेक्स्ट", -DlgTextTypePass : "पास्वर्ड", - -// Hidden Field Dialog -DlgHiddenName : "नाम", -DlgHiddenValue : "वैल्यू", - -// Bulleted List Dialog -BulletedListProp : "बुलॅट सूची प्रॉपर्टीज़", -NumberedListProp : "अंकीय सूची प्रॉपर्टीज़", -DlgLstStart : "प्रारम्भ", -DlgLstType : "प्रकार", -DlgLstTypeCircle : "गोल", -DlgLstTypeDisc : "डिस्क", -DlgLstTypeSquare : "चौकॊण", -DlgLstTypeNumbers : "अंक (1, 2, 3)", -DlgLstTypeLCase : "छोटे अक्षर (a, b, c)", -DlgLstTypeUCase : "बड़े अक्षर (A, B, C)", -DlgLstTypeSRoman : "छोटे रोमन अंक (i, ii, iii)", -DlgLstTypeLRoman : "बड़े रोमन अंक (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "आम", -DlgDocBackTab : "बैक्ग्राउन्ड", -DlgDocColorsTab : "रंग और मार्जिन", -DlgDocMetaTab : "मॅटाडेटा", - -DlgDocPageTitle : "पेज शीर्षक", -DlgDocLangDir : "भाषा लिखने की दिशा", -DlgDocLangDirLTR : "बायें से दायें (LTR)", -DlgDocLangDirRTL : "दायें से बायें (RTL)", -DlgDocLangCode : "भाषा कोड", -DlgDocCharSet : "करेक्टर सॅट ऍन्कोडिंग", -DlgDocCharSetCE : "मध्य यूरोपीय (Central European)", -DlgDocCharSetCT : "चीनी (Chinese Traditional Big5)", -DlgDocCharSetCR : "सिरीलिक (Cyrillic)", -DlgDocCharSetGR : "यवन (Greek)", -DlgDocCharSetJP : "जापानी (Japanese)", -DlgDocCharSetKR : "कोरीयन (Korean)", -DlgDocCharSetTR : "तुर्की (Turkish)", -DlgDocCharSetUN : "यूनीकोड (UTF-8)", -DlgDocCharSetWE : "पश्चिम यूरोपीय (Western European)", -DlgDocCharSetOther : "अन्य करेक्टर सॅट ऍन्कोडिंग", - -DlgDocDocType : "डॉक्यूमॅन्ट प्रकार शीर्षक", -DlgDocDocTypeOther : "अन्य डॉक्यूमॅन्ट प्रकार शीर्षक", -DlgDocIncXHTML : "XHTML सूचना सम्मिलित करें", -DlgDocBgColor : "बैक्ग्राउन्ड रंग", -DlgDocBgImage : "बैक्ग्राउन्ड तस्वीर URL", -DlgDocBgNoScroll : "स्क्रॉल न करने वाला बैक्ग्राउन्ड", -DlgDocCText : "टेक्स्ट", -DlgDocCLink : "लिंक", -DlgDocCVisited : "विज़िट किया गया लिंक", -DlgDocCActive : "सक्रिय लिंक", -DlgDocMargins : "पेज मार्जिन", -DlgDocMaTop : "ऊपर", -DlgDocMaLeft : "बायें", -DlgDocMaRight : "दायें", -DlgDocMaBottom : "नीचे", -DlgDocMeIndex : "डॉक्युमॅन्ट इन्डेक्स संकेतशब्द (अल्पविराम से अलग करें)", -DlgDocMeDescr : "डॉक्यूमॅन्ट करॅक्टरन", -DlgDocMeAuthor : "लेखक", -DlgDocMeCopy : "कॉपीराइट", -DlgDocPreview : "प्रीव्यू", - -// Templates Dialog -Templates : "टॅम्प्लेट", -DlgTemplatesTitle : "कन्टेन्ट टॅम्प्लेट", -DlgTemplatesSelMsg : "ऍडिटर में ओपन करने हेतु टॅम्प्लेट चुनें(वर्तमान कन्टॅन्ट सेव नहीं होंगे):", -DlgTemplatesLoading : "टॅम्प्लेट सूची लोड की जा रही है। ज़रा ठहरें...", -DlgTemplatesNoTpl : "(कोई टॅम्प्लेट डिफ़ाइन नहीं किया गया है)", -DlgTemplatesReplace : "मूल शब्दों को बदलें", - -// About Dialog -DlgAboutAboutTab : "FCKEditor के बारे में", -DlgAboutBrowserInfoTab : "ब्राउज़र के बारे में", -DlgAboutLicenseTab : "लाइसैन्स", -DlgAboutVersion : "वर्ज़न", -DlgAboutInfo : "अधिक जानकारी के लिये यहाँ जायें:", - -// Div Dialog -DlgDivGeneralTab : "सामान्य", -DlgDivAdvancedTab : "एड्वान्स्ड", -DlgDivStyle : "स्टाइल", -DlgDivInlineStyle : "इनलाइन स्टाइल" -}; diff --git a/include/fckeditor/editor/lang/hr.js b/include/fckeditor/editor/lang/hr.js deleted file mode 100644 index 4601e9629..000000000 --- a/include/fckeditor/editor/lang/hr.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Croatian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Smanji trake s alatima", -ToolbarExpand : "Proširi trake s alatima", - -// Toolbar Items and Context Menu -Save : "Snimi", -NewPage : "Nova stranica", -Preview : "Pregledaj", -Cut : "Izreži", -Copy : "Kopiraj", -Paste : "Zalijepi", -PasteText : "Zalijepi kao čisti tekst", -PasteWord : "Zalijepi iz Worda", -Print : "Ispiši", -SelectAll : "Odaberi sve", -RemoveFormat : "Ukloni formatiranje", -InsertLinkLbl : "Link", -InsertLink : "Ubaci/promijeni link", -RemoveLink : "Ukloni link", -VisitLink : "Otvori link", -Anchor : "Ubaci/promijeni sidro", -AnchorDelete : "Ukloni sidro", -InsertImageLbl : "Slika", -InsertImage : "Ubaci/promijeni sliku", -InsertFlashLbl : "Flash", -InsertFlash : "Ubaci/promijeni Flash", -InsertTableLbl : "Tablica", -InsertTable : "Ubaci/promijeni tablicu", -InsertLineLbl : "Linija", -InsertLine : "Ubaci vodoravnu liniju", -InsertSpecialCharLbl: "Posebni karakteri", -InsertSpecialChar : "Ubaci posebne znakove", -InsertSmileyLbl : "Smješko", -InsertSmiley : "Ubaci smješka", -About : "O FCKeditoru", -Bold : "Podebljaj", -Italic : "Ukosi", -Underline : "Potcrtano", -StrikeThrough : "Precrtano", -Subscript : "Subscript", -Superscript : "Superscript", -LeftJustify : "Lijevo poravnanje", -CenterJustify : "Središnje poravnanje", -RightJustify : "Desno poravnanje", -BlockJustify : "Blok poravnanje", -DecreaseIndent : "Pomakni ulijevo", -IncreaseIndent : "Pomakni udesno", -Blockquote : "Blockquote", -CreateDiv : "Napravi Div kontejner", -EditDiv : "Uredi Div kontejner", -DeleteDiv : "Ukloni Div kontejner", -Undo : "Poništi", -Redo : "Ponovi", -NumberedListLbl : "Brojčana lista", -NumberedList : "Ubaci/ukloni brojčanu listu", -BulletedListLbl : "Obična lista", -BulletedList : "Ubaci/ukloni običnu listu", -ShowTableBorders : "Prikaži okvir tablice", -ShowDetails : "Prikaži detalje", -Style : "Stil", -FontFormat : "Format", -Font : "Font", -FontSize : "Veličina", -TextColor : "Boja teksta", -BGColor : "Boja pozadine", -Source : "Kôd", -Find : "Pronađi", -Replace : "Zamijeni", -SpellCheck : "Provjeri pravopis", -UniversalKeyboard : "Univerzalna tipkovnica", -PageBreakLbl : "Prijelom stranice", -PageBreak : "Ubaci prijelom stranice", - -Form : "Form", -Checkbox : "Checkbox", -RadioButton : "Radio Button", -TextField : "Text Field", -Textarea : "Textarea", -HiddenField : "Hidden Field", -Button : "Button", -SelectionField : "Selection Field", -ImageButton : "Image Button", - -FitWindow : "Povećaj veličinu editora", -ShowBlocks : "Prikaži blokove", - -// Context Menu -EditLink : "Promijeni link", -CellCM : "Ćelija", -RowCM : "Red", -ColumnCM : "Kolona", -InsertRowAfter : "Ubaci red poslije", -InsertRowBefore : "Ubaci red prije", -DeleteRows : "Izbriši redove", -InsertColumnAfter : "Ubaci kolonu poslije", -InsertColumnBefore : "Ubaci kolonu prije", -DeleteColumns : "Izbriši kolone", -InsertCellAfter : "Ubaci ćeliju poslije", -InsertCellBefore : "Ubaci ćeliju prije", -DeleteCells : "Izbriši ćelije", -MergeCells : "Spoji ćelije", -MergeRight : "Spoji desno", -MergeDown : "Spoji dolje", -HorizontalSplitCell : "Podijeli ćeliju vodoravno", -VerticalSplitCell : "Podijeli ćeliju okomito", -TableDelete : "Izbriši tablicu", -CellProperties : "Svojstva ćelije", -TableProperties : "Svojstva tablice", -ImageProperties : "Svojstva slike", -FlashProperties : "Flash svojstva", - -AnchorProp : "Svojstva sidra", -ButtonProp : "Image Button svojstva", -CheckboxProp : "Checkbox svojstva", -HiddenFieldProp : "Hidden Field svojstva", -RadioButtonProp : "Radio Button svojstva", -ImageButtonProp : "Image Button svojstva", -TextFieldProp : "Text Field svojstva", -SelectionFieldProp : "Selection svojstva", -TextareaProp : "Textarea svojstva", -FormProp : "Form svojstva", - -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Obrađujem XHTML. Molimo pričekajte...", -Done : "Završio", -PasteWordConfirm : "Tekst koji želite zalijepiti čini se da je kopiran iz Worda. Želite li prije očistiti tekst?", -NotCompatiblePaste : "Ova naredba je dostupna samo u Internet Exploreru 5.5 ili novijem. Želite li nastaviti bez čišćenja?", -UnknownToolbarItem : "Nepoznati član trake s alatima \"%1\"", -UnknownCommand : "Nepoznata naredba \"%1\"", -NotImplemented : "Naredba nije implementirana", -UnknownToolbarSet : "Traka s alatima \"%1\" ne postoji", -NoActiveX : "Vaše postavke pretraživača mogle bi ograničiti neke od mogućnosti editora. Morate uključiti opciju \"Run ActiveX controls and plug-ins\" u postavkama. Ukoliko to ne učinite, moguće su razliite greške tijekom rada.", -BrowseServerBlocked : "Pretraivač nije moguće otvoriti. Provjerite da li je uključeno blokiranje pop-up prozora.", -DialogBlocked : "Nije moguće otvoriti novi prozor. Provjerite da li je uključeno blokiranje pop-up prozora.", -VisitLinkBlocked : "Nije moguće otvoriti novi prozor. Provjerite da li je uključeno blokiranje pop-up prozora.", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Poništi", -DlgBtnClose : "Zatvori", -DlgBtnBrowseServer : "Pretraži server", -DlgAdvancedTag : "Napredno", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Molimo unesite URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Smjer jezika", -DlgGenLangDirLtr : "S lijeva na desno (LTR)", -DlgGenLangDirRtl : "S desna na lijevo (RTL)", -DlgGenLangCode : "Kôd jezika", -DlgGenAccessKey : "Pristupna tipka", -DlgGenName : "Naziv", -DlgGenTabIndex : "Tab Indeks", -DlgGenLongDescr : "Dugački opis URL", -DlgGenClass : "Stylesheet klase", -DlgGenTitle : "Advisory naslov", -DlgGenContType : "Advisory vrsta sadržaja", -DlgGenLinkCharset : "Kodna stranica povezanih resursa", -DlgGenStyle : "Stil", - -// Image Dialog -DlgImgTitle : "Svojstva slika", -DlgImgInfoTab : "Info slike", -DlgImgBtnUpload : "Pošalji na server", -DlgImgURL : "URL", -DlgImgUpload : "Pošalji", -DlgImgAlt : "Alternativni tekst", -DlgImgWidth : "Širina", -DlgImgHeight : "Visina", -DlgImgLockRatio : "Zaključaj odnos", -DlgBtnResetSize : "Obriši veličinu", -DlgImgBorder : "Okvir", -DlgImgHSpace : "HSpace", -DlgImgVSpace : "VSpace", -DlgImgAlign : "Poravnaj", -DlgImgAlignLeft : "Lijevo", -DlgImgAlignAbsBottom: "Abs dolje", -DlgImgAlignAbsMiddle: "Abs sredina", -DlgImgAlignBaseline : "Bazno", -DlgImgAlignBottom : "Dolje", -DlgImgAlignMiddle : "Sredina", -DlgImgAlignRight : "Desno", -DlgImgAlignTextTop : "Vrh teksta", -DlgImgAlignTop : "Vrh", -DlgImgPreview : "Pregledaj", -DlgImgAlertUrl : "Unesite URL slike", -DlgImgLinkTab : "Link", - -// Flash Dialog -DlgFlashTitle : "Flash svojstva", -DlgFlashChkPlay : "Auto Play", -DlgFlashChkLoop : "Ponavljaj", -DlgFlashChkMenu : "Omogući Flash izbornik", -DlgFlashScale : "Omjer", -DlgFlashScaleAll : "Prikaži sve", -DlgFlashScaleNoBorder : "Bez okvira", -DlgFlashScaleFit : "Točna veličina", - -// Link Dialog -DlgLnkWindowTitle : "Link", -DlgLnkInfoTab : "Link Info", -DlgLnkTargetTab : "Meta", - -DlgLnkType : "Link vrsta", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Sidro na ovoj stranici", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protokol", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Odaberi sidro", -DlgLnkAnchorByName : "Po nazivu sidra", -DlgLnkAnchorById : "Po Id elementa", -DlgLnkNoAnchors : "(Nema dostupnih sidra)", -DlgLnkEMail : "E-Mail adresa", -DlgLnkEMailSubject : "Naslov", -DlgLnkEMailBody : "Sadržaj poruke", -DlgLnkUpload : "Pošalji", -DlgLnkBtnUpload : "Pošalji na server", - -DlgLnkTarget : "Meta", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Novi prozor (_blank)", -DlgLnkTargetParent : "Roditeljski prozor (_parent)", -DlgLnkTargetSelf : "Isti prozor (_self)", -DlgLnkTargetTop : "Vršni prozor (_top)", -DlgLnkTargetFrameName : "Ime ciljnog okvira", -DlgLnkPopWinName : "Naziv popup prozora", -DlgLnkPopWinFeat : "Mogućnosti popup prozora", -DlgLnkPopResize : "Promjenljive veličine", -DlgLnkPopLocation : "Traka za lokaciju", -DlgLnkPopMenu : "Izborna traka", -DlgLnkPopScroll : "Scroll traka", -DlgLnkPopStatus : "Statusna traka", -DlgLnkPopToolbar : "Traka s alatima", -DlgLnkPopFullScrn : "Cijeli ekran (IE)", -DlgLnkPopDependent : "Ovisno (Netscape)", -DlgLnkPopWidth : "Širina", -DlgLnkPopHeight : "Visina", -DlgLnkPopLeft : "Lijeva pozicija", -DlgLnkPopTop : "Gornja pozicija", - -DlnLnkMsgNoUrl : "Molimo upišite URL link", -DlnLnkMsgNoEMail : "Molimo upišite e-mail adresu", -DlnLnkMsgNoAnchor : "Molimo odaberite sidro", -DlnLnkMsgInvPopName : "Ime popup prozora mora početi sa slovom i ne smije sadržavati razmake", - -// Color Dialog -DlgColorTitle : "Odaberite boju", -DlgColorBtnClear : "Obriši", -DlgColorHighlight : "Osvijetli", -DlgColorSelected : "Odaberi", - -// Smiley Dialog -DlgSmileyTitle : "Ubaci smješka", - -// Special Character Dialog -DlgSpecialCharTitle : "Odaberite posebni karakter", - -// Table Dialog -DlgTableTitle : "Svojstva tablice", -DlgTableRows : "Redova", -DlgTableColumns : "Kolona", -DlgTableBorder : "Veličina okvira", -DlgTableAlign : "Poravnanje", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Lijevo", -DlgTableAlignCenter : "Središnje", -DlgTableAlignRight : "Desno", -DlgTableWidth : "Širina", -DlgTableWidthPx : "piksela", -DlgTableWidthPc : "postotaka", -DlgTableHeight : "Visina", -DlgTableCellSpace : "Prostornost ćelija", -DlgTableCellPad : "Razmak ćelija", -DlgTableCaption : "Naslov", -DlgTableSummary : "Sažetak", - -// Table Cell Dialog -DlgCellTitle : "Svojstva ćelije", -DlgCellWidth : "Širina", -DlgCellWidthPx : "piksela", -DlgCellWidthPc : "postotaka", -DlgCellHeight : "Visina", -DlgCellWordWrap : "Word Wrap", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Da", -DlgCellWordWrapNo : "Ne", -DlgCellHorAlign : "Vodoravno poravnanje", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Lijevo", -DlgCellHorAlignCenter : "Središnje", -DlgCellHorAlignRight: "Desno", -DlgCellVerAlign : "Okomito poravnanje", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Gornje", -DlgCellVerAlignMiddle : "Srednišnje", -DlgCellVerAlignBottom : "Donje", -DlgCellVerAlignBaseline : "Bazno", -DlgCellRowSpan : "Spajanje redova", -DlgCellCollSpan : "Spajanje kolona", -DlgCellBackColor : "Boja pozadine", -DlgCellBorderColor : "Boja okvira", -DlgCellBtnSelect : "Odaberi...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Pronađi i zamijeni", - -// Find Dialog -DlgFindTitle : "Pronađi", -DlgFindFindBtn : "Pronađi", -DlgFindNotFoundMsg : "Traženi tekst nije pronađen.", - -// Replace Dialog -DlgReplaceTitle : "Zamijeni", -DlgReplaceFindLbl : "Pronađi:", -DlgReplaceReplaceLbl : "Zamijeni s:", -DlgReplaceCaseChk : "Usporedi mala/velika slova", -DlgReplaceReplaceBtn : "Zamijeni", -DlgReplaceReplAllBtn : "Zamijeni sve", -DlgReplaceWordChk : "Usporedi cijele riječi", - -// Paste Operations / Dialog -PasteErrorCut : "Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl+X).", -PasteErrorCopy : "Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tipkovnici (Ctrl+C).", - -PasteAsText : "Zalijepi kao čisti tekst", -PasteFromWord : "Zalijepi iz Worda", - -DlgPasteMsg2 : "Molimo zaljepite unutar doljnjeg okvira koristeći tipkovnicu (Ctrl+V) i kliknite OK.", -DlgPasteSec : "Zbog sigurnosnih postavki Vašeg pretraživača, editor nema direktan pristup Vašem međuspremniku. Potrebno je ponovno zalijepiti tekst u ovaj prozor.", -DlgPasteIgnoreFont : "Zanemari definiciju vrste fonta", -DlgPasteRemoveStyles : "Ukloni definicije stilova", - -// Color Picker -ColorAutomatic : "Automatski", -ColorMoreColors : "Više boja...", - -// Document Properties -DocProps : "Svojstva dokumenta", - -// Anchor Dialog -DlgAnchorTitle : "Svojstva sidra", -DlgAnchorName : "Ime sidra", -DlgAnchorErrorName : "Molimo unesite ime sidra", - -// Speller Pages Dialog -DlgSpellNotInDic : "Nije u rječniku", -DlgSpellChangeTo : "Promijeni u", -DlgSpellBtnIgnore : "Zanemari", -DlgSpellBtnIgnoreAll : "Zanemari sve", -DlgSpellBtnReplace : "Zamijeni", -DlgSpellBtnReplaceAll : "Zamijeni sve", -DlgSpellBtnUndo : "Vrati", -DlgSpellNoSuggestions : "-Nema preporuke-", -DlgSpellProgress : "Provjera u tijeku...", -DlgSpellNoMispell : "Provjera završena: Nema grešaka", -DlgSpellNoChanges : "Provjera završena: Nije napravljena promjena", -DlgSpellOneChange : "Provjera završena: Jedna riječ promjenjena", -DlgSpellManyChanges : "Provjera završena: Promijenjeno %1 riječi", - -IeSpellDownload : "Provjera pravopisa nije instalirana. Želite li skinuti provjeru pravopisa?", - -// Button Dialog -DlgButtonText : "Tekst (vrijednost)", -DlgButtonType : "Vrsta", -DlgButtonTypeBtn : "Gumb", -DlgButtonTypeSbm : "Pošalji", -DlgButtonTypeRst : "Poništi", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Ime", -DlgCheckboxValue : "Vrijednost", -DlgCheckboxSelected : "Odabrano", - -// Form Dialog -DlgFormName : "Ime", -DlgFormAction : "Akcija", -DlgFormMethod : "Metoda", - -// Select Field Dialog -DlgSelectName : "Ime", -DlgSelectValue : "Vrijednost", -DlgSelectSize : "Veličina", -DlgSelectLines : "linija", -DlgSelectChkMulti : "Dozvoli višestruki odabir", -DlgSelectOpAvail : "Dostupne opcije", -DlgSelectOpText : "Tekst", -DlgSelectOpValue : "Vrijednost", -DlgSelectBtnAdd : "Dodaj", -DlgSelectBtnModify : "Promijeni", -DlgSelectBtnUp : "Gore", -DlgSelectBtnDown : "Dolje", -DlgSelectBtnSetValue : "Postavi kao odabranu vrijednost", -DlgSelectBtnDelete : "Obriši", - -// Textarea Dialog -DlgTextareaName : "Ime", -DlgTextareaCols : "Kolona", -DlgTextareaRows : "Redova", - -// Text Field Dialog -DlgTextName : "Ime", -DlgTextValue : "Vrijednost", -DlgTextCharWidth : "Širina", -DlgTextMaxChars : "Najviše karaktera", -DlgTextType : "Vrsta", -DlgTextTypeText : "Tekst", -DlgTextTypePass : "Šifra", - -// Hidden Field Dialog -DlgHiddenName : "Ime", -DlgHiddenValue : "Vrijednost", - -// Bulleted List Dialog -BulletedListProp : "Svojstva liste", -NumberedListProp : "Svojstva brojčane liste", -DlgLstStart : "Početak", -DlgLstType : "Vrsta", -DlgLstTypeCircle : "Krug", -DlgLstTypeDisc : "Disk", -DlgLstTypeSquare : "Kvadrat", -DlgLstTypeNumbers : "Brojevi (1, 2, 3)", -DlgLstTypeLCase : "Mala slova (a, b, c)", -DlgLstTypeUCase : "Velika slova (A, B, C)", -DlgLstTypeSRoman : "Male rimske brojke (i, ii, iii)", -DlgLstTypeLRoman : "Velike rimske brojke (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Općenito", -DlgDocBackTab : "Pozadina", -DlgDocColorsTab : "Boje i margine", -DlgDocMetaTab : "Meta Data", - -DlgDocPageTitle : "Naslov stranice", -DlgDocLangDir : "Smjer jezika", -DlgDocLangDirLTR : "S lijeva na desno", -DlgDocLangDirRTL : "S desna na lijevo", -DlgDocLangCode : "Kôd jezika", -DlgDocCharSet : "Enkodiranje znakova", -DlgDocCharSetCE : "Središnja Europa", -DlgDocCharSetCT : "Tradicionalna kineska (Big5)", -DlgDocCharSetCR : "Ćirilica", -DlgDocCharSetGR : "Grčka", -DlgDocCharSetJP : "Japanska", -DlgDocCharSetKR : "Koreanska", -DlgDocCharSetTR : "Turska", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Zapadna Europa", -DlgDocCharSetOther : "Ostalo enkodiranje znakova", - -DlgDocDocType : "Zaglavlje vrste dokumenta", -DlgDocDocTypeOther : "Ostalo zaglavlje vrste dokumenta", -DlgDocIncXHTML : "Ubaci XHTML deklaracije", -DlgDocBgColor : "Boja pozadine", -DlgDocBgImage : "URL slike pozadine", -DlgDocBgNoScroll : "Pozadine se ne pomiče", -DlgDocCText : "Tekst", -DlgDocCLink : "Link", -DlgDocCVisited : "Posjećeni link", -DlgDocCActive : "Aktivni link", -DlgDocMargins : "Margine stranice", -DlgDocMaTop : "Vrh", -DlgDocMaLeft : "Lijevo", -DlgDocMaRight : "Desno", -DlgDocMaBottom : "Dolje", -DlgDocMeIndex : "Ključne riječi dokumenta (odvojene zarezom)", -DlgDocMeDescr : "Opis dokumenta", -DlgDocMeAuthor : "Autor", -DlgDocMeCopy : "Autorska prava", -DlgDocPreview : "Pregledaj", - -// Templates Dialog -Templates : "Predlošci", -DlgTemplatesTitle : "Predlošci sadržaja", -DlgTemplatesSelMsg : "Molimo odaberite predložak koji želite otvoriti
    (stvarni sadržaj će biti izgubljen):", -DlgTemplatesLoading : "Učitavam listu predložaka. Molimo pričekajte...", -DlgTemplatesNoTpl : "(Nema definiranih predložaka)", -DlgTemplatesReplace : "Zamijeni trenutne sadržaje", - -// About Dialog -DlgAboutAboutTab : "O FCKEditoru", -DlgAboutBrowserInfoTab : "Podaci o pretraživaču", -DlgAboutLicenseTab : "Licenca", -DlgAboutVersion : "inačica", -DlgAboutInfo : "Za više informacija posjetite", - -// Div Dialog -DlgDivGeneralTab : "Općenito", -DlgDivAdvancedTab : "Napredno", -DlgDivStyle : "Stil", -DlgDivInlineStyle : "Stil u redu" -}; diff --git a/include/fckeditor/editor/lang/hu.js b/include/fckeditor/editor/lang/hu.js deleted file mode 100644 index b9803e63a..000000000 --- a/include/fckeditor/editor/lang/hu.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Hungarian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Eszköztár elrejtése", -ToolbarExpand : "Eszköztár megjelenítése", - -// Toolbar Items and Context Menu -Save : "Mentés", -NewPage : "Új oldal", -Preview : "Előnézet", -Cut : "Kivágás", -Copy : "Másolás", -Paste : "Beillesztés", -PasteText : "Beillesztés formázás nélkül", -PasteWord : "Beillesztés Word-ből", -Print : "Nyomtatás", -SelectAll : "Mindent kijelöl", -RemoveFormat : "Formázás eltávolítása", -InsertLinkLbl : "Hivatkozás", -InsertLink : "Hivatkozás beillesztése/módosítása", -RemoveLink : "Hivatkozás törlése", -VisitLink : "Open Link", //MISSING -Anchor : "Horgony beillesztése/szerkesztése", -AnchorDelete : "Horgony eltávolítása", -InsertImageLbl : "Kép", -InsertImage : "Kép beillesztése/módosítása", -InsertFlashLbl : "Flash", -InsertFlash : "Flash beillesztése, módosítása", -InsertTableLbl : "Táblázat", -InsertTable : "Táblázat beillesztése/módosítása", -InsertLineLbl : "Vonal", -InsertLine : "Elválasztóvonal beillesztése", -InsertSpecialCharLbl: "Speciális karakter", -InsertSpecialChar : "Speciális karakter beillesztése", -InsertSmileyLbl : "Hangulatjelek", -InsertSmiley : "Hangulatjelek beillesztése", -About : "FCKeditor névjegy", -Bold : "Félkövér", -Italic : "Dőlt", -Underline : "Aláhúzott", -StrikeThrough : "Áthúzott", -Subscript : "Alsó index", -Superscript : "Felső index", -LeftJustify : "Balra", -CenterJustify : "Középre", -RightJustify : "Jobbra", -BlockJustify : "Sorkizárt", -DecreaseIndent : "Behúzás csökkentése", -IncreaseIndent : "Behúzás növelése", -Blockquote : "Idézet blokk", -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Visszavonás", -Redo : "Ismétlés", -NumberedListLbl : "Számozás", -NumberedList : "Számozás beillesztése/törlése", -BulletedListLbl : "Felsorolás", -BulletedList : "Felsorolás beillesztése/törlése", -ShowTableBorders : "Táblázat szegély mutatása", -ShowDetails : "Részletek mutatása", -Style : "Stílus", -FontFormat : "Formátum", -Font : "Betűtípus", -FontSize : "Méret", -TextColor : "Betűszín", -BGColor : "Háttérszín", -Source : "Forráskód", -Find : "Keresés", -Replace : "Csere", -SpellCheck : "Helyesírás-ellenőrzés", -UniversalKeyboard : "Univerzális billentyűzet", -PageBreakLbl : "Oldaltörés", -PageBreak : "Oldaltörés beillesztése", - -Form : "Űrlap", -Checkbox : "Jelölőnégyzet", -RadioButton : "Választógomb", -TextField : "Szövegmező", -Textarea : "Szövegterület", -HiddenField : "Rejtettmező", -Button : "Gomb", -SelectionField : "Legördülő lista", -ImageButton : "Képgomb", - -FitWindow : "Maximalizálás", -ShowBlocks : "Blokkok megjelenítése", - -// Context Menu -EditLink : "Hivatkozás módosítása", -CellCM : "Cella", -RowCM : "Sor", -ColumnCM : "Oszlop", -InsertRowAfter : "Sor beillesztése az aktuális sor mögé", -InsertRowBefore : "Sor beillesztése az aktuális sor elé", -DeleteRows : "Sorok törlése", -InsertColumnAfter : "Oszlop beillesztése az aktuális oszlop mögé", -InsertColumnBefore : "Oszlop beillesztése az aktuális oszlop elé", -DeleteColumns : "Oszlopok törlése", -InsertCellAfter : "Cella beillesztése az aktuális cella mögé", -InsertCellBefore : "Cella beillesztése az aktuális cella elé", -DeleteCells : "Cellák törlése", -MergeCells : "Cellák egyesítése", -MergeRight : "Cellák egyesítése jobbra", -MergeDown : "Cellák egyesítése lefelé", -HorizontalSplitCell : "Cellák szétválasztása vízszintesen", -VerticalSplitCell : "Cellák szétválasztása függőlegesen", -TableDelete : "Táblázat törlése", -CellProperties : "Cella tulajdonságai", -TableProperties : "Táblázat tulajdonságai", -ImageProperties : "Kép tulajdonságai", -FlashProperties : "Flash tulajdonságai", - -AnchorProp : "Horgony tulajdonságai", -ButtonProp : "Gomb tulajdonságai", -CheckboxProp : "Jelölőnégyzet tulajdonságai", -HiddenFieldProp : "Rejtett mező tulajdonságai", -RadioButtonProp : "Választógomb tulajdonságai", -ImageButtonProp : "Képgomb tulajdonságai", -TextFieldProp : "Szövegmező tulajdonságai", -SelectionFieldProp : "Legördülő lista tulajdonságai", -TextareaProp : "Szövegterület tulajdonságai", -FormProp : "Űrlap tulajdonságai", - -FontFormats : "Normál;Formázott;Címsor;Fejléc 1;Fejléc 2;Fejléc 3;Fejléc 4;Fejléc 5;Fejléc 6;Bekezdés (DIV)", - -// Alerts and Messages -ProcessingXHTML : "XHTML feldolgozása. Kérem várjon...", -Done : "Kész", -PasteWordConfirm : "A beilleszteni kívánt szöveg Word-ből van másolva. El kívánja távolítani a formázást a beillesztés előtt?", -NotCompatiblePaste : "Ez a parancs csak Internet Explorer 5.5 verziótól használható. Megpróbálja beilleszteni a szöveget az eredeti formázással?", -UnknownToolbarItem : "Ismeretlen eszköztár elem \"%1\"", -UnknownCommand : "Ismeretlen parancs \"%1\"", -NotImplemented : "A parancs nem hajtható végre", -UnknownToolbarSet : "Az eszközkészlet \"%1\" nem létezik", -NoActiveX : "A böngésző biztonsági beállításai korlátozzák a szerkesztő lehetőségeit. Engedélyezni kell ezt az opciót: \"Run ActiveX controls and plug-ins\". Ettől függetlenül előfordulhatnak hibaüzenetek ill. bizonyos funkciók hiányozhatnak.", -BrowseServerBlocked : "Nem lehet megnyitni a fájlböngészőt. Bizonyosodjon meg róla, hogy a felbukkanó ablakok engedélyezve vannak.", -DialogBlocked : "Nem lehet megnyitni a párbeszédablakot. Bizonyosodjon meg róla, hogy a felbukkanó ablakok engedélyezve vannak.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "Rendben", -DlgBtnCancel : "Mégsem", -DlgBtnClose : "Bezárás", -DlgBtnBrowseServer : "Böngészés a szerveren", -DlgAdvancedTag : "További opciók", -DlgOpOther : "Egyéb", -DlgInfoTab : "Alaptulajdonságok", -DlgAlertUrl : "Illessze be a webcímet", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Azonosító", -DlgGenLangDir : "Írás iránya", -DlgGenLangDirLtr : "Balról jobbra", -DlgGenLangDirRtl : "Jobbról balra", -DlgGenLangCode : "Nyelv kódja", -DlgGenAccessKey : "Billentyűkombináció", -DlgGenName : "Név", -DlgGenTabIndex : "Tabulátor index", -DlgGenLongDescr : "Részletes leírás webcíme", -DlgGenClass : "Stíluskészlet", -DlgGenTitle : "Súgócimke", -DlgGenContType : "Súgó tartalomtípusa", -DlgGenLinkCharset : "Hivatkozott tartalom kódlapja", -DlgGenStyle : "Stílus", - -// Image Dialog -DlgImgTitle : "Kép tulajdonságai", -DlgImgInfoTab : "Alaptulajdonságok", -DlgImgBtnUpload : "Küldés a szerverre", -DlgImgURL : "Hivatkozás", -DlgImgUpload : "Feltöltés", -DlgImgAlt : "Buborék szöveg", -DlgImgWidth : "Szélesség", -DlgImgHeight : "Magasság", -DlgImgLockRatio : "Arány megtartása", -DlgBtnResetSize : "Eredeti méret", -DlgImgBorder : "Keret", -DlgImgHSpace : "Vízsz. táv", -DlgImgVSpace : "Függ. táv", -DlgImgAlign : "Igazítás", -DlgImgAlignLeft : "Bal", -DlgImgAlignAbsBottom: "Legaljára", -DlgImgAlignAbsMiddle: "Közepére", -DlgImgAlignBaseline : "Alapvonalhoz", -DlgImgAlignBottom : "Aljára", -DlgImgAlignMiddle : "Középre", -DlgImgAlignRight : "Jobbra", -DlgImgAlignTextTop : "Szöveg tetejére", -DlgImgAlignTop : "Tetejére", -DlgImgPreview : "Előnézet", -DlgImgAlertUrl : "Töltse ki a kép webcímét", -DlgImgLinkTab : "Hivatkozás", - -// Flash Dialog -DlgFlashTitle : "Flash tulajdonságai", -DlgFlashChkPlay : "Automata lejátszás", -DlgFlashChkLoop : "Folyamatosan", -DlgFlashChkMenu : "Flash menü engedélyezése", -DlgFlashScale : "Méretezés", -DlgFlashScaleAll : "Mindent mutat", -DlgFlashScaleNoBorder : "Keret nélkül", -DlgFlashScaleFit : "Teljes kitöltés", - -// Link Dialog -DlgLnkWindowTitle : "Hivatkozás tulajdonságai", -DlgLnkInfoTab : "Alaptulajdonságok", -DlgLnkTargetTab : "Megjelenítés", - -DlgLnkType : "Hivatkozás típusa", -DlgLnkTypeURL : "Webcím", -DlgLnkTypeAnchor : "Horgony az oldalon", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protokoll", -DlgLnkProtoOther : "", -DlgLnkURL : "Webcím", -DlgLnkAnchorSel : "Horgony választása", -DlgLnkAnchorByName : "Horgony név szerint", -DlgLnkAnchorById : "Azonosító szerint", -DlgLnkNoAnchors : "(Nincs horgony a dokumentumban)", -DlgLnkEMail : "E-Mail cím", -DlgLnkEMailSubject : "Üzenet tárgya", -DlgLnkEMailBody : "Üzenet", -DlgLnkUpload : "Feltöltés", -DlgLnkBtnUpload : "Küldés a szerverre", - -DlgLnkTarget : "Tartalom megjelenítése", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Új ablakban (_blank)", -DlgLnkTargetParent : "Szülő ablakban (_parent)", -DlgLnkTargetSelf : "Azonos ablakban (_self)", -DlgLnkTargetTop : "Legfelső ablakban (_top)", -DlgLnkTargetFrameName : "Keret neve", -DlgLnkPopWinName : "Felugró ablak neve", -DlgLnkPopWinFeat : "Felugró ablak jellemzői", -DlgLnkPopResize : "Méretezhető", -DlgLnkPopLocation : "Címsor", -DlgLnkPopMenu : "Menü sor", -DlgLnkPopScroll : "Gördítősáv", -DlgLnkPopStatus : "Állapotsor", -DlgLnkPopToolbar : "Eszköztár", -DlgLnkPopFullScrn : "Teljes képernyő (csak IE)", -DlgLnkPopDependent : "Szülőhöz kapcsolt (csak Netscape)", -DlgLnkPopWidth : "Szélesség", -DlgLnkPopHeight : "Magasság", -DlgLnkPopLeft : "Bal pozíció", -DlgLnkPopTop : "Felső pozíció", - -DlnLnkMsgNoUrl : "Adja meg a hivatkozás webcímét", -DlnLnkMsgNoEMail : "Adja meg az E-Mail címet", -DlnLnkMsgNoAnchor : "Válasszon egy horgonyt", -DlnLnkMsgInvPopName : "A felbukkanó ablak neve alfanumerikus karakterrel kezdôdjön, valamint ne tartalmazzon szóközt", - -// Color Dialog -DlgColorTitle : "Színválasztás", -DlgColorBtnClear : "Törlés", -DlgColorHighlight : "Előnézet", -DlgColorSelected : "Kiválasztott", - -// Smiley Dialog -DlgSmileyTitle : "Hangulatjel beszúrása", - -// Special Character Dialog -DlgSpecialCharTitle : "Speciális karakter választása", - -// Table Dialog -DlgTableTitle : "Táblázat tulajdonságai", -DlgTableRows : "Sorok", -DlgTableColumns : "Oszlopok", -DlgTableBorder : "Szegélyméret", -DlgTableAlign : "Igazítás", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Balra", -DlgTableAlignCenter : "Középre", -DlgTableAlignRight : "Jobbra", -DlgTableWidth : "Szélesség", -DlgTableWidthPx : "képpont", -DlgTableWidthPc : "százalék", -DlgTableHeight : "Magasság", -DlgTableCellSpace : "Cella térköz", -DlgTableCellPad : "Cella belső margó", -DlgTableCaption : "Felirat", -DlgTableSummary : "Leírás", - -// Table Cell Dialog -DlgCellTitle : "Cella tulajdonságai", -DlgCellWidth : "Szélesség", -DlgCellWidthPx : "képpont", -DlgCellWidthPc : "százalék", -DlgCellHeight : "Magasság", -DlgCellWordWrap : "Sortörés", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Igen", -DlgCellWordWrapNo : "Nem", -DlgCellHorAlign : "Vízsz. igazítás", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Balra", -DlgCellHorAlignCenter : "Középre", -DlgCellHorAlignRight: "Jobbra", -DlgCellVerAlign : "Függ. igazítás", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Tetejére", -DlgCellVerAlignMiddle : "Középre", -DlgCellVerAlignBottom : "Aljára", -DlgCellVerAlignBaseline : "Egyvonalba", -DlgCellRowSpan : "Sorok egyesítése", -DlgCellCollSpan : "Oszlopok egyesítése", -DlgCellBackColor : "Háttérszín", -DlgCellBorderColor : "Szegélyszín", -DlgCellBtnSelect : "Kiválasztás...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Keresés és csere", - -// Find Dialog -DlgFindTitle : "Keresés", -DlgFindFindBtn : "Keresés", -DlgFindNotFoundMsg : "A keresett szöveg nem található.", - -// Replace Dialog -DlgReplaceTitle : "Csere", -DlgReplaceFindLbl : "Keresett szöveg:", -DlgReplaceReplaceLbl : "Csere erre:", -DlgReplaceCaseChk : "kis- és nagybetű megkülönböztetése", -DlgReplaceReplaceBtn : "Csere", -DlgReplaceReplAllBtn : "Az összes cseréje", -DlgReplaceWordChk : "csak ha ez a teljes szó", - -// Paste Operations / Dialog -PasteErrorCut : "A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a kivágás műveletet. Használja az alábbi billentyűkombinációt (Ctrl+X).", -PasteErrorCopy : "A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a másolás műveletet. Használja az alábbi billentyűkombinációt (Ctrl+X).", - -PasteAsText : "Beillesztés formázatlan szövegként", -PasteFromWord : "Beillesztés Word-ből", - -DlgPasteMsg2 : "Másolja be az alábbi mezőbe a Ctrl+V billentyűk lenyomásával, majd nyomjon Rendben-t.", -DlgPasteSec : "A böngésző biztonsági beállításai miatt a szerkesztő nem képes hozzáférni a vágólap adataihoz. Illeszd be újra ebben az ablakban.", -DlgPasteIgnoreFont : "Betű formázások megszüntetése", -DlgPasteRemoveStyles : "Stílusok eltávolítása", - -// Color Picker -ColorAutomatic : "Automatikus", -ColorMoreColors : "További színek...", - -// Document Properties -DocProps : "Dokumentum tulajdonságai", - -// Anchor Dialog -DlgAnchorTitle : "Horgony tulajdonságai", -DlgAnchorName : "Horgony neve", -DlgAnchorErrorName : "Kérem adja meg a horgony nevét", - -// Speller Pages Dialog -DlgSpellNotInDic : "Nincs a szótárban", -DlgSpellChangeTo : "Módosítás", -DlgSpellBtnIgnore : "Kihagyja", -DlgSpellBtnIgnoreAll : "Mindet kihagyja", -DlgSpellBtnReplace : "Csere", -DlgSpellBtnReplaceAll : "Összes cseréje", -DlgSpellBtnUndo : "Visszavonás", -DlgSpellNoSuggestions : "Nincs javaslat", -DlgSpellProgress : "Helyesírás-ellenőrzés folyamatban...", -DlgSpellNoMispell : "Helyesírás-ellenőrzés kész: Nem találtam hibát", -DlgSpellNoChanges : "Helyesírás-ellenőrzés kész: Nincs változtatott szó", -DlgSpellOneChange : "Helyesírás-ellenőrzés kész: Egy szó cserélve", -DlgSpellManyChanges : "Helyesírás-ellenőrzés kész: %1 szó cserélve", - -IeSpellDownload : "A helyesírás-ellenőrző nincs telepítve. Szeretné letölteni most?", - -// Button Dialog -DlgButtonText : "Szöveg (Érték)", -DlgButtonType : "Típus", -DlgButtonTypeBtn : "Gomb", -DlgButtonTypeSbm : "Küldés", -DlgButtonTypeRst : "Alaphelyzet", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Név", -DlgCheckboxValue : "Érték", -DlgCheckboxSelected : "Kiválasztott", - -// Form Dialog -DlgFormName : "Név", -DlgFormAction : "Adatfeldolgozást végző hivatkozás", -DlgFormMethod : "Adatküldés módja", - -// Select Field Dialog -DlgSelectName : "Név", -DlgSelectValue : "Érték", -DlgSelectSize : "Méret", -DlgSelectLines : "sor", -DlgSelectChkMulti : "több sor is kiválasztható", -DlgSelectOpAvail : "Elérhető opciók", -DlgSelectOpText : "Szöveg", -DlgSelectOpValue : "Érték", -DlgSelectBtnAdd : "Hozzáad", -DlgSelectBtnModify : "Módosít", -DlgSelectBtnUp : "Fel", -DlgSelectBtnDown : "Le", -DlgSelectBtnSetValue : "Legyen az alapértelmezett érték", -DlgSelectBtnDelete : "Töröl", - -// Textarea Dialog -DlgTextareaName : "Név", -DlgTextareaCols : "Karakterek száma egy sorban", -DlgTextareaRows : "Sorok száma", - -// Text Field Dialog -DlgTextName : "Név", -DlgTextValue : "Érték", -DlgTextCharWidth : "Megjelenített karakterek száma", -DlgTextMaxChars : "Maximális karakterszám", -DlgTextType : "Típus", -DlgTextTypeText : "Szöveg", -DlgTextTypePass : "Jelszó", - -// Hidden Field Dialog -DlgHiddenName : "Név", -DlgHiddenValue : "Érték", - -// Bulleted List Dialog -BulletedListProp : "Felsorolás tulajdonságai", -NumberedListProp : "Számozás tulajdonságai", -DlgLstStart : "Start", -DlgLstType : "Formátum", -DlgLstTypeCircle : "Kör", -DlgLstTypeDisc : "Lemez", -DlgLstTypeSquare : "Négyzet", -DlgLstTypeNumbers : "Számok (1, 2, 3)", -DlgLstTypeLCase : "Kisbetűk (a, b, c)", -DlgLstTypeUCase : "Nagybetűk (A, B, C)", -DlgLstTypeSRoman : "Kis római számok (i, ii, iii)", -DlgLstTypeLRoman : "Nagy római számok (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Általános", -DlgDocBackTab : "Háttér", -DlgDocColorsTab : "Színek és margók", -DlgDocMetaTab : "Meta adatok", - -DlgDocPageTitle : "Oldalcím", -DlgDocLangDir : "Írás iránya", -DlgDocLangDirLTR : "Balról jobbra", -DlgDocLangDirRTL : "Jobbról balra", -DlgDocLangCode : "Nyelv kód", -DlgDocCharSet : "Karakterkódolás", -DlgDocCharSetCE : "Közép-Európai", -DlgDocCharSetCT : "Kínai Tradicionális (Big5)", -DlgDocCharSetCR : "Cyrill", -DlgDocCharSetGR : "Görög", -DlgDocCharSetJP : "Japán", -DlgDocCharSetKR : "Koreai", -DlgDocCharSetTR : "Török", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Nyugat-Európai", -DlgDocCharSetOther : "Más karakterkódolás", - -DlgDocDocType : "Dokumentum típus fejléc", -DlgDocDocTypeOther : "Más dokumentum típus fejléc", -DlgDocIncXHTML : "XHTML deklarációk beillesztése", -DlgDocBgColor : "Háttérszín", -DlgDocBgImage : "Háttérkép cím", -DlgDocBgNoScroll : "Nem gördíthető háttér", -DlgDocCText : "Szöveg", -DlgDocCLink : "Cím", -DlgDocCVisited : "Látogatott cím", -DlgDocCActive : "Aktív cím", -DlgDocMargins : "Oldal margók", -DlgDocMaTop : "Felső", -DlgDocMaLeft : "Bal", -DlgDocMaRight : "Jobb", -DlgDocMaBottom : "Alsó", -DlgDocMeIndex : "Dokumentum keresőszavak (vesszővel elválasztva)", -DlgDocMeDescr : "Dokumentum leírás", -DlgDocMeAuthor : "Szerző", -DlgDocMeCopy : "Szerzői jog", -DlgDocPreview : "Előnézet", - -// Templates Dialog -Templates : "Sablonok", -DlgTemplatesTitle : "Elérhető sablonok", -DlgTemplatesSelMsg : "Válassza ki melyik sablon nyíljon meg a szerkesztőben
    (a jelenlegi tartalom elveszik):", -DlgTemplatesLoading : "Sablon lista betöltése. Kis türelmet...", -DlgTemplatesNoTpl : "(Nincs sablon megadva)", -DlgTemplatesReplace : "Kicseréli a jelenlegi tartalmat", - -// About Dialog -DlgAboutAboutTab : "Névjegy", -DlgAboutBrowserInfoTab : "Böngésző információ", -DlgAboutLicenseTab : "Licensz", -DlgAboutVersion : "verzió", -DlgAboutInfo : "További információkért látogasson el ide:", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/it.js b/include/fckeditor/editor/lang/it.js deleted file mode 100644 index 8b59211c4..000000000 --- a/include/fckeditor/editor/lang/it.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Italian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Nascondi la barra degli strumenti", -ToolbarExpand : "Mostra la barra degli strumenti", - -// Toolbar Items and Context Menu -Save : "Salva", -NewPage : "Nuova pagina vuota", -Preview : "Anteprima", -Cut : "Taglia", -Copy : "Copia", -Paste : "Incolla", -PasteText : "Incolla come testo semplice", -PasteWord : "Incolla da Word", -Print : "Stampa", -SelectAll : "Seleziona tutto", -RemoveFormat : "Elimina formattazione", -InsertLinkLbl : "Collegamento", -InsertLink : "Inserisci/Modifica collegamento", -RemoveLink : "Elimina collegamento", -VisitLink : "Open Link", //MISSING -Anchor : "Inserisci/Modifica Ancora", -AnchorDelete : "Rimuovi Ancora", -InsertImageLbl : "Immagine", -InsertImage : "Inserisci/Modifica immagine", -InsertFlashLbl : "Oggetto Flash", -InsertFlash : "Inserisci/Modifica Oggetto Flash", -InsertTableLbl : "Tabella", -InsertTable : "Inserisci/Modifica tabella", -InsertLineLbl : "Riga orizzontale", -InsertLine : "Inserisci riga orizzontale", -InsertSpecialCharLbl: "Caratteri speciali", -InsertSpecialChar : "Inserisci carattere speciale", -InsertSmileyLbl : "Emoticon", -InsertSmiley : "Inserisci emoticon", -About : "Informazioni su FCKeditor", -Bold : "Grassetto", -Italic : "Corsivo", -Underline : "Sottolineato", -StrikeThrough : "Barrato", -Subscript : "Pedice", -Superscript : "Apice", -LeftJustify : "Allinea a sinistra", -CenterJustify : "Centra", -RightJustify : "Allinea a destra", -BlockJustify : "Giustifica", -DecreaseIndent : "Riduci rientro", -IncreaseIndent : "Aumenta rientro", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Annulla", -Redo : "Ripristina", -NumberedListLbl : "Elenco numerato", -NumberedList : "Inserisci/Modifica elenco numerato", -BulletedListLbl : "Elenco puntato", -BulletedList : "Inserisci/Modifica elenco puntato", -ShowTableBorders : "Mostra bordi tabelle", -ShowDetails : "Mostra dettagli", -Style : "Stile", -FontFormat : "Formato", -Font : "Font", -FontSize : "Dimensione", -TextColor : "Colore testo", -BGColor : "Colore sfondo", -Source : "Codice Sorgente", -Find : "Trova", -Replace : "Sostituisci", -SpellCheck : "Correttore ortografico", -UniversalKeyboard : "Tastiera universale", -PageBreakLbl : "Interruzione di pagina", -PageBreak : "Inserisci interruzione di pagina", - -Form : "Modulo", -Checkbox : "Checkbox", -RadioButton : "Radio Button", -TextField : "Campo di testo", -Textarea : "Area di testo", -HiddenField : "Campo nascosto", -Button : "Bottone", -SelectionField : "Menu di selezione", -ImageButton : "Bottone immagine", - -FitWindow : "Massimizza l'area dell'editor", -ShowBlocks : "Visualizza Blocchi", - -// Context Menu -EditLink : "Modifica collegamento", -CellCM : "Cella", -RowCM : "Riga", -ColumnCM : "Colonna", -InsertRowAfter : "Inserisci Riga Dopo", -InsertRowBefore : "Inserisci Riga Prima", -DeleteRows : "Elimina righe", -InsertColumnAfter : "Inserisci Colonna Dopo", -InsertColumnBefore : "Inserisci Colonna Prima", -DeleteColumns : "Elimina colonne", -InsertCellAfter : "Inserisci Cella Dopo", -InsertCellBefore : "Inserisci Cella Prima", -DeleteCells : "Elimina celle", -MergeCells : "Unisce celle", -MergeRight : "Unisci a Destra", -MergeDown : "Unisci in Basso", -HorizontalSplitCell : "Dividi Cella Orizzontalmente", -VerticalSplitCell : "Dividi Cella Verticalmente", -TableDelete : "Cancella Tabella", -CellProperties : "Proprietà cella", -TableProperties : "Proprietà tabella", -ImageProperties : "Proprietà immagine", -FlashProperties : "Proprietà Oggetto Flash", - -AnchorProp : "Proprietà ancora", -ButtonProp : "Proprietà bottone", -CheckboxProp : "Proprietà checkbox", -HiddenFieldProp : "Proprietà campo nascosto", -RadioButtonProp : "Proprietà radio button", -ImageButtonProp : "Proprietà bottone immagine", -TextFieldProp : "Proprietà campo di testo", -SelectionFieldProp : "Proprietà menu di selezione", -TextareaProp : "Proprietà area di testo", -FormProp : "Proprietà modulo", - -FontFormats : "Normale;Formattato;Indirizzo;Titolo 1;Titolo 2;Titolo 3;Titolo 4;Titolo 5;Titolo 6;Paragrafo (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Elaborazione XHTML in corso. Attendere prego...", -Done : "Completato", -PasteWordConfirm : "Il testo da incollare sembra provenire da Word. Desideri pulirlo prima di incollare?", -NotCompatiblePaste : "Questa funzione è disponibile solo per Internet Explorer 5.5 o superiore. Desideri incollare il testo senza pulirlo?", -UnknownToolbarItem : "Elemento della barra strumenti sconosciuto \"%1\"", -UnknownCommand : "Comando sconosciuto \"%1\"", -NotImplemented : "Comando non implementato", -UnknownToolbarSet : "La barra di strumenti \"%1\" non esiste", -NoActiveX : "Le impostazioni di sicurezza del tuo browser potrebbero limitare alcune funzionalità dell'editor. Devi abilitare l'opzione \"Esegui controlli e plug-in ActiveX\". Potresti avere errori e notare funzionalità mancanti.", -BrowseServerBlocked : "Non è possibile aprire la finestra di espolorazione risorse. Verifica che tutti i blocca popup siano bloccati.", -DialogBlocked : "Non è possibile aprire la finestra di dialogo. Verifica che tutti i blocca popup siano bloccati.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Annulla", -DlgBtnClose : "Chiudi", -DlgBtnBrowseServer : "Cerca sul server", -DlgAdvancedTag : "Avanzate", -DlgOpOther : "", -DlgInfoTab : "Info", -DlgAlertUrl : "Devi inserire l'URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Direzione scrittura", -DlgGenLangDirLtr : "Da Sinistra a Destra (LTR)", -DlgGenLangDirRtl : "Da Destra a Sinistra (RTL)", -DlgGenLangCode : "Codice Lingua", -DlgGenAccessKey : "Scorciatoia
    da tastiera", -DlgGenName : "Nome", -DlgGenTabIndex : "Ordine di tabulazione", -DlgGenLongDescr : "URL descrizione estesa", -DlgGenClass : "Nome classe CSS", -DlgGenTitle : "Titolo", -DlgGenContType : "Tipo della risorsa collegata", -DlgGenLinkCharset : "Set di caretteri della risorsa collegata", -DlgGenStyle : "Stile", - -// Image Dialog -DlgImgTitle : "Proprietà immagine", -DlgImgInfoTab : "Informazioni immagine", -DlgImgBtnUpload : "Invia al server", -DlgImgURL : "URL", -DlgImgUpload : "Carica", -DlgImgAlt : "Testo alternativo", -DlgImgWidth : "Larghezza", -DlgImgHeight : "Altezza", -DlgImgLockRatio : "Blocca rapporto", -DlgBtnResetSize : "Reimposta dimensione", -DlgImgBorder : "Bordo", -DlgImgHSpace : "HSpace", -DlgImgVSpace : "VSpace", -DlgImgAlign : "Allineamento", -DlgImgAlignLeft : "Sinistra", -DlgImgAlignAbsBottom: "In basso assoluto", -DlgImgAlignAbsMiddle: "Centrato assoluto", -DlgImgAlignBaseline : "Linea base", -DlgImgAlignBottom : "In Basso", -DlgImgAlignMiddle : "Centrato", -DlgImgAlignRight : "Destra", -DlgImgAlignTextTop : "In alto al testo", -DlgImgAlignTop : "In Alto", -DlgImgPreview : "Anteprima", -DlgImgAlertUrl : "Devi inserire l'URL per l'immagine", -DlgImgLinkTab : "Collegamento", - -// Flash Dialog -DlgFlashTitle : "Proprietà Oggetto Flash", -DlgFlashChkPlay : "Avvio Automatico", -DlgFlashChkLoop : "Cicla", -DlgFlashChkMenu : "Abilita Menu di Flash", -DlgFlashScale : "Ridimensiona", -DlgFlashScaleAll : "Mostra Tutto", -DlgFlashScaleNoBorder : "Senza Bordo", -DlgFlashScaleFit : "Dimensione Esatta", - -// Link Dialog -DlgLnkWindowTitle : "Collegamento", -DlgLnkInfoTab : "Informazioni collegamento", -DlgLnkTargetTab : "Destinazione", - -DlgLnkType : "Tipo di Collegamento", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Ancora nella pagina", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "Protocollo", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Scegli Ancora", -DlgLnkAnchorByName : "Per Nome", -DlgLnkAnchorById : "Per id elemento", -DlgLnkNoAnchors : "(Nessuna ancora disponibile nel documento)", -DlgLnkEMail : "Indirizzo E-Mail", -DlgLnkEMailSubject : "Oggetto del messaggio", -DlgLnkEMailBody : "Corpo del messaggio", -DlgLnkUpload : "Carica", -DlgLnkBtnUpload : "Invia al Server", - -DlgLnkTarget : "Destinazione", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Nuova finestra (_blank)", -DlgLnkTargetParent : "Finestra padre (_parent)", -DlgLnkTargetSelf : "Stessa finestra (_self)", -DlgLnkTargetTop : "Finestra superiore (_top)", -DlgLnkTargetFrameName : "Nome del riquadro di destinazione", -DlgLnkPopWinName : "Nome finestra popup", -DlgLnkPopWinFeat : "Caratteristiche finestra popup", -DlgLnkPopResize : "Ridimensionabile", -DlgLnkPopLocation : "Barra degli indirizzi", -DlgLnkPopMenu : "Barra del menu", -DlgLnkPopScroll : "Barre di scorrimento", -DlgLnkPopStatus : "Barra di stato", -DlgLnkPopToolbar : "Barra degli strumenti", -DlgLnkPopFullScrn : "A tutto schermo (IE)", -DlgLnkPopDependent : "Dipendente (Netscape)", -DlgLnkPopWidth : "Larghezza", -DlgLnkPopHeight : "Altezza", -DlgLnkPopLeft : "Posizione da sinistra", -DlgLnkPopTop : "Posizione dall'alto", - -DlnLnkMsgNoUrl : "Devi inserire l'URL del collegamento", -DlnLnkMsgNoEMail : "Devi inserire un'indirizzo e-mail", -DlnLnkMsgNoAnchor : "Devi selezionare un'ancora", -DlnLnkMsgInvPopName : "Il nome del popup deve iniziare con una lettera, e non può contenere spazi", - -// Color Dialog -DlgColorTitle : "Seleziona colore", -DlgColorBtnClear : "Vuota", -DlgColorHighlight : "Evidenziato", -DlgColorSelected : "Selezionato", - -// Smiley Dialog -DlgSmileyTitle : "Inserisci emoticon", - -// Special Character Dialog -DlgSpecialCharTitle : "Seleziona carattere speciale", - -// Table Dialog -DlgTableTitle : "Proprietà tabella", -DlgTableRows : "Righe", -DlgTableColumns : "Colonne", -DlgTableBorder : "Dimensione bordo", -DlgTableAlign : "Allineamento", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Sinistra", -DlgTableAlignCenter : "Centrato", -DlgTableAlignRight : "Destra", -DlgTableWidth : "Larghezza", -DlgTableWidthPx : "pixel", -DlgTableWidthPc : "percento", -DlgTableHeight : "Altezza", -DlgTableCellSpace : "Spaziatura celle", -DlgTableCellPad : "Padding celle", -DlgTableCaption : "Intestazione", -DlgTableSummary : "Indice", - -// Table Cell Dialog -DlgCellTitle : "Proprietà cella", -DlgCellWidth : "Larghezza", -DlgCellWidthPx : "pixel", -DlgCellWidthPc : "percento", -DlgCellHeight : "Altezza", -DlgCellWordWrap : "A capo automatico", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Si", -DlgCellWordWrapNo : "No", -DlgCellHorAlign : "Allineamento orizzontale", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Sinistra", -DlgCellHorAlignCenter : "Centrato", -DlgCellHorAlignRight: "Destra", -DlgCellVerAlign : "Allineamento verticale", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "In Alto", -DlgCellVerAlignMiddle : "Centrato", -DlgCellVerAlignBottom : "In Basso", -DlgCellVerAlignBaseline : "Linea base", -DlgCellRowSpan : "Righe occupate", -DlgCellCollSpan : "Colonne occupate", -DlgCellBackColor : "Colore sfondo", -DlgCellBorderColor : "Colore bordo", -DlgCellBtnSelect : "Scegli...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Cerca e Sostituisci", - -// Find Dialog -DlgFindTitle : "Trova", -DlgFindFindBtn : "Trova", -DlgFindNotFoundMsg : "L'elemento cercato non è stato trovato.", - -// Replace Dialog -DlgReplaceTitle : "Sostituisci", -DlgReplaceFindLbl : "Trova:", -DlgReplaceReplaceLbl : "Sostituisci con:", -DlgReplaceCaseChk : "Maiuscole/minuscole", -DlgReplaceReplaceBtn : "Sostituisci", -DlgReplaceReplAllBtn : "Sostituisci tutto", -DlgReplaceWordChk : "Solo parole intere", - -// Paste Operations / Dialog -PasteErrorCut : "Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl+X).", -PasteErrorCopy : "Le impostazioni di sicurezza del browser non permettono di copiare automaticamente il testo. Usa la tastiera (Ctrl+C).", - -PasteAsText : "Incolla come testo semplice", -PasteFromWord : "Incolla da Word", - -DlgPasteMsg2 : "Incolla il testo all'interno dell'area sottostante usando la scorciatoia di tastiere (Ctrl+V) e premi OK.", -DlgPasteSec : "A causa delle impostazioni di sicurezza del browser,l'editor non è in grado di accedere direttamente agli appunti. E' pertanto necessario incollarli di nuovo in questa finestra.", -DlgPasteIgnoreFont : "Ignora le definizioni di Font", -DlgPasteRemoveStyles : "Rimuovi le definizioni di Stile", - -// Color Picker -ColorAutomatic : "Automatico", -ColorMoreColors : "Altri colori...", - -// Document Properties -DocProps : "Proprietà del Documento", - -// Anchor Dialog -DlgAnchorTitle : "Proprietà ancora", -DlgAnchorName : "Nome ancora", -DlgAnchorErrorName : "Inserici il nome dell'ancora", - -// Speller Pages Dialog -DlgSpellNotInDic : "Non nel dizionario", -DlgSpellChangeTo : "Cambia in", -DlgSpellBtnIgnore : "Ignora", -DlgSpellBtnIgnoreAll : "Ignora tutto", -DlgSpellBtnReplace : "Cambia", -DlgSpellBtnReplaceAll : "Cambia tutto", -DlgSpellBtnUndo : "Annulla", -DlgSpellNoSuggestions : "- Nessun suggerimento -", -DlgSpellProgress : "Controllo ortografico in corso", -DlgSpellNoMispell : "Controllo ortografico completato: nessun errore trovato", -DlgSpellNoChanges : "Controllo ortografico completato: nessuna parola cambiata", -DlgSpellOneChange : "Controllo ortografico completato: 1 parola cambiata", -DlgSpellManyChanges : "Controllo ortografico completato: %1 parole cambiate", - -IeSpellDownload : "Contollo ortografico non installato. Lo vuoi scaricare ora?", - -// Button Dialog -DlgButtonText : "Testo (Value)", -DlgButtonType : "Tipo", -DlgButtonTypeBtn : "Bottone", -DlgButtonTypeSbm : "Invio", -DlgButtonTypeRst : "Annulla", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Nome", -DlgCheckboxValue : "Valore", -DlgCheckboxSelected : "Selezionato", - -// Form Dialog -DlgFormName : "Nome", -DlgFormAction : "Azione", -DlgFormMethod : "Metodo", - -// Select Field Dialog -DlgSelectName : "Nome", -DlgSelectValue : "Valore", -DlgSelectSize : "Dimensione", -DlgSelectLines : "righe", -DlgSelectChkMulti : "Permetti selezione multipla", -DlgSelectOpAvail : "Opzioni disponibili", -DlgSelectOpText : "Testo", -DlgSelectOpValue : "Valore", -DlgSelectBtnAdd : "Aggiungi", -DlgSelectBtnModify : "Modifica", -DlgSelectBtnUp : "Su", -DlgSelectBtnDown : "Gi", -DlgSelectBtnSetValue : "Imposta come predefinito", -DlgSelectBtnDelete : "Rimuovi", - -// Textarea Dialog -DlgTextareaName : "Nome", -DlgTextareaCols : "Colonne", -DlgTextareaRows : "Righe", - -// Text Field Dialog -DlgTextName : "Nome", -DlgTextValue : "Valore", -DlgTextCharWidth : "Larghezza", -DlgTextMaxChars : "Numero massimo di caratteri", -DlgTextType : "Tipo", -DlgTextTypeText : "Testo", -DlgTextTypePass : "Password", - -// Hidden Field Dialog -DlgHiddenName : "Nome", -DlgHiddenValue : "Valore", - -// Bulleted List Dialog -BulletedListProp : "Proprietà lista puntata", -NumberedListProp : "Proprietà lista numerata", -DlgLstStart : "Inizio", -DlgLstType : "Tipo", -DlgLstTypeCircle : "Tondo", -DlgLstTypeDisc : "Disco", -DlgLstTypeSquare : "Quadrato", -DlgLstTypeNumbers : "Numeri (1, 2, 3)", -DlgLstTypeLCase : "Caratteri minuscoli (a, b, c)", -DlgLstTypeUCase : "Caratteri maiuscoli (A, B, C)", -DlgLstTypeSRoman : "Numeri Romani minuscoli (i, ii, iii)", -DlgLstTypeLRoman : "Numeri Romani maiuscoli (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Genarale", -DlgDocBackTab : "Sfondo", -DlgDocColorsTab : "Colori e margini", -DlgDocMetaTab : "Meta Data", - -DlgDocPageTitle : "Titolo pagina", -DlgDocLangDir : "Direzione scrittura", -DlgDocLangDirLTR : "Da Sinistra a Destra (LTR)", -DlgDocLangDirRTL : "Da Destra a Sinistra (RTL)", -DlgDocLangCode : "Codice Lingua", -DlgDocCharSet : "Set di caretteri", -DlgDocCharSetCE : "Europa Centrale", -DlgDocCharSetCT : "Cinese Tradizionale (Big5)", -DlgDocCharSetCR : "Cirillico", -DlgDocCharSetGR : "Greco", -DlgDocCharSetJP : "Giapponese", -DlgDocCharSetKR : "Coreano", -DlgDocCharSetTR : "Turco", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Europa Occidentale", -DlgDocCharSetOther : "Altro set di caretteri", - -DlgDocDocType : "Intestazione DocType", -DlgDocDocTypeOther : "Altra intestazione DocType", -DlgDocIncXHTML : "Includi dichiarazione XHTML", -DlgDocBgColor : "Colore di sfondo", -DlgDocBgImage : "Immagine di sfondo", -DlgDocBgNoScroll : "Sfondo fissato", -DlgDocCText : "Testo", -DlgDocCLink : "Collegamento", -DlgDocCVisited : "Collegamento visitato", -DlgDocCActive : "Collegamento attivo", -DlgDocMargins : "Margini", -DlgDocMaTop : "In Alto", -DlgDocMaLeft : "A Sinistra", -DlgDocMaRight : "A Destra", -DlgDocMaBottom : "In Basso", -DlgDocMeIndex : "Chiavi di indicizzazione documento (separate da virgola)", -DlgDocMeDescr : "Descrizione documento", -DlgDocMeAuthor : "Autore", -DlgDocMeCopy : "Copyright", -DlgDocPreview : "Anteprima", - -// Templates Dialog -Templates : "Modelli", -DlgTemplatesTitle : "Contenuto dei modelli", -DlgTemplatesSelMsg : "Seleziona il modello da aprire nell'editor
    (il contenuto attuale verrà eliminato):", -DlgTemplatesLoading : "Caricamento modelli in corso. Attendere prego...", -DlgTemplatesNoTpl : "(Nessun modello definito)", -DlgTemplatesReplace : "Cancella il contenuto corrente", - -// About Dialog -DlgAboutAboutTab : "Informazioni", -DlgAboutBrowserInfoTab : "Informazioni Browser", -DlgAboutLicenseTab : "Licenza", -DlgAboutVersion : "versione", -DlgAboutInfo : "Per maggiori informazioni visitare", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/ja.js b/include/fckeditor/editor/lang/ja.js deleted file mode 100644 index 9f0cffa66..000000000 --- a/include/fckeditor/editor/lang/ja.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Japanese language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "ツールバーを隠す", -ToolbarExpand : "ツールバーを表示", - -// Toolbar Items and Context Menu -Save : "保存", -NewPage : "新しいページ", -Preview : "プレビュー", -Cut : "切り取り", -Copy : "コピー", -Paste : "貼り付け", -PasteText : "プレーンテキスト貼り付け", -PasteWord : "ワード文章から貼り付け", -Print : "印刷", -SelectAll : "すべて選択", -RemoveFormat : "フォーマット削除", -InsertLinkLbl : "リンク", -InsertLink : "リンク挿入/編集", -RemoveLink : "リンク削除", -VisitLink : "リンクを開く", -Anchor : "アンカー挿入/編集", -AnchorDelete : "アンカー削除", -InsertImageLbl : "イメージ", -InsertImage : "イメージ挿入/編集", -InsertFlashLbl : "Flash", -InsertFlash : "Flash挿入/編集", -InsertTableLbl : "テーブル", -InsertTable : "テーブル挿入/編集", -InsertLineLbl : "ライン", -InsertLine : "横罫線", -InsertSpecialCharLbl: "特殊文字", -InsertSpecialChar : "特殊文字挿入", -InsertSmileyLbl : "絵文字", -InsertSmiley : "絵文字挿入", -About : "FCKeditorヘルプ", -Bold : "太字", -Italic : "斜体", -Underline : "下線", -StrikeThrough : "打ち消し線", -Subscript : "添え字", -Superscript : "上付き文字", -LeftJustify : "左揃え", -CenterJustify : "中央揃え", -RightJustify : "右揃え", -BlockJustify : "両端揃え", -DecreaseIndent : "インデント解除", -IncreaseIndent : "インデント", -Blockquote : "ブロック引用", -CreateDiv : "Div 作成", -EditDiv : "Div 編集", -DeleteDiv : "Div 削除", -Undo : "元に戻す", -Redo : "やり直し", -NumberedListLbl : "段落番号", -NumberedList : "段落番号の追加/削除", -BulletedListLbl : "箇条書き", -BulletedList : "箇条書きの追加/削除", -ShowTableBorders : "テーブルボーダー表示", -ShowDetails : "詳細表示", -Style : "スタイル", -FontFormat : "フォーマット", -Font : "フォント", -FontSize : "サイズ", -TextColor : "テキスト色", -BGColor : "背景色", -Source : "ソース", -Find : "検索", -Replace : "置き換え", -SpellCheck : "スペルチェック", -UniversalKeyboard : "ユニバーサル・キーボード", -PageBreakLbl : "改ページ", -PageBreak : "改ページ挿入", - -Form : "フォーム", -Checkbox : "チェックボックス", -RadioButton : "ラジオボタン", -TextField : "1行テキスト", -Textarea : "テキストエリア", -HiddenField : "不可視フィールド", -Button : "ボタン", -SelectionField : "選択フィールド", -ImageButton : "画像ボタン", - -FitWindow : "エディタサイズを最大にします", -ShowBlocks : "ブロック表示", - -// Context Menu -EditLink : "リンク編集", -CellCM : "セル", -RowCM : "行", -ColumnCM : "カラム", -InsertRowAfter : "列の後に挿入", -InsertRowBefore : "列の前に挿入", -DeleteRows : "行削除", -InsertColumnAfter : "カラムの後に挿入", -InsertColumnBefore : "カラムの前に挿入", -DeleteColumns : "列削除", -InsertCellAfter : "セルの後に挿入", -InsertCellBefore : "セルの前に挿入", -DeleteCells : "セル削除", -MergeCells : "セル結合", -MergeRight : "右に結合", -MergeDown : "下に結合", -HorizontalSplitCell : "セルを水平方向分割", -VerticalSplitCell : "セルを垂直方向に分割", -TableDelete : "テーブル削除", -CellProperties : "セル プロパティ", -TableProperties : "テーブル プロパティ", -ImageProperties : "イメージ プロパティ", -FlashProperties : "Flash プロパティ", - -AnchorProp : "アンカー プロパティ", -ButtonProp : "ボタン プロパティ", -CheckboxProp : "チェックボックス プロパティ", -HiddenFieldProp : "不可視フィールド プロパティ", -RadioButtonProp : "ラジオボタン プロパティ", -ImageButtonProp : "画像ボタン プロパティ", -TextFieldProp : "1行テキスト プロパティ", -SelectionFieldProp : "選択フィールド プロパティ", -TextareaProp : "テキストエリア プロパティ", -FormProp : "フォーム プロパティ", - -FontFormats : "標準;書式付き;アドレス;見出し 1;見出し 2;見出し 3;見出し 4;見出し 5;見出し 6;標準 (DIV)", - -// Alerts and Messages -ProcessingXHTML : "XHTML処理中. しばらくお待ちください...", -Done : "完了", -PasteWordConfirm : "貼り付けを行うテキストは、ワード文章からコピーされようとしています。貼り付ける前にクリーニングを行いますか?", -NotCompatiblePaste : "このコマンドはインターネット・エクスプローラーバージョン5.5以上で利用可能です。クリーニングしないで貼り付けを行いますか?", -UnknownToolbarItem : "未知のツールバー項目 \"%1\"", -UnknownCommand : "未知のコマンド名 \"%1\"", -NotImplemented : "コマンドはインプリメントされませんでした。", -UnknownToolbarSet : "ツールバー設定 \"%1\" 存在しません。", -NoActiveX : "エラー、警告メッセージなどが発生した場合、ブラウザーのセキュリティ設定によりエディタのいくつかの機能が制限されている可能性があります。セキュリティ設定のオプションで\"ActiveXコントロールとプラグインの実行\"を有効にするにしてください。", -BrowseServerBlocked : "サーバーブラウザーを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。", -DialogBlocked : "ダイアログウィンドウを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。", -VisitLinkBlocked : "新しいウィンドウを開くことができませんでした。ポップアップ・ブロック機能が無効になっているか確認してください。", - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "キャンセル", -DlgBtnClose : "閉じる", -DlgBtnBrowseServer : "サーバーブラウザー", -DlgAdvancedTag : "高度な設定", -DlgOpOther : "<その他>", -DlgInfoTab : "情報", -DlgAlertUrl : "URLを挿入してください", - -// General Dialogs Labels -DlgGenNotSet : "<なし>", -DlgGenId : "Id", -DlgGenLangDir : "文字表記の方向", -DlgGenLangDirLtr : "左から右 (LTR)", -DlgGenLangDirRtl : "右から左 (RTL)", -DlgGenLangCode : "言語コード", -DlgGenAccessKey : "アクセスキー", -DlgGenName : "Name属性", -DlgGenTabIndex : "タブインデックス", -DlgGenLongDescr : "longdesc属性(長文説明)", -DlgGenClass : "スタイルシートクラス", -DlgGenTitle : "Title属性", -DlgGenContType : "Content Type属性", -DlgGenLinkCharset : "リンクcharset属性", -DlgGenStyle : "スタイルシート", - -// Image Dialog -DlgImgTitle : "イメージ プロパティ", -DlgImgInfoTab : "イメージ 情報", -DlgImgBtnUpload : "サーバーに送信", -DlgImgURL : "URL", -DlgImgUpload : "アップロード", -DlgImgAlt : "代替テキスト", -DlgImgWidth : "幅", -DlgImgHeight : "高さ", -DlgImgLockRatio : "ロック比率", -DlgBtnResetSize : "サイズリセット", -DlgImgBorder : "ボーダー", -DlgImgHSpace : "横間隔", -DlgImgVSpace : "縦間隔", -DlgImgAlign : "行揃え", -DlgImgAlignLeft : "左", -DlgImgAlignAbsBottom: "下部(絶対的)", -DlgImgAlignAbsMiddle: "中央(絶対的)", -DlgImgAlignBaseline : "ベースライン", -DlgImgAlignBottom : "下", -DlgImgAlignMiddle : "中央", -DlgImgAlignRight : "右", -DlgImgAlignTextTop : "テキスト上部", -DlgImgAlignTop : "上", -DlgImgPreview : "プレビュー", -DlgImgAlertUrl : "イメージのURLを入力してください。", -DlgImgLinkTab : "リンク", - -// Flash Dialog -DlgFlashTitle : "Flash プロパティ", -DlgFlashChkPlay : "再生", -DlgFlashChkLoop : "ループ再生", -DlgFlashChkMenu : "Flashメニュー可能", -DlgFlashScale : "拡大縮小設定", -DlgFlashScaleAll : "すべて表示", -DlgFlashScaleNoBorder : "外が見えない様に拡大", -DlgFlashScaleFit : "上下左右にフィット", - -// Link Dialog -DlgLnkWindowTitle : "ハイパーリンク", -DlgLnkInfoTab : "ハイパーリンク 情報", -DlgLnkTargetTab : "ターゲット", - -DlgLnkType : "リンクタイプ", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "このページのアンカー", -DlgLnkTypeEMail : "E-Mail", -DlgLnkProto : "プロトコル", -DlgLnkProtoOther : "<その他>", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "アンカーを選択", -DlgLnkAnchorByName : "アンカー名", -DlgLnkAnchorById : "エレメントID", -DlgLnkNoAnchors : "(ドキュメントにおいて利用可能なアンカーはありません。)", -DlgLnkEMail : "E-Mail アドレス", -DlgLnkEMailSubject : "件名", -DlgLnkEMailBody : "本文", -DlgLnkUpload : "アップロード", -DlgLnkBtnUpload : "サーバーに送信", - -DlgLnkTarget : "ターゲット", -DlgLnkTargetFrame : "<フレーム>", -DlgLnkTargetPopup : "<ポップアップウィンドウ>", -DlgLnkTargetBlank : "新しいウィンドウ (_blank)", -DlgLnkTargetParent : "親ウィンドウ (_parent)", -DlgLnkTargetSelf : "同じウィンドウ (_self)", -DlgLnkTargetTop : "最上位ウィンドウ (_top)", -DlgLnkTargetFrameName : "目的のフレーム名", -DlgLnkPopWinName : "ポップアップウィンドウ名", -DlgLnkPopWinFeat : "ポップアップウィンドウ特徴", -DlgLnkPopResize : "リサイズ可能", -DlgLnkPopLocation : "ロケーションバー", -DlgLnkPopMenu : "メニューバー", -DlgLnkPopScroll : "スクロールバー", -DlgLnkPopStatus : "ステータスバー", -DlgLnkPopToolbar : "ツールバー", -DlgLnkPopFullScrn : "全画面モード(IE)", -DlgLnkPopDependent : "開いたウィンドウに連動して閉じる (Netscape)", -DlgLnkPopWidth : "幅", -DlgLnkPopHeight : "高さ", -DlgLnkPopLeft : "左端からの座標で指定", -DlgLnkPopTop : "上端からの座標で指定", - -DlnLnkMsgNoUrl : "リンクURLを入力してください。", -DlnLnkMsgNoEMail : "メールアドレスを入力してください。", -DlnLnkMsgNoAnchor : "アンカーを選択してください。", -DlnLnkMsgInvPopName : "ポップ・アップ名は英字で始まる文字で指定してくだい。ポップ・アップ名にスペースは含めません", - -// Color Dialog -DlgColorTitle : "色選択", -DlgColorBtnClear : "クリア", -DlgColorHighlight : "ハイライト", -DlgColorSelected : "選択色", - -// Smiley Dialog -DlgSmileyTitle : "顔文字挿入", - -// Special Character Dialog -DlgSpecialCharTitle : "特殊文字選択", - -// Table Dialog -DlgTableTitle : "テーブル プロパティ", -DlgTableRows : "行", -DlgTableColumns : "列", -DlgTableBorder : "ボーダーサイズ", -DlgTableAlign : "キャプションの整列", -DlgTableAlignNotSet : "<なし>", -DlgTableAlignLeft : "左", -DlgTableAlignCenter : "中央", -DlgTableAlignRight : "右", -DlgTableWidth : "テーブル幅", -DlgTableWidthPx : "ピクセル", -DlgTableWidthPc : "パーセント", -DlgTableHeight : "テーブル高さ", -DlgTableCellSpace : "セル内余白", -DlgTableCellPad : "セル内間隔", -DlgTableCaption : "キャプション", -DlgTableSummary : "テーブル目的/構造", - -// Table Cell Dialog -DlgCellTitle : "セル プロパティ", -DlgCellWidth : "幅", -DlgCellWidthPx : "ピクセル", -DlgCellWidthPc : "パーセント", -DlgCellHeight : "高さ", -DlgCellWordWrap : "折り返し", -DlgCellWordWrapNotSet : "<なし>", -DlgCellWordWrapYes : "Yes", -DlgCellWordWrapNo : "No", -DlgCellHorAlign : "セル横の整列", -DlgCellHorAlignNotSet : "<なし>", -DlgCellHorAlignLeft : "左", -DlgCellHorAlignCenter : "中央", -DlgCellHorAlignRight: "右", -DlgCellVerAlign : "セル縦の整列", -DlgCellVerAlignNotSet : "<なし>", -DlgCellVerAlignTop : "上", -DlgCellVerAlignMiddle : "中央", -DlgCellVerAlignBottom : "下", -DlgCellVerAlignBaseline : "ベースライン", -DlgCellRowSpan : "縦幅(行数)", -DlgCellCollSpan : "横幅(列数)", -DlgCellBackColor : "背景色", -DlgCellBorderColor : "ボーダーカラー", -DlgCellBtnSelect : "選択...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "検索して置換", - -// Find Dialog -DlgFindTitle : "検索", -DlgFindFindBtn : "検索", -DlgFindNotFoundMsg : "指定された文字列は見つかりませんでした。", - -// Replace Dialog -DlgReplaceTitle : "置き換え", -DlgReplaceFindLbl : "検索する文字列:", -DlgReplaceReplaceLbl : "置換えする文字列:", -DlgReplaceCaseChk : "部分一致", -DlgReplaceReplaceBtn : "置換え", -DlgReplaceReplAllBtn : "すべて置換え", -DlgReplaceWordChk : "単語単位で一致", - -// Paste Operations / Dialog -PasteErrorCut : "ブラウザーのセキュリティ設定によりエディタの切り取り操作が自動で実行することができません。実行するには手動でキーボードの(Ctrl+X)を使用してください。", -PasteErrorCopy : "ブラウザーのセキュリティ設定によりエディタのコピー操作が自動で実行することができません。実行するには手動でキーボードの(Ctrl+C)を使用してください。", - -PasteAsText : "プレーンテキスト貼り付け", -PasteFromWord : "ワード文章から貼り付け", - -DlgPasteMsg2 : "キーボード(Ctrl+V)を使用して、次の入力エリア内で貼って、OKを押してください。", -DlgPasteSec : "ブラウザのセキュリティ設定により、エディタはクリップボード・データに直接アクセスすることができません。このウィンドウは貼り付け操作を行う度に表示されます。", -DlgPasteIgnoreFont : "FontタグのFace属性を無視します。", -DlgPasteRemoveStyles : "スタイル定義を削除します。", - -// Color Picker -ColorAutomatic : "自動", -ColorMoreColors : "その他の色...", - -// Document Properties -DocProps : "文書 プロパティ", - -// Anchor Dialog -DlgAnchorTitle : "アンカー プロパティ", -DlgAnchorName : "アンカー名", -DlgAnchorErrorName : "アンカー名を必ず入力してください。", - -// Speller Pages Dialog -DlgSpellNotInDic : "辞書にありません", -DlgSpellChangeTo : "変更", -DlgSpellBtnIgnore : "無視", -DlgSpellBtnIgnoreAll : "すべて無視", -DlgSpellBtnReplace : "置換", -DlgSpellBtnReplaceAll : "すべて置換", -DlgSpellBtnUndo : "やり直し", -DlgSpellNoSuggestions : "- 該当なし -", -DlgSpellProgress : "スペルチェック処理中...", -DlgSpellNoMispell : "スペルチェック完了: スペルの誤りはありませんでした", -DlgSpellNoChanges : "スペルチェック完了: 語句は変更されませんでした", -DlgSpellOneChange : "スペルチェック完了: 1語句変更されました", -DlgSpellManyChanges : "スペルチェック完了: %1 語句変更されました", - -IeSpellDownload : "スペルチェッカーがインストールされていません。今すぐダウンロードしますか?", - -// Button Dialog -DlgButtonText : "テキスト (値)", -DlgButtonType : "タイプ", -DlgButtonTypeBtn : "ボタン", -DlgButtonTypeSbm : "送信", -DlgButtonTypeRst : "リセット", - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "名前", -DlgCheckboxValue : "値", -DlgCheckboxSelected : "選択済み", - -// Form Dialog -DlgFormName : "フォーム名", -DlgFormAction : "アクション", -DlgFormMethod : "メソッド", - -// Select Field Dialog -DlgSelectName : "名前", -DlgSelectValue : "値", -DlgSelectSize : "サイズ", -DlgSelectLines : "行", -DlgSelectChkMulti : "複数項目選択を許可", -DlgSelectOpAvail : "利用可能なオプション", -DlgSelectOpText : "選択項目名", -DlgSelectOpValue : "選択項目値", -DlgSelectBtnAdd : "追加", -DlgSelectBtnModify : "編集", -DlgSelectBtnUp : "上へ", -DlgSelectBtnDown : "下へ", -DlgSelectBtnSetValue : "選択した値を設定", -DlgSelectBtnDelete : "削除", - -// Textarea Dialog -DlgTextareaName : "名前", -DlgTextareaCols : "列", -DlgTextareaRows : "行", - -// Text Field Dialog -DlgTextName : "名前", -DlgTextValue : "値", -DlgTextCharWidth : "サイズ", -DlgTextMaxChars : "最大長", -DlgTextType : "タイプ", -DlgTextTypeText : "テキスト", -DlgTextTypePass : "パスワード入力", - -// Hidden Field Dialog -DlgHiddenName : "名前", -DlgHiddenValue : "値", - -// Bulleted List Dialog -BulletedListProp : "箇条書き プロパティ", -NumberedListProp : "段落番号 プロパティ", -DlgLstStart : "開始文字", -DlgLstType : "タイプ", -DlgLstTypeCircle : "白丸", -DlgLstTypeDisc : "黒丸", -DlgLstTypeSquare : "四角", -DlgLstTypeNumbers : "アラビア数字 (1, 2, 3)", -DlgLstTypeLCase : "英字小文字 (a, b, c)", -DlgLstTypeUCase : "英字大文字 (A, B, C)", -DlgLstTypeSRoman : "ローマ数字小文字 (i, ii, iii)", -DlgLstTypeLRoman : "ローマ数字大文字 (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "全般", -DlgDocBackTab : "背景", -DlgDocColorsTab : "色とマージン", -DlgDocMetaTab : "メタデータ", - -DlgDocPageTitle : "ページタイトル", -DlgDocLangDir : "言語文字表記の方向", -DlgDocLangDirLTR : "左から右に表記(LTR)", -DlgDocLangDirRTL : "右から左に表記(RTL)", -DlgDocLangCode : "言語コード", -DlgDocCharSet : "文字セット符号化", -DlgDocCharSetCE : "Central European", -DlgDocCharSetCT : "Chinese Traditional (Big5)", -DlgDocCharSetCR : "Cyrillic", -DlgDocCharSetGR : "Greek", -DlgDocCharSetJP : "Japanese", -DlgDocCharSetKR : "Korean", -DlgDocCharSetTR : "Turkish", -DlgDocCharSetUN : "Unicode (UTF-8)", -DlgDocCharSetWE : "Western European", -DlgDocCharSetOther : "他の文字セット符号化", - -DlgDocDocType : "文書タイプヘッダー", -DlgDocDocTypeOther : "その他文書タイプヘッダー", -DlgDocIncXHTML : "XHTML宣言をインクルード", -DlgDocBgColor : "背景色", -DlgDocBgImage : "背景画像 URL", -DlgDocBgNoScroll : "スクロールしない背景", -DlgDocCText : "テキスト", -DlgDocCLink : "リンク", -DlgDocCVisited : "アクセス済みリンク", -DlgDocCActive : "アクセス中リンク", -DlgDocMargins : "ページ・マージン", -DlgDocMaTop : "上部", -DlgDocMaLeft : "左", -DlgDocMaRight : "右", -DlgDocMaBottom : "下部", -DlgDocMeIndex : "文書のキーワード(カンマ区切り)", -DlgDocMeDescr : "文書の概要", -DlgDocMeAuthor : "文書の作者", -DlgDocMeCopy : "文書の著作権", -DlgDocPreview : "プレビュー", - -// Templates Dialog -Templates : "テンプレート(雛形)", -DlgTemplatesTitle : "テンプレート内容", -DlgTemplatesSelMsg : "エディターで使用するテンプレートを選択してください。
    (現在のエディタの内容は失われます):", -DlgTemplatesLoading : "テンプレート一覧読み込み中. しばらくお待ちください...", -DlgTemplatesNoTpl : "(テンプレートが定義されていません)", -DlgTemplatesReplace : "現在のエディタの内容と置換えをします", - -// About Dialog -DlgAboutAboutTab : "バージョン情報", -DlgAboutBrowserInfoTab : "ブラウザ情報", -DlgAboutLicenseTab : "ライセンス", -DlgAboutVersion : "バージョン", -DlgAboutInfo : "より詳しい情報はこちらで", - -// Div Dialog -DlgDivGeneralTab : "全般", -DlgDivAdvancedTab : "高度な設定", -DlgDivStyle : "スタイル", -DlgDivInlineStyle : "インラインスタイル" -}; diff --git a/include/fckeditor/editor/lang/km.js b/include/fckeditor/editor/lang/km.js deleted file mode 100644 index 829e84342..000000000 --- a/include/fckeditor/editor/lang/km.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Khmer language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "បង្រួមរបាឧបរកណ៍", -ToolbarExpand : "ពង្រីករបាឧបរណ៍", - -// Toolbar Items and Context Menu -Save : "រក្សាទុក", -NewPage : "ទំព័រថ្មី", -Preview : "មើលសាកល្បង", -Cut : "កាត់យក", -Copy : "ចំលងយក", -Paste : "ចំលងដាក់", -PasteText : "ចំលងដាក់ជាអត្ថបទធម្មតា", -PasteWord : "ចំលងដាក់ពី Word", -Print : "បោះពុម្ភ", -SelectAll : "ជ្រើសរើសទាំងអស់", -RemoveFormat : "លប់ចោល ការរចនា", -InsertLinkLbl : "ឈ្នាប់", -InsertLink : "បន្ថែម/កែប្រែ ឈ្នាប់", -RemoveLink : "លប់ឈ្នាប់", -VisitLink : "Open Link", //MISSING -Anchor : "បន្ថែម/កែប្រែ យុថ្កា", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "រូបភាព", -InsertImage : "បន្ថែម/កែប្រែ រូបភាព", -InsertFlashLbl : "Flash", -InsertFlash : "បន្ថែម/កែប្រែ Flash", -InsertTableLbl : "តារាង", -InsertTable : "បន្ថែម/កែប្រែ តារាង", -InsertLineLbl : "បន្ទាត់", -InsertLine : "បន្ថែមបន្ទាត់ផ្តេក", -InsertSpecialCharLbl: "អក្សរពិសេស", -InsertSpecialChar : "បន្ថែមអក្សរពិសេស", -InsertSmileyLbl : "រូបភាព", -InsertSmiley : "បន្ថែម រូបភាព", -About : "អំពី FCKeditor", -Bold : "អក្សរដិតធំ", -Italic : "អក្សរផ្តេក", -Underline : "ដិតបន្ទាត់ពីក្រោមអក្សរ", -StrikeThrough : "ដិតបន្ទាត់ពាក់កណ្តាលអក្សរ", -Subscript : "អក្សរតូចក្រោម", -Superscript : "អក្សរតូចលើ", -LeftJustify : "តំរឹមឆ្វេង", -CenterJustify : "តំរឹមកណ្តាល", -RightJustify : "តំរឹមស្តាំ", -BlockJustify : "តំរឹមសងខាង", -DecreaseIndent : "បន្ថយការចូលបន្ទាត់", -IncreaseIndent : "បន្ថែមការចូលបន្ទាត់", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "សារឡើងវិញ", -Redo : "ធ្វើឡើងវិញ", -NumberedListLbl : "បញ្ជីជាអក្សរ", -NumberedList : "បន្ថែម/លប់ បញ្ជីជាអក្សរ", -BulletedListLbl : "បញ្ជីជារង្វង់មូល", -BulletedList : "បន្ថែម/លប់ បញ្ជីជារង្វង់មូល", -ShowTableBorders : "បង្ហាញស៊ុមតារាង", -ShowDetails : "បង្ហាញពិស្តារ", -Style : "ម៉ូត", -FontFormat : "រចនា", -Font : "ហ្វុង", -FontSize : "ទំហំ", -TextColor : "ពណ៌អក្សរ", -BGColor : "ពណ៌ផ្ទៃខាងក្រោយ", -Source : "កូត", -Find : "ស្វែងរក", -Replace : "ជំនួស", -SpellCheck : "ពិនិត្យអក្ខរាវិរុទ្ធ", -UniversalKeyboard : "ក្តារពុម្ភអក្សរសកល", -PageBreakLbl : "ការផ្តាច់ទំព័រ", -PageBreak : "បន្ថែម ការផ្តាច់ទំព័រ", - -Form : "បែបបទ", -Checkbox : "ប្រអប់ជ្រើសរើស", -RadioButton : "ប៉ូតុនរង្វង់មូល", -TextField : "ជួរសរសេរអត្ថបទ", -Textarea : "តំបន់សរសេរអត្ថបទ", -HiddenField : "ជួរលាក់", -Button : "ប៉ូតុន", -SelectionField : "ជួរជ្រើសរើស", -ImageButton : "ប៉ូតុនរូបភាព", - -FitWindow : "Maximize the editor size", //MISSING -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "កែប្រែឈ្នាប់", -CellCM : "Cell", //MISSING -RowCM : "Row", //MISSING -ColumnCM : "Column", //MISSING -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "លប់ជួរផ្តេក", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "លប់ជួរឈរ", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "លប់សែល", -MergeCells : "បញ្ជូលសែល", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "លប់តារាង", -CellProperties : "ការកំណត់សែល", -TableProperties : "ការកំណត់តារាង", -ImageProperties : "ការកំណត់រូបភាព", -FlashProperties : "ការកំណត់ Flash", - -AnchorProp : "ការកំណត់យុថ្កា", -ButtonProp : "ការកំណត់ ប៉ូតុន", -CheckboxProp : "ការកំណត់ប្រអប់ជ្រើសរើស", -HiddenFieldProp : "ការកំណត់ជួរលាក់", -RadioButtonProp : "ការកំណត់ប៉ូតុនរង្វង់", -ImageButtonProp : "ការកំណត់ប៉ូតុនរូបភាព", -TextFieldProp : "ការកំណត់ជួរអត្ថបទ", -SelectionFieldProp : "ការកំណត់ជួរជ្រើសរើស", -TextareaProp : "ការកំណត់កន្លែងសរសេរអត្ថបទ", -FormProp : "ការកំណត់បែបបទ", - -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6;Normal (DIV)", - -// Alerts and Messages -ProcessingXHTML : "កំពុងដំណើរការ XHTML ។ សូមរងចាំ...", -Done : "ចប់រួចរាល់", -PasteWordConfirm : "អត្ថបទដែលលោកអ្នកបំរុងចំលងដាក់ ហាក់បីដូចជាត្រូវចំលងមកពីកម្មវិធី​Word​។ តើលោកអ្នកចង់សំអាតមុនចំលងអត្ថបទដាក់ទេ?", -NotCompatiblePaste : "ពាក្យបញ្ជានេះប្រើបានតែជាមួយ Internet Explorer កំរិត 5.5 រឺ លើសនេះ ។ តើលោកអ្នកចង់ចំលងដាក់ដោយមិនចាំបាច់សំអាតទេ?", -UnknownToolbarItem : "វត្ថុលើរបាឧបរកណ៍ មិនស្គាល់ \"%1\"", -UnknownCommand : "ឈ្មោះពាក្យបញ្ជា មិនស្គាល់ \"%1\"", -NotImplemented : "ពាក្យបញ្ជា មិនបានអនុវត្ត", -UnknownToolbarSet : "របាឧបរកណ៍ \"%1\" ពុំមាន ។", -NoActiveX : "ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​អាចធ្វើអោយលោកអ្នកមិនអាចប្រើមុខងារខ្លះរបស់កម្មវិធីតាក់តែងអត្ថបទនេះ ។ លោកអ្នកត្រូវកំណត់អោយ \"ActiveX និង​កម្មវិធីជំនួយក្នុង (plug-ins)\" អោយដំណើរការ ។ លោកអ្នកអាចជួបប្រទះនឹង បញ្ហា ព្រមជាមួយនឹងការបាត់បង់មុខងារណាមួយរបស់កម្មវិធីតាក់តែងអត្ថបទនេះ ។", -BrowseServerBlocked : "The resources browser could not be opened. Make sure that all popup blockers are disabled.", //MISSING -DialogBlocked : "វីនដូវមិនអាចបើកបានទេ ។ សូមពិនិត្យចំពោះកម្មវិធីបិទ វីនដូវលោត (popup) ថាតើវាដំណើរការរឺទេ ។", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "យល់ព្រម", -DlgBtnCancel : "មិនយល់ព្រម", -DlgBtnClose : "បិទ", -DlgBtnBrowseServer : "មើល", -DlgAdvancedTag : "កំរិតខ្ពស់", -DlgOpOther : "<ផ្សេងទៅត>", -DlgInfoTab : "ពត៌មាន", -DlgAlertUrl : "សូមសរសេរ URL", - -// General Dialogs Labels -DlgGenNotSet : "<មិនមែន>", -DlgGenId : "Id", -DlgGenLangDir : "ទិសដៅភាសា", -DlgGenLangDirLtr : "ពីឆ្វេងទៅស្តាំ(LTR)", -DlgGenLangDirRtl : "ពីស្តាំទៅឆ្វេង(RTL)", -DlgGenLangCode : "លេខកូតភាសា", -DlgGenAccessKey : "ឃី សំរាប់ចូល", -DlgGenName : "ឈ្មោះ", -DlgGenTabIndex : "លេខ Tab", -DlgGenLongDescr : "អធិប្បាយ URL វែង", -DlgGenClass : "Stylesheet Classes", -DlgGenTitle : "ចំណងជើង ប្រឹក្សា", -DlgGenContType : "ប្រភេទអត្ថបទ ប្រឹក្សា", -DlgGenLinkCharset : "លេខកូតអក្សររបស់ឈ្នាប់", -DlgGenStyle : "ម៉ូត", - -// Image Dialog -DlgImgTitle : "ការកំណត់រូបភាព", -DlgImgInfoTab : "ពត៌មានអំពីរូបភាព", -DlgImgBtnUpload : "បញ្ជូនទៅកាន់ម៉ាស៊ីនផ្តល់សេវា", -DlgImgURL : "URL", -DlgImgUpload : "ទាញយក", -DlgImgAlt : "អត្ថបទជំនួស", -DlgImgWidth : "ទទឹង", -DlgImgHeight : "កំពស់", -DlgImgLockRatio : "អត្រាឡុក", -DlgBtnResetSize : "កំណត់ទំហំឡើងវិញ", -DlgImgBorder : "ស៊ុម", -DlgImgHSpace : "គំលាតទទឹង", -DlgImgVSpace : "គំលាតបណ្តោយ", -DlgImgAlign : "កំណត់ទីតាំង", -DlgImgAlignLeft : "ខាងឆ្វង", -DlgImgAlignAbsBottom: "Abs Bottom", //MISSING -DlgImgAlignAbsMiddle: "Abs Middle", //MISSING -DlgImgAlignBaseline : "បន្ទាត់ជាមូលដ្ឋាន", -DlgImgAlignBottom : "ខាងក្រោម", -DlgImgAlignMiddle : "កណ្តាល", -DlgImgAlignRight : "ខាងស្តាំ", -DlgImgAlignTextTop : "លើអត្ថបទ", -DlgImgAlignTop : "ខាងលើ", -DlgImgPreview : "មើលសាកល្បង", -DlgImgAlertUrl : "សូមសរសេរងាស័យដ្ឋានរបស់រូបភាព", -DlgImgLinkTab : "ឈ្នាប់", - -// Flash Dialog -DlgFlashTitle : "ការកំណត់ Flash", -DlgFlashChkPlay : "លេងដោយស្វ័យប្រវត្ត", -DlgFlashChkLoop : "ចំនួនដង", -DlgFlashChkMenu : "បង្ហាញ មឺនុយរបស់ Flash", -DlgFlashScale : "ទំហំ", -DlgFlashScaleAll : "បង្ហាញទាំងអស់", -DlgFlashScaleNoBorder : "មិនបង្ហាញស៊ុម", -DlgFlashScaleFit : "ត្រូវល្មម", - -// Link Dialog -DlgLnkWindowTitle : "ឈ្នាប់", -DlgLnkInfoTab : "ពត៌មានអំពីឈ្នាប់", -DlgLnkTargetTab : "គោលដៅ", - -DlgLnkType : "ប្រភេទឈ្នាប់", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "យុថ្កានៅក្នុងទំព័រនេះ", -DlgLnkTypeEMail : "អ៊ីមែល", -DlgLnkProto : "ប្រូតូកូល", -DlgLnkProtoOther : "<ផ្សេងទៀត>", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "ជ្រើសរើសយុថ្កា", -DlgLnkAnchorByName : "តាមឈ្មោះរបស់យុថ្កា", -DlgLnkAnchorById : "តាម Id", -DlgLnkNoAnchors : "(No anchors available in the document)", //MISSING -DlgLnkEMail : "អ៊ីមែល", -DlgLnkEMailSubject : "ចំណងជើងអត្ថបទ", -DlgLnkEMailBody : "អត្ថបទ", -DlgLnkUpload : "ទាញយក", -DlgLnkBtnUpload : "ទាញយក", - -DlgLnkTarget : "គោលដៅ", -DlgLnkTargetFrame : "<ហ្វ្រេម>", -DlgLnkTargetPopup : "<វីនដូវ លោត>", -DlgLnkTargetBlank : "វីនដូវថ្មី (_blank)", -DlgLnkTargetParent : "វីនដូវមេ (_parent)", -DlgLnkTargetSelf : "វីនដូវដដែល (_self)", -DlgLnkTargetTop : "វីនដូវនៅលើគេ(_top)", -DlgLnkTargetFrameName : "ឈ្មោះហ្រ្វេមដែលជាគោលដៅ", -DlgLnkPopWinName : "ឈ្មោះវីនដូវលោត", -DlgLnkPopWinFeat : "លក្ខណះរបស់វីនដូលលោត", -DlgLnkPopResize : "ទំហំអាចផ្លាស់ប្តូរ", -DlgLnkPopLocation : "របា ទីតាំង", -DlgLnkPopMenu : "របា មឺនុយ", -DlgLnkPopScroll : "របា ទាញ", -DlgLnkPopStatus : "របា ពត៌មាន", -DlgLnkPopToolbar : "របា ឩបករណ៍", -DlgLnkPopFullScrn : "អេក្រុងពេញ(IE)", -DlgLnkPopDependent : "អាស្រ័យលើ (Netscape)", -DlgLnkPopWidth : "ទទឹង", -DlgLnkPopHeight : "កំពស់", -DlgLnkPopLeft : "ទីតាំងខាងឆ្វេង", -DlgLnkPopTop : "ទីតាំងខាងលើ", - -DlnLnkMsgNoUrl : "សូមសរសេរ អាស័យដ្ឋាន URL", -DlnLnkMsgNoEMail : "សូមសរសេរ អាស័យដ្ឋាន អ៊ីមែល", -DlnLnkMsgNoAnchor : "សូមជ្រើសរើស យុថ្កា", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING - -// Color Dialog -DlgColorTitle : "ជ្រើសរើស ពណ៌", -DlgColorBtnClear : "លប់", -DlgColorHighlight : "ផាត់ពណ៌", -DlgColorSelected : "បានជ្រើសរើស", - -// Smiley Dialog -DlgSmileyTitle : "បញ្ជូលរូបភាព", - -// Special Character Dialog -DlgSpecialCharTitle : "តូអក្សរពិសេស", - -// Table Dialog -DlgTableTitle : "ការកំណត់ តារាង", -DlgTableRows : "ជួរផ្តេក", -DlgTableColumns : "ជួរឈរ", -DlgTableBorder : "ទំហំស៊ុម", -DlgTableAlign : "ការកំណត់ទីតាំង", -DlgTableAlignNotSet : "<មិនកំណត់>", -DlgTableAlignLeft : "ខាងឆ្វេង", -DlgTableAlignCenter : "កណ្តាល", -DlgTableAlignRight : "ខាងស្តាំ", -DlgTableWidth : "ទទឹង", -DlgTableWidthPx : "ភីកសែល", -DlgTableWidthPc : "ភាគរយ", -DlgTableHeight : "កំពស់", -DlgTableCellSpace : "គំលាតសែល", -DlgTableCellPad : "គែមសែល", -DlgTableCaption : "ចំណងជើង", -DlgTableSummary : "សេចក្តីសង្ខេប", - -// Table Cell Dialog -DlgCellTitle : "ការកំណត់ សែល", -DlgCellWidth : "ទទឹង", -DlgCellWidthPx : "ភីកសែល", -DlgCellWidthPc : "ភាគរយ", -DlgCellHeight : "កំពស់", -DlgCellWordWrap : "បង្ហាញអត្ថបទទាំងអស់", -DlgCellWordWrapNotSet : "<មិនកំណត់>", -DlgCellWordWrapYes : "បាទ(ចា)", -DlgCellWordWrapNo : "ទេ", -DlgCellHorAlign : "តំរឹមផ្តេក", -DlgCellHorAlignNotSet : "<មិនកំណត់>", -DlgCellHorAlignLeft : "ខាងឆ្វេង", -DlgCellHorAlignCenter : "កណ្តាល", -DlgCellHorAlignRight: "Right", //MISSING -DlgCellVerAlign : "តំរឹមឈរ", -DlgCellVerAlignNotSet : "<មិនកណត់>", -DlgCellVerAlignTop : "ខាងលើ", -DlgCellVerAlignMiddle : "កណ្តាល", -DlgCellVerAlignBottom : "ខាងក្រោម", -DlgCellVerAlignBaseline : "បន្ទាត់ជាមូលដ្ឋាន", -DlgCellRowSpan : "បញ្ជូលជួរផ្តេក", -DlgCellCollSpan : "បញ្ជូលជួរឈរ", -DlgCellBackColor : "ពណ៌ផ្នែកខាងក្រោម", -DlgCellBorderColor : "ពណ៌ស៊ុម", -DlgCellBtnSelect : "ជ្រើសរើស...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "ស្វែងរក", -DlgFindFindBtn : "ស្វែងរក", -DlgFindNotFoundMsg : "ពាក្យនេះ រកមិនឃើញទេ ។", - -// Replace Dialog -DlgReplaceTitle : "ជំនួស", -DlgReplaceFindLbl : "ស្វែងរកអ្វី:", -DlgReplaceReplaceLbl : "ជំនួសជាមួយ:", -DlgReplaceCaseChk : "ករណ៉ត្រូវរក", -DlgReplaceReplaceBtn : "ជំនួស", -DlgReplaceReplAllBtn : "ជំនួសទាំងអស់", -DlgReplaceWordChk : "ត្រូវពាក្យទាំងអស់", - -// Paste Operations / Dialog -PasteErrorCut : "ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ កាត់អត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl+X) ។", -PasteErrorCopy : "ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ ចំលងអត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl+C)។", - -PasteAsText : "ចំលងដាក់អត្ថបទធម្មតា", -PasteFromWord : "ចំលងពាក្យពីកម្មវិធី Word", - -DlgPasteMsg2 : "សូមចំលងអត្ថបទទៅដាក់ក្នុងប្រអប់ដូចខាងក្រោមដោយប្រើប្រាស់ ឃី ​(Ctrl+V) ហើយចុច OK ។", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "មិនគិតអំពីប្រភេទពុម្ភអក្សរ", -DlgPasteRemoveStyles : "លប់ម៉ូត", - -// Color Picker -ColorAutomatic : "ស្វ័យប្រវត្ត", -ColorMoreColors : "ពណ៌ផ្សេងទៀត..", - -// Document Properties -DocProps : "ការកំណត់ ឯកសារ", - -// Anchor Dialog -DlgAnchorTitle : "ការកំណត់ចំណងជើងយុទ្ធថ្កា", -DlgAnchorName : "ឈ្មោះយុទ្ធថ្កា", -DlgAnchorErrorName : "សូមសរសេរ ឈ្មោះយុទ្ធថ្កា", - -// Speller Pages Dialog -DlgSpellNotInDic : "គ្មានក្នុងវចនានុក្រម", -DlgSpellChangeTo : "ផ្លាស់ប្តូរទៅ", -DlgSpellBtnIgnore : "មិនផ្លាស់ប្តូរ", -DlgSpellBtnIgnoreAll : "មិនផ្លាស់ប្តូរ ទាំងអស់", -DlgSpellBtnReplace : "ជំនួស", -DlgSpellBtnReplaceAll : "ជំនួសទាំងអស់", -DlgSpellBtnUndo : "សារឡើងវិញ", -DlgSpellNoSuggestions : "- គ្មានសំណើរ -", -DlgSpellProgress : "កំពុងពិនិត្យអក្ខរាវិរុទ្ធ...", -DlgSpellNoMispell : "ការពិនិត្យអក្ខរាវិរុទ្ធបានចប់: គ្មានកំហុស", -DlgSpellNoChanges : "ការពិនិត្យអក្ខរាវិរុទ្ធបានចប់: ពុំមានផ្លាស់ប្តូរ", -DlgSpellOneChange : "ការពិនិត្យអក្ខរាវិរុទ្ធបានចប់: ពាក្យមួយត្រូចបានផ្លាស់ប្តូរ", -DlgSpellManyChanges : "ការពិនិត្យអក្ខរាវិរុទ្ធបានចប់: %1 ពាក្យបានផ្លាស់ប្តូរ", - -IeSpellDownload : "ពុំមានកម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធ ។ តើចង់ទាញយកពីណា?", - -// Button Dialog -DlgButtonText : "អត្ថបទ(តំលៃ)", -DlgButtonType : "ប្រភេទ", -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "ឈ្មោះ", -DlgCheckboxValue : "តំលៃ", -DlgCheckboxSelected : "បានជ្រើសរើស", - -// Form Dialog -DlgFormName : "ឈ្មោះ", -DlgFormAction : "សកម្មភាព", -DlgFormMethod : "វិធី", - -// Select Field Dialog -DlgSelectName : "ឈ្មោះ", -DlgSelectValue : "តំលៃ", -DlgSelectSize : "ទំហំ", -DlgSelectLines : "បន្ទាត់", -DlgSelectChkMulti : "អនុញ្ញាតអោយជ្រើសរើសច្រើន", -DlgSelectOpAvail : "ការកំណត់ជ្រើសរើស ដែលអាចកំណត់បាន", -DlgSelectOpText : "ពាក្យ", -DlgSelectOpValue : "តំលៃ", -DlgSelectBtnAdd : "បន្ថែម", -DlgSelectBtnModify : "ផ្លាស់ប្តូរ", -DlgSelectBtnUp : "លើ", -DlgSelectBtnDown : "ក្រោម", -DlgSelectBtnSetValue : "Set as selected value", //MISSING -DlgSelectBtnDelete : "លប់", - -// Textarea Dialog -DlgTextareaName : "ឈ្មោះ", -DlgTextareaCols : "ជូរឈរ", -DlgTextareaRows : "ជូរផ្តេក", - -// Text Field Dialog -DlgTextName : "ឈ្មោះ", -DlgTextValue : "តំលៃ", -DlgTextCharWidth : "ទទឹង អក្សរ", -DlgTextMaxChars : "អក្សរអតិបរិមា", -DlgTextType : "ប្រភេទ", -DlgTextTypeText : "ពាក្យ", -DlgTextTypePass : "ពាក្យសំងាត់", - -// Hidden Field Dialog -DlgHiddenName : "ឈ្មោះ", -DlgHiddenValue : "តំលៃ", - -// Bulleted List Dialog -BulletedListProp : "កំណត់បញ្ជីរង្វង់", -NumberedListProp : "កំណត់បញ្េជីលេខ", -DlgLstStart : "Start", //MISSING -DlgLstType : "ប្រភេទ", -DlgLstTypeCircle : "រង្វង់", -DlgLstTypeDisc : "Disc", -DlgLstTypeSquare : "ការេ", -DlgLstTypeNumbers : "លេខ(1, 2, 3)", -DlgLstTypeLCase : "អក្សរតូច(a, b, c)", -DlgLstTypeUCase : "អក្សរធំ(A, B, C)", -DlgLstTypeSRoman : "អក្សរឡាតាំងតូច(i, ii, iii)", -DlgLstTypeLRoman : "អក្សរឡាតាំងធំ(I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "ទូទៅ", -DlgDocBackTab : "ផ្នែកខាងក្រោយ", -DlgDocColorsTab : "ទំព័រ​និង ស៊ុម", -DlgDocMetaTab : "ទិន្នន័យមេ", - -DlgDocPageTitle : "ចំណងជើងទំព័រ", -DlgDocLangDir : "ទិសដៅសរសេរភាសា", -DlgDocLangDirLTR : "ពីឆ្វេងទៅស្ដាំ(LTR)", -DlgDocLangDirRTL : "ពីស្ដាំទៅឆ្វេង(RTL)", -DlgDocLangCode : "លេខកូតភាសា", -DlgDocCharSet : "កំណត់លេខកូតភាសា", -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "កំណត់លេខកូតភាសាផ្សេងទៀត", - -DlgDocDocType : "ប្រភេទក្បាលទំព័រ", -DlgDocDocTypeOther : "ប្រភេទក្បាលទំព័រផ្សេងទៀត", -DlgDocIncXHTML : "បញ្ជូល XHTML", -DlgDocBgColor : "ពណ៌ខាងក្រោម", -DlgDocBgImage : "URL របស់រូបភាពខាងក្រោម", -DlgDocBgNoScroll : "ទំព័រក្រោមមិនប្តូរ", -DlgDocCText : "អត្តបទ", -DlgDocCLink : "ឈ្នាប់", -DlgDocCVisited : "ឈ្នាប់មើលហើយ", -DlgDocCActive : "ឈ្នាប់កំពុងមើល", -DlgDocMargins : "ស៊ុមទំព័រ", -DlgDocMaTop : "លើ", -DlgDocMaLeft : "ឆ្វេង", -DlgDocMaRight : "ស្ដាំ", -DlgDocMaBottom : "ក្រោម", -DlgDocMeIndex : "ពាក្យនៅក្នុងឯកសារ (ផ្តាច់ពីគ្នាដោយក្បៀស)", -DlgDocMeDescr : "សេចក្តីអត្ថាធិប្បាយអំពីឯកសារ", -DlgDocMeAuthor : "អ្នកនិពន្ធ", -DlgDocMeCopy : "រក្សាសិទ្ធិ៏", -DlgDocPreview : "មើលសាកល្បង", - -// Templates Dialog -Templates : "ឯកសារគំរូ", -DlgTemplatesTitle : "ឯកសារគំរូ របស់អត្ថន័យ", -DlgTemplatesSelMsg : "សូមជ្រើសរើសឯកសារគំរូ ដើម្បីបើកនៅក្នុងកម្មវិធីតាក់តែងអត្ថបទ
    (អត្ថបទនឹងបាត់បង់):", -DlgTemplatesLoading : "កំពុងអានបញ្ជីឯកសារគំរូ ។ សូមរងចាំ...", -DlgTemplatesNoTpl : "(ពុំមានឯកសារគំរូត្រូវបានកំណត់)", -DlgTemplatesReplace : "Replace actual contents", //MISSING - -// About Dialog -DlgAboutAboutTab : "អំពី", -DlgAboutBrowserInfoTab : "ព៌តមានកម្មវិធីរុករក", -DlgAboutLicenseTab : "License", //MISSING -DlgAboutVersion : "ជំនាន់", -DlgAboutInfo : "សំរាប់ព៌តមានផ្សេងទៀត សូមទាក់ទង", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/ko.js b/include/fckeditor/editor/lang/ko.js deleted file mode 100644 index 00870ded1..000000000 --- a/include/fckeditor/editor/lang/ko.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Korean language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "툴바 감추기", -ToolbarExpand : "툴바 보이기", - -// Toolbar Items and Context Menu -Save : "저장하기", -NewPage : "새 문서", -Preview : "미리보기", -Cut : "잘라내기", -Copy : "복사하기", -Paste : "붙여넣기", -PasteText : "텍스트로 붙여넣기", -PasteWord : "MS Word 형식에서 붙여넣기", -Print : "인쇄하기", -SelectAll : "전체선택", -RemoveFormat : "포맷 지우기", -InsertLinkLbl : "링크", -InsertLink : "링크 삽입/변경", -RemoveLink : "링크 삭제", -VisitLink : "Open Link", //MISSING -Anchor : "책갈피 삽입/변경", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "이미지", -InsertImage : "이미지 삽입/변경", -InsertFlashLbl : "플래쉬", -InsertFlash : "플래쉬 삽입/변경", -InsertTableLbl : "표", -InsertTable : "표 삽입/변경", -InsertLineLbl : "수평선", -InsertLine : "수평선 삽입", -InsertSpecialCharLbl: "특수문자 삽입", -InsertSpecialChar : "특수문자 삽입", -InsertSmileyLbl : "아이콘", -InsertSmiley : "아이콘 삽입", -About : "FCKeditor에 대하여", -Bold : "진하게", -Italic : "이텔릭", -Underline : "밑줄", -StrikeThrough : "취소선", -Subscript : "아래 첨자", -Superscript : "위 첨자", -LeftJustify : "왼쪽 정렬", -CenterJustify : "가운데 정렬", -RightJustify : "오른쪽 정렬", -BlockJustify : "양쪽 맞춤", -DecreaseIndent : "내어쓰기", -IncreaseIndent : "들여쓰기", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "취소", -Redo : "재실행", -NumberedListLbl : "순서있는 목록", -NumberedList : "순서있는 목록", -BulletedListLbl : "순서없는 목록", -BulletedList : "순서없는 목록", -ShowTableBorders : "표 테두리 보기", -ShowDetails : "문서기호 보기", -Style : "스타일", -FontFormat : "포맷", -Font : "폰트", -FontSize : "글자 크기", -TextColor : "글자 색상", -BGColor : "배경 색상", -Source : "소스", -Find : "찾기", -Replace : "바꾸기", -SpellCheck : "철자검사", -UniversalKeyboard : "다국어 입력기", -PageBreakLbl : "Page Break", //MISSING -PageBreak : "Insert Page Break", //MISSING - -Form : "폼", -Checkbox : "체크박스", -RadioButton : "라디오버튼", -TextField : "입력필드", -Textarea : "입력영역", -HiddenField : "숨김필드", -Button : "버튼", -SelectionField : "펼침목록", -ImageButton : "이미지버튼", - -FitWindow : "에디터 최대화", -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "링크 수정", -CellCM : "셀/칸(Cell)", -RowCM : "행(Row)", -ColumnCM : "열(Column)", -InsertRowAfter : "뒤에 행 삽입", -InsertRowBefore : "앞에 행 삽입", -DeleteRows : "가로줄 삭제", -InsertColumnAfter : "뒤에 열 삽입", -InsertColumnBefore : "앞에 열 삽입", -DeleteColumns : "세로줄 삭제", -InsertCellAfter : "뒤에 셀/칸 삽입", -InsertCellBefore : "앞에 셀/칸 삽입", -DeleteCells : "셀 삭제", -MergeCells : "셀 합치기", -MergeRight : "오른쪽 뭉치기", -MergeDown : "왼쪽 뭉치기", -HorizontalSplitCell : "수평 나누기", -VerticalSplitCell : "수직 나누기", -TableDelete : "표 삭제", -CellProperties : "셀 속성", -TableProperties : "표 속성", -ImageProperties : "이미지 속성", -FlashProperties : "플래쉬 속성", - -AnchorProp : "책갈피 속성", -ButtonProp : "버튼 속성", -CheckboxProp : "체크박스 속성", -HiddenFieldProp : "숨김필드 속성", -RadioButtonProp : "라디오버튼 속성", -ImageButtonProp : "이미지버튼 속성", -TextFieldProp : "입력필드 속성", -SelectionFieldProp : "펼침목록 속성", -TextareaProp : "입력영역 속성", -FormProp : "폼 속성", - -FontFormats : "Normal;Formatted;Address;Heading 1;Heading 2;Heading 3;Heading 4;Heading 5;Heading 6", - -// Alerts and Messages -ProcessingXHTML : "XHTML 처리중. 잠시만 기다려주십시요.", -Done : "완료", -PasteWordConfirm : "붙여넣기 할 텍스트는 MS Word에서 복사한 것입니다. 붙여넣기 전에 MS Word 포멧을 삭제하시겠습니까?", -NotCompatiblePaste : "이 명령은 인터넷익스플로러 5.5 버전 이상에서만 작동합니다. 포멧을 삭제하지 않고 붙여넣기 하시겠습니까?", -UnknownToolbarItem : "알수없는 툴바입니다. : \"%1\"", -UnknownCommand : "알수없는 기능입니다. : \"%1\"", -NotImplemented : "기능이 실행되지 않았습니다.", -UnknownToolbarSet : "툴바 설정이 없습니다. : \"%1\"", -NoActiveX : "브러우저의 보안 설정으로 인해 몇몇 기능의 작동에 장애가 있을 수 있습니다. \"액티브-액스 기능과 플러그 인\" 옵션을 허용하여 주시지 않으면 오류가 발생할 수 있습니다.", -BrowseServerBlocked : "브러우저 요소가 열리지 않습니다. 팝업차단 설정이 꺼져있는지 확인하여 주십시오.", -DialogBlocked : "윈도우 대화창을 열 수 없습니다. 팝업차단 설정이 꺼져있는지 확인하여 주십시오.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "예", -DlgBtnCancel : "아니오", -DlgBtnClose : "닫기", -DlgBtnBrowseServer : "서버 보기", -DlgAdvancedTag : "자세히", -DlgOpOther : "<기타>", -DlgInfoTab : "정보", -DlgAlertUrl : "URL을 입력하십시요", - -// General Dialogs Labels -DlgGenNotSet : "<설정되지 않음>", -DlgGenId : "ID", -DlgGenLangDir : "쓰기 방향", -DlgGenLangDirLtr : "왼쪽에서 오른쪽 (LTR)", -DlgGenLangDirRtl : "오른쪽에서 왼쪽 (RTL)", -DlgGenLangCode : "언어 코드", -DlgGenAccessKey : "엑세스 키", -DlgGenName : "Name", -DlgGenTabIndex : "탭 순서", -DlgGenLongDescr : "URL 설명", -DlgGenClass : "Stylesheet Classes", -DlgGenTitle : "Advisory Title", -DlgGenContType : "Advisory Content Type", -DlgGenLinkCharset : "Linked Resource Charset", -DlgGenStyle : "Style", - -// Image Dialog -DlgImgTitle : "이미지 설정", -DlgImgInfoTab : "이미지 정보", -DlgImgBtnUpload : "서버로 전송", -DlgImgURL : "URL", -DlgImgUpload : "업로드", -DlgImgAlt : "이미지 설명", -DlgImgWidth : "너비", -DlgImgHeight : "높이", -DlgImgLockRatio : "비율 유지", -DlgBtnResetSize : "원래 크기로", -DlgImgBorder : "테두리", -DlgImgHSpace : "수평여백", -DlgImgVSpace : "수직여백", -DlgImgAlign : "정렬", -DlgImgAlignLeft : "왼쪽", -DlgImgAlignAbsBottom: "줄아래(Abs Bottom)", -DlgImgAlignAbsMiddle: "줄중간(Abs Middle)", -DlgImgAlignBaseline : "기준선", -DlgImgAlignBottom : "아래", -DlgImgAlignMiddle : "중간", -DlgImgAlignRight : "오른쪽", -DlgImgAlignTextTop : "글자상단", -DlgImgAlignTop : "위", -DlgImgPreview : "미리보기", -DlgImgAlertUrl : "이미지 URL을 입력하십시요", -DlgImgLinkTab : "링크", - -// Flash Dialog -DlgFlashTitle : "플래쉬 등록정보", -DlgFlashChkPlay : "자동재생", -DlgFlashChkLoop : "반복", -DlgFlashChkMenu : "플래쉬메뉴 가능", -DlgFlashScale : "영역", -DlgFlashScaleAll : "모두보기", -DlgFlashScaleNoBorder : "경계선없음", -DlgFlashScaleFit : "영역자동조절", - -// Link Dialog -DlgLnkWindowTitle : "링크", -DlgLnkInfoTab : "링크 정보", -DlgLnkTargetTab : "타겟", - -DlgLnkType : "링크 종류", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "책갈피", -DlgLnkTypeEMail : "이메일", -DlgLnkProto : "프로토콜", -DlgLnkProtoOther : "<기타>", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "책갈피 선택", -DlgLnkAnchorByName : "책갈피 이름", -DlgLnkAnchorById : "책갈피 ID", -DlgLnkNoAnchors : "(문서에 책갈피가 없습니다.)", -DlgLnkEMail : "이메일 주소", -DlgLnkEMailSubject : "제목", -DlgLnkEMailBody : "내용", -DlgLnkUpload : "업로드", -DlgLnkBtnUpload : "서버로 전송", - -DlgLnkTarget : "타겟", -DlgLnkTargetFrame : "<프레임>", -DlgLnkTargetPopup : "<팝업창>", -DlgLnkTargetBlank : "새 창 (_blank)", -DlgLnkTargetParent : "부모 창 (_parent)", -DlgLnkTargetSelf : "현재 창 (_self)", -DlgLnkTargetTop : "최 상위 창 (_top)", -DlgLnkTargetFrameName : "타겟 프레임 이름", -DlgLnkPopWinName : "팝업창 이름", -DlgLnkPopWinFeat : "팝업창 설정", -DlgLnkPopResize : "크기조정", -DlgLnkPopLocation : "주소표시줄", -DlgLnkPopMenu : "메뉴바", -DlgLnkPopScroll : "스크롤바", -DlgLnkPopStatus : "상태바", -DlgLnkPopToolbar : "툴바", -DlgLnkPopFullScrn : "전체화면 (IE)", -DlgLnkPopDependent : "Dependent (Netscape)", -DlgLnkPopWidth : "너비", -DlgLnkPopHeight : "높이", -DlgLnkPopLeft : "왼쪽 위치", -DlgLnkPopTop : "윗쪽 위치", - -DlnLnkMsgNoUrl : "링크 URL을 입력하십시요.", -DlnLnkMsgNoEMail : "이메일주소를 입력하십시요.", -DlnLnkMsgNoAnchor : "책갈피명을 입력하십시요.", -DlnLnkMsgInvPopName : "팝업창의 타이틀은 공백을 허용하지 않습니다.", - -// Color Dialog -DlgColorTitle : "색상 선택", -DlgColorBtnClear : "지우기", -DlgColorHighlight : "현재", -DlgColorSelected : "선택됨", - -// Smiley Dialog -DlgSmileyTitle : "아이콘 삽입", - -// Special Character Dialog -DlgSpecialCharTitle : "특수문자 선택", - -// Table Dialog -DlgTableTitle : "표 설정", -DlgTableRows : "가로줄", -DlgTableColumns : "세로줄", -DlgTableBorder : "테두리 크기", -DlgTableAlign : "정렬", -DlgTableAlignNotSet : "<설정되지 않음>", -DlgTableAlignLeft : "왼쪽", -DlgTableAlignCenter : "가운데", -DlgTableAlignRight : "오른쪽", -DlgTableWidth : "너비", -DlgTableWidthPx : "픽셀", -DlgTableWidthPc : "퍼센트", -DlgTableHeight : "높이", -DlgTableCellSpace : "셀 간격", -DlgTableCellPad : "셀 여백", -DlgTableCaption : "캡션", -DlgTableSummary : "Summary", //MISSING - -// Table Cell Dialog -DlgCellTitle : "셀 설정", -DlgCellWidth : "너비", -DlgCellWidthPx : "픽셀", -DlgCellWidthPc : "퍼센트", -DlgCellHeight : "높이", -DlgCellWordWrap : "워드랩", -DlgCellWordWrapNotSet : "<설정되지 않음>", -DlgCellWordWrapYes : "예", -DlgCellWordWrapNo : "아니오", -DlgCellHorAlign : "수평 정렬", -DlgCellHorAlignNotSet : "<설정되지 않음>", -DlgCellHorAlignLeft : "왼쪽", -DlgCellHorAlignCenter : "가운데", -DlgCellHorAlignRight: "오른쪽", -DlgCellVerAlign : "수직 정렬", -DlgCellVerAlignNotSet : "<설정되지 않음>", -DlgCellVerAlignTop : "위", -DlgCellVerAlignMiddle : "중간", -DlgCellVerAlignBottom : "아래", -DlgCellVerAlignBaseline : "기준선", -DlgCellRowSpan : "세로 합치기", -DlgCellCollSpan : "가로 합치기", -DlgCellBackColor : "배경 색상", -DlgCellBorderColor : "테두리 색상", -DlgCellBtnSelect : "선택", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "찾기 & 바꾸기", - -// Find Dialog -DlgFindTitle : "찾기", -DlgFindFindBtn : "찾기", -DlgFindNotFoundMsg : "문자열을 찾을 수 없습니다.", - -// Replace Dialog -DlgReplaceTitle : "바꾸기", -DlgReplaceFindLbl : "찾을 문자열:", -DlgReplaceReplaceLbl : "바꿀 문자열:", -DlgReplaceCaseChk : "대소문자 구분", -DlgReplaceReplaceBtn : "바꾸기", -DlgReplaceReplAllBtn : "모두 바꾸기", -DlgReplaceWordChk : "온전한 단어", - -// Paste Operations / Dialog -PasteErrorCut : "브라우저의 보안설정때문에 잘라내기 기능을 실행할 수 없습니다. 키보드 명령을 사용하십시요. (Ctrl+X).", -PasteErrorCopy : "브라우저의 보안설정때문에 복사하기 기능을 실행할 수 없습니다. 키보드 명령을 사용하십시요. (Ctrl+C).", - -PasteAsText : "텍스트로 붙여넣기", -PasteFromWord : "MS Word 형식에서 붙여넣기", - -DlgPasteMsg2 : "키보드의 (Ctrl+V) 를 이용해서 상자안에 붙여넣고 OK 를 누르세요.", -DlgPasteSec : "브러우저 보안 설정으로 인해, 클립보드의 자료를 직접 접근할 수 없습니다. 이 창에 다시 붙여넣기 하십시오.", -DlgPasteIgnoreFont : "폰트 설정 무시", -DlgPasteRemoveStyles : "스타일 정의 제거", - -// Color Picker -ColorAutomatic : "기본색상", -ColorMoreColors : "색상선택...", - -// Document Properties -DocProps : "문서 속성", - -// Anchor Dialog -DlgAnchorTitle : "책갈피 속성", -DlgAnchorName : "책갈피 이름", -DlgAnchorErrorName : "책갈피 이름을 입력하십시요.", - -// Speller Pages Dialog -DlgSpellNotInDic : "사전에 없는 단어", -DlgSpellChangeTo : "변경할 단어", -DlgSpellBtnIgnore : "건너뜀", -DlgSpellBtnIgnoreAll : "모두 건너뜀", -DlgSpellBtnReplace : "변경", -DlgSpellBtnReplaceAll : "모두 변경", -DlgSpellBtnUndo : "취소", -DlgSpellNoSuggestions : "- 추천단어 없음 -", -DlgSpellProgress : "철자검사를 진행중입니다...", -DlgSpellNoMispell : "철자검사 완료: 잘못된 철자가 없습니다.", -DlgSpellNoChanges : "철자검사 완료: 변경된 단어가 없습니다.", -DlgSpellOneChange : "철자검사 완료: 단어가 변경되었습니다.", -DlgSpellManyChanges : "철자검사 완료: %1 단어가 변경되었습니다.", - -IeSpellDownload : "철자 검사기가 철치되지 않았습니다. 지금 다운로드하시겠습니까?", - -// Button Dialog -DlgButtonText : "버튼글자(값)", -DlgButtonType : "버튼종류", -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "이름", -DlgCheckboxValue : "값", -DlgCheckboxSelected : "선택됨", - -// Form Dialog -DlgFormName : "폼이름", -DlgFormAction : "실행경로(Action)", -DlgFormMethod : "방법(Method)", - -// Select Field Dialog -DlgSelectName : "이름", -DlgSelectValue : "값", -DlgSelectSize : "세로크기", -DlgSelectLines : "줄", -DlgSelectChkMulti : "여러항목 선택 허용", -DlgSelectOpAvail : "선택옵션", -DlgSelectOpText : "이름", -DlgSelectOpValue : "값", -DlgSelectBtnAdd : "추가", -DlgSelectBtnModify : "변경", -DlgSelectBtnUp : "위로", -DlgSelectBtnDown : "아래로", -DlgSelectBtnSetValue : "선택된것으로 설정", -DlgSelectBtnDelete : "삭제", - -// Textarea Dialog -DlgTextareaName : "이름", -DlgTextareaCols : "칸수", -DlgTextareaRows : "줄수", - -// Text Field Dialog -DlgTextName : "이름", -DlgTextValue : "값", -DlgTextCharWidth : "글자 너비", -DlgTextMaxChars : "최대 글자수", -DlgTextType : "종류", -DlgTextTypeText : "문자열", -DlgTextTypePass : "비밀번호", - -// Hidden Field Dialog -DlgHiddenName : "이름", -DlgHiddenValue : "값", - -// Bulleted List Dialog -BulletedListProp : "순서없는 목록 속성", -NumberedListProp : "순서있는 목록 속성", -DlgLstStart : "Start", //MISSING -DlgLstType : "종류", -DlgLstTypeCircle : "원(Circle)", -DlgLstTypeDisc : "Disc", //MISSING -DlgLstTypeSquare : "네모점(Square)", -DlgLstTypeNumbers : "번호 (1, 2, 3)", -DlgLstTypeLCase : "소문자 (a, b, c)", -DlgLstTypeUCase : "대문자 (A, B, C)", -DlgLstTypeSRoman : "로마자 수문자 (i, ii, iii)", -DlgLstTypeLRoman : "로마자 대문자 (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "일반", -DlgDocBackTab : "배경", -DlgDocColorsTab : "색상 및 여백", -DlgDocMetaTab : "메타데이터", - -DlgDocPageTitle : "페이지명", -DlgDocLangDir : "문자 쓰기방향", -DlgDocLangDirLTR : "왼쪽에서 오른쪽 (LTR)", -DlgDocLangDirRTL : "오른쪽에서 왼쪽 (RTL)", -DlgDocLangCode : "언어코드", -DlgDocCharSet : "캐릭터셋 인코딩", -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "다른 캐릭터셋 인코딩", - -DlgDocDocType : "문서 헤드", -DlgDocDocTypeOther : "다른 문서헤드", -DlgDocIncXHTML : "XHTML 문서정의 포함", -DlgDocBgColor : "배경색상", -DlgDocBgImage : "배경이미지 URL", -DlgDocBgNoScroll : "스크롤되지않는 배경", -DlgDocCText : "텍스트", -DlgDocCLink : "링크", -DlgDocCVisited : "방문한 링크(Visited)", -DlgDocCActive : "활성화된 링크(Active)", -DlgDocMargins : "페이지 여백", -DlgDocMaTop : "위", -DlgDocMaLeft : "왼쪽", -DlgDocMaRight : "오른쪽", -DlgDocMaBottom : "아래", -DlgDocMeIndex : "문서 키워드 (콤마로 구분)", -DlgDocMeDescr : "문서 설명", -DlgDocMeAuthor : "작성자", -DlgDocMeCopy : "저작권", -DlgDocPreview : "미리보기", - -// Templates Dialog -Templates : "템플릿", -DlgTemplatesTitle : "내용 템플릿", -DlgTemplatesSelMsg : "에디터에서 사용할 템플릿을 선택하십시요.
    (지금까지 작성된 내용은 사라집니다.):", -DlgTemplatesLoading : "템플릿 목록을 불러오는중입니다. 잠시만 기다려주십시요.", -DlgTemplatesNoTpl : "(템플릿이 없습니다.)", -DlgTemplatesReplace : "현재 내용 바꾸기", - -// About Dialog -DlgAboutAboutTab : "About", -DlgAboutBrowserInfoTab : "브라우저 정보", -DlgAboutLicenseTab : "License", //MISSING -DlgAboutVersion : "버전", -DlgAboutInfo : "더 많은 정보를 보시려면 다음 사이트로 가십시오.", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/lt.js b/include/fckeditor/editor/lang/lt.js deleted file mode 100644 index de2f8f52e..000000000 --- a/include/fckeditor/editor/lang/lt.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Lithuanian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Sutraukti mygtukų juostą", -ToolbarExpand : "Išplėsti mygtukų juostą", - -// Toolbar Items and Context Menu -Save : "Išsaugoti", -NewPage : "Naujas puslapis", -Preview : "Peržiūra", -Cut : "Iškirpti", -Copy : "Kopijuoti", -Paste : "Įdėti", -PasteText : "Įdėti kaip gryną tekstą", -PasteWord : "Įdėti iš Word", -Print : "Spausdinti", -SelectAll : "Pažymėti viską", -RemoveFormat : "Panaikinti formatą", -InsertLinkLbl : "Nuoroda", -InsertLink : "Įterpti/taisyti nuorodą", -RemoveLink : "Panaikinti nuorodą", -VisitLink : "Open Link", //MISSING -Anchor : "Įterpti/modifikuoti žymę", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "Vaizdas", -InsertImage : "Įterpti/taisyti vaizdą", -InsertFlashLbl : "Flash", -InsertFlash : "Įterpti/taisyti Flash", -InsertTableLbl : "Lentelė", -InsertTable : "Įterpti/taisyti lentelę", -InsertLineLbl : "Linija", -InsertLine : "Įterpti horizontalią liniją", -InsertSpecialCharLbl: "Spec. simbolis", -InsertSpecialChar : "Įterpti specialų simbolį", -InsertSmileyLbl : "Veideliai", -InsertSmiley : "Įterpti veidelį", -About : "Apie FCKeditor", -Bold : "Pusjuodis", -Italic : "Kursyvas", -Underline : "Pabrauktas", -StrikeThrough : "Perbrauktas", -Subscript : "Apatinis indeksas", -Superscript : "Viršutinis indeksas", -LeftJustify : "Lygiuoti kairę", -CenterJustify : "Centruoti", -RightJustify : "Lygiuoti dešinę", -BlockJustify : "Lygiuoti abi puses", -DecreaseIndent : "Sumažinti įtrauką", -IncreaseIndent : "Padidinti įtrauką", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Atšaukti", -Redo : "Atstatyti", -NumberedListLbl : "Numeruotas sąrašas", -NumberedList : "Įterpti/Panaikinti numeruotą sąrašą", -BulletedListLbl : "Suženklintas sąrašas", -BulletedList : "Įterpti/Panaikinti suženklintą sąrašą", -ShowTableBorders : "Rodyti lentelės rėmus", -ShowDetails : "Rodyti detales", -Style : "Stilius", -FontFormat : "Šrifto formatas", -Font : "Šriftas", -FontSize : "Šrifto dydis", -TextColor : "Teksto spalva", -BGColor : "Fono spalva", -Source : "Šaltinis", -Find : "Rasti", -Replace : "Pakeisti", -SpellCheck : "Rašybos tikrinimas", -UniversalKeyboard : "Universali klaviatūra", -PageBreakLbl : "Puslapių skirtukas", -PageBreak : "Įterpti puslapių skirtuką", - -Form : "Forma", -Checkbox : "Žymimasis langelis", -RadioButton : "Žymimoji akutė", -TextField : "Teksto laukas", -Textarea : "Teksto sritis", -HiddenField : "Nerodomas laukas", -Button : "Mygtukas", -SelectionField : "Atrankos laukas", -ImageButton : "Vaizdinis mygtukas", - -FitWindow : "Maximize the editor size", //MISSING -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "Taisyti nuorodą", -CellCM : "Cell", //MISSING -RowCM : "Row", //MISSING -ColumnCM : "Column", //MISSING -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "Šalinti eilutes", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "Šalinti stulpelius", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "Šalinti langelius", -MergeCells : "Sujungti langelius", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "Šalinti lentelę", -CellProperties : "Langelio savybės", -TableProperties : "Lentelės savybės", -ImageProperties : "Vaizdo savybės", -FlashProperties : "Flash savybės", - -AnchorProp : "Žymės savybės", -ButtonProp : "Mygtuko savybės", -CheckboxProp : "Žymimojo langelio savybės", -HiddenFieldProp : "Nerodomo lauko savybės", -RadioButtonProp : "Žymimosios akutės savybės", -ImageButtonProp : "Vaizdinio mygtuko savybės", -TextFieldProp : "Teksto lauko savybės", -SelectionFieldProp : "Atrankos lauko savybės", -TextareaProp : "Teksto srities savybės", -FormProp : "Formos savybės", - -FontFormats : "Normalus;Formuotas;Kreipinio;Antraštinis 1;Antraštinis 2;Antraštinis 3;Antraštinis 4;Antraštinis 5;Antraštinis 6", - -// Alerts and Messages -ProcessingXHTML : "Apdorojamas XHTML. Prašome palaukti...", -Done : "Baigta", -PasteWordConfirm : "Įdedamas tekstas yra panašus į kopiją iš Word. Ar Jūs norite prieš įdėjimą išvalyti jį?", -NotCompatiblePaste : "Ši komanda yra prieinama tik per Internet Explorer 5.5 ar aukštesnę versiją. Ar Jūs norite įterpti be valymo?", -UnknownToolbarItem : "Nežinomas mygtukų juosta elementas \"%1\"", -UnknownCommand : "Nežinomas komandos vardas \"%1\"", -NotImplemented : "Komanda nėra įgyvendinta", -UnknownToolbarSet : "Mygtukų juostos rinkinys \"%1\" neegzistuoja", -NoActiveX : "Jūsų naršyklės saugumo nuostatos gali riboti kai kurias redaktoriaus savybes. Jūs turite aktyvuoti opciją \"Run ActiveX controls and plug-ins\". Kitu atveju Jums bus pranešama apie klaidas ir trūkstamas savybes.", -BrowseServerBlocked : "Neįmanoma atidaryti naujo naršyklės lango. Įsitikinkite, kad iškylančių langų blokavimo programos neveiksnios.", -DialogBlocked : "Neįmanoma atidaryti dialogo lango. Įsitikinkite, kad iškylančių langų blokavimo programos neveiksnios.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "OK", -DlgBtnCancel : "Nutraukti", -DlgBtnClose : "Uždaryti", -DlgBtnBrowseServer : "Naršyti po serverį", -DlgAdvancedTag : "Papildomas", -DlgOpOther : "", -DlgInfoTab : "Informacija", -DlgAlertUrl : "Prašome įrašyti URL", - -// General Dialogs Labels -DlgGenNotSet : "", -DlgGenId : "Id", -DlgGenLangDir : "Teksto kryptis", -DlgGenLangDirLtr : "Iš kairės į dešinę (LTR)", -DlgGenLangDirRtl : "Iš dešinės į kairę (RTL)", -DlgGenLangCode : "Kalbos kodas", -DlgGenAccessKey : "Prieigos raktas", -DlgGenName : "Vardas", -DlgGenTabIndex : "Tabuliavimo indeksas", -DlgGenLongDescr : "Ilgas aprašymas URL", -DlgGenClass : "Stilių lentelės klasės", -DlgGenTitle : "Konsultacinė antraštė", -DlgGenContType : "Konsultacinio turinio tipas", -DlgGenLinkCharset : "Susietų išteklių simbolių lentelė", -DlgGenStyle : "Stilius", - -// Image Dialog -DlgImgTitle : "Vaizdo savybės", -DlgImgInfoTab : "Vaizdo informacija", -DlgImgBtnUpload : "Siųsti į serverį", -DlgImgURL : "URL", -DlgImgUpload : "Nusiųsti", -DlgImgAlt : "Alternatyvus Tekstas", -DlgImgWidth : "Plotis", -DlgImgHeight : "Aukštis", -DlgImgLockRatio : "Išlaikyti proporciją", -DlgBtnResetSize : "Atstatyti dydį", -DlgImgBorder : "Rėmelis", -DlgImgHSpace : "Hor.Erdvė", -DlgImgVSpace : "Vert.Erdvė", -DlgImgAlign : "Lygiuoti", -DlgImgAlignLeft : "Kairę", -DlgImgAlignAbsBottom: "Absoliučią apačią", -DlgImgAlignAbsMiddle: "Absoliutų vidurį", -DlgImgAlignBaseline : "Apatinę liniją", -DlgImgAlignBottom : "Apačią", -DlgImgAlignMiddle : "Vidurį", -DlgImgAlignRight : "Dešinę", -DlgImgAlignTextTop : "Teksto viršūnę", -DlgImgAlignTop : "Viršūnę", -DlgImgPreview : "Peržiūra", -DlgImgAlertUrl : "Prašome įvesti vaizdo URL", -DlgImgLinkTab : "Nuoroda", - -// Flash Dialog -DlgFlashTitle : "Flash savybės", -DlgFlashChkPlay : "Automatinis paleidimas", -DlgFlashChkLoop : "Ciklas", -DlgFlashChkMenu : "Leisti Flash meniu", -DlgFlashScale : "Mastelis", -DlgFlashScaleAll : "Rodyti visą", -DlgFlashScaleNoBorder : "Be rėmelio", -DlgFlashScaleFit : "Tikslus atitikimas", - -// Link Dialog -DlgLnkWindowTitle : "Nuoroda", -DlgLnkInfoTab : "Nuorodos informacija", -DlgLnkTargetTab : "Paskirtis", - -DlgLnkType : "Nuorodos tipas", -DlgLnkTypeURL : "URL", -DlgLnkTypeAnchor : "Žymė šiame puslapyje", -DlgLnkTypeEMail : "El.paštas", -DlgLnkProto : "Protokolas", -DlgLnkProtoOther : "", -DlgLnkURL : "URL", -DlgLnkAnchorSel : "Pasirinkite žymę", -DlgLnkAnchorByName : "Pagal žymės vardą", -DlgLnkAnchorById : "Pagal žymės Id", -DlgLnkNoAnchors : "(Šiame dokumente žymių nėra)", -DlgLnkEMail : "El.pašto adresas", -DlgLnkEMailSubject : "Žinutės tema", -DlgLnkEMailBody : "Žinutės turinys", -DlgLnkUpload : "Siųsti", -DlgLnkBtnUpload : "Siųsti į serverį", - -DlgLnkTarget : "Paskirties vieta", -DlgLnkTargetFrame : "", -DlgLnkTargetPopup : "", -DlgLnkTargetBlank : "Naujas langas (_blank)", -DlgLnkTargetParent : "Pirminis langas (_parent)", -DlgLnkTargetSelf : "Tas pats langas (_self)", -DlgLnkTargetTop : "Svarbiausias langas (_top)", -DlgLnkTargetFrameName : "Paskirties kadro vardas", -DlgLnkPopWinName : "Paskirties lango vardas", -DlgLnkPopWinFeat : "Išskleidžiamo lango savybės", -DlgLnkPopResize : "Keičiamas dydis", -DlgLnkPopLocation : "Adreso juosta", -DlgLnkPopMenu : "Meniu juosta", -DlgLnkPopScroll : "Slinkties juostos", -DlgLnkPopStatus : "Būsenos juosta", -DlgLnkPopToolbar : "Mygtukų juosta", -DlgLnkPopFullScrn : "Visas ekranas (IE)", -DlgLnkPopDependent : "Priklausomas (Netscape)", -DlgLnkPopWidth : "Plotis", -DlgLnkPopHeight : "Aukštis", -DlgLnkPopLeft : "Kairė pozicija", -DlgLnkPopTop : "Viršutinė pozicija", - -DlnLnkMsgNoUrl : "Prašome įvesti nuorodos URL", -DlnLnkMsgNoEMail : "Prašome įvesti el.pašto adresą", -DlnLnkMsgNoAnchor : "Prašome pasirinkti žymę", -DlnLnkMsgInvPopName : "The popup name must begin with an alphabetic character and must not contain spaces", //MISSING - -// Color Dialog -DlgColorTitle : "Pasirinkite spalvą", -DlgColorBtnClear : "Trinti", -DlgColorHighlight : "Paryškinta", -DlgColorSelected : "Pažymėta", - -// Smiley Dialog -DlgSmileyTitle : "Įterpti veidelį", - -// Special Character Dialog -DlgSpecialCharTitle : "Pasirinkite specialų simbolį", - -// Table Dialog -DlgTableTitle : "Lentelės savybės", -DlgTableRows : "Eilutės", -DlgTableColumns : "Stulpeliai", -DlgTableBorder : "Rėmelio dydis", -DlgTableAlign : "Lygiuoti", -DlgTableAlignNotSet : "", -DlgTableAlignLeft : "Kairę", -DlgTableAlignCenter : "Centrą", -DlgTableAlignRight : "Dešinę", -DlgTableWidth : "Plotis", -DlgTableWidthPx : "taškais", -DlgTableWidthPc : "procentais", -DlgTableHeight : "Aukštis", -DlgTableCellSpace : "Tarpas tarp langelių", -DlgTableCellPad : "Trapas nuo langelio rėmo iki teksto", -DlgTableCaption : "Antraštė", -DlgTableSummary : "Santrauka", - -// Table Cell Dialog -DlgCellTitle : "Langelio savybės", -DlgCellWidth : "Plotis", -DlgCellWidthPx : "taškais", -DlgCellWidthPc : "procentais", -DlgCellHeight : "Aukštis", -DlgCellWordWrap : "Teksto laužymas", -DlgCellWordWrapNotSet : "", -DlgCellWordWrapYes : "Taip", -DlgCellWordWrapNo : "Ne", -DlgCellHorAlign : "Horizontaliai lygiuoti", -DlgCellHorAlignNotSet : "", -DlgCellHorAlignLeft : "Kairę", -DlgCellHorAlignCenter : "Centrą", -DlgCellHorAlignRight: "Dešinę", -DlgCellVerAlign : "Vertikaliai lygiuoti", -DlgCellVerAlignNotSet : "", -DlgCellVerAlignTop : "Viršų", -DlgCellVerAlignMiddle : "Vidurį", -DlgCellVerAlignBottom : "Apačią", -DlgCellVerAlignBaseline : "Apatinę liniją", -DlgCellRowSpan : "Eilučių apjungimas", -DlgCellCollSpan : "Stulpelių apjungimas", -DlgCellBackColor : "Fono spalva", -DlgCellBorderColor : "Rėmelio spalva", -DlgCellBtnSelect : "Pažymėti...", - -// Find and Replace Dialog -DlgFindAndReplaceTitle : "Find and Replace", //MISSING - -// Find Dialog -DlgFindTitle : "Paieška", -DlgFindFindBtn : "Surasti", -DlgFindNotFoundMsg : "Nurodytas tekstas nerastas.", - -// Replace Dialog -DlgReplaceTitle : "Pakeisti", -DlgReplaceFindLbl : "Surasti tekstą:", -DlgReplaceReplaceLbl : "Pakeisti tekstu:", -DlgReplaceCaseChk : "Skirti didžiąsias ir mažąsias raides", -DlgReplaceReplaceBtn : "Pakeisti", -DlgReplaceReplAllBtn : "Pakeisti viską", -DlgReplaceWordChk : "Atitikti pilną žodį", - -// Paste Operations / Dialog -PasteErrorCut : "Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti iškirpimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl+X).", -PasteErrorCopy : "Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti kopijavimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl+C).", - -PasteAsText : "Įdėti kaip gryną tekstą", -PasteFromWord : "Įdėti iš Word", - -DlgPasteMsg2 : "Žemiau esančiame įvedimo lauke įdėkite tekstą, naudodami klaviatūrą (Ctrl+V) ir spūstelkite mygtuką OK.", -DlgPasteSec : "Because of your browser security settings, the editor is not able to access your clipboard data directly. You are required to paste it again in this window.", //MISSING -DlgPasteIgnoreFont : "Ignoruoti šriftų nustatymus", -DlgPasteRemoveStyles : "Pašalinti stilių nustatymus", - -// Color Picker -ColorAutomatic : "Automatinis", -ColorMoreColors : "Daugiau spalvų...", - -// Document Properties -DocProps : "Dokumento savybės", - -// Anchor Dialog -DlgAnchorTitle : "Žymės savybės", -DlgAnchorName : "Žymės vardas", -DlgAnchorErrorName : "Prašome įvesti žymės vardą", - -// Speller Pages Dialog -DlgSpellNotInDic : "Žodyne nerastas", -DlgSpellChangeTo : "Pakeisti į", -DlgSpellBtnIgnore : "Ignoruoti", -DlgSpellBtnIgnoreAll : "Ignoruoti visus", -DlgSpellBtnReplace : "Pakeisti", -DlgSpellBtnReplaceAll : "Pakeisti visus", -DlgSpellBtnUndo : "Atšaukti", -DlgSpellNoSuggestions : "- Nėra pasiūlymų -", -DlgSpellProgress : "Vyksta rašybos tikrinimas...", -DlgSpellNoMispell : "Rašybos tikrinimas baigtas: Nerasta rašybos klaidų", -DlgSpellNoChanges : "Rašybos tikrinimas baigtas: Nėra pakeistų žodžių", -DlgSpellOneChange : "Rašybos tikrinimas baigtas: Vienas žodis pakeistas", -DlgSpellManyChanges : "Rašybos tikrinimas baigtas: Pakeista %1 žodžių", - -IeSpellDownload : "Rašybos tikrinimas neinstaliuotas. Ar Jūs norite jį dabar atsisiųsti?", - -// Button Dialog -DlgButtonText : "Tekstas (Reikšmė)", -DlgButtonType : "Tipas", -DlgButtonTypeBtn : "Button", //MISSING -DlgButtonTypeSbm : "Submit", //MISSING -DlgButtonTypeRst : "Reset", //MISSING - -// Checkbox and Radio Button Dialogs -DlgCheckboxName : "Vardas", -DlgCheckboxValue : "Reikšmė", -DlgCheckboxSelected : "Pažymėtas", - -// Form Dialog -DlgFormName : "Vardas", -DlgFormAction : "Veiksmas", -DlgFormMethod : "Metodas", - -// Select Field Dialog -DlgSelectName : "Vardas", -DlgSelectValue : "Reikšmė", -DlgSelectSize : "Dydis", -DlgSelectLines : "eilučių", -DlgSelectChkMulti : "Leisti daugeriopą atranką", -DlgSelectOpAvail : "Galimos parinktys", -DlgSelectOpText : "Tekstas", -DlgSelectOpValue : "Reikšmė", -DlgSelectBtnAdd : "Įtraukti", -DlgSelectBtnModify : "Modifikuoti", -DlgSelectBtnUp : "Aukštyn", -DlgSelectBtnDown : "Žemyn", -DlgSelectBtnSetValue : "Laikyti pažymėta reikšme", -DlgSelectBtnDelete : "Trinti", - -// Textarea Dialog -DlgTextareaName : "Vardas", -DlgTextareaCols : "Ilgis", -DlgTextareaRows : "Plotis", - -// Text Field Dialog -DlgTextName : "Vardas", -DlgTextValue : "Reikšmė", -DlgTextCharWidth : "Ilgis simboliais", -DlgTextMaxChars : "Maksimalus simbolių skaičius", -DlgTextType : "Tipas", -DlgTextTypeText : "Tekstas", -DlgTextTypePass : "Slaptažodis", - -// Hidden Field Dialog -DlgHiddenName : "Vardas", -DlgHiddenValue : "Reikšmė", - -// Bulleted List Dialog -BulletedListProp : "Suženklinto sąrašo savybės", -NumberedListProp : "Numeruoto sąrašo savybės", -DlgLstStart : "Start", //MISSING -DlgLstType : "Tipas", -DlgLstTypeCircle : "Apskritimas", -DlgLstTypeDisc : "Diskas", -DlgLstTypeSquare : "Kvadratas", -DlgLstTypeNumbers : "Skaičiai (1, 2, 3)", -DlgLstTypeLCase : "Mažosios raidės (a, b, c)", -DlgLstTypeUCase : "Didžiosios raidės (A, B, C)", -DlgLstTypeSRoman : "Romėnų mažieji skaičiai (i, ii, iii)", -DlgLstTypeLRoman : "Romėnų didieji skaičiai (I, II, III)", - -// Document Properties Dialog -DlgDocGeneralTab : "Bendros savybės", -DlgDocBackTab : "Fonas", -DlgDocColorsTab : "Spalvos ir kraštinės", -DlgDocMetaTab : "Meta duomenys", - -DlgDocPageTitle : "Puslapio antraštė", -DlgDocLangDir : "Kalbos kryptis", -DlgDocLangDirLTR : "Iš kairės į dešinę (LTR)", -DlgDocLangDirRTL : "Iš dešinės į kairę (RTL)", -DlgDocLangCode : "Kalbos kodas", -DlgDocCharSet : "Simbolių kodavimo lentelė", -DlgDocCharSetCE : "Central European", //MISSING -DlgDocCharSetCT : "Chinese Traditional (Big5)", //MISSING -DlgDocCharSetCR : "Cyrillic", //MISSING -DlgDocCharSetGR : "Greek", //MISSING -DlgDocCharSetJP : "Japanese", //MISSING -DlgDocCharSetKR : "Korean", //MISSING -DlgDocCharSetTR : "Turkish", //MISSING -DlgDocCharSetUN : "Unicode (UTF-8)", //MISSING -DlgDocCharSetWE : "Western European", //MISSING -DlgDocCharSetOther : "Kita simbolių kodavimo lentelė", - -DlgDocDocType : "Dokumento tipo antraštė", -DlgDocDocTypeOther : "Kita dokumento tipo antraštė", -DlgDocIncXHTML : "Įtraukti XHTML deklaracijas", -DlgDocBgColor : "Fono spalva", -DlgDocBgImage : "Fono paveikslėlio nuoroda (URL)", -DlgDocBgNoScroll : "Neslenkantis fonas", -DlgDocCText : "Tekstas", -DlgDocCLink : "Nuoroda", -DlgDocCVisited : "Aplankyta nuoroda", -DlgDocCActive : "Aktyvi nuoroda", -DlgDocMargins : "Puslapio kraštinės", -DlgDocMaTop : "Viršuje", -DlgDocMaLeft : "Kairėje", -DlgDocMaRight : "Dešinėje", -DlgDocMaBottom : "Apačioje", -DlgDocMeIndex : "Dokumento indeksavimo raktiniai žodžiai (atskirti kableliais)", -DlgDocMeDescr : "Dokumento apibūdinimas", -DlgDocMeAuthor : "Autorius", -DlgDocMeCopy : "Autorinės teisės", -DlgDocPreview : "Peržiūra", - -// Templates Dialog -Templates : "Šablonai", -DlgTemplatesTitle : "Turinio šablonai", -DlgTemplatesSelMsg : "Pasirinkite norimą šabloną
    (Dėmesio! esamas turinys bus prarastas):", -DlgTemplatesLoading : "Įkeliamas šablonų sąrašas. Prašome palaukti...", -DlgTemplatesNoTpl : "(Šablonų sąrašas tuščias)", -DlgTemplatesReplace : "Replace actual contents", //MISSING - -// About Dialog -DlgAboutAboutTab : "Apie", -DlgAboutBrowserInfoTab : "Naršyklės informacija", -DlgAboutLicenseTab : "License", //MISSING -DlgAboutVersion : "versija", -DlgAboutInfo : "Papildomą informaciją galima gauti", - -// Div Dialog -DlgDivGeneralTab : "General", //MISSING -DlgDivAdvancedTab : "Advanced", //MISSING -DlgDivStyle : "Style", //MISSING -DlgDivInlineStyle : "Inline Style" //MISSING -}; diff --git a/include/fckeditor/editor/lang/lv.js b/include/fckeditor/editor/lang/lv.js deleted file mode 100644 index 1db14abfd..000000000 --- a/include/fckeditor/editor/lang/lv.js +++ /dev/null @@ -1,526 +0,0 @@ -/* - * FCKeditor - The text editor for Internet - http://www.fckeditor.net - * Copyright (C) 2003-2008 Frederico Caldeira Knabben - * - * == BEGIN LICENSE == - * - * Licensed under the terms of any of the following licenses at your - * choice: - * - * - GNU General Public License Version 2 or later (the "GPL") - * http://www.gnu.org/licenses/gpl.html - * - * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") - * http://www.gnu.org/licenses/lgpl.html - * - * - Mozilla Public License Version 1.1 or later (the "MPL") - * http://www.mozilla.org/MPL/MPL-1.1.html - * - * == END LICENSE == - * - * Latvian language file. - */ - -var FCKLang = -{ -// Language direction : "ltr" (left to right) or "rtl" (right to left). -Dir : "ltr", - -ToolbarCollapse : "Samazināt rīku joslu", -ToolbarExpand : "Paplašināt rīku joslu", - -// Toolbar Items and Context Menu -Save : "Saglabāt", -NewPage : "Jauna lapa", -Preview : "Pārskatīt", -Cut : "Izgriezt", -Copy : "Kopēt", -Paste : "Ievietot", -PasteText : "Ievietot kā vienkāršu tekstu", -PasteWord : "Ievietot no Worda", -Print : "Drukāt", -SelectAll : "Iezīmēt visu", -RemoveFormat : "Noņemt stilus", -InsertLinkLbl : "Hipersaite", -InsertLink : "Ievietot/Labot hipersaiti", -RemoveLink : "Noņemt hipersaiti", -VisitLink : "Open Link", //MISSING -Anchor : "Ievietot/Labot iezīmi", -AnchorDelete : "Remove Anchor", //MISSING -InsertImageLbl : "Attēls", -InsertImage : "Ievietot/Labot Attēlu", -InsertFlashLbl : "Flash", -InsertFlash : "Ievietot/Labot Flash", -InsertTableLbl : "Tabula", -InsertTable : "Ievietot/Labot Tabulu", -InsertLineLbl : "Atdalītājsvītra", -InsertLine : "Ievietot horizontālu Atdalītājsvītru", -InsertSpecialCharLbl: "Īpašs simbols", -InsertSpecialChar : "Ievietot speciālo simbolu", -InsertSmileyLbl : "Smaidiņi", -InsertSmiley : "Ievietot smaidiņu", -About : "Īsumā par FCKeditor", -Bold : "Treknu šriftu", -Italic : "Slīprakstā", -Underline : "Apakšsvītra", -StrikeThrough : "Pārsvītrots", -Subscript : "Zemrakstā", -Superscript : "Augšrakstā", -LeftJustify : "Izlīdzināt pa kreisi", -CenterJustify : "Izlīdzināt pret centru", -RightJustify : "Izlīdzināt pa labi", -BlockJustify : "Izlīdzināt malas", -DecreaseIndent : "Samazināt atkāpi", -IncreaseIndent : "Palielināt atkāpi", -Blockquote : "Blockquote", //MISSING -CreateDiv : "Create Div Container", //MISSING -EditDiv : "Edit Div Container", //MISSING -DeleteDiv : "Remove Div Container", //MISSING -Undo : "Atcelt", -Redo : "Atkārtot", -NumberedListLbl : "Numurēts saraksts", -NumberedList : "Ievietot/Noņemt numerēto sarakstu", -BulletedListLbl : "Izcelts saraksts", -BulletedList : "Ievietot/Noņemt izceltu sarakstu", -ShowTableBorders : "Parādīt tabulas robežas", -ShowDetails : "Parādīt sīkāku informāciju", -Style : "Stils", -FontFormat : "Formāts", -Font : "Šrifts", -FontSize : "Izmērs", -TextColor : "Teksta krāsa", -BGColor : "Fona krāsa", -Source : "HTML kods", -Find : "Meklēt", -Replace : "Nomainīt", -SpellCheck : "Pareizrakstības pārbaude", -UniversalKeyboard : "Universāla klaviatūra", -PageBreakLbl : "Lapas pārtraukums", -PageBreak : "Ievietot lapas pārtraukumu", - -Form : "Forma", -Checkbox : "Atzīmēšanas kastīte", -RadioButton : "Izvēles poga", -TextField : "Teksta rinda", -Textarea : "Teksta laukums", -HiddenField : "Paslēpta teksta rinda", -Button : "Poga", -SelectionField : "Iezīmēšanas lauks", -ImageButton : "Attēlpoga", - -FitWindow : "Maksimizēt redaktora izmēru", -ShowBlocks : "Show Blocks", //MISSING - -// Context Menu -EditLink : "Labot hipersaiti", -CellCM : "Šūna", -RowCM : "Rinda", -ColumnCM : "Kolonna", -InsertRowAfter : "Insert Row After", //MISSING -InsertRowBefore : "Insert Row Before", //MISSING -DeleteRows : "Dzēst rindas", -InsertColumnAfter : "Insert Column After", //MISSING -InsertColumnBefore : "Insert Column Before", //MISSING -DeleteColumns : "Dzēst kolonnas", -InsertCellAfter : "Insert Cell After", //MISSING -InsertCellBefore : "Insert Cell Before", //MISSING -DeleteCells : "Dzēst rūtiņas", -MergeCells : "Apvienot rūtiņas", -MergeRight : "Merge Right", //MISSING -MergeDown : "Merge Down", //MISSING -HorizontalSplitCell : "Split Cell Horizontally", //MISSING -VerticalSplitCell : "Split Cell Vertically", //MISSING -TableDelete : "Dzēst tabulu", -CellProperties : "Rūtiņas īpašības", -TableProperties : "Tabulas īpašības", -ImageProperties : "Attēla īpašības", -FlashProperties : "Flash īpašības", - -AnchorProp : "Iezīmes īpašības", -ButtonProp : "Pogas īpašības", -CheckboxProp : "Atzīmēšanas kastītes īpašības", -HiddenFieldProp : "Paslēptās teksta rindas īpašības", -RadioButtonProp : "Izvēles poga īpašības", -ImageButtonProp : "Attēlpogas īpašības", -TextFieldProp : "Teksta rindas īpašības", -SelectionFieldProp : "Iezīmēšanas lauka īpašības", -TextareaProp : "Teksta laukuma īpašības", -FormProp : "Formas īpašības", - -FontFormats : "Normāls teksts;Formatēts teksts;Adrese;Virsraksts 1;Virsraksts 2;Virsraksts 3;Virsraksts 4;Virsraksts 5;Virsraksts 6;Rindkopa (DIV)", - -// Alerts and Messages -ProcessingXHTML : "Tiek apstrādāts XHTML. Lūdzu uzgaidiet...", -Done : "Darīts", -PasteWordConfirm : "Teksta fragments, kas tiek ievietots, izskatās, ka būtu sagatavots Word'ā. Vai vēlaties to apstrādāt pirms ievietošanas?", -NotCompatiblePaste : "Šī darbība ir pieejama Internet Explorer'ī, kas jaunāks par 5.5 versiju. Vai vēlaties ievietot bez apstrādes?", -UnknownToolbarItem : "Nezināms rīku joslas objekts \"%1\"", -UnknownCommand : "Nezināmas darbības nosaukums \"%1\"", -NotImplemented : "Darbība netika paveikta", -UnknownToolbarSet : "Rīku joslas komplekts \"%1\" neeksistē", -NoActiveX : "Interneta pārlūkprogrammas drošības uzstādījumi varētu ietekmēt dažas no redaktora īpašībām. Jābūt aktivizētai sadaļai \"Run ActiveX controls and plug-ins\". Savādāk ir iespējamas kļūdas darbībā un kļūdu paziņojumu parādīšanās.", -BrowseServerBlocked : "Resursu pārlūks nevar tikt atvērts. Pārliecinieties, ka uznirstošo logu bloķētāji ir atslēgti.", -DialogBlocked : "Nav iespējams atvērt dialoglogu. Pārliecinieties, ka uznirstošo logu bloķētāji ir atslēgti.", -VisitLinkBlocked : "It was not possible to open a new window. Make sure all popup blockers are disabled.", //MISSING - -// Dialogs -DlgBtnOK : "Darīts!", -DlgBtnCancel : "Atcelt", -DlgBtnClose : "Aizvērt", -DlgBtnBrowseServer : "Skatīt servera saturu", -DlgAdvancedTag : "Izvērstais", -DlgOpOther : "", -DlgInfoTab : "Informācija", -DlgAlertUrl : "Lūdzu, ievietojiet hipersaiti", - -// General Dialogs Labels -DlgGenNotSet : "