mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
Merge branch 'master' into feature-19041/ZeitausgleichSanchoMail
This commit is contained in:
@@ -245,3 +245,14 @@ $config['navigation_menu']['lehre/lehrauftrag/LehrauftragErteilen/*'] = array(
|
||||
'requiredPermissions' => array('lehre/lehrauftrag_erteilen:r')
|
||||
)
|
||||
);
|
||||
|
||||
$config['navigation_menu']['system/issues/Issues/*'] = array(
|
||||
'fehlerzustaendigkeiten' => array(
|
||||
'link' => site_url('system/issues/IssuesZustaendigkeiten'),
|
||||
'description' => 'Fehler Zuständigkeiten',
|
||||
'icon' => 'cogs',
|
||||
'sort' => 100,
|
||||
'target' => '_blank',
|
||||
'requiredPermissions' => array('admin:rw')
|
||||
)
|
||||
);
|
||||
|
||||
@@ -16,9 +16,11 @@ if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
class AnrechnungJob extends JOB_Controller
|
||||
{
|
||||
const APPROVE_ANRECHNUNG_URI = '/lehre/anrechnung/ApproveAnrechnungUebersicht';
|
||||
const REVIEW_ANRECHNUNG_URI = '/lehre/anrechnung/ReviewAnrechnungUebersicht';
|
||||
|
||||
const ANRECHNUNGSTATUS_APPROVED = 'approved';
|
||||
const ANRECHNUNGSTATUS_REJECTED = 'rejected';
|
||||
const ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR = 'inProgressLektor';
|
||||
const ANRECHNUNG_NOTIZTITEL_NOTIZ_BY_STGL = 'AnrechnungNotizSTGL';
|
||||
|
||||
/**
|
||||
@@ -33,6 +35,8 @@ class AnrechnungJob extends JOB_Controller
|
||||
|
||||
$this->load->helper('url');
|
||||
$this->load->helper('hlp_sancho_helper');
|
||||
|
||||
$this->load->library('AnrechnungLib');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -342,6 +346,79 @@ html;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Send Sancho mail to remind lecturers to provide their recommendation if not done until one week after request.
|
||||
*/
|
||||
public function sendMailRemindRecommendation(){
|
||||
|
||||
$this->logInfo('Start AnrechnungJob sendMailRemindRecommendation to remind lecturers to provide their recommendation.');
|
||||
|
||||
// Get Anrechnungen with pending recommendations, that were requested 1 week before today.
|
||||
// Restrict query for Anrechnungen of actual semester.
|
||||
$this->AnrechnungModel->addSelect('astat.anrechnung_id, astat.datum, astat.insertamum');
|
||||
$this->AnrechnungModel->addDistinct('astat.anrechnung_id');
|
||||
$this->AnrechnungModel->addJoin('lehre.tbl_anrechnung_anrechnungstatus astat', 'anrechnung_id');
|
||||
|
||||
$result = $this->AnrechnungModel->loadWhere('
|
||||
studiensemester_kurzbz = (
|
||||
SELECT studiensemester_kurzbz FROM tbl_studiensemester WHERE now()::date BETWEEN start AND ende)
|
||||
)
|
||||
AND genehmigt_von IS NULL
|
||||
AND empfehlung_anrechnung IS NULL
|
||||
AND status_kurzbz = '. $this->db->escape(self::ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR) .' -- in Bearbeitung durch Lektor
|
||||
AND NOW()::date = (astat.datum + interval \'1 week\') -- eine Woche nach Empfehlungsanfrage
|
||||
ORDER BY astat.anrechnung_id, astat.datum DESC, astat.insertamum DESC -- nur letzten status dabei prüfen
|
||||
');
|
||||
|
||||
// Exit if there are no pending recommendations
|
||||
if (!hasData($result))
|
||||
{
|
||||
$this->logInfo('End AnrechnungJob sendMailRemindRecommendation, because no recommendations to be done.');
|
||||
exit;
|
||||
}
|
||||
|
||||
$anrechnung_id_arr = array_column(getData($result), 'anrechnung_id');
|
||||
|
||||
$arr_lvLector_arr = array();
|
||||
foreach ($anrechnung_id_arr as $anrechnung_id)
|
||||
{
|
||||
$arr_lvLector_arr[]= $this->anrechnunglib->getLectors($anrechnung_id); // Returns LV Leitung. If not present, then all lectors of LV.
|
||||
}
|
||||
|
||||
// Unique lector array to send only one mail per lector
|
||||
$arr_lvLector_arr = array_unique($arr_lvLector_arr, SORT_REGULAR);
|
||||
|
||||
// Link to 'Anrechnungen prüfen' dashboard
|
||||
$url =
|
||||
CIS_ROOT. 'cis/index.php?menu='.
|
||||
CIS_ROOT. 'cis/menu.php?content_id=&content='.
|
||||
CIS_ROOT. index_page(). self::REVIEW_ANRECHNUNG_URI;
|
||||
|
||||
foreach ($arr_lvLector_arr as $lvLector_arr)
|
||||
{
|
||||
foreach ($lvLector_arr as $lector)
|
||||
{
|
||||
// Prepare mail content
|
||||
$fields = array(
|
||||
'vorname' => $lector->vorname,
|
||||
'stgl_name' => 'Die Studiengangsleitung',
|
||||
'link' => anchor($url, 'Anrechnungsanträge Übersicht')
|
||||
);
|
||||
|
||||
// Send mail
|
||||
sendSanchoMail(
|
||||
'AnrechnungEmpfehlungAnfordern',
|
||||
$fields,
|
||||
$lector->uid. '@'. DOMAIN,
|
||||
'Erinnerung: Deine Empfehlung wird benötigt zur Anerkennung nachgewiesener Kenntnisse'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$this->logInfo('SUCCEDED AnrechnungJob sendMailRemindRecommendation');
|
||||
|
||||
}
|
||||
|
||||
// Get STGL mail address
|
||||
private function _getSTGLMailAddress($studiengang_kz)
|
||||
{
|
||||
|
||||
@@ -359,7 +359,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
for ($i = 0; $i < $data_len; $i++)
|
||||
{
|
||||
// Get all users entitled by organisational unit
|
||||
$result = $this->BenutzerrolleModel->getBenutzerByBerechtigung(self::BERECHTIGUNG_LEHRAUFTRAG_ERTEILEN, $data[$i]['oe_kurzbz']);
|
||||
$result = $this->BenutzerrolleModel->getBenutzerByBerechtigung(self::BERECHTIGUNG_LEHRAUFTRAG_ERTEILEN, $data[$i]['oe_kurzbz'], 'suid');
|
||||
|
||||
if ($berechtigung_arr = getData($result))
|
||||
{
|
||||
|
||||
@@ -108,21 +108,29 @@ class approveAnrechnungUebersicht extends Auth_Controller
|
||||
return $this->outputJsonError('Fehler beim Übertragen der Daten.');
|
||||
}
|
||||
|
||||
$json = array(
|
||||
'status_kurzbz' => self::ANRECHNUNGSTATUS_APPROVED,
|
||||
'status_bezeichnung' => $this->anrechnunglib->getStatusbezeichnung(self::ANRECHNUNGSTATUS_APPROVED),
|
||||
'prestudenten' => []
|
||||
);
|
||||
|
||||
// Approve Anrechnung
|
||||
foreach ($data as $item)
|
||||
{
|
||||
if ($this->anrechnunglib->approveAnrechnung($item['anrechnung_id']))
|
||||
// Get Prestudent
|
||||
$this->AnrechnungModel->addSelect('prestudent_id');
|
||||
$result = $this->AnrechnungModel->load($item['anrechnung_id']);
|
||||
$prestudent_id = getData($result)[0]->prestudent_id;
|
||||
|
||||
// Approve
|
||||
if ($this->anrechnunglib->approveAnrechnung($item['anrechnung_id']))
|
||||
{
|
||||
$json[]= array(
|
||||
'anrechnung_id' => $item['anrechnung_id'],
|
||||
'status_kurzbz' => self::ANRECHNUNGSTATUS_APPROVED,
|
||||
'status_bezeichnung' => $this->anrechnunglib->getStatusbezeichnung(self::ANRECHNUNGSTATUS_APPROVED)
|
||||
);
|
||||
$json['prestudenten'][$prestudent_id][] = $item['anrechnung_id'];
|
||||
}
|
||||
}
|
||||
|
||||
// Output json to ajax
|
||||
if (isset($json) && !isEmptyArray($json))
|
||||
if (isset($json) && !isEmptyArray($json['prestudenten']))
|
||||
{
|
||||
return $this->outputJsonSuccess($json);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ class Issues extends Auth_Controller
|
||||
{
|
||||
private $_uid;
|
||||
|
||||
const FUNKTION_KURZBZ = 'ass'; // // user having this funktion can see issues for oes assigned with this funktion
|
||||
const FUNKTION_KURZBZ = 'ass'; // user having this funktion can see issues for oes assigned with this funktion
|
||||
const BERECHTIGUNG_KURZBZ = 'system/issues_verwalten'; // user having this permission can see issues for oes assigned with this permission
|
||||
|
||||
public function __construct()
|
||||
@@ -39,6 +39,7 @@ class Issues extends Auth_Controller
|
||||
);
|
||||
|
||||
$this->_setAuthUID(); // sets property uid
|
||||
$this->setControllerId(); // sets the controller id
|
||||
}
|
||||
|
||||
public function index()
|
||||
@@ -127,7 +128,7 @@ class Issues extends Auth_Controller
|
||||
{
|
||||
$all_funktionen_oe_kurzbz[$benutzerfunktion->oe_kurzbz][] = $benutzerfunktion->funktion_kurzbz;
|
||||
|
||||
// separate oes for the funktion needed for displaying issues
|
||||
// separate oes for the additional funktion which enables displaying issues
|
||||
if ($benutzerfunktion->funktion_kurzbz == self::FUNKTION_KURZBZ)
|
||||
{
|
||||
$oe_kurzbz_for_funktion[] = $benutzerfunktion->oe_kurzbz;
|
||||
@@ -153,7 +154,9 @@ class Issues extends Auth_Controller
|
||||
}
|
||||
|
||||
// add oes for which there is the "manage issues" Berechtigung
|
||||
if (!$oe_kurzbz_berechtigt = $this->permissionlib->getOE_isEntitledFor(self::BERECHTIGUNG_KURZBZ))
|
||||
$oe_kurzbz_berechtigt = $this->permissionlib->getOE_isEntitledFor(self::BERECHTIGUNG_KURZBZ);
|
||||
|
||||
if (!$oe_kurzbz_berechtigt)
|
||||
show_error('No permission or error when checking permissions');
|
||||
|
||||
$all_oe_kurzbz_berechtigt = array_unique(array_merge($oe_kurzbz_for_funktion, $oe_kurzbz_berechtigt));
|
||||
|
||||
@@ -0,0 +1,217 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class IssuesZustaendigkeiten extends Auth_Controller
|
||||
{
|
||||
private $_uid;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct(
|
||||
array(
|
||||
'index' => 'admin:r',
|
||||
'getApps' => 'admin:r',
|
||||
'getFehlercodes' => 'admin:r',
|
||||
'getNonAssignedZustaendigkeiten' => 'admin:r',
|
||||
'addZustaendigkeit' => 'admin:rw',
|
||||
'deleteZustaendigkeit' => 'admin:rw'
|
||||
)
|
||||
);
|
||||
|
||||
// Load libraries
|
||||
$this->load->library('IssuesLib');
|
||||
$this->load->library('WidgetLib');
|
||||
|
||||
// Load models
|
||||
$this->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
|
||||
$this->load->model('system/Fehler_model', 'FehlerModel');
|
||||
$this->load->model('system/Fehler_model', 'FehlerModel');
|
||||
$this->load->model('system/Fehlerzustaendigkeiten_model', 'FehlerzustaendigkeitenModel');
|
||||
|
||||
$this->loadPhrases(
|
||||
array(
|
||||
'global',
|
||||
'ui',
|
||||
'filter',
|
||||
'lehre',
|
||||
'person',
|
||||
'fehlermonitoring'
|
||||
)
|
||||
);
|
||||
|
||||
$this->_setAuthUID(); // sets property uid
|
||||
$this->setControllerId(); // sets the controller id
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->load->view("system/issues/issuesZustaendigkeiten.php");
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads all Apps to which Fehler exist.
|
||||
*/
|
||||
public function getApps()
|
||||
{
|
||||
$this->FehlerModel->addDistinct();
|
||||
$this->FehlerModel->addSelect('app');
|
||||
$this->FehlerModel->addOrder('app');
|
||||
|
||||
$appRes = $this->FehlerModel->load();
|
||||
|
||||
$this->outputJson($appRes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all fehlercodes, optionally by app.
|
||||
*/
|
||||
public function getFehlercodes()
|
||||
{
|
||||
$app = $this->input->get('app');
|
||||
|
||||
//$this->FehlerModel->addSelect('fehlercode, fehler_kurzbz, fehlertext, fehlertyp_kurzbz');
|
||||
$this->FehlerModel->addOrder('fehlercode');
|
||||
|
||||
$fehlerRes = isset($app) ? $this->FehlerModel->loadWhere(array('app' => $app)) : $this->FehlerModel->load();
|
||||
|
||||
$this->outputJson($fehlerRes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets all Mitarbeiter, Organisationseinheiten, Funktionen not assigned to a Fehler yet.
|
||||
*/
|
||||
public function getNonAssignedZustaendigkeiten()
|
||||
{
|
||||
$fehlercode = $this->input->get('fehlercode');
|
||||
|
||||
$mitarbeiterRes = $this->FehlerzustaendigkeitenModel->getNonAssignedMitarbeiter($fehlercode);
|
||||
|
||||
if (isError($mitarbeiterRes))
|
||||
{
|
||||
$this->outputJsonError(getError($mitarbeiterRes));
|
||||
return;
|
||||
}
|
||||
|
||||
$this->OrganisationseinheitModel->addSelect('oe_kurzbz, bezeichnung, organisationseinheittyp_kurzbz');
|
||||
$this->OrganisationseinheitModel->addOrder('organisationseinheittyp_kurzbz, bezeichnung');
|
||||
$oeRes = $this->OrganisationseinheitModel->loadWhere(array('aktiv' => true));
|
||||
|
||||
if (isError($oeRes))
|
||||
{
|
||||
$this->outputJsonError(getError($oeRes));
|
||||
return;
|
||||
}
|
||||
|
||||
$oe_funktionen = array();
|
||||
|
||||
if (hasData($oeRes))
|
||||
{
|
||||
$oes = getData($oeRes);
|
||||
|
||||
foreach ($oes as $oe)
|
||||
{
|
||||
$oe->funktionen = array();
|
||||
$funktionRes = $this->FehlerzustaendigkeitenModel->getNonAssignedFunktionen($fehlercode, $oe->oe_kurzbz);
|
||||
|
||||
if (isError($funktionRes))
|
||||
{
|
||||
$this->outputJsonError(getError($oeRes));
|
||||
return;
|
||||
}
|
||||
|
||||
$funktionData = getData($funktionRes);
|
||||
$oe->funktionen = $funktionData;
|
||||
$oe_funktionen[] = $oe;
|
||||
}
|
||||
}
|
||||
|
||||
if (isError($funktionRes))
|
||||
{
|
||||
$this->outputJsonError(getError($funktionRes));
|
||||
return;
|
||||
}
|
||||
|
||||
$result = array(
|
||||
'mitarbeiter' => getData($mitarbeiterRes),
|
||||
'oe_funktionen' => $oe_funktionen
|
||||
);
|
||||
|
||||
$this->outputJsonSuccess($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a Zuständigkeit after performing error checks.
|
||||
*/
|
||||
public function addZustaendigkeit()
|
||||
{
|
||||
$fehlercode = $this->input->post('fehlercode');
|
||||
$mitarbeiter_person_id = $this->input->post('mitarbeiter_person_id');
|
||||
$oe_kurzbz = $this->input->post('oe_kurzbz');
|
||||
$funktion_kurzbz = $this->input->post('funktion_kurzbz');
|
||||
|
||||
if (isEmptyString($fehlercode))
|
||||
$this->outputJsonError($this->p->t('fehlermonitoring', 'fehlercodeFehlt'));
|
||||
elseif (isEmptyString($mitarbeiter_person_id) && isEmptyString($oe_kurzbz))
|
||||
$this->outputJsonError($this->p->t('fehlermonitoring', 'mitarbeiterUndOeFehlt'));
|
||||
elseif (!isEmptyString($mitarbeiter_person_id) && !isEmptyString($oe_kurzbz))
|
||||
$this->outputJsonError($this->p->t('fehlermonitoring', 'nurOeOderMitarbeiterSetzen'));
|
||||
elseif (isset($mitarbeiter_person_id) && !is_numeric($mitarbeiter_person_id))
|
||||
$this->outputJsonError($this->p->t('fehlermonitoring', 'ungueltigeMitarbeiterId'));
|
||||
else
|
||||
{
|
||||
$data = array(
|
||||
'fehlercode' => $fehlercode
|
||||
);
|
||||
|
||||
if (!isEmptyString($mitarbeiter_person_id))
|
||||
$data['person_id'] = $mitarbeiter_person_id;
|
||||
|
||||
if (!isEmptyString($oe_kurzbz))
|
||||
$data['oe_kurzbz'] = $oe_kurzbz;
|
||||
|
||||
if (!isEmptyString($funktion_kurzbz))
|
||||
$data['funktion_kurzbz'] = $funktion_kurzbz;
|
||||
|
||||
$zustaendigkeitExistsRes = $this->FehlerzustaendigkeitenModel->loadWhere($data);
|
||||
|
||||
if (isError($zustaendigkeitExistsRes))
|
||||
$this->outputJsonError(getError($zustaendigkeitExistsRes));
|
||||
elseif (hasData($zustaendigkeitExistsRes))
|
||||
$this->outputJsonError($this->p->t('fehlermonitoring', 'zustaendigkeitExistiert'));
|
||||
else
|
||||
{
|
||||
$data['insertvon'] = $this->_uid;
|
||||
|
||||
$this->outputJson($this->FehlerzustaendigkeitenModel->insert($data));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes a Zuständigkeit.
|
||||
*/
|
||||
public function deleteZustaendigkeit()
|
||||
{
|
||||
$fehlerzustaendigkeiten_id = $this->input->post('fehlerzustaendigkeiten_id');
|
||||
|
||||
// check if Id correctly passed
|
||||
if (!isset($fehlerzustaendigkeiten_id) || !is_numeric($fehlerzustaendigkeiten_id))
|
||||
{
|
||||
$this->outputJsonError($this->p->t('fehlermonitoring', 'ungueltigeZustaendigkeitenId'));
|
||||
return;
|
||||
}
|
||||
|
||||
$this->outputJson($this->FehlerzustaendigkeitenModel->delete($fehlerzustaendigkeiten_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the UID of the logged user and checks if it is valid
|
||||
*/
|
||||
private function _setAuthUID()
|
||||
{
|
||||
$this->_uid = getAuthUID();
|
||||
|
||||
if (!$this->_uid) show_error('User authentification failed');
|
||||
}
|
||||
}
|
||||
@@ -22,11 +22,16 @@ class DB_Model extends CI_Model
|
||||
const PGSQL_BOOLEAN_FALSE = 'f';
|
||||
const PGSQL_BOOLEAN_TYPE = 'bool';
|
||||
const PGSQL_BOOLEAN_ARRAY_TYPE = '_bool';
|
||||
const PGSQL_INT2_TYPE = 'int2';
|
||||
const PGSQL_INT4_TYPE = 'int4';
|
||||
const PGSQL_INT8_TYPE = 'int8';
|
||||
const PGSQL_FLOAT4_TYPE = 'float4';
|
||||
const PGSQL_FLOAT8_TYPE = 'float8';
|
||||
|
||||
protected $dbTable; // Name of the DB-Table for CI-Insert, -Update, ...
|
||||
protected $pk; // Name of the PrimaryKey for DB-Update, Load, ...
|
||||
protected $pk; // Name of the PrimaryKey for DB-Update, Load, ...
|
||||
protected $hasSequence; // False if this table has a composite primary key that is not using a sequence
|
||||
// True if this table has a primary key that uses a sequence
|
||||
// True if this table has a primary key that uses a sequence
|
||||
|
||||
private $executedQueryMetaData;
|
||||
private $executedQueryListFields;
|
||||
@@ -271,11 +276,6 @@ class DB_Model extends CI_Model
|
||||
/**
|
||||
* Load data and convert a record into a list of data from the main table,
|
||||
* and linked to every element, the data from the side tables
|
||||
*
|
||||
* TODO:
|
||||
* - Adding support for composed primary key
|
||||
* - Adding support for cascading side tables (useful?)
|
||||
*
|
||||
* NOTE: sub queries are not supported in the from clause
|
||||
*
|
||||
* @return array
|
||||
@@ -598,6 +598,28 @@ class DB_Model extends CI_Model
|
||||
return $val;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert PG-Int* to PHP-Integer
|
||||
*/
|
||||
public function pgIntPhp($val)
|
||||
{
|
||||
// If it is null, let it be null
|
||||
if ($val == null) return $val;
|
||||
|
||||
return intval($val);
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert PG-Float* to PHP-Float
|
||||
*/
|
||||
public function pgFloatPhp($val)
|
||||
{
|
||||
// If it is null, let it be null
|
||||
if ($val == null) return $val;
|
||||
|
||||
return floatval($val);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts from PostgreSQL array to php array
|
||||
* It also takes care about array of booleans
|
||||
@@ -892,6 +914,11 @@ class DB_Model extends CI_Model
|
||||
// If array type, boolean type OR a UDF
|
||||
if (strpos($eqmd->type, DB_Model::PGSQL_ARRAY_TYPE) !== false
|
||||
|| $eqmd->type == DB_Model::PGSQL_BOOLEAN_TYPE
|
||||
|| $eqmd->type == DB_Model::PGSQL_INT2_TYPE
|
||||
|| $eqmd->type == DB_Model::PGSQL_INT4_TYPE
|
||||
|| $eqmd->type == DB_Model::PGSQL_INT8_TYPE
|
||||
|| $eqmd->type == DB_Model::PGSQL_FLOAT4_TYPE
|
||||
|| $eqmd->type == DB_Model::PGSQL_FLOAT8_TYPE
|
||||
|| $this->udflib->isUDFColumn($eqmd->name, $eqmd->type))
|
||||
{
|
||||
// If UDFs are inside this result set
|
||||
@@ -941,6 +968,19 @@ class DB_Model extends CI_Model
|
||||
{
|
||||
$resultElement->{$toBeConverted->name} = $this->pgBoolPhp($resultElement->{$toBeConverted->name});
|
||||
}
|
||||
// Integer type
|
||||
elseif ($toBeConverted->type == DB_Model::PGSQL_INT2_TYPE
|
||||
|| $toBeConverted->type == DB_Model::PGSQL_INT4_TYPE
|
||||
|| $toBeConverted->type == DB_Model::PGSQL_INT8_TYPE)
|
||||
{
|
||||
$resultElement->{$toBeConverted->name} = $this->pgIntPhp($resultElement->{$toBeConverted->name});
|
||||
}
|
||||
// Float type
|
||||
elseif ($toBeConverted->type == DB_Model::PGSQL_FLOAT4_TYPE
|
||||
|| $toBeConverted->type == DB_Model::PGSQL_FLOAT8_TYPE)
|
||||
{
|
||||
$resultElement->{$toBeConverted->name} = $this->pgFloatPhp($resultElement->{$toBeConverted->name});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,14 +80,24 @@ class AnrechnungLib
|
||||
// Get latest ZGV
|
||||
$result = $this->ci->PrestudentModel->getLatestZGVBezeichnung($prestudent_id);
|
||||
$latest_zgv_bezeichnung = hasData($result) ? getData($result)[0]->bezeichnung : '';
|
||||
|
||||
|
||||
// Get Sum of berufliche and schulische ECTS
|
||||
$result = $this->ci->LehrveranstaltungModel->getEctsSumSchulisch($uid, $prestudent_id, $lv->studiengang_kz);
|
||||
$sumEctsSchulisch = getData($result)[0]->ectssumschulisch;
|
||||
|
||||
$result = $this->ci->LehrveranstaltungModel->getEctsSumBeruflich($uid);
|
||||
$sumEctsBeruflich = getData($result)[0]->ectssumberuflich;
|
||||
|
||||
// Set the given studiensemester
|
||||
$antrag_data->lv_id = $lv_id;
|
||||
$antrag_data->lv_bezeichnung = $lv->bezeichnung;
|
||||
$antrag_data->ects = $lv->ects;
|
||||
$antrag_data->sumEctsSchulisch = $sumEctsSchulisch;
|
||||
$antrag_data->sumEctsBeruflich = $sumEctsBeruflich;
|
||||
$antrag_data->studiensemester_kurzbz = $studiensemester_kurzbz;
|
||||
$antrag_data->vorname = $person->vorname;
|
||||
$antrag_data->nachname = $person->nachname;
|
||||
$antrag_data->student_uid = $uid;
|
||||
$antrag_data->matrikelnr = $student->matrikelnr;
|
||||
$antrag_data->studiengang_kz = $studiengang->studiengang_kz;
|
||||
$antrag_data->stg_bezeichnung = $studiengang->bezeichnung;
|
||||
@@ -112,6 +122,7 @@ class AnrechnungLib
|
||||
|
||||
$anrechnung_data = new StdClass();
|
||||
|
||||
$this->ci->AnrechnungModel->addJoin('lehre.tbl_anrechnung_begruendung', 'begruendung_id');
|
||||
$result = $this->ci->AnrechnungModel->load($anrechnung_id);
|
||||
|
||||
if (isError($result))
|
||||
@@ -145,6 +156,7 @@ class AnrechnungLib
|
||||
$anrechnung_data->prestudent_id = '';
|
||||
$anrechnung_data->lehrveranstaltung = '';
|
||||
$anrechnung_data->begruendung_id = '';
|
||||
$anrechnung_data->begruendung = '';
|
||||
$anrechnung_data->anmerkung = '';
|
||||
$anrechnung_data->dms_id = '';
|
||||
$anrechnung_data->insertamum = '';
|
||||
@@ -155,6 +167,7 @@ class AnrechnungLib
|
||||
$anrechnung_data->status = getUserLanguage() == 'German' ? 'neu' : 'new';
|
||||
$anrechnung_data->dokumentname = '';
|
||||
|
||||
$this->ci->AnrechnungModel->addJoin('lehre.tbl_anrechnung_begruendung', 'begruendung_id');
|
||||
$result = $this->ci->AnrechnungModel->loadWhere(
|
||||
array(
|
||||
'lehrveranstaltung_id' => $lehrveranstaltung_id,
|
||||
@@ -800,6 +813,7 @@ class AnrechnungLib
|
||||
$anrechnung_data->prestudent_id = $anrechnung->prestudent_id;
|
||||
$anrechnung_data->lehrveranstaltung_id = $anrechnung->lehrveranstaltung_id;
|
||||
$anrechnung_data->begruendung_id = $anrechnung->begruendung_id;
|
||||
$anrechnung_data->begruendung = $anrechnung->bezeichnung;
|
||||
$anrechnung_data->anmerkung = $anrechnung->anmerkung_student;
|
||||
$anrechnung_data->dms_id = $anrechnung->dms_id;
|
||||
$anrechnung_data->insertamum = (new DateTime($anrechnung->insertamum))->format('d.m.Y');
|
||||
@@ -823,4 +837,110 @@ class AnrechnungLib
|
||||
|
||||
return $anrechnung_data;
|
||||
}
|
||||
|
||||
/**
|
||||
* If Student is a Quereinsteiger, get ECTS Summe of all angerechnete Studiensemester.
|
||||
*
|
||||
* @param $prestudent_id
|
||||
* @param $studiengang_kz Studiengang_kz der LV
|
||||
* @return int|mixed
|
||||
*/
|
||||
public function getQuereinsteigerEctsSumme($prestudent_id, $studiengang_kz)
|
||||
{
|
||||
$sumEctsQuereinsteiger = 0;
|
||||
|
||||
// Check, if student is Quereinsteiger
|
||||
$this->ci->load->model('crm/Prestudentstatus_model', 'PrestudentstatusModel');
|
||||
$result = $this->ci->PrestudentstatusModel->getFirstStatus($prestudent_id, 'Student');
|
||||
|
||||
$prestudentFirstStudentStatus = getData($result)[0];
|
||||
|
||||
// If Prestudent is not a Quereinsteiger
|
||||
if ($prestudentFirstStudentStatus->ausbildungssemester == 1)
|
||||
{
|
||||
return $sumEctsQuereinsteiger; // return 0
|
||||
}
|
||||
|
||||
$anzahlAngerechneteStudiensemester = $prestudentFirstStudentStatus->ausbildungssemester - 1;
|
||||
|
||||
// If Prestudent is a Quereinsteiger
|
||||
if ($prestudentFirstStudentStatus->ausbildungssemester > 1)
|
||||
{
|
||||
// Get the 'angerechnete Studiensemester'
|
||||
$this->ci->load->model('organisations/Studiensemester_model', 'StudiensemesterModel');
|
||||
$result = $this->ci->StudiensemesterModel->getPreviousFrom(
|
||||
$prestudentFirstStudentStatus->studiensemester_kurzbz,
|
||||
$anzahlAngerechneteStudiensemester
|
||||
);
|
||||
|
||||
// Get ECTS Summe of each 'angerechnetes Studiensemester'
|
||||
foreach (getData($result) as $studiensemester)
|
||||
{
|
||||
$result = $this->ci->LehrveranstaltungModel->getSumQuereinstiegsECTSProSemester(
|
||||
$studiengang_kz,
|
||||
$studiensemester->studiensemester_kurzbz,
|
||||
$anzahlAngerechneteStudiensemester--,
|
||||
$prestudentFirstStudentStatus->orgform_kurzbz
|
||||
);
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
$sumEctsQuereinsteiger = $sumEctsQuereinsteiger + getData($result)[0]->sum_ects;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $sumEctsQuereinsteiger; // return sum of ects of all 'angerechnete Studiensemester'
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe of all Anrechnungen based on schulische Kenntnisse.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return int|mixed
|
||||
*/
|
||||
public function getSchulischeAnrechnungenEctsSumme($student_uid)
|
||||
{
|
||||
$sumEctsSchule = 0;
|
||||
|
||||
$result = $this->ci->LehrveranstaltungModel->getSumAngerechneteECTSByBegruendung($student_uid);
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
foreach (getData($result) as $ects)
|
||||
{
|
||||
if ($ects->begruendung_id != 4)
|
||||
{
|
||||
$sumEctsSchule = $sumEctsSchule + $ects->sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $sumEctsSchule;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe of all Anrechnungen based on berufliche Kenntnisse.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return int
|
||||
*/
|
||||
public function getBeruflicheAnrechnungenEctsSumme($student_uid)
|
||||
{
|
||||
$sumEctsBeruflich = 0;
|
||||
|
||||
$result = $this->ci->LehrveranstaltungModel->getSumAngerechneteECTSByBegruendung($student_uid);
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
foreach (getData($result) as $ects)
|
||||
{
|
||||
if ($ects->begruendung_id == 4)
|
||||
{
|
||||
$sumEctsBeruflich = $ects->sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $sumEctsBeruflich;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,7 @@ class Vertragvertragsstatus_model extends DB_Model
|
||||
|
||||
/**
|
||||
* Get all contracts, where the status had been set to 'bestellt' on given date
|
||||
* @param string $string_date e.g. '01.11.2019' or special Date/Time inputs like 'YESTERDAY', 'TODAY', 'NOW'
|
||||
* @param string $string_date e.g. 'YYYY-MM-DD' or special Date/Time inputs like 'YESTERDAY', 'TODAY', 'NOW'
|
||||
* @param bool $further_processed If true, ALL ordered contracts of that day are retrieved, even if they were
|
||||
* were ALSO approved/accepted/cancelled (further processed) on that same day.
|
||||
* @return array
|
||||
|
||||
@@ -74,10 +74,11 @@ class Konto_model extends DB_Model
|
||||
}
|
||||
}
|
||||
|
||||
public function getLastStudienbeitrag($uid, $buchungstypen)
|
||||
public function getStudienbeitraege($uid, $buchungstypen)
|
||||
{
|
||||
$query = 'SELECT konto.studiensemester_kurzbz
|
||||
FROM public.tbl_konto konto,
|
||||
FROM public.tbl_konto konto
|
||||
JOIN public.tbl_studiensemester studiensemester ON konto.studiensemester_kurzbz = studiensemester.studiensemester_kurzbz,
|
||||
public.tbl_benutzer,
|
||||
public.tbl_student
|
||||
WHERE tbl_benutzer.uid = \'' . $uid . '\'
|
||||
@@ -91,7 +92,7 @@ class Konto_model extends DB_Model
|
||||
WHERE skonto.buchungsnr = konto.buchungsnr_verweis
|
||||
OR skonto.buchungsnr_verweis = konto.buchungsnr_verweis
|
||||
)
|
||||
ORDER BY buchungsnr DESC LIMIT 1;
|
||||
ORDER BY studiensemester.start DESC;
|
||||
';
|
||||
|
||||
return $this->execQuery($query);
|
||||
|
||||
@@ -52,6 +52,24 @@ class Prestudentstatus_model extends DB_Model
|
||||
return $this->execQuery($query, $parametersArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Ersten Status eines Prestudenten mit der übergebenen Statuskurzbezeichnung.
|
||||
*
|
||||
* @param $prestudent_id
|
||||
* @param $status_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function getFirstStatus($prestudent_id, $status_kurzbz)
|
||||
{
|
||||
$this->addOrder('datum, insertamum, ext_id');
|
||||
$this->addLimit(1);
|
||||
|
||||
return $this->loadWhere(array(
|
||||
'prestudent_id' => $prestudent_id,
|
||||
'status_kurzbz' => $status_kurzbz
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* updateStufe
|
||||
*/
|
||||
|
||||
@@ -66,4 +66,20 @@ class Student_model extends DB_Model
|
||||
|
||||
return $result->retval[0]->student_uid;
|
||||
}
|
||||
|
||||
public function searchStudent($filter)
|
||||
{
|
||||
$this->addSelect('vorname, nachname, gebdatum, person.person_id, student_uid');
|
||||
$this->addJoin('public.tbl_prestudent ps', 'prestudent_id');
|
||||
$this->addJoin('public.tbl_person person', 'person_id');
|
||||
|
||||
$result = $this->loadWhere(
|
||||
"lower(student_uid) like ".$this->db->escape('%'.$filter.'%')."
|
||||
OR lower(person.nachname) like ".$this->db->escape('%'.$filter.'%')."
|
||||
OR lower(person.vorname) like ".$this->db->escape('%'.$filter.'%')."
|
||||
OR lower(person.nachname || ' ' || person.vorname) like ".$this->db->escape('%'.$filter.'%')."
|
||||
OR lower(person.vorname || ' ' || person.nachname) like ".$this->db->escape('%'.$filter.'%'));
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -309,4 +309,166 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
|
||||
return $this->execQuery($query, array($uid, $studiensemester_kurzbz, $lehrveranstaltung_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sucht nach LV Templates und gibt Id und Label ("bezeichnung [kurzbz]") aus
|
||||
* Diese funktion ist für autocomplete gedacht
|
||||
*
|
||||
* @param string $filter Suchfilter
|
||||
* @return \stdClass A return object
|
||||
*/
|
||||
public function loadTemplates($filter)
|
||||
{
|
||||
$filter = strtolower($filter);
|
||||
$qry = "SELECT
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrtyp_kurzbz = 'tpl' AND (
|
||||
CAST(tbl_lehrveranstaltung.lehrveranstaltung_id AS TEXT) LIKE '%".$this->db_escape($filter)."%' OR
|
||||
LOWER(tbl_lehrveranstaltung.bezeichnung) LIKE '%".$this->db_escape($filter). "%' OR
|
||||
LOWER(tbl_lehrveranstaltung.kurzbz) LIKE '%".$this->db_escape($filter). "%'
|
||||
)
|
||||
";
|
||||
return $this->execQuery($qry);
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt Template und gibt Id und Label ("bezeichnung [kurzbz]") zurück
|
||||
* Diese funktion ist für autocomplete gedacht
|
||||
*
|
||||
* @param string $name
|
||||
* @return \stdClass A return object
|
||||
*/
|
||||
public function loadTemplateByName($name)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id as id, CONCAT(tbl_lehrveranstaltung.bezeichnung, ' [', tbl_lehrveranstaltung.kurzbz, ']') as label
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrtyp_kurzbz = 'tpl' AND (
|
||||
CAST(tbl_lehrveranstaltung.lehrveranstaltung_id AS TEXT) = '".($name ? $this->db_escape($name) : 0)."' OR tbl_lehrveranstaltung.bezeichnung = '".$this->db_escape($name). "' OR tbl_lehrveranstaltung.kurzbz = '".$this->db_escape($name). "'
|
||||
)
|
||||
";
|
||||
return $this->execQuery($qry);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get ECTS Summe pro angerechnetes Quereinstiegssemester.
|
||||
*
|
||||
* @param $studiengang_kz
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $ausbildungssemester
|
||||
* @param $orgform_kurzbz
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getSumQuereinstiegsECTSProSemester($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester, $orgform_kurzbz)
|
||||
{
|
||||
$qry = '
|
||||
SELECT
|
||||
sum(tbl_lehrveranstaltung.ects) as "sum_ects"
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung USING (studienplan_id)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_studienplan.studienplan_id = (
|
||||
SELECT
|
||||
studienplan_id
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
JOIN lehre.tbl_studienplan USING (studienordnung_id)
|
||||
JOIN lehre.tbl_studienplan_semester USING (studienplan_id)
|
||||
WHERE tbl_studienordnung.studiengang_kz = ?
|
||||
AND tbl_studienplan_semester.semester = ?
|
||||
AND tbl_studienplan_semester.studiensemester_kurzbz = ?
|
||||
AND tbl_studienplan.orgform_kurzbz = ?
|
||||
|
||||
LIMIT 1
|
||||
)
|
||||
AND tbl_studienplan_lehrveranstaltung.semester = ?
|
||||
AND studienplan_lehrveranstaltung_id_parent IS NULL -- auf Modulebene
|
||||
AND tbl_studienplan_lehrveranstaltung.export = TRUE
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array(
|
||||
$studiengang_kz, $ausbildungssemester, $studiensemester_kurzbz, $orgform_kurzbz, $ausbildungssemester)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe aller bisher angerechneten LVs.
|
||||
* Wenn keine explizite Begruendung angegeben ist, wird eine schulische Begruendung angenommen.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getSumAngerechneteECTSByBegruendung($student_uid)
|
||||
{
|
||||
$qry = '
|
||||
SELECT sum(ects), begruendung_id FROM (
|
||||
SELECT
|
||||
lehrveranstaltung_id, studiensemester_kurzbz, ects, COALESCE(begruendung_id, 1) as begruendung_id -- fallback auf externes Zeugnis
|
||||
FROM
|
||||
lehre.tbl_zeugnisnote
|
||||
LEFT JOIN lehre.tbl_anrechnung USING(lehrveranstaltung_id, studiensemester_kurzbz)
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN public.tbl_student USING(student_uid)
|
||||
WHERE
|
||||
tbl_zeugnisnote.note = 6
|
||||
AND student_uid = ?
|
||||
AND (lehre.tbl_anrechnung.prestudent_id = tbl_student.prestudent_id
|
||||
OR lehre.tbl_anrechnung.prestudent_id is null)
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
lehrveranstaltung_id, studiensemester_kurzbz, ects, begruendung_id -- fallback auf externes Zeugnis
|
||||
FROM
|
||||
lehre.tbl_anrechnung
|
||||
JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
JOIN public.tbl_student USING(prestudent_id)
|
||||
WHERE
|
||||
genehmigt_von is not null
|
||||
AND student_uid = ?
|
||||
) lvsangerechnet
|
||||
GROUP BY begruendung_id
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array($student_uid, $student_uid));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe aller bisher schulisch begruendeten angerechneten LVs.
|
||||
* Derzeit wird auch jede Anrechnung, die nicht beruflich ist, als schulisch angenommen.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getEctsSumSchulisch($student_uid, $prestudent_id, $studiengang_kz)
|
||||
{
|
||||
$qry = '
|
||||
SELECT get_ects_summe_schulisch(?, ?, ?) AS ectsSumSchulisch
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array($student_uid, $prestudent_id, $studiengang_kz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get ECTS Summe aller bisher beruflich angerechneten LVs.
|
||||
*
|
||||
* @param $student_uid
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getEctsSumBeruflich($student_uid)
|
||||
{
|
||||
$qry = '
|
||||
SELECT get_ects_summe_beruflich(?) AS ectsSumBeruflich
|
||||
';
|
||||
|
||||
return $this->execQuery($qry, array($student_uid));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ class Studiensemester_model extends DB_Model
|
||||
/**
|
||||
* getPreviousFrom
|
||||
*/
|
||||
public function getPreviousFrom($studiensemester_kurzbz)
|
||||
public function getPreviousFrom($studiensemester_kurzbz, $limit = 1)
|
||||
{
|
||||
$query = 'SELECT studiensemester_kurzbz,
|
||||
start,
|
||||
@@ -117,9 +117,9 @@ class Studiensemester_model extends DB_Model
|
||||
WHERE studiensemester_kurzbz = ?
|
||||
)
|
||||
ORDER BY start DESC
|
||||
LIMIT 1';
|
||||
LIMIT ?';
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz));
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz, $limit));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -82,7 +82,7 @@ class Person_model extends DB_Model
|
||||
}
|
||||
else
|
||||
{
|
||||
$person['svnr'] = $person['svnr'] . 'v' . ($result->retval[0]->svnr{11} + 1);
|
||||
$person['svnr'] = $person['svnr'] . 'v' . ($result->retval[0]->svnr[11] + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -283,8 +283,8 @@ class Person_model extends DB_Model
|
||||
SELECT p2.person_id
|
||||
FROM public.tbl_person p
|
||||
JOIN public.tbl_person p2
|
||||
ON p.vorname = p2.vorname
|
||||
AND p.nachname = p2.nachname
|
||||
ON lower(p.vorname) = lower(p2.vorname)
|
||||
AND lower(p.nachname) = lower(p2.nachname)
|
||||
AND p.gebdatum = p2.gebdatum
|
||||
AND p.person_id = ?
|
||||
)
|
||||
@@ -310,8 +310,8 @@ class Person_model extends DB_Model
|
||||
SELECT p2.person_id
|
||||
FROM public.tbl_person p
|
||||
JOIN public.tbl_person p2
|
||||
ON p.vorname = p2.vorname
|
||||
AND p.nachname = p2.nachname
|
||||
ON lower(p.vorname) = lower(p2.vorname)
|
||||
AND lower(p.nachname) = lower(p2.nachname)
|
||||
AND p.gebdatum = p2.gebdatum
|
||||
AND p.person_id = ?
|
||||
)
|
||||
@@ -321,8 +321,18 @@ class Person_model extends DB_Model
|
||||
JOIN public.tbl_status USING(status_kurzbz)
|
||||
WHERE status_kurzbz = 'Abbrecher'
|
||||
)
|
||||
";
|
||||
|
||||
return $this->execQuery($qry, array($person_id, $person_id));
|
||||
UNION
|
||||
|
||||
SELECT p2.person_id
|
||||
FROM tbl_person p1
|
||||
INNER JOIN (
|
||||
SELECT vorname, nachname, gebdatum, person_id
|
||||
FROM tbl_person
|
||||
) p2
|
||||
ON (lower(p1.vorname) = lower(p2.vorname) AND lower(p1.nachname) = lower(p2.nachname) AND p1.gebdatum = p2.gebdatum)
|
||||
WHERE p1.person_id != p2.person_id AND (p1.person_id = ?)";
|
||||
|
||||
return $this->execQuery($qry, array($person_id, $person_id, $person_id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,4 +72,28 @@ class Betriebsmittelperson_model extends DB_Model
|
||||
|
||||
return $this->loadWhere($where);
|
||||
}
|
||||
|
||||
public function getBetriebsmittelByUid($uid, $betriebsmitteltyp = null, $isRetourniert = false)
|
||||
{
|
||||
$this->addJoin('wawi.tbl_betriebsmittel', 'betriebsmittel_id');
|
||||
|
||||
$condition = ' wawi.tbl_betriebsmittelperson.uid = '. $this->escape($uid);
|
||||
|
||||
if (is_string($betriebsmitteltyp))
|
||||
{
|
||||
$condition .= ' AND betriebsmitteltyp = ' . $this->escape($betriebsmitteltyp);
|
||||
}
|
||||
|
||||
if ($isRetourniert === true) {
|
||||
$condition .= ' AND retouram IS NOT NULL';
|
||||
}
|
||||
elseif ($isRetourniert === false)
|
||||
{
|
||||
$condition .= ' AND retouram IS NULL';
|
||||
}
|
||||
|
||||
$this->addOrder('ausgegebenam', 'DESC');
|
||||
|
||||
return $this->loadWhere($condition);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ class Benutzerrolle_model extends DB_Model
|
||||
* @param null $oe_kurzbz
|
||||
* @return array
|
||||
*/
|
||||
public function getBenutzerByBerechtigung($berechtigung_kurzbz, $oe_kurzbz = null)
|
||||
public function getBenutzerByBerechtigung($berechtigung_kurzbz, $oe_kurzbz = null, $art = null)
|
||||
{
|
||||
$params = array();
|
||||
$query = '
|
||||
@@ -62,6 +62,12 @@ class Benutzerrolle_model extends DB_Model
|
||||
$params[] = $oe_kurzbz;
|
||||
}
|
||||
|
||||
if (!is_null($art))
|
||||
{
|
||||
$query .= ' AND art = ?';
|
||||
$params[] = $art;
|
||||
}
|
||||
|
||||
return $this->execQuery($query, $params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
class Fehlerzustaendigkeiten_model extends DB_Model
|
||||
{
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->dbTable = 'system.tbl_fehler_zustaendigkeiten';
|
||||
$this->pk = 'fehlerzustaendigkeiten_id';
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets active Mitarbeiter not assigned to a Fehler.
|
||||
* @param $fehlercode
|
||||
* @return object
|
||||
*/
|
||||
public function getNonAssignedMitarbeiter($fehlercode)
|
||||
{
|
||||
$query = "SELECT person_id, ben.uid, vorname, nachname, titelpre, titelpost, personalnummer
|
||||
FROM public.tbl_mitarbeiter
|
||||
JOIN public.tbl_benutzer ben ON tbl_mitarbeiter.mitarbeiter_uid = ben.uid
|
||||
JOIN public.tbl_person pers USING (person_id)
|
||||
WHERE ben.aktiv
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM system.tbl_fehler_zustaendigkeiten
|
||||
WHERE person_id = pers.person_id
|
||||
AND fehlercode = ?
|
||||
)
|
||||
ORDER BY nachname, vorname, uid";
|
||||
|
||||
return $this->execReadOnlyQuery($query, array($fehlercode));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Funktionen not assigned to a Fehler (over an organisational unit).
|
||||
* @param $fehlercode
|
||||
* @param $oe_kurzbz
|
||||
* @return object
|
||||
*/
|
||||
public function getNonAssignedFunktionen($fehlercode, $oe_kurzbz)
|
||||
{
|
||||
$query = "SELECT funktion_kurzbz, beschreibung
|
||||
FROM public.tbl_funktion funk
|
||||
WHERE aktiv
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM system.tbl_fehler_zustaendigkeiten
|
||||
WHERE funktion_kurzbz = funk.funktion_kurzbz
|
||||
AND fehlercode = ?
|
||||
AND oe_kurzbz = ?
|
||||
)
|
||||
ORDER BY beschreibung";
|
||||
|
||||
return $this->execReadOnlyQuery($query, array($fehlercode, $oe_kurzbz));
|
||||
}
|
||||
}
|
||||
@@ -44,7 +44,8 @@ $this->load->view(
|
||||
'empfehlungsanforderungWirklichZuruecknehmen',
|
||||
'erfolgreichZurueckgenommen',
|
||||
'empfehlungPositivConfirmed',
|
||||
'empfehlungNegativConfirmed'
|
||||
'empfehlungNegativConfirmed',
|
||||
'anrechnungEctsTooltipTextBeiUeberschreitung'
|
||||
)
|
||||
),
|
||||
'customCSSs' => array(
|
||||
@@ -59,7 +60,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- header -->
|
||||
@@ -124,11 +124,27 @@ $this->load->view(
|
||||
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('lehre', 'ects'); ?></th>
|
||||
<td><?php echo $antragData->ects ?></td>
|
||||
<td colspan="3"><span id="ects"><?php echo $antragData->ects ?></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4">
|
||||
<?php echo $this->p->t('anrechnung', 'bisherAngerechneteEcts'); ?>
|
||||
<span class="approveAnrechnungDetail-anrechnungEctsTooltip"
|
||||
data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
Total: <span id="sumEctsTotal"><?php echo number_format($antragData->sumEctsSchulisch + $antragData->sumEctsBeruflich, 1) ?></span>
|
||||
[Schulisch: <span id="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>"><?php echo $antragData->sumEctsSchulisch ?></span> /
|
||||
Beruflich: <span id="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>"><?php echo $antragData->sumEctsBeruflich ?></span> ]
|
||||
<span id="sumEctsMsg"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('lehre', 'lektorInnen'); ?></th>
|
||||
<td>
|
||||
<td colspan="3">
|
||||
<?php $len = count($antragData->lektoren) - 1 ?>
|
||||
<?php foreach ($antragData->lektoren as $key => $lektor): ?>
|
||||
<?php echo $lektor->vorname . ' ' . $lektor->nachname;
|
||||
@@ -138,19 +154,23 @@ $this->load->view(
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo ucfirst($this->p->t('global', 'zgv')); ?></th>
|
||||
<td><?php echo $antragData->zgv ?></td>
|
||||
<td colspan="3"><?php echo $antragData->zgv ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'herkunftDerKenntnisse'); ?></th>
|
||||
<td><?php echo $anrechnungData->anmerkung ?></td>
|
||||
<td colspan="3"><?php echo $anrechnungData->anmerkung ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('anrechnung', 'nachweisdokumente'); ?></th>
|
||||
<td>
|
||||
<td colspan="3">
|
||||
<a href="<?php echo current_url() . '/download?dms_id=' . $anrechnungData->dms_id; ?>"
|
||||
target="_blank"><?php echo htmlentities($anrechnungData->dokumentname) ?></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="col-xs-4"><?php echo $this->p->t('global', 'begruendung'); ?></th>
|
||||
<td colspan="3"><span id="begruendung_id" data-begruendung_id="<?php echo $anrechnungData->begruendung_id ?>" ><?php echo $anrechnungData->begruendung ?></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -178,8 +198,10 @@ $this->load->view(
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<form id="form-empfehlung">
|
||||
<input type="hidden" name="anrechnung_id"
|
||||
value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="anrechnung_id" value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="ects" value="<?php echo $antragData->ects ?>">
|
||||
<input type="hidden" name="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>">
|
||||
<input type="hidden" name="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>">
|
||||
<table class="table table-bordered table-condensed table-fixed">
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -291,38 +313,44 @@ $this->load->view(
|
||||
<div style="display: none" id="approveAnrechnungDetail-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'genehmigungNegativQuestion'); ?></h4>
|
||||
<b> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></b><br><br>
|
||||
<ul>
|
||||
<li>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertig'); ?></span>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativEctsHoechstgrenzeUeberschritten'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'genehmigungNegativEmpfehlungstextUebernehmen'); ?></span>
|
||||
<span id="empfehlungstextUebernehmen" class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span id="empfehlungstextUebernehmen" class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></li>
|
||||
</ul>
|
||||
<br>
|
||||
<textarea class="form-control" name="begruendung"
|
||||
id="approveAnrechnungDetail-begruendung"
|
||||
rows="2" required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>" required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
@@ -399,6 +427,5 @@ $this->load->view(
|
||||
|
||||
</div><!--end container-fluid-->
|
||||
</div><!--end page-wrapper-->
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -87,7 +87,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- title -->
|
||||
@@ -134,28 +133,34 @@ $this->load->view(
|
||||
id="approveAnrechnungUebersicht-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'genehmigungenNegativQuestion'); ?></h4>
|
||||
<b><?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></b><br><br>
|
||||
<ol>
|
||||
<li><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertig'); ?>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></li>
|
||||
</ol>
|
||||
<br>
|
||||
<b><?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?>
|
||||
<span class="text-danger">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungWirdFuerAlleUebernommen'); ?>
|
||||
</span><br><br>
|
||||
</span></b>
|
||||
<br><br>
|
||||
<ol class="list-group">
|
||||
<li class="list-group-item"><?php echo $this->p->t('anrechnung', 'genehmigungNegativPruefungNichtMoeglich'); ?>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item"><?php echo $this->p->t('anrechnung', 'genehmigungNegativKenntnisseNichtGleichwertig'); ?>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item"><?php echo $this->p->t('anrechnung', 'genehmigungNegativEctsHoechstgrenzeUeberschritten'); ?>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="left"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
</ol>
|
||||
<textarea class="form-control" name="begruendung" id="approveAnrechnungUebersicht-begruendung"
|
||||
rows="2" required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>" required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Action Button 'Abbrechen'-->
|
||||
@@ -249,6 +254,5 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -16,7 +16,7 @@ $query = '
|
||||
anrechnung.dms_id,
|
||||
anrechnung.studiensemester_kurzbz,
|
||||
stg.studiengang_kz,
|
||||
stg.bezeichnung AS "stg_bezeichnung",
|
||||
stg.bezeichnung AS stg_bezeichnung,
|
||||
lv.orgform_kurzbz,
|
||||
(SELECT ausbildungssemester
|
||||
FROM public.tbl_prestudentstatus press
|
||||
@@ -26,8 +26,10 @@ $query = '
|
||||
ORDER BY press.datum DESC
|
||||
LIMIT 1
|
||||
),
|
||||
lv.bezeichnung AS "lv_bezeichnung",
|
||||
lv.ects,
|
||||
lv.bezeichnung AS lv_bezeichnung,
|
||||
lv.ects::numeric(4,1),
|
||||
get_ects_summe_schulisch(student.student_uid, anrechnung.prestudent_id, stg.studiengang_kz) AS ectsSumSchulisch,
|
||||
get_ects_summe_beruflich(student.student_uid) AS ectsSumBeruflich,
|
||||
(person.nachname || \' \' || person.vorname) AS "student",
|
||||
begruendung.bezeichnung AS "begruendung",
|
||||
dmsversion.name AS "dokument_bezeichnung",
|
||||
@@ -49,7 +51,9 @@ $query = '
|
||||
WHERE anrechnung_id = anrechnung.anrechnung_id
|
||||
ORDER BY insertamum DESC
|
||||
LIMIT 1
|
||||
) AS status_kurzbz
|
||||
) AS status_kurzbz,
|
||||
student.student_uid,
|
||||
anrechnung.prestudent_id
|
||||
FROM lehre.tbl_anrechnung AS anrechnung
|
||||
JOIN public.tbl_prestudent USING (prestudent_id)
|
||||
JOIN public.tbl_person AS person USING (person_id)
|
||||
@@ -58,44 +62,69 @@ $query = '
|
||||
LEFT JOIN campus.tbl_dms_version AS dmsversion USING (dms_id)
|
||||
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (anrechnung_id)
|
||||
JOIN lehre.tbl_anrechnung_begruendung AS begruendung USING (begruendung_id)
|
||||
JOIN public.tbl_student student USING (prestudent_id)
|
||||
WHERE anrechnung.studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
AND stg.studiengang_kz IN (' . $STUDIENGAENGE_ENTITLED . ')
|
||||
)
|
||||
|
||||
SELECT anrechnungen.*,
|
||||
array_to_json(anrechnungstatus.bezeichnung_mehrsprachig::varchar[])->>' . $LANGUAGE_INDEX . ' AS "status_bezeichnung",
|
||||
CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT insertamum::date
|
||||
FROM lehre.tbl_anrechnungstatus
|
||||
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (status_kurzbz)
|
||||
WHERE anrechnung_id = anrechnungen.anrechnung_id
|
||||
AND status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR . '\'
|
||||
ORDER BY insertamum DESC
|
||||
LIMIT 1)
|
||||
END "empfehlungsanfrageAm",
|
||||
CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT COALESCE(
|
||||
STRING_AGG(CONCAT_WS(\' \', vorname, nachname), \', \') FILTER (WHERE lvleiter = TRUE),
|
||||
STRING_AGG(CONCAT_WS(\' \', vorname, nachname), \', \') FILTER (WHERE lvleiter = FALSE)
|
||||
) empfehlungsanfrageAn
|
||||
FROM (
|
||||
SELECT DISTINCT ON (benutzer.uid) uid, vorname, nachname,
|
||||
CASE WHEN lehrfunktion_kurzbz = \'LV-Leitung\' THEN TRUE ELSE FALSE END AS lvleiter
|
||||
FROM lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
|
||||
JOIN public.tbl_benutzer benutzer ON lema.mitarbeiter_uid = benutzer.uid
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
AND lehrveranstaltung_id = anrechnungen.lehrveranstaltung_id
|
||||
AND lema.mitarbeiter_uid NOT like \'_Dummy%\'
|
||||
AND benutzer.aktiv = TRUE
|
||||
AND tbl_person.aktiv = TRUE
|
||||
ORDER BY benutzer.uid, lvleiter DESC, nachname, vorname
|
||||
) as tmp_lvlektoren
|
||||
)
|
||||
END "empfehlungsanfrageAn"
|
||||
SELECT anrechnungen.anrechnung_id,
|
||||
anrechnungen.lehrveranstaltung_id,
|
||||
anrechnungen.begruendung_id,
|
||||
anrechnungen.dms_id,
|
||||
anrechnungen.studiensemester_kurzbz,
|
||||
anrechnungen.studiengang_kz,
|
||||
anrechnungen.stg_bezeichnung,
|
||||
anrechnungen.orgform_kurzbz,
|
||||
anrechnungen.ausbildungssemester,
|
||||
anrechnungen.lv_bezeichnung,
|
||||
anrechnungen.ects::float4 AS ects,
|
||||
NULL AS "ectsSumBisherUndNeu",
|
||||
anrechnungen.ectsSumSchulisch::float4 AS "ectsSumSchulisch",
|
||||
anrechnungen.ectsSumBeruflich::float4 AS "ectsSumBeruflich",
|
||||
anrechnungen.begruendung,
|
||||
anrechnungen.student,
|
||||
anrechnungen.dokument_bezeichnung,
|
||||
anrechnungen.anmerkung_student,
|
||||
anrechnungen.zgv,
|
||||
anrechnungen.antragsdatum,
|
||||
anrechnungen.empfehlung_anrechnung,
|
||||
anrechnungen.status_kurzbz,
|
||||
array_to_json(anrechnungstatus.bezeichnung_mehrsprachig::varchar[])->>' . $LANGUAGE_INDEX . ' AS "status_bezeichnung",
|
||||
anrechnungen.prestudent_id,
|
||||
CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT insertamum::date
|
||||
FROM lehre.tbl_anrechnungstatus
|
||||
JOIN lehre.tbl_anrechnung_anrechnungstatus USING (status_kurzbz)
|
||||
WHERE anrechnung_id = anrechnungen.anrechnung_id
|
||||
AND status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_LEKTOR . '\'
|
||||
ORDER BY insertamum DESC
|
||||
LIMIT 1)
|
||||
END "empfehlungsanfrageAm",
|
||||
CASE
|
||||
WHEN (anrechnungen.empfehlung_anrechnung IS NULL AND anrechnungen.status_kurzbz = \'' . ANRECHNUNGSTATUS_PROGRESSED_BY_STGL . '\') THEN NULL
|
||||
ELSE
|
||||
(SELECT COALESCE(
|
||||
STRING_AGG(CONCAT_WS(\' \', vorname, nachname), \', \') FILTER (WHERE lvleiter = TRUE),
|
||||
STRING_AGG(CONCAT_WS(\' \', vorname, nachname), \', \') FILTER (WHERE lvleiter = FALSE)
|
||||
) empfehlungsanfrageAn
|
||||
FROM (
|
||||
SELECT DISTINCT ON (benutzer.uid) uid, vorname, nachname,
|
||||
CASE WHEN lehrfunktion_kurzbz = \'LV-Leitung\' THEN TRUE ELSE FALSE END AS lvleiter
|
||||
FROM lehre.tbl_lehreinheit
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter lema USING (lehreinheit_id)
|
||||
JOIN public.tbl_benutzer benutzer ON lema.mitarbeiter_uid = benutzer.uid
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
AND lehrveranstaltung_id = anrechnungen.lehrveranstaltung_id
|
||||
AND lema.mitarbeiter_uid NOT like \'_Dummy%\'
|
||||
AND benutzer.aktiv = TRUE
|
||||
AND tbl_person.aktiv = TRUE
|
||||
ORDER BY benutzer.uid, lvleiter DESC, nachname, vorname
|
||||
) as tmp_lvlektoren
|
||||
)
|
||||
END "empfehlungsanfrageAn"
|
||||
FROM anrechnungen
|
||||
JOIN lehre.tbl_anrechnungstatus as anrechnungstatus ON (anrechnungstatus.status_kurzbz = anrechnungen.status_kurzbz)
|
||||
WHERE studiensemester_kurzbz = \'' . $STUDIENSEMESTER . '\'
|
||||
@@ -118,9 +147,12 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('lehre', 'organisationsform')),
|
||||
'Semester',
|
||||
ucfirst($this->p->t('lehre', 'lehrveranstaltung')),
|
||||
'ECTS',
|
||||
ucfirst($this->p->t('person', 'studentIn')),
|
||||
'ECTS (LV)',
|
||||
'ECTS (LV + Bisher)',
|
||||
'ECTS (Bisher schulisch)',
|
||||
'ECTS (Bisher beruflich',
|
||||
ucfirst($this->p->t('global', 'begruendung')),
|
||||
ucfirst($this->p->t('person', 'studentIn')),
|
||||
ucfirst($this->p->t('anrechnung', 'nachweisdokumente')),
|
||||
ucfirst($this->p->t('anrechnung', 'herkunft')),
|
||||
ucfirst($this->p->t('global', 'zgv')),
|
||||
@@ -128,6 +160,7 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlung')),
|
||||
'status_kurzbz',
|
||||
'Status',
|
||||
'PrestudentID',
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAm')),
|
||||
ucfirst($this->p->t('anrechnung', 'empfehlungsanfrageAn'))
|
||||
),
|
||||
@@ -155,8 +188,8 @@ $filterWidgetArray = array(
|
||||
rowFormatter:function(row){
|
||||
func_rowFormatter(row);
|
||||
},
|
||||
rowUpdated:function(row){
|
||||
func_rowUpdated(row);
|
||||
rowSelectionChanged:function(data, rows){
|
||||
func_rowSelectionChanged(data, rows);
|
||||
},
|
||||
tooltips: function(cell){
|
||||
return func_tooltips(cell);
|
||||
@@ -174,8 +207,11 @@ $filterWidgetArray = array(
|
||||
ausbildungssemester: {headerFilter:"input"},
|
||||
lv_bezeichnung: {headerFilter:"input"},
|
||||
ects: {headerFilter:"input", align:"center"},
|
||||
ectsSumBisherUndNeu: {formatter: format_ectsSumBisherUndNeu},
|
||||
ectsSumSchulisch: {visible: false, headerFilter:"input", align:"right"},
|
||||
ectsSumBeruflich: {visible: false, headerFilter:"input", align:"right"},
|
||||
begruendung: {headerFilter:"input", visible: true},
|
||||
student: {headerFilter:"input"},
|
||||
begruendung: {headerFilter:"input"},
|
||||
zgv: {visible: false, headerFilter:"input"},
|
||||
dokument_bezeichnung: {headerFilter:"input", formatter:"link", formatterParams:{
|
||||
labelField:"dokument_bezeichnung",
|
||||
@@ -187,6 +223,7 @@ $filterWidgetArray = array(
|
||||
empfehlung_anrechnung: {headerFilter:"input", align:"center", formatter: format_empfehlung_anrechnung, headerFilterFunc: hf_filterTrueFalse},
|
||||
status_kurzbz: {visible: false, headerFilter:"input"},
|
||||
status_bezeichnung: {headerFilter:"input"},
|
||||
prestudent_id: {visible: false, headerFilter:"input"},
|
||||
empfehlungsanfrageAm: {visible: false, align:"center", headerFilter:"input", mutator: mut_formatStringDate},
|
||||
empfehlungsanfrageAn: {visible: false, headerFilter:"input"}
|
||||
}', // col properties
|
||||
|
||||
@@ -38,7 +38,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
|
||||
@@ -170,4 +169,5 @@ $this->load->view(
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -31,7 +31,9 @@ $this->load->view(
|
||||
),
|
||||
'anrechnung' => array(
|
||||
'deadlineUeberschritten',
|
||||
'benotungDerLV'
|
||||
'benotungDerLV',
|
||||
'anrechnungEctsTextBeiUeberschreitung',
|
||||
'anrechnungEctsTooltipTextBeiUeberschreitung'
|
||||
),
|
||||
'person' => array(
|
||||
'student',
|
||||
@@ -60,7 +62,6 @@ $this->load->view(
|
||||
}
|
||||
</style>
|
||||
|
||||
<body>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- header -->
|
||||
@@ -80,9 +81,13 @@ $this->load->view(
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<form id="requestAnrechnung-form">
|
||||
<input type="hidden" name="anrechnung_id" id="anrechnung_id" value="<?php echo $anrechnungData->anrechnung_id ?>">
|
||||
<input type="hidden" name="lv_id" value="<?php echo $antragData->lv_id ?>">
|
||||
<input type="hidden" name="studiensemester" value="<?php echo $antragData->studiensemester_kurzbz ?>">
|
||||
<!-- Antragsdaten -->
|
||||
<input type="hidden" name="ects" value="<?php echo $antragData->ects ?>">
|
||||
<input type="hidden" name="sumEctsSchulisch" value="<?php echo $antragData->sumEctsSchulisch ?>">
|
||||
<input type="hidden" name="sumEctsBeruflich" value="<?php echo $antragData->sumEctsBeruflich ?>">
|
||||
<!-- Antragsdaten -->
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-default">
|
||||
@@ -119,8 +124,23 @@ $this->load->view(
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $this->p->t('lehre', 'ects'); ?></th>
|
||||
<td><?php echo $antragData->ects ?></td>
|
||||
<td><span id="ects"><?php echo number_format($antragData->ects, 1) ?> ECTS</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
<?php echo $this->p->t('anrechnung', 'bisherAngerechneteEcts'); ?>
|
||||
<span data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungEctsTooltipText'); ?>">
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</th>
|
||||
<td colspan="3">
|
||||
Total ECTS: <span id="sumEctsTotal"><?php echo number_format($antragData->sumEctsSchulisch + $antragData->sumEctsBeruflich, 1) ?></span>
|
||||
[ Schulisch: <span id="sumEctsSchulisch"><?php echo $antragData->sumEctsSchulisch ?></span> |
|
||||
Beruflich: <span id="sumEctsBeruflich"><?php echo $antragData->sumEctsBeruflich ?></span> ]
|
||||
<span id="requestAnrechnung-maxEctsUeberschrittenMsg"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo ucfirst($this->p->t('lehre', 'lektorInnen')); ?></th>
|
||||
<td>
|
||||
@@ -152,6 +172,17 @@ $this->load->view(
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="radio" name="begruendung" value="5" required
|
||||
<?php echo $anrechnungData->begruendung_id == '5' ? 'checked' : ''; ?> />
|
||||
<?php echo $this->p->t('anrechnung', 'antragStellenWegenHochschulzeugnis'); ?> 
|
||||
<span id="requestAnrechnung-anrechnungGrundHochschulzeugnisTooltip" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('anrechnung', 'anrechnungGrundZeugnisTooltipText'); ?>" />
|
||||
<i class="fa fa-lg fa-info-circle" aria-hidden="true"></i>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<input type="radio" name="begruendung" value="4" required
|
||||
@@ -180,7 +211,7 @@ $this->load->view(
|
||||
<div class="form-inline panel-body">
|
||||
<div class="form-group">
|
||||
<input type="file" id="requestAnrechnung-uploadfile"
|
||||
name="uploadfile" accept=".pdf" size="50" data-maxsize="<?php echo (int)ini_get('upload_max_filesize') * 1024 ?>"
|
||||
name="uploadfile" accept=".pdf" size="50" data-maxsize="<?php echo (int)ini_get('upload_max_filesize') * 1024 * 1024 ?>"
|
||||
required>
|
||||
</div>
|
||||
<span id="requestAnrechnung-uploadTooltip" data-toggle="tooltip" data-placement="right"
|
||||
@@ -261,6 +292,5 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -52,7 +52,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- title -->
|
||||
@@ -225,31 +224,29 @@ $this->load->view(
|
||||
<div class="panel panel-default panel-body" style="display: none" id="reviewAnrechnungDetail-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'empfehlungNegativQuestion'); ?></h4>
|
||||
 
|
||||
<b> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></b><br><br>
|
||||
<ul>
|
||||
<li>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativPruefungNichtMoeglich'); ?></span> 
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativKenntnisseNichtGleichwertig'); ?></span> 
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip"
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip"
|
||||
data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></li>
|
||||
</ul>
|
||||
<br>
|
||||
<textarea class="form-control" name="begruendung"
|
||||
id="reviewAnrechnungDetail-begruendung"
|
||||
rows="2" required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Button Abbrechen & Bestaetigen-->
|
||||
@@ -318,6 +315,5 @@ $this->load->view(
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
@@ -80,7 +80,6 @@ $this->load->view(
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<!-- title -->
|
||||
@@ -127,30 +126,31 @@ $this->load->view(
|
||||
id="reviewAnrechnungUebersicht-begruendung-panel">
|
||||
<div>
|
||||
<h4 class="panel panel-body panel-danger text-danger"><?php echo $this->p->t('anrechnung', 'empfehlungenNegativQuestion'); ?></h4>
|
||||
<b> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></b><br><br>
|
||||
<ul>
|
||||
<li>
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativKenntnisseNichtGleichwertig'); ?></span>
|
||||
<span class="btn-copyIntoTextarea" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li><?php echo $this->p->t('anrechnung', 'andereBegruendung'); ?></li>
|
||||
</ul>
|
||||
<br>
|
||||
<span class="text-danger">
|
||||
<b><span> <?php echo $this->p->t('anrechnung', 'bitteBegruendungAngeben'); ?></span>
|
||||
<span class="text-danger">
|
||||
<?php echo $this->p->t('anrechnung', 'begruendungWirdFuerAlleUebernommen'); ?>
|
||||
</span><br><br>
|
||||
</span></b>
|
||||
<br><br>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativPruefungNichtMoeglich'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<span><?php echo $this->p->t('anrechnung', 'empfehlungNegativKenntnisseNichtGleichwertig'); ?></span>
|
||||
<span class="btn-copyIntoTextarea pull-right" data-toggle="tooltip" data-placement="right"
|
||||
title="<?php echo $this->p->t('ui', 'textUebernehmen'); ?>">
|
||||
<i class="fa fa-clipboard fa-lg" aria-hidden="true"></i>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
<textarea class="form-control" name="begruendung" id="reviewAnrechnungUebersicht-begruendung"
|
||||
rows="2" required></textarea>
|
||||
rows="2"
|
||||
placeholder="<?php echo $this->p->t('anrechnung', 'textUebernehmenOderEigenenBegruendungstext'); ?>"
|
||||
required></textarea>
|
||||
</div>
|
||||
<br>
|
||||
<!-- Action Button Abbrechen & Bestaetigen-->
|
||||
@@ -235,7 +235,6 @@ $this->load->view(
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
|
||||
|
||||
@@ -254,6 +254,22 @@
|
||||
ORDER BY ps.zgvmanation DESC NULLS LAST, ps.prestudent_id DESC
|
||||
LIMIT 1
|
||||
) AS "ZGVMNation",
|
||||
(
|
||||
SELECT upper(tbl_nation.nationengruppe_kurzbz)
|
||||
FROM public.tbl_prestudent ps
|
||||
JOIN bis.tbl_nation ON ps.zgvnation = tbl_nation.nation_code
|
||||
WHERE ps.person_id = p.person_id
|
||||
ORDER BY ps.zgvnation DESC NULLS LAST, ps.prestudent_id DESC
|
||||
LIMIT 1
|
||||
) AS "ZGVNationGruppe",
|
||||
(
|
||||
SELECT upper(tbl_nation.nationengruppe_kurzbz)
|
||||
FROM public.tbl_prestudent ps
|
||||
JOIN bis.tbl_nation ON ps.zgvmanation = tbl_nation.nation_code
|
||||
WHERE ps.person_id = p.person_id
|
||||
ORDER BY ps.zgvmanation DESC NULLS LAST, ps.prestudent_id DESC
|
||||
LIMIT 1
|
||||
) AS "ZGVMNationGruppe",
|
||||
(
|
||||
SELECT tbl_organisationseinheit.bezeichnung
|
||||
FROM public.tbl_benutzerfunktion
|
||||
@@ -361,6 +377,8 @@
|
||||
ucfirst($this->p->t('lehre', 'studiengang')).' ('.$this->p->t('global', 'aktiv').')',
|
||||
'ZGV Nation BA',
|
||||
'ZGV Nation MA',
|
||||
'ZGV Gruppe BA',
|
||||
'ZGV Gruppe MA',
|
||||
'InfoCenter Mitarbeiter'
|
||||
),
|
||||
'formatRow' => function($datasetRaw) {
|
||||
@@ -452,6 +470,16 @@
|
||||
$datasetRaw->{'ZGVMNation'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'ZGVNationGruppe'} == null)
|
||||
{
|
||||
$datasetRaw->{'ZGVNationGruppe'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'ZGVMNationGruppe'} == null)
|
||||
{
|
||||
$datasetRaw->{'ZGVMNationGruppe'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'InfoCenterMitarbeiter'} === null)
|
||||
{
|
||||
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
|
||||
|
||||
@@ -199,14 +199,15 @@ $query = '
|
||||
LIMIT 1
|
||||
) AS "ReihungstestApplied",
|
||||
(
|
||||
SELECT rtp.datum
|
||||
SELECT CONCAT(rtp.datum, rtp.uhrzeit)
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_prestudent ps USING(prestudent_id)
|
||||
LEFT JOIN (
|
||||
SELECT rtp.person_id,
|
||||
rt.studiensemester_kurzbz,
|
||||
rtp.teilgenommen,
|
||||
rt.datum
|
||||
rt.datum,
|
||||
rt.uhrzeit
|
||||
FROM public.tbl_rt_person rtp
|
||||
JOIN tbl_reihungstest rt ON(rtp.rt_id = rt.reihungstest_id)
|
||||
WHERE rt.stufe = 1
|
||||
@@ -409,13 +410,13 @@ $query = '
|
||||
$datasetRaw->{'ReihungstestApplied'} = 'Nein';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'ReihungstestDate'} == null)
|
||||
if ($datasetRaw->{'ReihungstestDate'} == '')
|
||||
{
|
||||
$datasetRaw->{'ReihungstestDate'} = '-';
|
||||
}
|
||||
else
|
||||
{
|
||||
$datasetRaw->{'ReihungstestDate'} = date_format(date_create($datasetRaw->{'ReihungstestDate'}),'Y-m-d');
|
||||
$datasetRaw->{'ReihungstestDate'} = date_format(date_create($datasetRaw->{'ReihungstestDate'}),'Y-m-d H:i');
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'ZGVNation'} == null)
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
$PERSON_ID = getAuthPersonId();
|
||||
// all oe kurzbz for which logged user has a funktion
|
||||
$ALL_FUNKTIONEN_OE_KURZBZ = "('" . implode("','", array_keys($all_funktionen_oe_kurzbz)) . "')";
|
||||
// all oes for which logged user has issues permissions, including permissions for "special" issue funktion
|
||||
$ALL_OE_KURZBZ_BERECHTIGT = "('" . implode("','", $all_oe_kurzbz_berechtigt) . "')";
|
||||
$RELEVANT_PRESTUDENT_STATUS = "('Aufgenommener', 'Student', 'Incoming', 'Diplomand', 'Abbrecher', 'Unterbrecher', 'Absolvent')";
|
||||
$LANGUAGE_INDEX = getUserLanguage() == 'German' ? '1' : '2';
|
||||
@@ -29,39 +31,74 @@ $query = "WITH zustaendigkeiten AS (
|
||||
$query .= " THEN TRUE
|
||||
ELSE FALSE
|
||||
END AS \"zustaendig\"
|
||||
FROM system.tbl_fehler_zustaendigkeiten zst
|
||||
FROM system.tbl_fehler_zustaendigkeiten zst
|
||||
)";
|
||||
|
||||
$query .= "SELECT issue_id, fehlercode AS \"Fehlercode\", iss.fehlercode_extern AS \"Fehlercode extern\", datum AS \"Datum\",
|
||||
inhalt AS \"Inhalt\", inhalt_extern AS \"Inhalt extern\", iss.person_id AS \"PersonId\", iss.oe_kurzbz AS \"OE\",
|
||||
ftyp.bezeichnung_mehrsprachig[".$LANGUAGE_INDEX."] AS \"Fehlertyp\", stat.bezeichnung_mehrsprachig[".$LANGUAGE_INDEX."] AS \"Fehlerstatus\",
|
||||
verarbeitetvon AS \"Verarbeitet von\",verarbeitetamum AS \"Verarbeitet am\", fr.app AS \"Applikation\",
|
||||
fr.fehlertyp_kurzbz AS \"Fehlertypcode\", iss.status_kurzbz AS \"Statuscode\",
|
||||
pers.vorname AS \"Vorname\", pers.nachname AS \"Nachname\",
|
||||
CASE
|
||||
WHEN
|
||||
EXISTS(SELECT 1
|
||||
FROM zustaendigkeiten
|
||||
WHERE fehlercode = iss.fehlercode
|
||||
AND zustaendig = TRUE) /* If Zuständigkeit is defined for the oe/person, zustaendig. */
|
||||
THEN 'Ja'
|
||||
WHEN
|
||||
EXISTS(SELECT 1
|
||||
FROM zustaendigkeiten
|
||||
WHERE fehlercode = iss.fehlercode
|
||||
AND zustaendig = FALSE) /* If Zuständigkeit is defined for different oe/person, not zustaendig. */
|
||||
THEN 'Nein'
|
||||
ELSE 'Ja' /* If no Zuständigkeit defined, zustaendig by default. */
|
||||
END AS \"Hauptzuständig\"
|
||||
FROM system.tbl_issue iss
|
||||
JOIN system.tbl_fehler fr USING (fehlercode)
|
||||
JOIN system.tbl_fehlertyp ftyp USING (fehlertyp_kurzbz)
|
||||
JOIN system.tbl_issue_status stat USING (status_kurzbz)
|
||||
LEFT JOIN public.tbl_person pers ON iss.person_id = pers.person_id
|
||||
WHERE EXISTS ( /* if oe or person is specified in fehler_zustaendigkeiten */
|
||||
SELECT 1 FROM zustaendigkeiten
|
||||
WHERE fehlercode = iss.fehlercode
|
||||
AND zustaendig = TRUE)";
|
||||
inhalt AS \"Inhalt\", inhalt_extern AS \"Inhalt extern\", iss.person_id AS \"PersonId\", iss.oe_kurzbz AS \"OE\",
|
||||
ftyp.bezeichnung_mehrsprachig[".$LANGUAGE_INDEX."] AS \"Fehlertyp\", stat.bezeichnung_mehrsprachig[".$LANGUAGE_INDEX."] AS \"Fehlerstatus\",
|
||||
verarbeitetvon AS \"Verarbeitet von\",verarbeitetamum AS \"Verarbeitet am\", fr.app AS \"Applikation\",
|
||||
fr.fehlertyp_kurzbz AS \"Fehlertypcode\", iss.status_kurzbz AS \"Statuscode\",
|
||||
pers.vorname AS \"Vorname\", pers.nachname AS \"Nachname\",
|
||||
(
|
||||
/* show all relevant Studiengänge of person and wether it is an employee*/
|
||||
SELECT STRING_AGG(studiengang || ' ' || last_status, ' | ')
|
||||
|| (CASE WHEN EXISTS (
|
||||
SELECT 1 FROM public.tbl_mitarbeiter ma
|
||||
JOIN public.tbl_benutzer ben ON ma.mitarbeiter_uid = ben.uid
|
||||
WHERE person_id = prestudents.person_id
|
||||
AND ben.aktiv
|
||||
) THEN ' | Mitarbeiter' ELSE '' END)
|
||||
FROM (
|
||||
SELECT DISTINCT person_id, prestudent_id, UPPER(stg.typ || stg.kurzbz) AS studiengang, get_rolle_prestudent(ps.prestudent_id, null) AS last_status
|
||||
FROM public.tbl_prestudent ps
|
||||
JOIN public.tbl_studiengang stg USING (studiengang_kz)
|
||||
WHERE person_id = pers.person_id
|
||||
ORDER BY prestudent_id DESC
|
||||
) prestudents
|
||||
WHERE last_status IN ('Aufgenommener', 'Student', 'Incoming', 'Diplomand', 'Abbrecher', 'Unterbrecher', 'Absolvent')
|
||||
GROUP BY person_id
|
||||
LIMIT 1;
|
||||
) AS \"Zugehörigkeit\",
|
||||
CASE
|
||||
WHEN
|
||||
EXISTS(SELECT 1
|
||||
FROM zustaendigkeiten
|
||||
WHERE fehlercode = iss.fehlercode
|
||||
AND zustaendig = TRUE) /* If Zuständigkeit is defined for the oe/person, zustaendig. */
|
||||
THEN 'Ja'
|
||||
WHEN
|
||||
EXISTS(SELECT 1
|
||||
FROM zustaendigkeiten
|
||||
WHERE fehlercode = iss.fehlercode
|
||||
AND zustaendig = FALSE) /* If Zuständigkeit is defined for different oe/person, not zustaendig. */
|
||||
THEN 'Nein'
|
||||
ELSE 'Ja' /* If no Zuständigkeit defined, zustaendig by default. */
|
||||
END AS \"Hauptzuständig\",
|
||||
(
|
||||
SELECT string_agg(vorname || ' ' || nachname, ' | ' ORDER BY vorname, nachname)
|
||||
FROM system.tbl_fehler_zustaendigkeiten
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE fehlercode = fr.fehlercode
|
||||
GROUP BY fehlercode
|
||||
) AS \"Person Zuständigkeiten\",
|
||||
(
|
||||
SELECT string_agg(organisationseinheittyp_kurzbz || ' ' || oe.bezeichnung || COALESCE(' - ' || fu.beschreibung, ''), ' | ' ORDER BY bezeichnung, oe_kurzbz)
|
||||
FROM system.tbl_fehler_zustaendigkeiten
|
||||
LEFT JOIN public.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||
LEFT JOIN public.tbl_funktion fu USING (funktion_kurzbz)
|
||||
WHERE fehlercode = fr.fehlercode
|
||||
GROUP BY fehlercode
|
||||
) AS \"Organisationseinheit Zuständigkeiten\"
|
||||
FROM system.tbl_issue iss
|
||||
JOIN system.tbl_fehler fr USING (fehlercode)
|
||||
JOIN system.tbl_fehlertyp ftyp USING (fehlertyp_kurzbz)
|
||||
JOIN system.tbl_issue_status stat USING (status_kurzbz)
|
||||
LEFT JOIN public.tbl_person pers ON iss.person_id = pers.person_id
|
||||
WHERE EXISTS ( /* if oe or person is specified in fehler_zustaendigkeiten */
|
||||
SELECT 1 FROM zustaendigkeiten
|
||||
WHERE fehlercode = iss.fehlercode
|
||||
AND zustaendig = TRUE)";
|
||||
|
||||
// show issue if it is assigend to oe of logged in user or to student of oe of logged in user
|
||||
if (!isEmptyArray($all_oe_kurzbz_berechtigt))
|
||||
@@ -78,13 +115,13 @@ if (!isEmptyArray($all_oe_kurzbz_berechtigt))
|
||||
AND NOT EXISTS (SELECT 1 /* irrelevant if already finished studies and studied a while ago */
|
||||
FROM public.tbl_prestudentstatus ps_finished
|
||||
JOIN public.tbl_studiensemester sem_finished USING (studiensemester_kurzbz)
|
||||
WHERE prestudent_id = ps.prestudent_id
|
||||
WHERE prestudent_id = ps.prestudent_id
|
||||
AND status_kurzbz IN ('Absolvent','Abbrecher','Abgewiesener')
|
||||
AND datum::date + interval '2 months' < NOW()
|
||||
AND EXISTS (SELECT 1 FROM public.tbl_prestudent /* if more recent prestudent exists, still display the issue */
|
||||
JOIN public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN public.tbl_studiensemester USING (studiensemester_kurzbz)
|
||||
WHERE tbl_prestudentstatus.status_kurzbz IN $RELEVANT_PRESTUDENT_STATUS
|
||||
WHERE tbl_prestudentstatus.status_kurzbz IN $RELEVANT_PRESTUDENT_STATUS
|
||||
AND person_id = ps.person_id
|
||||
AND prestudent_id <> ps_finished.prestudent_id
|
||||
AND tbl_studiensemester.start::date > sem_finished.start::date)
|
||||
@@ -111,7 +148,7 @@ $filterWidgetArray = array(
|
||||
'datasetName' => 'issues',
|
||||
'filter_id' => $this->input->get('filter_id'),
|
||||
'tableUniqueId' => 'issues',
|
||||
'requiredPermissions' => 'admin',
|
||||
'requiredPermissions' => 'system/issues_verwalten',
|
||||
'datasetRepresentation' => 'tablesorter',
|
||||
'checkboxes' => 'issue_id',
|
||||
'columnsAliases' => array(
|
||||
@@ -132,7 +169,10 @@ $filterWidgetArray = array(
|
||||
ucfirst($this->p->t('fehlermonitoring', 'statuscode')),
|
||||
ucfirst($this->p->t('person', 'vorname')),
|
||||
ucfirst($this->p->t('person', 'nachname')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'hauptzustaendig'))
|
||||
ucfirst($this->p->t('fehlermonitoring', 'zugehoerigkeit')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'hauptzustaendig')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'zustaendigePersonen')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'zustaendigeOrganisationseinheiten'))
|
||||
),
|
||||
'formatRow' => function($datasetRaw) {
|
||||
|
||||
@@ -161,16 +201,26 @@ $filterWidgetArray = array(
|
||||
$datasetRaw->{'OE'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'Verarbeitet am'} == null)
|
||||
{
|
||||
$datasetRaw->{'Verarbeitet am'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'Verarbeitet von'} == null)
|
||||
{
|
||||
$datasetRaw->{'Verarbeitet von'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'Zugehörigkeit'} == null)
|
||||
{
|
||||
$datasetRaw->{'Zugehörigkeit'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'Person Zuständigkeiten'} == null)
|
||||
{
|
||||
$datasetRaw->{'Person Zuständigkeiten'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'Organisationseinheit Zuständigkeiten'} == null)
|
||||
{
|
||||
$datasetRaw->{'Organisationseinheit Zuständigkeiten'} = '-';
|
||||
}
|
||||
|
||||
return $datasetRaw;
|
||||
},
|
||||
'markRow' => function($datasetRaw) {
|
||||
|
||||
@@ -0,0 +1,168 @@
|
||||
<?php
|
||||
$this->load->view(
|
||||
'templates/FHC-Header',
|
||||
array(
|
||||
'title' => 'Fehler Zuständigkeiten',
|
||||
'jquery' => true,
|
||||
'jqueryui' => true,
|
||||
'jquerycheckboxes' => true,
|
||||
'bootstrap' => true,
|
||||
'fontawesome' => true,
|
||||
'sbadmintemplate' => true,
|
||||
'tablesorter' => true,
|
||||
'ajaxlib' => true,
|
||||
'filterwidget' => true,
|
||||
'navigationwidget' => true,
|
||||
'dialoglib' => true,
|
||||
'phrases' => array(
|
||||
'ui',
|
||||
'fehlermonitoring'
|
||||
),
|
||||
'customCSSs' => array('public/css/issues/issuesZustaendigkeiten.css', 'public/css/sbadmin2/tablesort_bootstrap.css'),
|
||||
'customJSs' => array('public/js/issues/issuesZustaendigkeiten.js', 'public/js/bootstrapper.js')
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
<body>
|
||||
<div id="wrapper">
|
||||
|
||||
<?php echo $this->widgetlib->widget('NavigationWidget'); ?>
|
||||
|
||||
<div id="page-wrapper">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h3 class="page-header">
|
||||
<?php echo $this->p->t('fehlermonitoring', 'fehlerZustaendigkeiten') ?>
|
||||
</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-4">
|
||||
<div class="panel panel-default">
|
||||
<table class="table table-bordered" id="fehlercodeSelectTable">
|
||||
<tr>
|
||||
<td class="tableCellNoRightBorder">
|
||||
<label for="fehlerappSelect">App</label>
|
||||
<select class="form-control" name="fehlerappSelect" id="fehlerappSelect">
|
||||
</select>
|
||||
</td>
|
||||
<td class="tableCellNoLeftBorder tableCellNoRightBorder">
|
||||
<label for="fehlercodeSelect"><?php echo $this->p->t('fehlermonitoring', 'fehlercode') ?></label>
|
||||
<select class="form-control" name="fehlercodeSelect" id="fehlercodeSelect">
|
||||
</select>
|
||||
</td>
|
||||
<td class="tableCellNoLeftBorder" id="fehlercodeInfoCell"><i class="fa fa-info-circle"></i></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-8">
|
||||
<div class="panel panel-default">
|
||||
<table class="table table-bordered">
|
||||
<tr>
|
||||
<td>
|
||||
<label for="mitarbeiterSelect"><?php echo $this->p->t('fehlermonitoring', 'zustaendigerMitarbeiter') ?></label>
|
||||
<input type="text" class="form-control" name="mitarbeiterSelect" id="mitarbeiterSelect">
|
||||
<input type="hidden" name="mitarbeiter_person_id" id="mitarbeiter_person_id">
|
||||
</td>
|
||||
<td align="center">
|
||||
<?php echo $this->p->t('fehlermonitoring', 'oder') ?>
|
||||
<br>
|
||||
<i class="fa fa-arrows-h"></i>
|
||||
</td>
|
||||
<td class="tableCellNoRightBorder">
|
||||
<label for="oeSelect"><?php echo $this->p->t('fehlermonitoring', 'organisationseinheit') ?></label>
|
||||
<select class="form-control" name="oeSelect" id="oeSelect">
|
||||
</select>
|
||||
</td>
|
||||
<td class="tableCellNoLeftBorder">
|
||||
<label for="funktionSelect"><?php echo $this->p->t('fehlermonitoring', 'funktion') ?></label>
|
||||
<select class="form-control" name="funktionSelect" id="funktionSelect">
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-offset-3 col-lg-9">
|
||||
<button class="btn btn-default" id="assignZustaendigkeit">
|
||||
<i class="fa fa-angle-double-right"></i>
|
||||
<?php echo $this->p->t('fehlermonitoring', 'zustaendigkeitZuweisen') ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<?php $this->load->view('system/issues/issuesZustaendigkeitenData.php'); ?>
|
||||
</div>
|
||||
<div class="modal fade" id="fehlerInfo" tabindex="-1"
|
||||
role="dialog"
|
||||
aria-labelledby="fehlerInfoLabel"
|
||||
aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close"
|
||||
data-dismiss="modal"
|
||||
aria-hidden="true">×
|
||||
</button>
|
||||
<h4 class="modal-title" id="fehlerInfoLabel">
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body" id="fehlerInfoContent">
|
||||
<table class="table table-condensed table-bordered">
|
||||
<tr>
|
||||
<td>
|
||||
<b><?php echo ucfirst($this->p->t('fehlermonitoring', 'fehlercode')) ?></b>
|
||||
</td>
|
||||
<td>
|
||||
<span id="fehlercodeInfo"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b><?php echo ucfirst($this->p->t('fehlermonitoring', 'fehlerkurzbz')) ?></b>
|
||||
</td>
|
||||
<td>
|
||||
<span id="fehlerkurzbzInfo"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b><?php echo ucfirst($this->p->t('fehlermonitoring', 'fehlertyp')) ?></b>
|
||||
</td>
|
||||
<td>
|
||||
<span id="fehlertypInfo"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b><?php echo ucfirst($this->p->t('fehlermonitoring', 'fehlercodeExtern')) ?></b>
|
||||
</td>
|
||||
<td>
|
||||
<span id="fehlercodeExternInfo"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<b><?php echo ucfirst($this->p->t('fehlermonitoring', 'fehlertext')) ?></b>
|
||||
</td>
|
||||
<td>
|
||||
<span id="fehlertextInfo"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div><!-- /.modal-content -->
|
||||
</div><!-- /.modal-dialog -->
|
||||
</div><!-- /.modal-fade -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php $this->load->view('templates/FHC-Footer'); ?>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
|
||||
// get assigned Zustaendigkeiten
|
||||
$query = "SELECT fehlerzustaendigkeiten_id, fe.fehlercode, fe.fehlercode_extern, fehler_kurzbz, fehlertext, fehlertyp_kurzbz, fe.app,
|
||||
pers.person_id, pers.vorname, pers.nachname,
|
||||
oe.oe_kurzbz, oe.bezeichnung AS oe_bezeichnung, funk.funktion_kurzbz, funk.beschreibung AS funktion_beschreibung
|
||||
FROM system.tbl_fehler_zustaendigkeiten zst
|
||||
JOIN system.tbl_fehler fe USING (fehlercode)
|
||||
LEFT JOIN public.tbl_person pers USING (person_id)
|
||||
LEFT JOIN public.tbl_organisationseinheit oe USING (oe_kurzbz)
|
||||
LEFT JOIN public.tbl_funktion funk USING (funktion_kurzbz)
|
||||
ORDER BY fe.fehlercode, pers.nachname, oe.bezeichnung, funk.beschreibung";
|
||||
|
||||
$filterWidgetArray = array(
|
||||
'query' => $query,
|
||||
'app' => 'core',
|
||||
'datasetName' => 'fehlerZustaendigkeiten',
|
||||
'filter_id' => $this->input->get('filter_id'),
|
||||
'tableUniqueId' => 'issuesZustaendigkeiten',
|
||||
'requiredPermissions' => 'admin',
|
||||
'datasetRepresentation' => 'tablesorter',
|
||||
'additionalColumns' => array('Delete'),
|
||||
'columnsAliases' => array(
|
||||
'ID',
|
||||
ucfirst($this->p->t('fehlermonitoring', 'fehlercode')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'fehlercodeExtern')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'fehlerkurzbz')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'fehlertext')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'fehlertyp')),
|
||||
'app',
|
||||
'PersonId',
|
||||
ucfirst($this->p->t('person', 'vorname')),
|
||||
ucfirst($this->p->t('person', 'nachname')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'oeKurzbz')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'oeBezeichnung')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'funktionKurzbz')),
|
||||
ucfirst($this->p->t('fehlermonitoring', 'funktionBeschreibung'))
|
||||
),
|
||||
'formatRow' => function($datasetRaw) {
|
||||
|
||||
$datasetRaw->{'Delete'} =
|
||||
"<button id='".$datasetRaw->{'fehlerzustaendigkeiten_id'}."' class='btn btn-default deleteBtn'>"
|
||||
.ucfirst($this->p->t('ui', 'loeschen'))."</button>";
|
||||
|
||||
if ($datasetRaw->{'person_id'} == null)
|
||||
{
|
||||
$datasetRaw->{'person_id'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'vorname'} == null)
|
||||
{
|
||||
$datasetRaw->{'vorname'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'nachname'} == null)
|
||||
{
|
||||
$datasetRaw->{'nachname'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'oe_kurzbz'} == null)
|
||||
{
|
||||
$datasetRaw->{'oe_kurzbz'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'oe_bezeichnung'} == null)
|
||||
{
|
||||
$datasetRaw->{'oe_bezeichnung'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'funktion_kurzbz'} == null)
|
||||
{
|
||||
$datasetRaw->{'funktion_kurzbz'} = '-';
|
||||
}
|
||||
|
||||
if ($datasetRaw->{'funktion_beschreibung'} == null)
|
||||
{
|
||||
$datasetRaw->{'funktion_beschreibung'} = '-';
|
||||
}
|
||||
|
||||
return $datasetRaw;
|
||||
}
|
||||
);
|
||||
|
||||
echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
|
||||
+23
-173
@@ -22,21 +22,21 @@
|
||||
*/
|
||||
session_start();
|
||||
|
||||
require_once('../../config/cis.config.inc.php');
|
||||
require_once('../../include/wochenplan.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/betriebsmittel.class.php');
|
||||
require_once('../../include/betriebsmittelperson.class.php');
|
||||
require_once('../../include/betriebsmitteltyp.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
require_once('../../include/news.class.php');
|
||||
require_once('../../include/content.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/konto.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/authentication.class.php');
|
||||
require_once('../../include/addon.class.php');
|
||||
require_once('../../include/'.EXT_FKT_PATH.'/serviceterminal.inc.php');
|
||||
require_once('../../config/cis.config.inc.php');
|
||||
require_once('../../include/wochenplan.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/betriebsmittel.class.php');
|
||||
require_once('../../include/betriebsmittelperson.class.php');
|
||||
require_once('../../include/betriebsmitteltyp.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
require_once('../../include/news.class.php');
|
||||
require_once('../../include/content.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/konto.class.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/authentication.class.php');
|
||||
require_once('../../include/addon.class.php');
|
||||
require_once('../../include/'.EXT_FKT_PATH.'/serviceterminal.inc.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
$db=false;
|
||||
@@ -679,10 +679,6 @@ function meine_uid_informationen($db,$uid,$user="")
|
||||
if ($db)
|
||||
$user_array=personen_id_read_mitarbeiter_oder_student($db,$user->person_id);
|
||||
|
||||
#echo '<hr>';
|
||||
##var_dump($user_array);
|
||||
#var_dump($_SESSION[constSESSIONNAME]["ldap_get_entries"]);
|
||||
|
||||
if (isset($user_array) && is_array($user_array) && count($user_array)>1)
|
||||
{
|
||||
$html_user_daten.='<table class="persoenlichedaten">';
|
||||
@@ -724,54 +720,6 @@ function meine_uid_informationen($db,$uid,$user="")
|
||||
|
||||
$html_user_daten.='<hr>';
|
||||
|
||||
// eMail senden nach anforderung
|
||||
/*
|
||||
$send_mail=(isset($_REQUEST['send_mail']) ? $_REQUEST['send_mail']:false);
|
||||
if ($send_mail)
|
||||
{
|
||||
$to=$uid.'@'.DOMAIN;
|
||||
$from=MAIL_CIS;
|
||||
$subject=CAMPUS_NAME.' Informationen';
|
||||
|
||||
$mail=new mail($to, $from, $subject, $html_user_daten_detail);
|
||||
if (isset($user_array) && is_array($user_array) && count($user_array)>1)
|
||||
{
|
||||
reset($user_array);
|
||||
for ($i=0;$i<count($user_array);$i++)
|
||||
{
|
||||
if ($uid!=$user_array[$i]->uid && ($user_array[$i]->aktiv='t' || ($user_array[$i]->aktiv !='f' && $user_array[$i]->aktiv)) )
|
||||
$mail->setCCRecievers($user_array[$i]->uid.'@'.DOMAIN);
|
||||
}
|
||||
}
|
||||
$mail->setHTMLContent($html_user_daten_detail);
|
||||
if ($mail->send())
|
||||
$html_user_daten.='<p>email gesendet an '.$mail->to.' '.($mail->CC_recievers?$mail->CC_recievers:'').'</p>';
|
||||
else
|
||||
$html_user_daten.='<p>email nicht gesendet an '.$mail->to.'</p>';
|
||||
}
|
||||
// Send eMail Auswahl anzeigen
|
||||
else
|
||||
{
|
||||
$farbe='gruen';
|
||||
$html_user_daten.='<table class="persoenlichedaten">';
|
||||
$html_user_daten.='<tr>';
|
||||
$html_user_daten.='<td>';
|
||||
$html_user_daten.='<a href="'.$_SERVER['PHP_SELF'].'?work=meinedaten&send_mail=x&standort_id='.$standort_id.'">';
|
||||
$html_user_daten.='<b class="'.$farbe.'_rtop">
|
||||
<b class="'.$farbe.'_r1"></b> <b class="'.$farbe.'_r2"></b> <b class="'.$farbe.'_r3"></b> <b class="'.$farbe.'_r4"></b>
|
||||
</b>
|
||||
<span class="'.$farbe.'_mitteText">';
|
||||
$html_user_daten.='Informationen per Mail senden';
|
||||
$html_user_daten.='
|
||||
</span>
|
||||
<b class="'.$farbe.'_rbottom">
|
||||
<b class="'.$farbe.'_r4"></b><b class="'.$farbe.'_r3"></b> <b class="'.$farbe.'_r2"></b> <b class="'.$farbe.'_r1"></b>
|
||||
</b>';
|
||||
$html_user_daten.='</a>';
|
||||
$html_user_daten.='</td>';
|
||||
$html_user_daten.='</tr>';
|
||||
$html_user_daten.='</table>';
|
||||
}*/
|
||||
return $html_user_daten;
|
||||
}
|
||||
#-------------------------------------------------------------------------------------------
|
||||
@@ -952,33 +900,6 @@ function meine_uid_informationen_detail($db,$uid,$count=0)
|
||||
die($db->db_last_error());
|
||||
$nr_mg=$db->db_num_rows($erg_mg);
|
||||
|
||||
// Betriebsmittel zur Person lesen
|
||||
/*
|
||||
$betriebsmittelperson=array();
|
||||
$qry="SELECT nummer,betriebsmitteltyp FROM public.vw_betriebsmittelperson where uid='".addslashes(trim($uid))."' and aktiv and benutzer_aktiv and ( retouram IS NULL ) LIMIT 50 ; ";
|
||||
if(!$result=$db->db_query($qry))
|
||||
die('Probleme beim Lesen der Benutzer uid '.$db->db_last_error());
|
||||
if ($result)
|
||||
{
|
||||
while($rows = $db->db_fetch_object($result))
|
||||
{
|
||||
$rows->asco='ASCO Datensätze gefunden';
|
||||
if (is_numeric($rows->nummer) && $mssql_verbindung)
|
||||
{
|
||||
$card_no=$rows->nummer;
|
||||
$anfrage = mssql_query('SELECT * FROM view_fh_technikum_mitarbeiterkarten_berechtigungen where card_no='.$card_no);
|
||||
if (mssql_num_rows($anfrage))
|
||||
{
|
||||
$rows->asco=array();
|
||||
while ($datensatz = mssql_fetch_object($anfrage))
|
||||
$rows->asco[]=$datensatz;
|
||||
}
|
||||
mssql_free_result($anfrage);
|
||||
}
|
||||
$betriebsmittelperson[]=$rows;
|
||||
}
|
||||
}*/
|
||||
|
||||
if ($count==0)
|
||||
{
|
||||
$html_user_daten.='<h1>Persönliche Daten</h1>';
|
||||
@@ -1022,49 +943,6 @@ function meine_uid_informationen_detail($db,$uid,$count=0)
|
||||
$html_user_daten.='<tr><td style="background-color: #E9ECEE;" align="center" colspan="2" ><b><font size="+1">Email</font></b></td></tr>';
|
||||
$html_user_daten.='<tr><td ><b>Intern</b></td><td >'.$email.'</td></tr>';
|
||||
$html_user_daten.='<tr><td ><b>Alias</b></td><td >'.$email_alias.'</td></tr>';
|
||||
/*
|
||||
|
||||
$html_user_daten.='<tr><td style="background-color: #E9ECEE;" align="center" colspan="2" ><b>Mitglied in folgenden Verteilern</b></td></tr>';
|
||||
for($i=0;$i<$nr_mg;$i++)
|
||||
{
|
||||
$row=$db->db_fetch_object($erg_mg,$i);
|
||||
|
||||
$html_user_daten.='<tr>';
|
||||
$html_user_daten.='<td valign="top"><a class="Item" href="mailto:'.trim(strtolower($row->gruppe_kurzbz)).'@'.DOMAIN.'">'.strtolower($row->gruppe_kurzbz).' </td>';
|
||||
$html_user_daten.='<td >'.$row->beschreibung.' </td>';
|
||||
$html_user_daten.='</tr>';
|
||||
}
|
||||
|
||||
if (isset($matrikelnr))
|
||||
{
|
||||
$html_user_daten.='<TR><TD valign="top"><A class="Item" href="mailto:'.strtolower(trim($stgkz)).'_std@'.DOMAIN.'">'.strtolower($stgkz).'_std </TD>';
|
||||
$html_user_daten.="\n<TD > Alle Studierdenden von $stgbez</TD><TD></TD></TR>";
|
||||
$html_user_daten.='<TR><TD valign="top">'.strtolower($stgkz).$semester.' </TD>';
|
||||
$html_user_daten.="\n<TD > Alle Studierenden von $stgkz $semester</TD><TD></TD></TR>";
|
||||
$html_user_daten.='<TR><TD valign="top"><A class="Item" href="mailto:'.strtolower(trim($stgkz)).trim($semester).strtolower(trim($verband)).'@'.DOMAIN.'">'.strtolower($stgkz).$semester.strtolower($verband).' </TD>';
|
||||
$html_user_daten.="\n<TD > Alle Studierenden von $stgkz $semester$verband</TD><TD></TD></TR>";
|
||||
$html_user_daten.='<TR><TD valign="top"><A class="Item" href="mailto:'.strtolower(trim($stgkz)).trim($semester).strtolower(trim($verband)).trim($gruppe).'@'.DOMAIN.'">'.strtolower($stgkz).$semester.strtolower($verband).$gruppe.' </TD>';
|
||||
$html_user_daten.="\n<TD > Alle Studierenden von $stgkz $semester$verband$gruppe</TD><TD></TD></TR>";
|
||||
}
|
||||
$html_user_daten.='</table> </td>';
|
||||
|
||||
$html_user_daten.='<td valign="top" width="50%"><table width="100%">';
|
||||
if ($stud_num_rows==1)
|
||||
{
|
||||
$html_user_daten.='<tr><td colspan="2" align="center" style="background-color: #E9ECEE;"><b><font size="+1">StudentIn</font></b></td></tr>';
|
||||
$html_user_daten.="<td colspan='2' >
|
||||
Studiengang: $stgbez<br>
|
||||
Semester: $semester<br>
|
||||
Verband: $verband<br>
|
||||
Gruppe: $gruppe<br>
|
||||
Matrikelnummer: $matrikelnr";
|
||||
$html_user_daten.='</td></tr>';
|
||||
}
|
||||
else if ($lekt_num_rows==1)
|
||||
{
|
||||
$html_user_daten.='<tr><td colspan="2" align="center" style="background-color: #E9ECEE;"><b><font size="+1">Lektor </font></b></td></tr>';
|
||||
$html_user_daten.='<td colspan="2"><b>Kurzzeichen: </b>'.$kurzbz.'<br><b>Standort: </b>'.$ort.'<br><b>'.($tel!=''?'Telefon TW:</b> '.$vorwahl.' '.$tel:'').'</td></tr>';
|
||||
}*/
|
||||
|
||||
$html_user_daten.='</table>';
|
||||
$html_user_daten.=' </td></tr></table>';
|
||||
@@ -1096,30 +974,6 @@ function alle_uid_stundenplan_informationen($db,$uid,$user_array="")
|
||||
return $html_liste_raum;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// Kalenderwoche und Tage Initialisieren
|
||||
// ------------------------------------------------------------------------------------------
|
||||
/*
|
||||
$date = date('d');
|
||||
$month = date('m');
|
||||
$year = date('y');
|
||||
$weekday = date('w');
|
||||
$kalenderweek = ((int)date('W')<10?'0'.(int)date('W'):date('W'));
|
||||
|
||||
// Montag ermitteln
|
||||
if($weekday == 0)
|
||||
{
|
||||
$datum=mktime(0, 0, 0, $month, $date-$weekday -6, $year);
|
||||
$ersterTagMonat=date('m', mktime(0, 0, 0, $month, $date-$weekday -6, $year));
|
||||
$ersterTag=date('d', mktime(0, 0, 0, $month, $date-$weekday -6, $year));
|
||||
}
|
||||
else
|
||||
{
|
||||
$datum=mktime(0, 0, 0, $month, $date-$weekday +1, $year);
|
||||
$ersterTagMonat=date('m', mktime(0, 0, 0, $month, $date-$weekday +1, $year));
|
||||
$ersterTag=date('d', mktime(0, 0, 0, $month, $date-$weekday +1, $year));
|
||||
}
|
||||
*/
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// Alle Termine zum User lesen
|
||||
// ------------------------------------------------------------------------------------------
|
||||
@@ -1334,18 +1188,19 @@ function alle_raum_informationen($db,$raumtyp_kurzbz,$ort_kurzbz, $standort_id)
|
||||
$qry.=" SELECT DISTINCT ";
|
||||
$qry.=" tbl_ortraumtyp.ort_kurzbz ";
|
||||
$qry.=" ,tbl_ort.bezeichnung ,tbl_ort.aktiv ";
|
||||
$qry.=" , (SELECT 'gesperrt'::text FROM public.tbl_ortraumtyp WHERE raumtyp_kurzbz='Gesperrt' AND ort_kurzbz=tbl_ort.ort_kurzbz) as gesperrt";
|
||||
$qry.=" FROM tbl_raumtyp , tbl_ortraumtyp , tbl_ort ";
|
||||
$qry.=" WHERE tbl_ortraumtyp.raumtyp_kurzbz=tbl_raumtyp.raumtyp_kurzbz ";
|
||||
$qry.=" AND tbl_ort.ort_kurzbz=tbl_ortraumtyp.ort_kurzbz ";
|
||||
$qry.=" AND tbl_ort.aktiv ";
|
||||
$qry.=" AND lower(tbl_raumtyp.raumtyp_kurzbz) like lower('%".$db->db_escape(trim($raumtyp_kurzbz))."%') ";
|
||||
if($standort_id!='')
|
||||
$qry.=" AND (tbl_ort.standort_id=".$db->db_add_param($standort_id, FHC_INTEGER).' OR tbl_ort.standort_id is null)';
|
||||
$qry.=" AND (tbl_ort.standort_id=".$db->db_add_param($standort_id, FHC_INTEGER)." OR tbl_ort.standort_id is null)";
|
||||
$qry.=" order by tbl_ortraumtyp.ort_kurzbz ";
|
||||
$qry.=" ; ";
|
||||
|
||||
if(!$result=$db->db_query($qry))
|
||||
die('Probleme beim lesen der Raumtyptabelle '.$db->db_last_error());
|
||||
die('Probleme beim lesen der Raumtyptabelle ');
|
||||
$num_rows_stunde=$db->db_num_rows($result);
|
||||
|
||||
if($num_rows_stunde==0)
|
||||
@@ -1372,7 +1227,6 @@ function alle_raum_informationen($db,$raumtyp_kurzbz,$ort_kurzbz, $standort_id)
|
||||
// Raumreservierungen fuer Aktive Raumauswahl
|
||||
// --------------------------------------------------------------
|
||||
|
||||
|
||||
// Die aktive Stunde ermitteln - zum lesen welcher Raum jetzt besetzt ist - aktive Lehreinheit
|
||||
$row_stunde=array();
|
||||
|
||||
@@ -1382,9 +1236,6 @@ function alle_raum_informationen($db,$raumtyp_kurzbz,$ort_kurzbz, $standort_id)
|
||||
$qry.=" WHERE ".$db->db_add_param(constAktuelleZeitHHMi,FHC_STRING)." between to_char(tbl_stunde.beginn, 'HH24MI') and to_char(tbl_stunde.ende, 'HH24MI') ";
|
||||
$qry.=" ORDER BY stunde LIMIT 1 ; ";
|
||||
|
||||
# $qry.=" WHERE '". constAktuelleZeitHH."' between to_char(tbl_stunde.beginn, 'HH24') and to_char(tbl_stunde.ende, 'HH24') ";
|
||||
# $qry.=" ORDER BY stunde desc LIMIT 1; ";
|
||||
|
||||
if(!$result=$db->db_query($qry))
|
||||
die('Probleme beim lesen der Raumtyptabelle '.$db->db_last_error());
|
||||
|
||||
@@ -1436,8 +1287,8 @@ function alle_raum_informationen($db,$raumtyp_kurzbz,$ort_kurzbz, $standort_id)
|
||||
$farbe="gruen";
|
||||
}
|
||||
|
||||
# if ($farbe=="orange")
|
||||
# var_dump($info);
|
||||
if ($row_raum[$i]->gesperrt=="gesperrt")
|
||||
$farbe="rot";
|
||||
|
||||
// Nach 4 Raumanzeigen eine Neuezeile erzeugen
|
||||
$html_liste_raum.=($i==0 || $i%4?"":"</tr><tr>");
|
||||
@@ -1461,7 +1312,7 @@ function alle_raum_informationen($db,$raumtyp_kurzbz,$ort_kurzbz, $standort_id)
|
||||
|
||||
$html_liste_raum.='<td><table><tr><td><span class="gruen_mitteText"> </span></td><td>Mindestens nächsten 2 Einheiten frei</td></tr></table></td>';
|
||||
$html_liste_raum.='<td><table><tr><td><span class="orange_mitteText"> </span></td><td>Derzeit frei</td></tr></table></td>';
|
||||
$html_liste_raum.='<td><table><tr><td><span class="rot_mitteText"> </span></td><td>Raum derzeit besetzt</td></tr></table></td>';
|
||||
$html_liste_raum.='<td><table><tr><td><span class="rot_mitteText"> </span></td><td>Raum derzeit besetzt / gesperrt</td></tr></table></td>';
|
||||
$html_liste_raum.='</tr>';
|
||||
$html_liste_raum.='</table>';
|
||||
$html_liste_raum.='<hr>';
|
||||
@@ -1506,7 +1357,6 @@ function alle_raum_informationen($db,$raumtyp_kurzbz,$ort_kurzbz, $standort_id)
|
||||
// dh. Letztes Ende ist gleich Start aktueller Datensatz
|
||||
if ($lastEnde && $row->time_beginn!=$lastEnde)
|
||||
{
|
||||
# echo "<p>Zeit korr. Funktion:alle_raum_informationen ".$row->beginn_show." wird zu ".$lastShowEnde."</p>";
|
||||
$row->time_beginn=$lastEnde;
|
||||
}
|
||||
|
||||
@@ -1900,7 +1750,7 @@ function uid_read_mitarbeiter_oder_student($db,$uid)
|
||||
// Wenn kein Mitarbeiter pruefen ob Student
|
||||
$qry="SELECT uid,person_id,anrede,titelpre,vorname,vornamen,nachname,aktiv FROM campus.vw_student where uid=".$db->db_add_param(trim($uid), FHC_STRING)." LIMIT 1 ; ";
|
||||
if(!$result=$db->db_query($qry))
|
||||
die('Probleme beim Lesen der Studierenden '.$db->db_last_error());
|
||||
die('Probleme beim Lesen der Studierenden ');
|
||||
if ($num_rows_stunde=$db->db_num_rows($result))
|
||||
{
|
||||
while($rows = $db->db_fetch_object($result))
|
||||
@@ -1976,7 +1826,7 @@ function read_create_html_news($db,$fachbereich_kurzbz,$studiengang_kz,$semester
|
||||
{
|
||||
if(defined('CIS_INFOSCREEN_NEWS_ANZEIGEN') && CIS_INFOSCREEN_NEWS_ANZEIGEN==false)
|
||||
return '';
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// Lesen Newstickerzeilen
|
||||
// ------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -68,7 +68,7 @@ isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehre
|
||||
$stg = new studiengang();
|
||||
$stg->load($lv->studiengang_kz);
|
||||
|
||||
$doc = new dokument_export('Anwesenheitslist');
|
||||
$doc = new dokument_export('Anwesenheitslist', $stg->oe_kurzbz);
|
||||
|
||||
$lehrelisthelper = new LehreListHelper($db, $studiensemester, $lvid, $lv, $stg, $lehreinheit);
|
||||
$arr_lehrende = $lehrelisthelper->getArr_Lehrende();
|
||||
|
||||
@@ -37,7 +37,6 @@ require_once('../../../include/erhalter.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
|
||||
|
||||
$doc = new dokument_export('fotoliste');
|
||||
$output = 'pdf';
|
||||
$show_all_fotos = false;
|
||||
|
||||
@@ -62,6 +61,8 @@ $lv->load($lvid);
|
||||
$stg = new studiengang();
|
||||
$stg->load($lv->studiengang_kz);
|
||||
|
||||
$doc = new dokument_export('fotoliste', $stg->oe_kurzbz);
|
||||
|
||||
$berechtigung = new benutzerberechtigung();
|
||||
$berechtigung->getBerechtigungen($user);
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ require_once('../../../include/sancho.inc.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/globals.inc.php');
|
||||
require_once('../../../include/sprache.class.php');
|
||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||
|
||||
$datum_obj = new datum();
|
||||
$sprache = getSprache();
|
||||
@@ -287,20 +288,59 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
|
||||
}
|
||||
|
||||
//Pruefen ob bereits ein Urlaub in den markierten Bereichen vorhanden ist und ggf Abbrechen
|
||||
//Das Problem sollte nur beim manuellen Refresh der Seite auftreten
|
||||
$error=false;
|
||||
for($i=0;$i<count($akette);$i++)
|
||||
//Prüfen, ob eine Zeitaufzeichnung vorhanden ist und ggf Abbrechen
|
||||
$error = false;
|
||||
for ($i = 0; $i < count($akette); $i++)
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$za = new zeitaufzeichnung();
|
||||
$vonDatum = new DateTime($akette[$i]);
|
||||
$bisDatum = new DateTime($ekette[$i]);
|
||||
|
||||
if($zeitsperre->UrlaubEingetragen($uid, $akette[$i], $ekette[$i]))
|
||||
if ($za->existsZeitaufzeichnung($uid, $vonDatum->format('d.m.Y'), $bisDatum->format('d.m.Y')))
|
||||
{
|
||||
$vgmail.='<br><span class="error">'.$p->t('zeitsperre/urlaubBereitsEingetragen').'</span>';
|
||||
$error=true;
|
||||
$error = true;
|
||||
$vgmail .= '<br><span class="error">'.$p->t('zeitsperre/zeitaufzeichnungVorhanden'). ' '.
|
||||
$vonDatum->format('d.m.Y'). ' - '. $bisDatum->format('d.m.Y'). '</span>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Prüfen ob eine ganztägige Zeitsperre eingetragen ist und ggf abbrechen
|
||||
$daysToCheck = array();
|
||||
for ($i = 0; $i < count($akette); $i++)
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$vonDatum = new DateTime($akette[$i]);
|
||||
$bisDatum = new DateTime($ekette[$i]);
|
||||
|
||||
//add here to array, weil in der foreach-Schleife, das bisdatum nicht inkludiert ist
|
||||
$daysToCheck[] = $bisDatum->format("Y-m-d");
|
||||
|
||||
$daterange = new DatePeriod($vonDatum, new DateInterval('P1D'), $bisDatum);
|
||||
foreach($daterange as $date)
|
||||
{
|
||||
$daysToCheck[] = $date->format("Y-m-d");
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($daysToCheck AS $date)
|
||||
{
|
||||
$zeitsperre->getSperreByDate($uid, $date, null, zeitsperre::NUR_BLOCKIERENDE_ZEITSPERREN);
|
||||
|
||||
foreach ($zeitsperre->result as $z)
|
||||
{
|
||||
if ($z->zeitsperretyp_kurzbz)
|
||||
{
|
||||
$error = true;
|
||||
|
||||
$z->zeitsperretyp_kurzbz == 'Urlaub' ?
|
||||
$vgmail.='<br><span class="error">'.$p->t('zeitsperre/urlaubBereitsEingetragen').'</span>' :
|
||||
$vgmail .= '<br><span class="error">'.$p->t('zeitsperre/zeitsperreEingetragen',[$date, $z->zeitsperretyp_kurzbz]). '</span>';
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
|
||||
@@ -290,7 +290,7 @@ function showHideBezeichnungDropDown()
|
||||
}
|
||||
else if (dd.options[dd.selectedIndex].value == 'DienstF')
|
||||
{
|
||||
sp.innerHTML = '<font color="red"><b>Dienstfreistellungen</b> nur in Absprache mit Personalservice eintragen!</font><br><input type="text" name="bezeichnung" maxlength="32" size="32" value="">';
|
||||
sp.innerHTML = '<font color="red"><b>Dienstfreistellungen</b> nur in Absprache mit HR Service eintragen!</font><br><input type="text" name="bezeichnung" maxlength="32" size="32" value="">';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -275,7 +275,7 @@ function searchOE($searchItems)
|
||||
$oe->result[] = new organisationseinheit($row->oe_kurzbz);
|
||||
}
|
||||
|
||||
if(count($oe->result)>0)
|
||||
if(is_array($oe->result) && count($oe->result)>0)
|
||||
{
|
||||
echo '<h2 style="padding-bottom: 10px;">',$p->t('global/organisationseinheiten'),'</h2>';
|
||||
echo '
|
||||
|
||||
@@ -496,7 +496,7 @@ if(!$error)
|
||||
elseif(isset($_POST['stsem_aktuell']))
|
||||
{
|
||||
$stsem = new studiensemester();
|
||||
$studiensemester_kurzbz = $stsem->getakt();
|
||||
$studiensemester_kurzbz = $stsem->getNearest();
|
||||
|
||||
$variable->name = 'semester_aktuell';
|
||||
$variable->wert = $studiensemester_kurzbz;
|
||||
|
||||
@@ -1477,7 +1477,7 @@ if(!$error)
|
||||
$lema_new->insertamum = date('Y-m-d H:i:s');
|
||||
$lema_new->insertvon = $user;
|
||||
$lema_new->ext_id = $row->ext_id;
|
||||
$lema_new->vertrag_id = $row->vertrag_id;
|
||||
$lema_new->vertrag_id = '';
|
||||
|
||||
if (!$lema_new->save(true))
|
||||
{
|
||||
|
||||
@@ -95,6 +95,7 @@ if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$r
|
||||
$data = '';
|
||||
$error = true;
|
||||
}
|
||||
$check_statusaenderung_berechtigung = 'student/keine_studstatuspruefung';
|
||||
|
||||
// *** FUNKTIONEN ***
|
||||
|
||||
@@ -372,6 +373,175 @@ function isBuchungAllowedToChange($buchung_obj)
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Prüft für einen Prestudenten, ob eine bestimmte Statusänderung valide ist.
|
||||
* @param $prestudent_id
|
||||
* @param $status_kurzbz des neuen/bearbeiteten Status
|
||||
* @param $new_status_studiensemester Studiensemester des neuen/zu ändernen Status
|
||||
* @param $new_status_datum Datum des neuen/zu ändernen Status
|
||||
* @param $new_status_ausbildungssemester Ausbildungssemester des neuen/zu ändernen Status
|
||||
* @param $old_status_studiensemester Studiensemester des alten Status, leer wenn neuer Status
|
||||
* @param $old_status_ausbildungssemester Ausbildungssemester des alten Status, leer wenn neuer Status
|
||||
* @return array
|
||||
*/
|
||||
function checkStatusaenderung(
|
||||
$prestudent_id, $status_kurzbz, $new_status_studiensemester, $new_status_datum, $new_status_ausbildungssemester,
|
||||
$old_status_studiensemester = '', $old_status_ausbildungssemester = ''
|
||||
)
|
||||
{
|
||||
global $db;
|
||||
// Es ist ein neuer Status wenn es kein altes Semester gibt
|
||||
$isNewStatus = $old_status_studiensemester == '' && $old_status_ausbildungssemester == '';
|
||||
// status_kurzbz für Endstatus
|
||||
$endstatusArr = array('Absolvent', 'Abbrecher');
|
||||
// Datum des neuen Status setzen
|
||||
$new_status_datum = new DateTime($new_status_datum);
|
||||
|
||||
// Wenn neuer Status
|
||||
if ($isNewStatus)
|
||||
{
|
||||
// Datum des neuen Status darf nicht in Vergangenheit liegen, sonst Probleme wenn neues Datum < Bismeldedatum
|
||||
$current_date = new DateTime('today');
|
||||
if ($new_status_datum < $current_date)
|
||||
{
|
||||
return array(
|
||||
'error' => true,
|
||||
'errormsg' => 'Datum eines neuen Statuseintrags darf nicht in der Vergangenheit liegen'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// start des Studiensemesters holen
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->load($new_status_studiensemester);
|
||||
$new_status_semesterstart = new DateTime($studiensemester->start);
|
||||
|
||||
// Alle bisherigen prestudentstatus nach Datum sortiert
|
||||
$qry = "SELECT status_kurzbz, studiensemester_kurzbz, ausbildungssemester, datum, sem.start AS studiensemester_start
|
||||
FROM public.tbl_prestudentstatus pss
|
||||
JOIN public.tbl_studiensemester sem USING (studiensemester_kurzbz)
|
||||
WHERE prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER);
|
||||
|
||||
// zu ändernden Status rausfiltern wenn Status bearbeitet wird
|
||||
if (!$isNewStatus)
|
||||
{
|
||||
$qry .= " AND NOT (
|
||||
status_kurzbz=".$db->db_add_param($status_kurzbz)
|
||||
." AND studiensemester_kurzbz=".$db->db_add_param($old_status_studiensemester)
|
||||
." AND ausbildungssemester=".$db->db_add_param($old_status_ausbildungssemester, FHC_INTEGER)."
|
||||
)";
|
||||
}
|
||||
|
||||
$qry .= " ORDER BY datum DESC, pss.insertamum DESC, pss.ext_id DESC";
|
||||
|
||||
$statusArr = array();
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
$newStatusInserted = false;
|
||||
|
||||
// für jeden Status
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$studiensemester_start = new DateTime($row->studiensemester_start);
|
||||
$status_datum = new DateTime($row->datum);
|
||||
|
||||
// Neuer/editierter Statuseintrag nach bestehendem Statuseintrag
|
||||
if ($new_status_datum >= $status_datum && $new_status_semesterstart >= $studiensemester_start)
|
||||
{
|
||||
if (!$newStatusInserted)
|
||||
{
|
||||
// neuer Status erstmals größer als Datum eines bestehenden Status -> neuen Status einfügen
|
||||
$new_status = new stdClass();
|
||||
$new_status->status_kurzbz = $status_kurzbz;
|
||||
$new_status->studiensemester_kurzbz = $new_status_studiensemester;
|
||||
$new_status->datum = $new_status_datum;
|
||||
$new_status->ausbildungssemester = $new_status_ausbildungssemester;
|
||||
$statusArr[] = $new_status;
|
||||
$newStatusInserted = true;
|
||||
}
|
||||
|
||||
// Gültige Zeitabfolge, bestehenden Status hinzufügen
|
||||
$statusArr[] = $row;
|
||||
}
|
||||
// oder Neuer/editierter Statuseintrag nach bestehendem Statuseintrag
|
||||
elseif ($new_status_datum <= $status_datum && $new_status_semesterstart <= $studiensemester_start)
|
||||
{
|
||||
// Gültige Zeitabfolge, bestehenden Status hinzufügen
|
||||
$statusArr[] = $row;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Zeitabfolge ungültig, Fehler
|
||||
return array(
|
||||
'error' => true,
|
||||
'errormsg' => 'Datum des Statuseintrags muss nach dem Statusdatum,'
|
||||
.' Semesterstartdatum nach Semesterstartdatum des vorherigen Statuseintrags sein'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Prüfungen den Prestudentstatus betreffend
|
||||
// Über alle gespeicherten Status gehen und Statusabfolge prüfen
|
||||
for ($i = 0; $i < count($statusArr); $i++)
|
||||
{
|
||||
$curr_status = $statusArr[$i];
|
||||
$curr_status_kurzbz = $curr_status->status_kurzbz;
|
||||
$curr_status_ausbildungssemester = $curr_status->ausbildungssemester;
|
||||
$next_idx = $i - 1; //absteigend sortiert, nächster Status ist vorheriger Eintrag
|
||||
$next_status = isset($statusArr[$next_idx]) ? $statusArr[$next_idx] : null;
|
||||
|
||||
// Abbrecher- oder Absolventenstatus muss Endstatus sein
|
||||
if (isset($next_status) && in_array($curr_status_kurzbz, $endstatusArr))
|
||||
{
|
||||
return array(
|
||||
'error' => true,
|
||||
'errormsg' => 'Nach Abbrecher- und Absolventenstatus darf kein anderer Status mehr eingetragen werden'
|
||||
);
|
||||
}
|
||||
|
||||
// wenn Unterbrecher auf Unterbrecher folgt, muss Ausbildungssemester gleich sein
|
||||
if (
|
||||
$curr_status_kurzbz == 'Unterbrecher' && isset($next_status) && $next_status->status_kurzbz == 'Unterbrecher'
|
||||
&& $curr_status_ausbildungssemester != $next_status->ausbildungssemester
|
||||
)
|
||||
{
|
||||
return array(
|
||||
'error' => true,
|
||||
'errormsg' => 'Aufeinanderfolgende Unterbrecher müssen gleiches Ausbildungssemester haben'
|
||||
);
|
||||
}
|
||||
|
||||
// wenn Abbrecher auf Unterbrecher folgt, muss Ausbildungssemester gleich sein
|
||||
if (
|
||||
isset($next_status) && $curr_status_kurzbz == 'Unterbrecher'
|
||||
&& $next_status->status_kurzbz == 'Abbrecher' && $curr_status_ausbildungssemester != $next_status->ausbildungssemester
|
||||
)
|
||||
{
|
||||
return array(
|
||||
'error' => true,
|
||||
'errormsg' => 'Unterbrecher und folgender Abbrecher müssen gleiches Ausbildungssemester haben'
|
||||
);
|
||||
}
|
||||
|
||||
// keine Studenten nach Diplomand Status
|
||||
if (
|
||||
isset($next_status) && $curr_status_kurzbz == 'Diplomand' && $next_status->status_kurzbz == 'Student'
|
||||
)
|
||||
{
|
||||
return array(
|
||||
'error' => true,
|
||||
'errormsg' => 'Nach Diplomantenstatus darf kein Studentenstatus mehr eingetragen werden'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
return array('error' => true, 'errormsg' => 'Fehler bei Statusänderungcheck');
|
||||
|
||||
return array('error' => false, 'errormsg' => '');
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
|
||||
@@ -403,7 +573,7 @@ if(!$error)
|
||||
$return = false;
|
||||
$errormsg = 'Geburtsdatum ist nicht korrekt.';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
@@ -648,12 +818,12 @@ if(!$error)
|
||||
$prestudent->zgvort = $_POST['zgvort'];
|
||||
$prestudent->zgvdatum = $_POST['zgvdatum'];
|
||||
$prestudent->zgvnation = $_POST['zgvnation'];
|
||||
$prestudent->zgv_erfuellt = $_POST['zgv_erfuellt'];
|
||||
$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->zgvmas_erfuellt = $_POST['zgvmas_erfuellt'];
|
||||
$prestudent->zgvdoktor_code = $_POST['zgvdoktor_code'];
|
||||
$prestudent->zgvdoktorort = $_POST['zgvdoktorort'];
|
||||
$prestudent->zgvdoktordatum = $_POST['zgvdoktordatum'];
|
||||
@@ -808,6 +978,28 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
|
||||
// wenn keine spezielle Berechtiung zur Umgebung, Statusänderung Checks durchführen
|
||||
if (!$rechte->isBerechtigt($check_statusaenderung_berechtigung))
|
||||
{
|
||||
$new_status_datum = isset($_POST['datum']) ? $_POST['datum'] : date('Y-m-d');
|
||||
|
||||
$check_statusaenderung_result = checkStatusaenderung(
|
||||
$prestudent_id,
|
||||
$_POST['status_kurzbz'],
|
||||
$studiensemester,
|
||||
$new_status_datum,
|
||||
$sem
|
||||
);
|
||||
|
||||
if (isset($check_statusaenderung_result['error']) && $check_statusaenderung_result['error'] === true)
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg .= isset($check_statusaenderung_result['errormsg']) ? $check_statusaenderung_result['errormsg'] : '';
|
||||
$anzahl_fehler++;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$prestd_neu = new prestudent();
|
||||
@@ -1003,7 +1195,7 @@ if(!$error)
|
||||
isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id']) &&
|
||||
isset($_POST['ausbildungssemester']) && is_numeric($_POST['ausbildungssemester']))
|
||||
{
|
||||
if($_POST['status_kurzbz']=='Student' && !$rechte->isBerechtigt('admin', null, 'suid'))
|
||||
if($_POST['status_kurzbz']=='Student' && !$rechte->isBerechtigt('admin', null, 'suid') && !$rechte->isBerechtigt('student/keine_studstatuspruefung', null, 'suid'))
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'Studentenrolle kann nur durch den Administrator geloescht werden';
|
||||
@@ -1019,7 +1211,7 @@ if(!$error)
|
||||
if($row->anzahl<=1)
|
||||
{
|
||||
$deletePrestudent = true;
|
||||
if (!$rechte->isBerechtigt('admin', null, 'suid'))
|
||||
if (!$rechte->isBerechtigt('admin', null, 'suid') && !$rechte->isBerechtigt('student/keine_studstatuspruefung', null, 'suid'))
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = 'Die letzte Rolle kann nur durch den Administrator geloescht werden';
|
||||
@@ -1307,6 +1499,28 @@ if(!$error)
|
||||
$rolle->new = false;
|
||||
}
|
||||
|
||||
// Statuschecks durchführen wenn keine spezielle Berechtigung zur Umgehung
|
||||
if (!$rechte->isBerechtigt($check_statusaenderung_berechtigung))
|
||||
{
|
||||
// allgemeine Prüfung bei Änderung oder Hinzufügen eines Status, inkludiert alle Status
|
||||
$check_statusaenderung_result = checkStatusaenderung(
|
||||
$_POST['prestudent_id'],
|
||||
$_POST['status_kurzbz'],
|
||||
$_POST['studiensemester_kurzbz'],
|
||||
$_POST['datum'],
|
||||
$_POST['ausbildungssemester'],
|
||||
$_POST['studiensemester_old'],
|
||||
$_POST['ausbildungssemester_old']
|
||||
);
|
||||
|
||||
if (isset($check_statusaenderung_result['error']) && $check_statusaenderung_result['error'] === true)
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = isset($check_statusaenderung_result['errormsg']) ? $check_statusaenderung_result['errormsg'] : '';
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
// Bei Studenten wird der Studentlehrverband Eintrag angelegt/korrigiert
|
||||
@@ -2361,7 +2575,7 @@ if(!$error)
|
||||
{
|
||||
if ($dokument_kurzbz === 'Sonst' && $sonst !== 0)
|
||||
continue;
|
||||
|
||||
|
||||
if($dokument_kurzbz!='')
|
||||
{
|
||||
$dok = new dokument();
|
||||
@@ -2374,7 +2588,7 @@ if(!$error)
|
||||
$dok->new = true;
|
||||
if ($dokument_kurzbz === 'Sonst')
|
||||
$sonst++;
|
||||
|
||||
|
||||
|
||||
if(!$dok->save())
|
||||
{
|
||||
|
||||
@@ -71,9 +71,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<row>
|
||||
<label value="Person ID" control="student-detail-textbox-person_id"/>
|
||||
<hbox><textbox id="student-detail-textbox-person_id" readonly="true" maxlength="16" size="16"/></hbox>
|
||||
<label value="Zugangscode" control="student-detail-zugangscode"/>
|
||||
<?php $hideZugangscode = (defined('ACTIVE_ADDONS') && strpos(ACTIVE_ADDONS, 'bewerbung') !== false) ? '':' hidden="true"'; ?>
|
||||
<label value="Zugangscode" control="student-detail-zugangscode" <?php echo $hideZugangscode; ?>/>
|
||||
<label id="label-student-detail-link_bewerbungstool" hidden="true" value=""></label>
|
||||
<label class="text-link" href="#" id="label-student-detail-zugangscode" value="" onclick="window.open(document.getElementById('label-student-detail-link_bewerbungstool').value)"/>
|
||||
<label class="text-link" href="#" id="label-student-detail-zugangscode" value="" <?php echo $hideZugangscode; ?> onclick="window.open(document.getElementById('label-student-detail-link_bewerbungstool').value)"/>
|
||||
<?php $hideBpk = $rechte->isBerechtigt('student/bpk') ? '':' hidden="true"'; ?>
|
||||
<label value="BPK" control="student-detail-textbox-bpk"<?php echo $hideBpk; ?>/>
|
||||
<hbox><textbox id="student-detail-textbox-bpk" disabled="true" maxlength="28" size="50"<?php echo $hideBpk; ?>/></hbox>
|
||||
|
||||
@@ -1025,7 +1025,10 @@ function StudentCount()
|
||||
// ****
|
||||
function StudentAuswahl()
|
||||
{
|
||||
document.getElementById('student-toolbar-label-anzahl').value = 'Anzahl: ' + StudentCount();
|
||||
var tree=document.getElementById('student-tree');
|
||||
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
|
||||
document.getElementById('student-toolbar-label-anzahl').value = 'Anzahl: ' + StudentCount() + '/' + items;
|
||||
|
||||
if(!StudentTreeLoadDataOnSelect)
|
||||
{
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Documentation</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<style type="text/css">
|
||||
body { font-family: arial, verdana, sans-serif }
|
||||
p { margin-left: 20px }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor Documentation</h1>
|
||||
<p>
|
||||
You can find the official documentation for FCKeditor online, at <a href="http://docs.fckeditor.net/">
|
||||
http://docs.fckeditor.net/</a>.</p>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,38 +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 sample plugin definition file.
|
||||
*/
|
||||
|
||||
// Register the related commands.
|
||||
FCKCommands.RegisterCommand( 'My_Find' , new FCKDialogCommand( FCKLang['DlgMyFindTitle'] , FCKLang['DlgMyFindTitle'] , FCKConfig.PluginsPath + 'findreplace/find.html' , 340, 170 ) ) ;
|
||||
FCKCommands.RegisterCommand( 'My_Replace' , new FCKDialogCommand( FCKLang['DlgMyReplaceTitle'], FCKLang['DlgMyReplaceTitle'] , FCKConfig.PluginsPath + 'findreplace/replace.html', 340, 200 ) ) ;
|
||||
|
||||
// Create the "Find" toolbar button.
|
||||
var oFindItem = new FCKToolbarButton( 'My_Find', FCKLang['DlgMyFindTitle'] ) ;
|
||||
oFindItem.IconPath = FCKConfig.PluginsPath + 'findreplace/find.gif' ;
|
||||
|
||||
FCKToolbarItems.RegisterItem( 'My_Find', oFindItem ) ; // 'My_Find' is the name used in the Toolbar config.
|
||||
|
||||
// Create the "Replace" toolbar button.
|
||||
var oReplaceItem = new FCKToolbarButton( 'My_Replace', FCKLang['DlgMyReplaceTitle'] ) ;
|
||||
oReplaceItem.IconPath = FCKConfig.PluginsPath + 'findreplace/replace.gif' ;
|
||||
|
||||
FCKToolbarItems.RegisterItem( 'My_Replace', oReplaceItem ) ; // 'My_Replace' is the name used in the Toolbar config.
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 595 B |
@@ -1,172 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* 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 sample "Find" plugin window.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta content="noindex, nofollow" name="robots">
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
|
||||
function OnLoad()
|
||||
{
|
||||
// Whole word is available on IE only.
|
||||
if ( oEditor.FCKBrowserInfo.IsIE )
|
||||
document.getElementById('divWord').style.display = '' ;
|
||||
|
||||
// First of all, translate the dialog box texts.
|
||||
oEditor.FCKLanguageManager.TranslatePage( document ) ;
|
||||
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
function btnStat(frm)
|
||||
{
|
||||
document.getElementById('btnFind').disabled =
|
||||
( document.getElementById('txtFind').value.length == 0 ) ;
|
||||
}
|
||||
|
||||
function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll )
|
||||
{
|
||||
for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
|
||||
{
|
||||
var oNode = parentNode.childNodes[i] ;
|
||||
if ( oNode.nodeType == 3 )
|
||||
{
|
||||
var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;
|
||||
if ( oNode.nodeValue != sReplaced )
|
||||
{
|
||||
oNode.nodeValue = sReplaced ;
|
||||
if ( ! replaceAll )
|
||||
return true ;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( ReplaceTextNodes( oNode, regex, replaceValue ) )
|
||||
return true ;
|
||||
}
|
||||
}
|
||||
return false ;
|
||||
}
|
||||
|
||||
function GetRegexExpr()
|
||||
{
|
||||
if ( document.getElementById('chkWord').checked )
|
||||
var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ;
|
||||
else
|
||||
var sExpr = document.getElementById('txtFind').value ;
|
||||
|
||||
return sExpr ;
|
||||
}
|
||||
|
||||
function GetCase()
|
||||
{
|
||||
return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;
|
||||
}
|
||||
|
||||
function Ok()
|
||||
{
|
||||
if ( document.getElementById('txtFind').value.length == 0 )
|
||||
return ;
|
||||
|
||||
if ( oEditor.FCKBrowserInfo.IsIE )
|
||||
FindIE() ;
|
||||
else
|
||||
FindGecko() ;
|
||||
}
|
||||
|
||||
var oRange = null ;
|
||||
|
||||
function FindIE()
|
||||
{
|
||||
if ( oRange == null )
|
||||
oRange = oEditor.FCK.EditorDocument.body.createTextRange() ;
|
||||
|
||||
var iFlags = 0 ;
|
||||
|
||||
if ( chkCase.checked )
|
||||
iFlags = iFlags | 4 ;
|
||||
|
||||
if ( chkWord.checked )
|
||||
iFlags = iFlags | 2 ;
|
||||
|
||||
var bFound = oRange.findText( document.getElementById('txtFind').value, 1, iFlags ) ;
|
||||
|
||||
if ( bFound )
|
||||
{
|
||||
oRange.scrollIntoView() ;
|
||||
oRange.select() ;
|
||||
oRange.collapse(false) ;
|
||||
oLastRangeFound = oRange ;
|
||||
}
|
||||
else
|
||||
{
|
||||
oRange = null ;
|
||||
alert( oEditor.FCKLang.DlgFindNotFoundMsg ) ;
|
||||
}
|
||||
}
|
||||
|
||||
function FindGecko()
|
||||
{
|
||||
var bCase = document.getElementById('chkCase').checked ;
|
||||
var bWord = document.getElementById('chkWord').checked ;
|
||||
|
||||
// window.find( searchString, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog ) ;
|
||||
oEditor.FCK.EditorWindow.find( document.getElementById('txtFind').value, bCase, false, false, bWord, false, false ) ;
|
||||
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
|
||||
<div align="center">
|
||||
This is my Plugin!
|
||||
</div>
|
||||
<table cellSpacing="3" cellPadding="2" width="100%" border="0">
|
||||
<tr>
|
||||
<td nowrap>
|
||||
<label for="txtFind" fckLang="DlgMyReplaceFindLbl">Find what:</label>
|
||||
</td>
|
||||
<td width="100%">
|
||||
<input id="txtFind" onkeyup="btnStat(this.form)" style="WIDTH: 100%" tabIndex="1" type="text">
|
||||
</td>
|
||||
<td>
|
||||
<input id="btnFind" style="WIDTH: 100%; PADDING-RIGHT: 5px; PADDING-LEFT: 5px" disabled
|
||||
onclick="Ok();" type="button" value="Find" fckLang="DlgMyFindFindBtn">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="bottom" colSpan="3">
|
||||
<input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgMyReplaceCaseChk">Match
|
||||
case</label>
|
||||
<br>
|
||||
<div id="divWord" style="DISPLAY: none">
|
||||
<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgMyReplaceWordChk">Match
|
||||
whole word</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,33 +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 for the sample plugin.
|
||||
*/
|
||||
|
||||
FCKLang['DlgMyReplaceTitle'] = 'Plugin - Replace' ;
|
||||
FCKLang['DlgMyReplaceFindLbl'] = 'Find what:' ;
|
||||
FCKLang['DlgMyReplaceReplaceLbl'] = 'Replace with:' ;
|
||||
FCKLang['DlgMyReplaceCaseChk'] = 'Match case' ;
|
||||
FCKLang['DlgMyReplaceReplaceBtn'] = 'Replace' ;
|
||||
FCKLang['DlgMyReplaceReplAllBtn'] = 'Replace All' ;
|
||||
FCKLang['DlgMyReplaceWordChk'] = 'Match whole word' ;
|
||||
|
||||
FCKLang['DlgMyFindTitle'] = 'Plugin - Find' ;
|
||||
FCKLang['DlgMyFindFindBtn'] = 'Find' ;
|
||||
@@ -1,33 +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 for the sample plugin.
|
||||
*/
|
||||
|
||||
FCKLang['DlgMyReplaceTitle'] = 'Plugin - Remplacer' ;
|
||||
FCKLang['DlgMyReplaceFindLbl'] = 'Chercher:' ;
|
||||
FCKLang['DlgMyReplaceReplaceLbl'] = 'Remplacer par:' ;
|
||||
FCKLang['DlgMyReplaceCaseChk'] = 'Respecter la casse' ;
|
||||
FCKLang['DlgMyReplaceReplaceBtn'] = 'Remplacer' ;
|
||||
FCKLang['DlgMyReplaceReplAllBtn'] = 'Remplacer Tout' ;
|
||||
FCKLang['DlgMyReplaceWordChk'] = 'Mot entier' ;
|
||||
|
||||
FCKLang['DlgMyFindTitle'] = 'Plugin - Chercher' ;
|
||||
FCKLang['DlgMyFindFindBtn'] = 'Chercher' ;
|
||||
@@ -1,33 +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 for the sample plugin.
|
||||
*/
|
||||
|
||||
FCKLang['DlgMyReplaceTitle'] = 'Plugin - Sostituisci' ;
|
||||
FCKLang['DlgMyReplaceFindLbl'] = 'Trova:' ;
|
||||
FCKLang['DlgMyReplaceReplaceLbl'] = 'Sostituisci con:' ;
|
||||
FCKLang['DlgMyReplaceCaseChk'] = 'Maiuscole/minuscole' ;
|
||||
FCKLang['DlgMyReplaceReplaceBtn'] = 'Sostituisci' ;
|
||||
FCKLang['DlgMyReplaceReplAllBtn'] = 'Sostituisci tutto' ;
|
||||
FCKLang['DlgMyReplaceWordChk'] = 'Parola intera' ;
|
||||
|
||||
FCKLang['DlgMyFindTitle'] = 'Plugin - Cerca' ;
|
||||
FCKLang['DlgMyFindFindBtn'] = 'Cerca' ;
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 326 B |
@@ -1,135 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<!--
|
||||
* 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 sample "Replace" plugin window.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta content="noindex, nofollow" name="robots">
|
||||
<script type="text/javascript">
|
||||
|
||||
var oEditor = window.parent.InnerDialogLoaded() ;
|
||||
|
||||
function OnLoad()
|
||||
{
|
||||
// First of all, translate the dialog box texts
|
||||
oEditor.FCKLanguageManager.TranslatePage( document ) ;
|
||||
|
||||
window.parent.SetAutoSize( true ) ;
|
||||
}
|
||||
|
||||
function btnStat(frm)
|
||||
{
|
||||
document.getElementById('btnReplace').disabled =
|
||||
document.getElementById('btnReplaceAll').disabled =
|
||||
( document.getElementById('txtFind').value.length == 0 ) ;
|
||||
}
|
||||
|
||||
function ReplaceTextNodes( parentNode, regex, replaceValue, replaceAll, hasFound )
|
||||
{
|
||||
for ( var i = 0 ; i < parentNode.childNodes.length ; i++ )
|
||||
{
|
||||
var oNode = parentNode.childNodes[i] ;
|
||||
if ( oNode.nodeType == 3 )
|
||||
{
|
||||
var sReplaced = oNode.nodeValue.replace( regex, replaceValue ) ;
|
||||
if ( oNode.nodeValue != sReplaced )
|
||||
{
|
||||
oNode.nodeValue = sReplaced ;
|
||||
if ( ! replaceAll )
|
||||
return true ;
|
||||
hasFound = true ;
|
||||
}
|
||||
}
|
||||
|
||||
hasFound = ReplaceTextNodes( oNode, regex, replaceValue, replaceAll, hasFound ) ;
|
||||
if ( ! replaceAll && hasFound )
|
||||
return true ;
|
||||
}
|
||||
|
||||
return hasFound ;
|
||||
}
|
||||
|
||||
function GetRegexExpr()
|
||||
{
|
||||
if ( document.getElementById('chkWord').checked )
|
||||
var sExpr = '\\b' + document.getElementById('txtFind').value + '\\b' ;
|
||||
else
|
||||
var sExpr = document.getElementById('txtFind').value ;
|
||||
|
||||
return sExpr ;
|
||||
}
|
||||
|
||||
function GetCase()
|
||||
{
|
||||
return ( document.getElementById('chkCase').checked ? '' : 'i' ) ;
|
||||
}
|
||||
|
||||
function Replace()
|
||||
{
|
||||
var oRegex = new RegExp( GetRegexExpr(), GetCase() ) ;
|
||||
ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, document.getElementById('txtReplace').value, false ) ;
|
||||
}
|
||||
|
||||
function ReplaceAll()
|
||||
{
|
||||
var oRegex = new RegExp( GetRegexExpr(), GetCase() + 'g' ) ;
|
||||
ReplaceTextNodes( oEditor.FCK.EditorDocument.body, oRegex, document.getElementById('txtReplace').value, true ) ;
|
||||
window.parent.Cancel() ;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="OnLoad()" scroll="no" style="OVERFLOW: hidden">
|
||||
<div align="center">
|
||||
This is my Plugin!
|
||||
</div>
|
||||
<table cellSpacing="3" cellPadding="2" width="100%" border="0">
|
||||
<tr>
|
||||
<td noWrap><label for="txtFind" fckLang="DlgMyReplaceFindLbl">Find what:</label>
|
||||
</td>
|
||||
<td width="100%"><input id="txtFind" onkeyup="btnStat(this.form)" style="WIDTH: 100%" tabIndex="1" type="text">
|
||||
</td>
|
||||
<td><input id="btnReplace" style="WIDTH: 100%" disabled onclick="Replace();" type="button"
|
||||
value="Replace" fckLang="DlgMyReplaceReplaceBtn">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td vAlign="top" nowrap><label for="txtReplace" fckLang="DlgMyReplaceReplaceLbl">Replace
|
||||
with:</label>
|
||||
</td>
|
||||
<td vAlign="top"><input id="txtReplace" style="WIDTH: 100%" tabIndex="2" type="text">
|
||||
</td>
|
||||
<td><input id="btnReplaceAll" disabled onclick="ReplaceAll()" type="button" value="Replace All"
|
||||
fckLang="DlgMyReplaceReplAllBtn">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td vAlign="bottom" colSpan="3"> <input id="chkCase" tabIndex="3" type="checkbox"><label for="chkCase" fckLang="DlgMyReplaceCaseChk">Match
|
||||
case</label>
|
||||
<br>
|
||||
<input id="chkWord" tabIndex="4" type="checkbox"><label for="chkWord" fckLang="DlgMyReplaceWordChk">Match
|
||||
whole word</label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,73 +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 a sample plugin definition file.
|
||||
*/
|
||||
|
||||
// Here we define our custom Style combo, with custom widths.
|
||||
var oMyBigStyleCombo = new FCKToolbarStyleCombo() ;
|
||||
oMyBigStyleCombo.FieldWidth = 250 ;
|
||||
oMyBigStyleCombo.PanelWidth = 300 ;
|
||||
FCKToolbarItems.RegisterItem( 'My_BigStyle', oMyBigStyleCombo ) ;
|
||||
|
||||
|
||||
// ##### Defining a custom context menu entry.
|
||||
|
||||
// ## 1. Define the command to be executed when selecting the context menu item.
|
||||
var oMyCMCommand = new Object() ;
|
||||
oMyCMCommand.Name = 'OpenImage' ;
|
||||
|
||||
// This is the standard function used to execute the command (called when clicking in the context menu item).
|
||||
oMyCMCommand.Execute = function()
|
||||
{
|
||||
// This command is called only when an image element is selected (IMG).
|
||||
// Get image URL (src).
|
||||
var sUrl = FCKSelection.GetSelectedElement().src ;
|
||||
|
||||
// Open the URL in a new window.
|
||||
window.top.open( sUrl ) ;
|
||||
}
|
||||
|
||||
// This is the standard function used to retrieve the command state (it could be disabled for some reason).
|
||||
oMyCMCommand.GetState = function()
|
||||
{
|
||||
// Let's make it always enabled.
|
||||
return FCK_TRISTATE_OFF ;
|
||||
}
|
||||
|
||||
// ## 2. Register our custom command.
|
||||
FCKCommands.RegisterCommand( 'OpenImage', oMyCMCommand ) ;
|
||||
|
||||
// ## 3. Define the context menu "listener".
|
||||
var oMyContextMenuListener = new Object() ;
|
||||
|
||||
// This is the standard function called right before sowing the context menu.
|
||||
oMyContextMenuListener.AddItems = function( contextMenu, tag, tagName )
|
||||
{
|
||||
// Let's show our custom option only for images.
|
||||
if ( tagName == 'IMG' )
|
||||
{
|
||||
contextMenu.AddSeparator() ;
|
||||
contextMenu.AddItem( 'OpenImage', 'Open image in a new window (Custom)' ) ;
|
||||
}
|
||||
}
|
||||
|
||||
// ## 4. Register our context menu listener.
|
||||
FCK.ContextMenu.RegisterListener( oMyContextMenuListener ) ;
|
||||
@@ -1,34 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<application xmlns="http://ns.adobe.com/air/application/1.0">
|
||||
<id>net.fckeditor.air.samples.sample01</id>
|
||||
<name>FCKeditor Sample Application 1.0</name>
|
||||
<version>1.0</version>
|
||||
<filename>FCKeditor AIR Sample</filename>
|
||||
<description>This is a sample AIR application including FCKeditor.</description>
|
||||
<copyright>Copyright (C) 2003-2008 Frederico Caldeira Knabben</copyright>
|
||||
<initialWindow>
|
||||
<content>_samples/adobeair/sample01.html</content>
|
||||
<title>FCKeditor AIR Sample</title>
|
||||
<systemChrome>standard</systemChrome>
|
||||
<transparent>false</transparent>
|
||||
<visible>true</visible>
|
||||
<minimizable>true</minimizable>
|
||||
<maximizable>true</maximizable>
|
||||
<resizable>true</resizable>
|
||||
<x>100</x>
|
||||
<y>80</y>
|
||||
<width>820</width>
|
||||
<height>600</height>
|
||||
<minSize>600 400</minSize>
|
||||
</initialWindow>
|
||||
<installFolder>FCKeditor/AIR Samples/Sample01</installFolder>
|
||||
<programMenuFolder>FCKeditor/AIR Samples</programMenuFolder>
|
||||
<icon>
|
||||
<image16x16>_samples/adobeair/icons/16.png</image16x16>
|
||||
<image32x32>_samples/adobeair/icons/32.png</image32x32>
|
||||
<image48x48>_samples/adobeair/icons/48.png</image48x48>
|
||||
<image128x128>_samples/adobeair/icons/128.png</image128x128>
|
||||
</icon>
|
||||
<customUpdateUI>false</customUpdateUI>
|
||||
<allowBrowserInvocation>false</allowBrowserInvocation>
|
||||
</application>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 273 B |
Binary file not shown.
|
Before Width: | Height: | Size: 562 B |
Binary file not shown.
|
Before Width: | Height: | Size: 563 B |
@@ -1,26 +0,0 @@
|
||||
@ECHO OFF
|
||||
|
||||
::
|
||||
:: 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 ==
|
||||
::
|
||||
|
||||
:: adt -package SIGNING_OPTIONS air_file app_xml [file_or_dir | -C dir file_or_dir | -e file dir ...] ...
|
||||
|
||||
"C:\Adobe AIR SDK\bin\adt" -package -storetype pkcs12 -keystore sample01_cert.pfx -storepass 123abc FCKeditor.air application.xml -C ../../ .
|
||||
@@ -1,26 +0,0 @@
|
||||
@ECHO OFF
|
||||
|
||||
::
|
||||
:: 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 ==
|
||||
::
|
||||
|
||||
:: adl [-runtime runtime-directory] [-pubId publisher-id] [-nodebug] application.xml [rootdirectory] [-- arguments]
|
||||
|
||||
"C:\Adobe AIR SDK\bin\adl" application.xml ../../
|
||||
@@ -1,58 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample Adobe AIR application.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Adobe AIR Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
<style type="text/css">
|
||||
body { margin: 10px ; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - Adobe AIR Sample
|
||||
</h1>
|
||||
<div>
|
||||
This sample loads FCKeditor with full features enabled.
|
||||
</div>
|
||||
<hr />
|
||||
<script type="text/javascript">
|
||||
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.Height = 400 ;
|
||||
oFCKeditor.Value = '<p>FCKeditor is in the <strong>AIR</strong>!<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
<application ID="fck"/>
|
||||
@@ -1,165 +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 class definition file for the sample pages.
|
||||
*
|
||||
|
||||
DEFINE CLASS fckeditor AS custom
|
||||
cInstanceName =""
|
||||
BasePath =""
|
||||
cWIDTH =""
|
||||
cHEIGHT =""
|
||||
ToolbarSet =""
|
||||
cValue=""
|
||||
DIMENSION aConfig(10,2)
|
||||
|
||||
&& -----------------------------------------------------------------------
|
||||
FUNCTION fckeditor( tcInstanceName )
|
||||
LOCAL lnLoop,lnLoop2
|
||||
THIS.cInstanceName = tcInstanceName
|
||||
THIS.BasePath = '../../../FCKeditor/'
|
||||
THIS.cWIDTH = '100%'
|
||||
THIS.cHEIGHT = '200'
|
||||
THIS.ToolbarSet = 'Default'
|
||||
THIS.cValue = ''
|
||||
FOR lnLoop=1 TO 10
|
||||
FOR lnLoop2=1 TO 2
|
||||
THIS.aConfig(lnLoop,lnLoop2) = ""
|
||||
NEXT
|
||||
NEXT
|
||||
RETURN
|
||||
ENDFUNC
|
||||
|
||||
|
||||
&& -----------------------------------------------------------------------
|
||||
FUNCTION CREATE()
|
||||
RETURN(THIS.CreateHtml())
|
||||
ENDFUNC
|
||||
|
||||
&& -----------------------------------------------------------------------
|
||||
FUNCTION CreateHtml()
|
||||
LOCAL html
|
||||
LOCAL lcLink
|
||||
|
||||
HtmlValue = THIS.cValue && HTMLSPECIALCHARS()
|
||||
|
||||
html = [<div>]
|
||||
IF THIS.IsCompatible()
|
||||
lcLink = THIS.BasePath+[editor/fckeditor.html?InstanceName=]+THIS.cInstanceName
|
||||
|
||||
IF ( !THIS.ToolbarSet == '' )
|
||||
lcLink = lcLink + [&Toolbar=]+THIS.ToolbarSet
|
||||
ENDIF
|
||||
|
||||
&& Render the LINKED HIDDEN FIELD.
|
||||
html = html + [<input type="hidden" id="]+THIS.cInstanceName +[" name="]+THIS.cInstanceName +[" value="]+HtmlValue+[">]
|
||||
|
||||
&& Render the configurations HIDDEN FIELD.
|
||||
html = html + [<input type="hidden" id="]+THIS.cInstanceName +[___Config" value="]+THIS.GetConfigFieldString() + [">] +CHR(13)+CHR(10)
|
||||
|
||||
&& Render the EDITOR IFRAME.
|
||||
html = html + [<iframe id="]+THIS.cInstanceName +[___Frame" src="]+lcLink+[" width="]+THIS.cWIDTH+[" height="]+THIS.cHEIGHT+[" frameborder="no" scrolling="no"></iframe>]
|
||||
ELSE
|
||||
IF ( AT("%", THIS.cWIDTH)=0 )
|
||||
WidthCSS = THIS.cWIDTH + 'px'
|
||||
ELSE
|
||||
WidthCSS = THIS.cWIDTH
|
||||
ENDIF
|
||||
|
||||
IF ( AT("%",THIS.cHEIGHT)=0 )
|
||||
HeightCSS = THIS.cHEIGHT + 'px'
|
||||
ELSE
|
||||
HeightCSS = THIS.cHEIGHT
|
||||
ENDIF
|
||||
|
||||
html = html + [<textarea name="]+THIS.cInstanceName +[" rows="4" cols="40" style="width: ]+WidthCSS+[ height: ]+HeightCSS+[" wrap="virtual">]+HtmlValue+[</textarea>]
|
||||
ENDIF
|
||||
|
||||
html = html + [</div>]
|
||||
|
||||
RETURN (html)
|
||||
ENDFUNC
|
||||
|
||||
|
||||
&& -----------------------------------------------------------------------
|
||||
FUNCTION IsCompatible()
|
||||
LOCAL llRetval
|
||||
LOCAL sAgent
|
||||
|
||||
llRetval=.F.
|
||||
|
||||
sAgent= LOWER(Request.ServerVariables("HTTP_USER_AGENT"))
|
||||
|
||||
IF AT("msie",sAgent) >0 .AND. AT("mac",sAgent)=0 .AND. AT("opera",sAgent)=0
|
||||
iVersion=VAL(SUBSTR(sAgent,AT("msie",sAgent)+5,3))
|
||||
llRetval= iVersion > 5.5
|
||||
ELSE
|
||||
IF AT("gecko",sAgent)>0
|
||||
iVersion=VAL(SUBSTR(sAgent,AT("gecko/",sAgent)+6,8))
|
||||
llRetval =iVersion > 20030210
|
||||
ENDIF
|
||||
ENDIF
|
||||
RETURN (llRetval)
|
||||
ENDFUNC
|
||||
|
||||
&& -----------------------------------------------------------------------
|
||||
FUNCTION GetConfigFieldString()
|
||||
LOCAL sParams
|
||||
LOCAL bFirst
|
||||
LOCAL sKey
|
||||
sParams = ""
|
||||
bFirst = .T.
|
||||
FOR lnLoop=1 TO 10 && ALEN(this.aconfig)
|
||||
IF !EMPTY(THIS.aConfig(lnLoop,1))
|
||||
IF bFirst = .F.
|
||||
sParams = sParams + "&"
|
||||
ELSE
|
||||
bFirst = .F.
|
||||
ENDIF
|
||||
sParams = sParams +THIS.aConfig(lnLoop,1)+[=]+THIS.aConfig(lnLoop,2)
|
||||
ELSE
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT
|
||||
RETURN(sParams)
|
||||
ENDFUNC
|
||||
&& -----------------------------------------------------------------------
|
||||
&& This function removes unwanted characters in URL parameters mostly entered by hackers
|
||||
|
||||
FUNCTION StripAttacks
|
||||
LPARAMETERS tcString
|
||||
IF !EMPTY(tcString)
|
||||
tcString=STRTRAN(tcString,"&","")
|
||||
tcString=STRTRAN(tcString,"?","")
|
||||
tcString=STRTRAN(tcString,";","")
|
||||
tcString=STRTRAN(tcString,"!","")
|
||||
tcString=STRTRAN(tcString,"<%","")
|
||||
tcString=STRTRAN(tcString,"%>","")
|
||||
tcString=STRTRAN(tcString,"<","")
|
||||
tcString=STRTRAN(tcString,">","")
|
||||
tcString=STRTRAN(tcString,"..","")
|
||||
tcString=STRTRAN(tcString,"/","")
|
||||
tcString=STRTRAN(tcString,"\","")
|
||||
tcString=STRTRAN(tcString,":","")
|
||||
ELSE
|
||||
tcString=""
|
||||
ENDIF
|
||||
RETURN (tcString)
|
||||
|
||||
ENDDEFINE
|
||||
@@ -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 ==
|
||||
*
|
||||
* This page lists the data posted by a form.
|
||||
*
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - AFP Sample 1</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - AFP - Sample 1</h1>
|
||||
This sample displays a normal HTML form with an FCKeditor with full features enabled.
|
||||
<hr>
|
||||
<form action="sampleposteddata.afp" method="post" target="_blank">
|
||||
<%
|
||||
|
||||
sBasePath="../../../fckeditor/" && Change this to your local path
|
||||
|
||||
lcText=[<p>This is some <strong>sample text</strong>. You are using ]
|
||||
lcText=lcText+[<a href='http://www.fckeditor.net/'>FCKeditor</a>.]
|
||||
|
||||
oFCKeditor = CREATEOBJECT("FCKeditor")
|
||||
oFCKeditor.fckeditor("FCKeditor1")
|
||||
oFCKeditor.BasePath = sBasePath
|
||||
oFCKeditor.cValue = lcText
|
||||
|
||||
? oFCKeditor.Create()
|
||||
|
||||
%>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,113 +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 page is a basic Sample for FCKeditor integration in the AFP script language (www.afpages.de)
|
||||
*
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - AFP Sample 2</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbLanguages' ) ;
|
||||
for ( code in editorInstance.Language.AvailableLanguages )
|
||||
{
|
||||
AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
|
||||
}
|
||||
oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
|
||||
}
|
||||
|
||||
function AddComboOption(combo, optionText, optionValue)
|
||||
{
|
||||
var oOption = document.createElement("OPTION") ;
|
||||
|
||||
combo.options.add(oOption) ;
|
||||
|
||||
oOption.innerHTML = optionText ;
|
||||
oOption.value = optionValue ;
|
||||
|
||||
return oOption ;
|
||||
}
|
||||
|
||||
function ChangeLanguage( languageCode )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Lang=" + languageCode ;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - AFP - Sample 2</h1>
|
||||
This sample shows the editor in all its available languages.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select a language:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.afp" method="post" target="_blank">
|
||||
<%
|
||||
|
||||
sBasePath="../../../fckeditor/" && Change this to your local path
|
||||
|
||||
oFCKeditor = CREATEOBJECT("FCKeditor")
|
||||
oFCKeditor.fckeditor("FCKeditor1")
|
||||
|
||||
lcLanguage="" && Initialize Variable
|
||||
lcLanguage=request.querystring("Lang") && Request Parameter
|
||||
lcLanguage=oFCKeditor.StripAttacks(lcLanguage) && Remove special escape characters
|
||||
IF EMPTY(lcLanguage)
|
||||
oFCKeditor.aconfig[1,1]="AutoDetectLanguage"
|
||||
oFCKeditor.aconfig[1,2]="true"
|
||||
oFCKeditor.aconfig[2,1]="DefaultLanguage"
|
||||
oFCKeditor.aconfig[2,2]="en"
|
||||
ELSE
|
||||
oFCKeditor.aconfig[1,1]="AutoDetectLanguage"
|
||||
oFCKeditor.aconfig[1,2]="false"
|
||||
oFCKeditor.aconfig[2,1]="DefaultLanguage"
|
||||
oFCKeditor.aconfig[2,2]=lcLanguage
|
||||
ENDIF
|
||||
|
||||
lcText=[<p>This is some <strong>sample text</strong>. You are using ]
|
||||
lcText=lcText+[<a href='http://www.fckeditor.net/'>FCKeditor</a>.]
|
||||
|
||||
oFCKeditor.BasePath = sBasePath
|
||||
oFCKeditor.cValue = lcText
|
||||
|
||||
? oFCKeditor.Create()
|
||||
|
||||
%>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,91 +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 page is a basic Sample for FCKeditor integration in the AFP script language (www.afpages.de)
|
||||
*
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - AFP Sample 3</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbToolbars' ) ;
|
||||
oCombo.value = editorInstance.ToolbarSet.Name ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeToolbar( toolbarName )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Toolbar=" + toolbarName ;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - AFP - Sample 3</h1>
|
||||
This sample shows how to change the editor toolbar.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the toolbar to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbToolbars" onchange="ChangeToolbar(this.value);" style="VISIBILITY: hidden">
|
||||
<option value="Default" selected>Default</option>
|
||||
<option value="Basic">Basic</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.afp" method="post" target="_blank">
|
||||
<%
|
||||
|
||||
sBasePath="../../../fckeditor/" && Change this to your local path
|
||||
|
||||
oFCKeditor = CREATEOBJECT("FCKeditor")
|
||||
oFCKeditor.fckeditor("FCKeditor1")
|
||||
|
||||
lcToolbar=request.querystring("Toolbar") && Request Parameter
|
||||
lcToolbar=oFCKeditor.StripAttacks(lcToolbar) && Remove special escape characters
|
||||
IF !EMPTY(lcToolbar)
|
||||
oFCKeditor.ToolbarSet=lcToolbar
|
||||
ENDIF
|
||||
|
||||
lcText=[<p>This is some <strong>sample text</strong>. You are using ]
|
||||
lcText=lcText+[<a href='http://www.fckeditor.net/'>FCKeditor</a>.]
|
||||
|
||||
oFCKeditor.BasePath = sBasePath
|
||||
oFCKeditor.cValue = lcText
|
||||
|
||||
? oFCKeditor.Create()
|
||||
|
||||
%>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,98 +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 page is a basic Sample for FCKeditor integration in the AFP script language (www.afpages.de)
|
||||
*
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - AFP Sample 4</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
<script type="text/javascript">
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbSkins' ) ;
|
||||
|
||||
// Get the active skin.
|
||||
var sSkin = editorInstance.Config['SkinPath'] ;
|
||||
sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
|
||||
|
||||
oCombo.value = sSkin ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeSkin( skinName )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Skin=" + skinName ;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - AFP - Sample 4</h1>
|
||||
This sample shows how to change the editor skin.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the skin to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbSkins" onchange="ChangeSkin(this.value);" style="VISIBILITY: hidden">
|
||||
<option value="default" selected>Default</option>
|
||||
<option value="office2003">Office 2003</option>
|
||||
<option value="silver">Silver</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.afp" method="post" target="_blank">
|
||||
<%
|
||||
|
||||
sBasePath="../../../fckeditor/" && <-- Change this to your local path
|
||||
|
||||
oFCKeditor = CREATEOBJECT("FCKeditor")
|
||||
oFCKeditor.fckeditor("FCKeditor1")
|
||||
|
||||
lcSkin=request.querystring("Skin") && Request Parameter
|
||||
lcSkin=oFCKeditor.StripAttacks(lcSkin) && Remove special escape characters
|
||||
IF !EMPTY(lcSkin)
|
||||
oFCKeditor.aconfig[1,1]="SkinPath"
|
||||
oFCKeditor.aconfig[1,2]="/fckeditor/editor/skins/"+lcSkin+"/" && <-- Change this to your local path
|
||||
ENDIF
|
||||
|
||||
lcText=[<p>This is some <strong>sample text</strong>. You are using ]
|
||||
lcText=lcText+[<a href='http://www.fckeditor.net/'>FCKeditor</a>.]
|
||||
|
||||
oFCKeditor.BasePath = sBasePath
|
||||
oFCKeditor.cValue = lcText
|
||||
|
||||
? oFCKeditor.Create()
|
||||
|
||||
%>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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 page lists the data posted by a form.
|
||||
*
|
||||
%>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - AFP - Samples - Posted Data</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - Samples - Posted Data</h1>
|
||||
This page lists all data posted by the form.
|
||||
<hr>
|
||||
<table border="1" cellspacing="0" id="outputSample">
|
||||
<colgroup><col width="80"><col></colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<%
|
||||
lcForm=REQUEST.Form()
|
||||
lcForm=STRTRAN(lcForm,"&",CHR(13)+CHR(10))
|
||||
|
||||
FOR lnLoop=1 TO MEMLINES(lcForm)
|
||||
lcZeile=ALLTRIM(MLINE(lcForm,lnLoop))
|
||||
IF AT("=",lcZeile)>0
|
||||
lcVariable=UPPER(ALLTRIM(LEFT(lcZeile,AT("=",lcZeile)-1)))
|
||||
lcWert=ALLTRIM(RIGHT(lcZeile,LEN(lcZeile)-AT("=",lcZeile)))
|
||||
lcWert=Server.UrlDecode( lcWert )
|
||||
lcWert=STRTRAN(lcWert,"<","<")
|
||||
lcWert=STRTRAN(lcWert,">",">") && ... if wanted remove/translate HTML Chars ...
|
||||
|
||||
? [<tr><th>]+lcVariable+[ =</th><td><pre>]+lcWert+[</pre></td></tr>]
|
||||
ENDIF
|
||||
NEXT
|
||||
%>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,62 +0,0 @@
|
||||
<%@ codepage="65001" language="VBScript" %>
|
||||
<% Option Explicit %>
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
|
||||
<!-- #INCLUDE file="../../fckeditor.asp" -->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - ASP - Sample 1
|
||||
</h1>
|
||||
<div>
|
||||
This sample displays a normal HTML form with an FCKeditor with full features enabled.
|
||||
</div>
|
||||
<hr />
|
||||
<form action="sampleposteddata.asp" method="post" target="_blank">
|
||||
<%
|
||||
' Automatically calculates the editor base path based on the _samples directory.
|
||||
' This is usefull only for these samples. A real application should use something like this:
|
||||
' oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
Dim sBasePath
|
||||
sBasePath = Request.ServerVariables("PATH_INFO")
|
||||
sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )
|
||||
|
||||
Dim oFCKeditor
|
||||
Set oFCKeditor = New FCKeditor
|
||||
oFCKeditor.BasePath = sBasePath
|
||||
oFCKeditor.Value = "<p>This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
|
||||
oFCKeditor.Create "FCKeditor1"
|
||||
%>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,108 +0,0 @@
|
||||
<%@ CodePage=65001 Language="VBScript"%>
|
||||
<% Option Explicit %>
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
|
||||
<!-- #INCLUDE file="../../fckeditor.asp" -->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbLanguages' ) ;
|
||||
for ( code in editorInstance.Language.AvailableLanguages )
|
||||
{
|
||||
AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
|
||||
}
|
||||
oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
|
||||
}
|
||||
|
||||
function AddComboOption(combo, optionText, optionValue)
|
||||
{
|
||||
var oOption = document.createElement("OPTION") ;
|
||||
|
||||
combo.options.add(oOption) ;
|
||||
|
||||
oOption.innerHTML = optionText ;
|
||||
oOption.value = optionValue ;
|
||||
|
||||
return oOption ;
|
||||
}
|
||||
|
||||
function ChangeLanguage( languageCode )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Lang=" + languageCode ;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ASP - Sample 2</h1>
|
||||
This sample shows the editor in all its available languages.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select a language:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.asp" method="post" target="_blank">
|
||||
<%
|
||||
' Automatically calculates the editor base path based on the _samples directory.
|
||||
' This is usefull only for these samples. A real application should use something like this:
|
||||
' oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
Dim sBasePath
|
||||
sBasePath = Request.ServerVariables("PATH_INFO")
|
||||
sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )
|
||||
|
||||
Dim oFCKeditor
|
||||
Set oFCKeditor = New FCKeditor
|
||||
oFCKeditor.BasePath = sBasePath
|
||||
|
||||
If Request.QueryString("Lang") = "" Then
|
||||
oFCKeditor.Config("AutoDetectLanguage") = True
|
||||
oFCKeditor.Config("DefaultLanguage") = "en"
|
||||
Else
|
||||
oFCKeditor.Config("AutoDetectLanguage") = False
|
||||
oFCKeditor.Config("DefaultLanguage") = Request.QueryString("Lang")
|
||||
End If
|
||||
|
||||
oFCKeditor.Value = "<p>This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
|
||||
oFCKeditor.Create "FCKeditor1"
|
||||
%>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<%@ CodePage=65001 Language="VBScript"%>
|
||||
<% Option Explicit %>
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
|
||||
<!-- #INCLUDE file="../../fckeditor.asp" -->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbToolbars' ) ;
|
||||
oCombo.value = editorInstance.ToolbarSet.Name ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeToolbar( toolbarName )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Toolbar=" + toolbarName ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ASP - Sample 3</h1>
|
||||
This sample shows how to change the editor toolbar.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the toolbar to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbToolbars" onchange="ChangeToolbar(this.value);" style="VISIBILITY: hidden">
|
||||
<option value="Default" selected>Default</option>
|
||||
<option value="Basic">Basic</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.asp" method="post" target="_blank">
|
||||
<%
|
||||
' Automatically calculates the editor base path based on the _samples directory.
|
||||
' This is usefull only for these samples. A real application should use something like this:
|
||||
' oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
Dim sBasePath
|
||||
sBasePath = Request.ServerVariables("PATH_INFO")
|
||||
sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )
|
||||
|
||||
Dim oFCKeditor
|
||||
Set oFCKeditor = New FCKeditor
|
||||
oFCKeditor.BasePath = sBasePath
|
||||
|
||||
If Request.QueryString("Toolbar") <> "" Then
|
||||
oFCKeditor.ToolbarSet = Server.HTMLEncode( Request.QueryString("Toolbar") )
|
||||
End If
|
||||
|
||||
oFCKeditor.Value = "<p>This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
|
||||
oFCKeditor.Create "FCKeditor1"
|
||||
%>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,98 +0,0 @@
|
||||
<%@ CodePage=65001 Language="VBScript"%>
|
||||
<% Option Explicit %>
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<% ' You must set "Enable Parent Paths" on your web site in order this relative include to work. %>
|
||||
<!-- #INCLUDE file="../../fckeditor.asp" -->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbSkins' ) ;
|
||||
|
||||
// Get the active skin.
|
||||
var sSkin = editorInstance.Config['SkinPath'] ;
|
||||
sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
|
||||
|
||||
oCombo.value = sSkin ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeSkin( skinName )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Skin=" + skinName ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ASP - Sample 4</h1>
|
||||
This sample shows how to change the editor skin.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the skin to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbSkins" onchange="ChangeSkin(this.value);" style="VISIBILITY: hidden">
|
||||
<option value="default" selected>Default</option>
|
||||
<option value="office2003">Office 2003</option>
|
||||
<option value="silver">Silver</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.asp" method="post" target="_blank">
|
||||
<%
|
||||
' Automatically calculates the editor base path based on the _samples directory.
|
||||
' This is usefull only for these samples. A real application should use something like this:
|
||||
' oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
Dim sBasePath
|
||||
sBasePath = Request.ServerVariables("PATH_INFO")
|
||||
sBasePath = Left( sBasePath, InStrRev( sBasePath, "/_samples" ) )
|
||||
|
||||
Dim oFCKeditor
|
||||
Set oFCKeditor = New FCKeditor
|
||||
oFCKeditor.BasePath = sBasePath
|
||||
|
||||
If Request.QueryString("Skin") <> "" Then
|
||||
oFCKeditor.Config("SkinPath") = sBasePath + "editor/skins/" & Server.HTMLEncode( Request.QueryString("Skin") ) + "/"
|
||||
End If
|
||||
|
||||
oFCKeditor.Value = "<p>This is some <strong>sample text</strong>. You are using <a href=""http://www.fckeditor.net/"">FCKeditor</a>."
|
||||
oFCKeditor.Create "FCKeditor1"
|
||||
%>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,56 +0,0 @@
|
||||
<%@ CodePage=65001 Language="VBScript"%>
|
||||
<% Option Explicit %>
|
||||
<!--
|
||||
* 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 page lists the data posted by a form.
|
||||
-->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Samples - Posted Data</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" >
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - Samples - Posted Data</h1>
|
||||
This page lists all data posted by the form.
|
||||
<hr>
|
||||
<table border="1" cellspacing="0" id="outputSample">
|
||||
<colgroup><col width="80"><col></colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<%
|
||||
Dim sForm
|
||||
For Each sForm in Request.Form
|
||||
%>
|
||||
<tr>
|
||||
<th><%=sForm%></th>
|
||||
<td><pre><%=Server.HTMLEncode( Request.Form(sForm) )%></pre></td>
|
||||
</tr>
|
||||
<% Next %>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,63 +0,0 @@
|
||||
<cfsetting enablecfoutputonly="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 ==
|
||||
*
|
||||
* Sample page for ColdFusion.
|
||||
--->
|
||||
|
||||
<cfoutput>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ColdFusion - Sample 1</h1>
|
||||
|
||||
This sample displays a normal HTML form with a FCKeditor with full features enabled.
|
||||
<hr>
|
||||
|
||||
<form method="POST" action="sampleposteddata.cfm">
|
||||
</cfoutput>
|
||||
|
||||
<!--- Calculate basepath for FCKeditor. It's in the folder right above _samples --->
|
||||
<cfset basePath = Left( cgi.script_name, FindNoCase( '_samples', cgi.script_name ) - 1 )>
|
||||
|
||||
<cfmodule
|
||||
template="../../fckeditor.cfm"
|
||||
basePath="#basePath#"
|
||||
instanceName="myEditor"
|
||||
value='<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>'
|
||||
width="100%"
|
||||
height="200"
|
||||
>
|
||||
|
||||
<cfoutput>
|
||||
<br />
|
||||
<input type="submit" value="Submit">
|
||||
<hr />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</cfoutput>
|
||||
<cfsetting enablecfoutputonly="false">
|
||||
@@ -1,67 +0,0 @@
|
||||
<cfsetting enablecfoutputonly="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 ==
|
||||
*
|
||||
* Sample page for ColdFusion MX 6.0 and above.
|
||||
--->
|
||||
|
||||
<cfoutput>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ColdFusion Component (CFC) - Sample 1</h1>
|
||||
|
||||
This sample displays a normal HTML form with a FCKeditor with full features enabled.
|
||||
<hr>
|
||||
|
||||
<form method="POST" action="sampleposteddata.cfm">
|
||||
</cfoutput>
|
||||
|
||||
<cfif listFirst( server.coldFusion.productVersion ) LT 6>
|
||||
<cfoutput><br><em style="color: red;">This sample works only with a ColdFusion MX server and higher, because it uses some advantages of this version.</em></cfoutput>
|
||||
<cfabort>
|
||||
</cfif>
|
||||
|
||||
<cfscript>
|
||||
// Calculate basepath for FCKeditor. It's in the folder right above _samples
|
||||
basePath = Left( cgi.script_name, FindNoCase( '_samples', cgi.script_name ) - 1 ) ;
|
||||
|
||||
fckEditor = createObject( "component", "#basePath#fckeditor" ) ;
|
||||
fckEditor.instanceName = "myEditor" ;
|
||||
fckEditor.value = '<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>' ;
|
||||
fckEditor.basePath = basePath ;
|
||||
fckEditor.Create() ; // create the editor.
|
||||
</cfscript>
|
||||
|
||||
<cfoutput>
|
||||
<br />
|
||||
<input type="submit" value="Submit">
|
||||
<hr />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</cfoutput>
|
||||
<cfsetting enablecfoutputonly="false">
|
||||
@@ -1,110 +0,0 @@
|
||||
<cfsetting enablecfoutputonly="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 ==
|
||||
*
|
||||
* Sample page for ColdFusion.
|
||||
--->
|
||||
|
||||
<cfoutput>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbLanguages' ) ;
|
||||
for ( code in editorInstance.Language.AvailableLanguages )
|
||||
{
|
||||
AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
|
||||
}
|
||||
oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
|
||||
}
|
||||
|
||||
function AddComboOption(combo, optionText, optionValue)
|
||||
{
|
||||
var oOption = document.createElement("OPTION") ;
|
||||
|
||||
combo.options.add(oOption) ;
|
||||
|
||||
oOption.innerHTML = optionText ;
|
||||
oOption.value = optionValue ;
|
||||
|
||||
return oOption ;
|
||||
}
|
||||
|
||||
function ChangeLanguage( languageCode )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Lang=" + languageCode ;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ColdFusion - Sample 2</h1>
|
||||
This sample shows the editor in all its available languages.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select a language:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.cfm" method="post" target="_blank">
|
||||
</cfoutput>
|
||||
|
||||
<cfset config = structNew()>
|
||||
<cfif isDefined( "URL.Lang" )>
|
||||
<cfset config["AutoDetectLanguage"] = false>
|
||||
<cfset config["DefaultLanguage"] = HTMLEditFormat( URL.Lang )>
|
||||
<cfelse>
|
||||
<cfset config["AutoDetectLanguage"] = true>
|
||||
<cfset config["DefaultLanguage"] = 'en'>
|
||||
</cfif>
|
||||
|
||||
<!--- Calculate basepath for FCKeditor. It's in the folder right above _samples --->
|
||||
<cfset basePath = Left( cgi.script_name, FindNoCase( '_samples', cgi.script_name ) - 1 )>
|
||||
|
||||
<cfmodule
|
||||
template="../../fckeditor.cfm"
|
||||
basePath="#basePath#"
|
||||
instanceName="myEditor"
|
||||
value='<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>'
|
||||
width="100%"
|
||||
height="200"
|
||||
config="#config#"
|
||||
>
|
||||
<cfoutput>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</cfoutput>
|
||||
<cfsetting enablecfoutputonly="false">
|
||||
@@ -1,114 +0,0 @@
|
||||
<cfsetting enablecfoutputonly="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 ==
|
||||
*
|
||||
* Sample page for ColdFusion MX 6.0 and above.
|
||||
--->
|
||||
|
||||
<cfoutput>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbLanguages' ) ;
|
||||
for ( code in editorInstance.Language.AvailableLanguages )
|
||||
{
|
||||
AddComboOption( oCombo, editorInstance.Language.AvailableLanguages[code] + ' (' + code + ')', code ) ;
|
||||
}
|
||||
oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
|
||||
}
|
||||
|
||||
function AddComboOption(combo, optionText, optionValue)
|
||||
{
|
||||
var oOption = document.createElement("OPTION") ;
|
||||
|
||||
combo.options.add(oOption) ;
|
||||
|
||||
oOption.innerHTML = optionText ;
|
||||
oOption.value = optionValue ;
|
||||
|
||||
return oOption ;
|
||||
}
|
||||
|
||||
function ChangeLanguage( languageCode )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Lang=" + languageCode ;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ColdFusion Component (CFC) - Sample 2</h1>
|
||||
This sample shows the editor in all its available languages.
|
||||
<hr>
|
||||
</cfoutput>
|
||||
<cfif listFirst( server.coldFusion.productVersion ) LT 6>
|
||||
<cfoutput><br><em style="color: red;">This sample works only with a ColdFusion MX server and higher, because it uses some advantages of this version.</em></cfoutput>
|
||||
<cfabort>
|
||||
</cfif>
|
||||
<cfoutput>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select a language:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.cfm" method="post" target="_blank">
|
||||
</cfoutput>
|
||||
<cfscript>
|
||||
// Calculate basepath for FCKeditor. It's in the folder right above _samples
|
||||
basePath = Left( cgi.script_name, FindNoCase( '_samples', cgi.script_name ) - 1 ) ;
|
||||
|
||||
fckEditor = createObject( "component", "#basePath#fckeditor" ) ;
|
||||
fckEditor.instanceName = "myEditor" ;
|
||||
fckEditor.value = '<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>' ;
|
||||
fckEditor.basePath = basePath ;
|
||||
if ( isDefined( "URL.Lang" ) )
|
||||
{
|
||||
fckEditor.config["AutoDetectLanguage"] = false ;
|
||||
fckEditor.config["DefaultLanguage"] = HTMLEditFormat( URL.Lang ) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
fckEeditor.config["AutoDetectLanguage"] = true ;
|
||||
fckEeditor.config["DefaultLanguage"] = 'en' ;
|
||||
}
|
||||
fckEditor.create() ; // create the editor.
|
||||
</cfscript>
|
||||
<cfoutput>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</cfoutput>
|
||||
<cfsetting enablecfoutputonly="false">
|
||||
@@ -1,95 +0,0 @@
|
||||
<cfsetting enablecfoutputonly="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 ==
|
||||
*
|
||||
* Sample page for ColdFusion.
|
||||
--->
|
||||
<cfoutput>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbToolbars' ) ;
|
||||
oCombo.value = editorInstance.ToolbarSet.Name ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeToolbar( toolbarName )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Toolbar=" + toolbarName ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ColdFusion - Sample 3</h1>
|
||||
This sample shows how to change the editor toolbar.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the toolbar to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbToolbars" onchange="ChangeToolbar(this.value);" style="VISIBILITY: hidden">
|
||||
<option value="Default" selected>Default</option>
|
||||
<option value="Basic">Basic</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.cfm" method="post" target="_blank">
|
||||
</cfoutput>
|
||||
|
||||
<cfif isDefined( "URL.Toolbar" )>
|
||||
<cfset toolbarSet = HTMLEditFormat( URL.Toolbar )>
|
||||
<cfelse>
|
||||
<cfset toolbarSet = "Default">
|
||||
</cfif>
|
||||
|
||||
<!--- Calculate basepath for FCKeditor. It's in the folder right above _samples --->
|
||||
<cfset basePath = Left( cgi.script_name, FindNoCase( '_samples', cgi.script_name ) - 1 )>
|
||||
|
||||
<cfmodule
|
||||
template="../../fckeditor.cfm"
|
||||
basePath="#basePath#"
|
||||
instanceName="myEditor"
|
||||
value='<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>'
|
||||
width="100%"
|
||||
height="200"
|
||||
toolbarSet="#toolbarSet#"
|
||||
>
|
||||
|
||||
<cfoutput>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</cfoutput>
|
||||
<cfsetting enablecfoutputonly="false">
|
||||
@@ -1,95 +0,0 @@
|
||||
<cfsetting enablecfoutputonly="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 ==
|
||||
*
|
||||
* Sample page for ColdFusion MX 6.0 and above.
|
||||
--->
|
||||
<cfoutput>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbToolbars' ) ;
|
||||
oCombo.value = editorInstance.ToolbarSet.Name ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeToolbar( toolbarName )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Toolbar=" + toolbarName ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ColdFusion Component (CFC) - Sample 3</h1>
|
||||
This sample shows how to change the editor toolbar.
|
||||
<hr>
|
||||
</cfoutput>
|
||||
<cfif listFirst( server.coldFusion.productVersion ) LT 6>
|
||||
<cfoutput><br><em style="color: red;">This sample works only with a ColdFusion MX server and higher, because it uses some advantages of this version.</em></cfoutput>
|
||||
<cfabort>
|
||||
</cfif>
|
||||
<cfoutput>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the toolbar to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbToolbars" onchange="ChangeToolbar(this.value);" style="VISIBILITY: hidden">
|
||||
<option value="Default" selected>Default</option>
|
||||
<option value="Basic">Basic</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.cfm" method="post" target="_blank">
|
||||
</cfoutput>
|
||||
<cfscript>
|
||||
// Calculate basepath for FCKeditor. It's in the folder right above _samples
|
||||
basePath = Left( cgi.script_name, FindNoCase( '_samples', cgi.script_name ) - 1 ) ;
|
||||
|
||||
fckEditor = createObject( "component", "#basePath#fckeditor" ) ;
|
||||
fckEditor.instanceName = "myEditor" ;
|
||||
fckEditor.value = '<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>' ;
|
||||
fckEditor.basePath = basePath ;
|
||||
if ( isDefined( "URL.Toolbar" ) )
|
||||
{
|
||||
fckEditor.ToolbarSet = HTMLEditFormat( URL.Toolbar ) ;
|
||||
}
|
||||
fckEditor.create() ; // create the editor.
|
||||
</cfscript>
|
||||
<cfoutput>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</cfoutput>
|
||||
<cfsetting enablecfoutputonly="false">
|
||||
@@ -1,100 +0,0 @@
|
||||
<cfsetting enablecfoutputonly="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 ==
|
||||
*
|
||||
* Sample page for ColdFusion.
|
||||
--->
|
||||
<cfoutput>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbSkins' ) ;
|
||||
|
||||
// Get the active skin.
|
||||
var sSkin = editorInstance.Config['SkinPath'] ;
|
||||
sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
|
||||
|
||||
oCombo.value = sSkin ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeSkin( skinName )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Skin=" + skinName ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ColdFusion - Sample 4</h1>
|
||||
This sample shows how to change the editor skin.
|
||||
<hr>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the skin to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbSkins" onchange="ChangeSkin(this.value);" style="VISIBILITY: hidden">
|
||||
<option value="default" selected>Default</option>
|
||||
<option value="office2003">Office 2003</option>
|
||||
<option value="silver">Silver</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.cfm" method="post" target="_blank">
|
||||
</cfoutput>
|
||||
|
||||
<!--- Calculate basepath for FCKeditor. It's in the folder right above _samples --->
|
||||
<cfset basePath = Left( cgi.script_name, FindNoCase( '_samples', cgi.script_name ) - 1 )>
|
||||
|
||||
<cfset config = structNew()>
|
||||
<cfif isDefined( "URL.Skin" )>
|
||||
<cfset config["SkinPath"] = basePath & 'editor/skins/' & HTMLEditFormat( URL.Skin ) & '/'>
|
||||
</cfif>
|
||||
|
||||
<cfmodule
|
||||
template="../../fckeditor.cfm"
|
||||
basePath="#basePath#"
|
||||
instanceName="myEditor"
|
||||
value='<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>'
|
||||
width="100%"
|
||||
height="200"
|
||||
config="#config#"
|
||||
>
|
||||
|
||||
<cfoutput>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</cfoutput>
|
||||
<cfsetting enablecfoutputonly="false">
|
||||
@@ -1,101 +0,0 @@
|
||||
<cfsetting enablecfoutputonly="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 ==
|
||||
*
|
||||
* Sample page for ColdFusion MX 6.0 and above.
|
||||
--->
|
||||
<cfoutput>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbSkins' ) ;
|
||||
|
||||
// Get the active skin.
|
||||
var sSkin = editorInstance.Config['SkinPath'] ;
|
||||
sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
|
||||
|
||||
oCombo.value = sSkin ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeSkin( skinName )
|
||||
{
|
||||
window.location.href = window.location.pathname + "?Skin=" + skinName ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - ColdFusion Component (CFC) - Sample 4</h1>
|
||||
This sample shows how to change the editor skin.
|
||||
<hr>
|
||||
</cfoutput>
|
||||
<cfif listFirst( server.coldFusion.productVersion ) LT 6>
|
||||
<cfoutput><br><em style="color: red;">This sample works only with a ColdFusion MX server and higher, because it uses some advantages of this version.</em></cfoutput>
|
||||
<cfabort>
|
||||
</cfif>
|
||||
<cfoutput>
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the skin to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbSkins" onchange="ChangeSkin(this.value);" style="VISIBILITY: hidden">
|
||||
<option value="default" selected>Default</option>
|
||||
<option value="office2003">Office 2003</option>
|
||||
<option value="silver">Silver</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<form action="sampleposteddata.cfm" method="post" target="_blank">
|
||||
</cfoutput>
|
||||
<cfscript>
|
||||
// Calculate basepath for FCKeditor. It's in the folder right above _samples
|
||||
basePath = Left( cgi.script_name, FindNoCase( '_samples', cgi.script_name ) - 1 ) ;
|
||||
|
||||
fckEditor = createObject( "component", "#basePath#fckeditor" ) ;
|
||||
fckEditor.instanceName = "myEditor" ;
|
||||
fckEditor.value = '<p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p>' ;
|
||||
fckEditor.basePath = basePath ;
|
||||
if ( isDefined( "URL.Skin" ) )
|
||||
{
|
||||
fckEditor.config['SkinPath'] = basePath & 'editor/skins/' & HTMLEditFormat( URL.Skin ) & '/' ;
|
||||
}
|
||||
fckEditor.create() ; // create the editor.
|
||||
</cfscript>
|
||||
<cfoutput>
|
||||
<br>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
</cfoutput>
|
||||
<cfsetting enablecfoutputonly="false">
|
||||
@@ -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 page lists the data posted by a form.
|
||||
*/
|
||||
--->
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Samples - Posted Data</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>FCKeditor - Samples - Posted Data</h1>
|
||||
This page lists all data posted by the form.
|
||||
<hr>
|
||||
<cfif listFirst( server.coldFusion.productVersion ) LT 6>
|
||||
<cfif isDefined( 'FORM.fieldnames' )>
|
||||
<cfoutput>
|
||||
<hr />
|
||||
<table border="1" cellspacing="0" id="outputSample">
|
||||
<colgroup><col width="80"><col></colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<th>FieldNames</th>
|
||||
<td>#FORM.fieldNames#</td>
|
||||
</tr>
|
||||
<cfloop list="#FORM.fieldnames#" index="key">
|
||||
<tr>
|
||||
<th>#key#</th>
|
||||
<td><pre>#HTMLEditFormat( evaluate( "FORM.#key#" ) )#</pre></td>
|
||||
</tr>
|
||||
</cfloop>
|
||||
</table>
|
||||
</cfoutput>
|
||||
</cfif>
|
||||
<cfelse>
|
||||
<cfdump var="#FORM#" label="Dump of FORM Variables">
|
||||
</cfif>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,35 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
|
||||
"http://www.w3.org/TR/html4/frameset.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Samples Frameset page.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>FCKeditor - Samples</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
</head>
|
||||
<frameset rows="60,*">
|
||||
<frame src="sampleslist.html" noresize scrolling="no">
|
||||
<frame name="Sample" src="html/sample01.html" noresize>
|
||||
</frameset>
|
||||
</html>
|
||||
@@ -1,49 +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 ==
|
||||
*
|
||||
* Sample custom configuration settings used in the plugin sample page (sample06).
|
||||
*/
|
||||
|
||||
// Set our sample toolbar.
|
||||
FCKConfig.ToolbarSets['PluginTest'] = [
|
||||
['SourceSimple'],
|
||||
['My_Find','My_Replace','-','Placeholder'],
|
||||
['StyleSimple','FontFormatSimple','FontNameSimple','FontSizeSimple'],
|
||||
['Table','-','TableInsertRowAfter','TableDeleteRows','TableInsertColumnAfter','TableDeleteColumns','TableInsertCellAfter','TableDeleteCells','TableMergeCells','TableHorizontalSplitCell','TableCellProp'],
|
||||
['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink'],
|
||||
'/',
|
||||
['My_BigStyle','-','Smiley','-','About']
|
||||
] ;
|
||||
|
||||
// Change the default plugin path.
|
||||
FCKConfig.PluginsPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + '_samples/_plugins/' ;
|
||||
|
||||
// Add our plugin to the plugins list.
|
||||
// FCKConfig.Plugins.Add( pluginName, availableLanguages )
|
||||
// pluginName: The plugin name. The plugin directory must match this name.
|
||||
// availableLanguages: a list of available language files for the plugin (separated by a comma).
|
||||
FCKConfig.Plugins.Add( 'findreplace', 'en,fr,it' ) ;
|
||||
FCKConfig.Plugins.Add( 'samples' ) ;
|
||||
|
||||
// If you want to use plugins found on other directories, just use the third parameter.
|
||||
var sOtherPluginPath = FCKConfig.BasePath.substr(0, FCKConfig.BasePath.length - 7) + 'editor/plugins/' ;
|
||||
FCKConfig.Plugins.Add( 'placeholder', 'de,en,es,fr,it,pl', sOtherPluginPath ) ;
|
||||
FCKConfig.Plugins.Add( 'tablecommands', null, sOtherPluginPath ) ;
|
||||
FCKConfig.Plugins.Add( 'simplecommands', null, sOtherPluginPath ) ;
|
||||
@@ -1,69 +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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../../fckeditor.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<form action="../../php/sampleposteddata.php" method="post" target="_blank">
|
||||
Normal text field:<br />
|
||||
<input name="NormaText" value="Plain Text" />
|
||||
<br />
|
||||
<br />
|
||||
FCKeditor 1:
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor_1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.Height = 100 ;
|
||||
oFCKeditor.Config[ 'ToolbarLocation' ] = 'Out:parent(xToolbar)' ;
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
FCKeditor 2:
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
oFCKeditor = new FCKeditor( 'FCKeditor_2' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.Height = 100 ;
|
||||
oFCKeditor.Config[ 'ToolbarLocation' ] = 'Out:parent(xToolbar)' ;
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,121 +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 settings used by the XHTML 1.1 sample page (sample14.html).
|
||||
*/
|
||||
|
||||
// Our intention is force all formatting features to use CSS classes or
|
||||
// semantic aware elements.
|
||||
|
||||
// Load our custom CSS files for this sample.
|
||||
// We are using "BasePath" just for this sample convenience. In normal
|
||||
// situations it would be just pointed to the file directly,
|
||||
// like "/css/myfile.css".
|
||||
FCKConfig.EditorAreaCSS = FCKConfig.BasePath + '../_samples/html/assets/sample14.styles.css' ;
|
||||
|
||||
/**
|
||||
* Core styles.
|
||||
*/
|
||||
FCKConfig.CoreStyles.Bold = { Element : 'span', Attributes : { 'class' : 'Bold' } } ;
|
||||
FCKConfig.CoreStyles.Italic = { Element : 'span', Attributes : { 'class' : 'Italic' } } ;
|
||||
FCKConfig.CoreStyles.Underline = { Element : 'span', Attributes : { 'class' : 'Underline' } } ;
|
||||
FCKConfig.CoreStyles.StrikeThrough = { Element : 'span', Attributes : { 'class' : 'StrikeThrough' } } ;
|
||||
|
||||
/**
|
||||
* Font face
|
||||
*/
|
||||
// List of fonts available in the toolbar combo. Each font definition is
|
||||
// separated by a semi-colon (;). We are using class names here, so each font
|
||||
// is defined by {Class Name}/{Combo Label}.
|
||||
FCKConfig.FontNames = 'FontComic/Comic Sans MS;FontCourier/Courier New;FontTimes/Times New Roman' ;
|
||||
|
||||
// Define the way font elements will be applied to the document. The "span"
|
||||
// element will be used. When a font is selected, the font name defined in the
|
||||
// above list is passed to this definition with the name "Font", being it
|
||||
// injected in the "class" attribute.
|
||||
// We must also instruct the editor to replace span elements that are used to
|
||||
// set the font (Overrides).
|
||||
FCKConfig.CoreStyles.FontFace =
|
||||
{
|
||||
Element : 'span',
|
||||
Attributes : { 'class' : '#("Font")' },
|
||||
Overrides : [ { Element : 'span', Attributes : { 'class' : /^Font(?:Comic|Courier|Times)$/ } } ]
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Font sizes.
|
||||
*/
|
||||
FCKConfig.FontSizes = 'FontSmaller/Smaller;FontLarger/Larger;FontSmall/8pt;FontBig/14pt;FontDouble/Double Size' ;
|
||||
FCKConfig.CoreStyles.Size =
|
||||
{
|
||||
Element : 'span',
|
||||
Attributes : { 'class' : '#("Size")' },
|
||||
Overrides : [ { Element : 'span', Attributes : { 'class' : /^Font(?:Smaller|Larger|Small|Big|Double)$/ } } ]
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Font colors.
|
||||
*/
|
||||
FCKConfig.EnableMoreFontColors = false ;
|
||||
FCKConfig.FontColors = 'ff9900/FontColor1,0066cc/FontColor2,ff0000/FontColor3' ;
|
||||
FCKConfig.CoreStyles.Color =
|
||||
{
|
||||
Element : 'span',
|
||||
Attributes : { 'class' : '#("Color")' },
|
||||
Overrides : [ { Element : 'span', Attributes : { 'class' : /^FontColor(?:1|2|3)$/ } } ]
|
||||
} ;
|
||||
|
||||
FCKConfig.CoreStyles.BackColor =
|
||||
{
|
||||
Element : 'span',
|
||||
Attributes : { 'class' : '#("Color")BG' },
|
||||
Overrides : [ { Element : 'span', Attributes : { 'class' : /^FontColor(?:1|2|3)BG$/ } } ]
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Indentation.
|
||||
*/
|
||||
FCKConfig.IndentClasses = [ 'Indent1', 'Indent2', 'Indent3' ] ;
|
||||
|
||||
/**
|
||||
* Paragraph justification.
|
||||
*/
|
||||
FCKConfig.JustifyClasses = [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyFull' ] ;
|
||||
|
||||
/**
|
||||
* Styles combo.
|
||||
*/
|
||||
FCKConfig.StylesXmlPath = '' ;
|
||||
FCKConfig.CustomStyles =
|
||||
{
|
||||
'Strong Emphasis' : { Element : 'strong' },
|
||||
'Emphasis' : { Element : 'em' },
|
||||
|
||||
'Computer Code' : { Element : 'code' },
|
||||
'Keyboard Phrase' : { Element : 'kbd' },
|
||||
'Sample Text' : { Element : 'samp' },
|
||||
'Variable' : { Element : 'var' },
|
||||
|
||||
'Deleted Text' : { Element : 'del' },
|
||||
'Inserted Text' : { Element : 'ins' },
|
||||
|
||||
'Cited Work' : { Element : 'cite' },
|
||||
'Inline Quotation' : { Element : 'q' }
|
||||
} ;
|
||||
@@ -1,228 +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 ==
|
||||
*
|
||||
* Styles used by the XHTML 1.1 sample page (sample14.html).
|
||||
*/
|
||||
|
||||
/**
|
||||
* Basic definitions for the editing area.
|
||||
*/
|
||||
body
|
||||
{
|
||||
background-color: #ffffff;
|
||||
padding: 5px 5px 5px 5px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
body, td
|
||||
{
|
||||
font-family: Arial, Verdana, sans-serif;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
a[href]
|
||||
{
|
||||
color: #0000FF !important; /* For Firefox... mark as important, otherwise it becomes black */
|
||||
}
|
||||
|
||||
/**
|
||||
* Core styles.
|
||||
*/
|
||||
|
||||
.Bold
|
||||
{
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.Italic
|
||||
{
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.Underline
|
||||
{
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.StrikeThrough
|
||||
{
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.Subscript
|
||||
{
|
||||
vertical-align: sub;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.Superscript
|
||||
{
|
||||
vertical-align: super;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
/**
|
||||
* Font faces.
|
||||
*/
|
||||
|
||||
.FontComic
|
||||
{
|
||||
font-family: 'Comic Sans MS';
|
||||
}
|
||||
|
||||
.FontCourier
|
||||
{
|
||||
font-family: 'Courier New';
|
||||
}
|
||||
|
||||
.FontTimes
|
||||
{
|
||||
font-family: 'Times New Roman';
|
||||
}
|
||||
|
||||
/**
|
||||
* Font sizes.
|
||||
*/
|
||||
|
||||
.FontSmaller
|
||||
{
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.FontLarger
|
||||
{
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
.FontSmall
|
||||
{
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
.FontBig
|
||||
{
|
||||
font-size: 14pt;
|
||||
}
|
||||
|
||||
.FontDouble
|
||||
{
|
||||
font-size: 200%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Font colors.
|
||||
*/
|
||||
.FontColor1
|
||||
{
|
||||
color: #ff9900;
|
||||
}
|
||||
|
||||
.FontColor2
|
||||
{
|
||||
color: #0066cc;
|
||||
}
|
||||
|
||||
.FontColor3
|
||||
{
|
||||
color: #ff0000;
|
||||
}
|
||||
|
||||
.FontColor1BG
|
||||
{
|
||||
background-color: #ff9900;
|
||||
}
|
||||
|
||||
.FontColor2BG
|
||||
{
|
||||
background-color: #0066cc;
|
||||
}
|
||||
|
||||
.FontColor3BG
|
||||
{
|
||||
background-color: #ff0000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indentation.
|
||||
*/
|
||||
|
||||
.Indent1
|
||||
{
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
.Indent2
|
||||
{
|
||||
margin-left: 80px;
|
||||
}
|
||||
|
||||
.Indent3
|
||||
{
|
||||
margin-left: 120px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Alignment.
|
||||
*/
|
||||
|
||||
.JustifyLeft
|
||||
{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.JustifyRight
|
||||
{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.JustifyCenter
|
||||
{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.JustifyFull
|
||||
{
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
/**
|
||||
* Other.
|
||||
*/
|
||||
|
||||
code
|
||||
{
|
||||
font-family: courier, monospace;
|
||||
background-color: #eeeeee;
|
||||
padding-left: 1px;
|
||||
padding-right: 1px;
|
||||
border: #c0c0c0 1px solid;
|
||||
}
|
||||
|
||||
kbd
|
||||
{
|
||||
padding: 0px 1px 0px 1px;
|
||||
border-width: 1px 2px 2px 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
blockquote
|
||||
{
|
||||
color: #808080;
|
||||
}
|
||||
@@ -1,92 +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 settings used by the XHTML 1.1 sample page (sample14.html).
|
||||
*/
|
||||
|
||||
// Our intention is force all formatting features to use CSS classes or
|
||||
// semantic aware elements.
|
||||
|
||||
/**
|
||||
* Core styles.
|
||||
*/
|
||||
FCKConfig.CoreStyles.Bold = { Element : 'b' } ;
|
||||
FCKConfig.CoreStyles.Italic = { Element : 'i' } ;
|
||||
FCKConfig.CoreStyles.Underline = { Element : 'u' } ;
|
||||
FCKConfig.CoreStyles.StrikeThrough = { Element : 'strike' } ;
|
||||
|
||||
/**
|
||||
* Font face
|
||||
*/
|
||||
// Define the way font elements will be applied to the document. The "span"
|
||||
// element will be used. When a font is selected, the font name defined in the
|
||||
// above list is passed to this definition with the name "Font", being it
|
||||
// injected in the "class" attribute.
|
||||
// We must also instruct the editor to replace span elements that are used to
|
||||
// set the font (Overrides).
|
||||
FCKConfig.CoreStyles.FontFace =
|
||||
{
|
||||
Element : 'font',
|
||||
Attributes : { 'face' : '#("Font")' }
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Font sizes.
|
||||
*/
|
||||
FCKConfig.FontSizes = '1/xx-small;2/x-small;3/small;4/medium;5/large;6/x-large;7/xx-large' ;
|
||||
FCKConfig.CoreStyles.Size =
|
||||
{
|
||||
Element : 'font',
|
||||
Attributes : { 'size' : '#("Size")' }
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Font colors.
|
||||
*/
|
||||
FCKConfig.EnableMoreFontColors = true ;
|
||||
FCKConfig.CoreStyles.Color =
|
||||
{
|
||||
Element : 'font',
|
||||
Attributes : { 'color' : '#("Color")' }
|
||||
} ;
|
||||
|
||||
FCKConfig.CoreStyles.BackColor =
|
||||
{
|
||||
Element : 'font',
|
||||
Styles : { 'background-color' : '#("Color","color")' }
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Styles combo.
|
||||
*/
|
||||
FCKConfig.StylesXmlPath = '' ;
|
||||
FCKConfig.CustomStyles =
|
||||
{
|
||||
'Computer Code' : { Element : 'code' },
|
||||
'Keyboard Phrase' : { Element : 'kbd' },
|
||||
'Sample Text' : { Element : 'samp' },
|
||||
'Variable' : { Element : 'var' },
|
||||
|
||||
'Deleted Text' : { Element : 'del' },
|
||||
'Inserted Text' : { Element : 'ins' },
|
||||
|
||||
'Cited Work' : { Element : 'cite' },
|
||||
'Inline Quotation' : { Element : 'q' }
|
||||
} ;
|
||||
@@ -1,92 +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 settings used by the XHTML 1.1 sample page (sample14.html).
|
||||
*/
|
||||
|
||||
// Our intention is force all formatting features to use CSS classes or
|
||||
// semantic aware elements.
|
||||
|
||||
/**
|
||||
* Core styles.
|
||||
*/
|
||||
FCKConfig.CoreStyles.Bold = { Element : 'b' } ;
|
||||
FCKConfig.CoreStyles.Italic = { Element : 'i' } ;
|
||||
FCKConfig.CoreStyles.Underline = { Element : 'u' } ;
|
||||
|
||||
/**
|
||||
* Font face
|
||||
*/
|
||||
// Define the way font elements will be applied to the document. The "span"
|
||||
// element will be used. When a font is selected, the font name defined in the
|
||||
// above list is passed to this definition with the name "Font", being it
|
||||
// injected in the "class" attribute.
|
||||
// We must also instruct the editor to replace span elements that are used to
|
||||
// set the font (Overrides).
|
||||
FCKConfig.CoreStyles.FontFace =
|
||||
{
|
||||
Element : 'font',
|
||||
Attributes : { 'face' : '#("Font")' }
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Font sizes.
|
||||
* The CSS part of the font sizes isn't used by Flash, it is there to get the
|
||||
* font rendered correctly in FCKeditor.
|
||||
*/
|
||||
FCKConfig.FontSizes = '8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px' ;
|
||||
FCKConfig.CoreStyles.Size =
|
||||
{
|
||||
Element : 'font',
|
||||
Attributes : { 'size' : '#("Size")' },
|
||||
Styles : { 'font-size' : '#("Size","fontSize")' }
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Font colors.
|
||||
*/
|
||||
FCKConfig.EnableMoreFontColors = true ;
|
||||
FCKConfig.CoreStyles.Color =
|
||||
{
|
||||
Element : 'font',
|
||||
Attributes : { 'color' : '#("Color")' }
|
||||
} ;
|
||||
/**
|
||||
* Styles combo.
|
||||
*/
|
||||
FCKConfig.StylesXmlPath = '' ;
|
||||
FCKConfig.CustomStyles =
|
||||
{
|
||||
} ;
|
||||
|
||||
/**
|
||||
* Toolbar set for Flash HTML editing.
|
||||
*/
|
||||
FCKConfig.ToolbarSets['Flash'] = [
|
||||
['Source','-','Bold','Italic','Underline','-','UnorderedList','-','Link','Unlink'],
|
||||
['FontName','FontSize','-','About']
|
||||
] ;
|
||||
|
||||
/**
|
||||
* Flash specific formatting settings.
|
||||
*/
|
||||
FCKConfig.EditorAreaStyles = 'p, ol, ul {margin-top: 0px; margin-bottom: 0px;}' ;
|
||||
FCKConfig.FormatSource = false ;
|
||||
FCKConfig.FormatOutput = false ;
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1,59 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - Sample 1
|
||||
</h1>
|
||||
<div>
|
||||
This sample displays a normal HTML form with an FCKeditor with full features enabled.
|
||||
</div>
|
||||
<hr />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.Height = 300 ;
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,63 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
window.onload = function()
|
||||
{
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.ReplaceTextarea() ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - Sample 2</h1>
|
||||
<div>
|
||||
This sample displays a normal HTML form with an FCKeditor with full features enabled.
|
||||
It uses the "ReplaceTextarea" command to create the editor.
|
||||
</div>
|
||||
<hr />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
<div>
|
||||
<textarea name="FCKeditor1" rows="10" cols="80" style="width: 100%; height: 200px"><p>This is some <strong>sample text</strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.</p></textarea>
|
||||
</div>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,140 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var bIsLoaded = false ;
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
if ( bIsLoaded )
|
||||
return ;
|
||||
|
||||
var oCombo = document.getElementById( 'cmbLanguages' ) ;
|
||||
|
||||
// Remove all options. (#1399)
|
||||
oCombo.innerHTML = '' ;
|
||||
|
||||
var aLanguages = new Array() ;
|
||||
|
||||
for ( code in editorInstance.Language.AvailableLanguages )
|
||||
aLanguages.push( { Code : code, Name : editorInstance.Language.AvailableLanguages[code] } ) ;
|
||||
|
||||
aLanguages.sort( SortLanguage ) ;
|
||||
|
||||
for ( var i = 0 ; i < aLanguages.length ; i++ )
|
||||
AddComboOption( oCombo, aLanguages[i].Name + ' (' + aLanguages[i].Code + ')', aLanguages[i].Code ) ;
|
||||
|
||||
oCombo.value = editorInstance.Language.ActiveLanguage.Code ;
|
||||
|
||||
document.getElementById('eNumLangs').innerHTML = '(' + aLanguages.length + ' languages available!)' ;
|
||||
|
||||
bIsLoaded = true ;
|
||||
}
|
||||
|
||||
function SortLanguage( langA, langB )
|
||||
{
|
||||
return ( langA.Name < langB.Name ? -1 : langA.Name > langB.Name ? 1 : 0 ) ;
|
||||
}
|
||||
|
||||
function AddComboOption(combo, optionText, optionValue)
|
||||
{
|
||||
var oOption = document.createElement("OPTION") ;
|
||||
|
||||
combo.options.add(oOption) ;
|
||||
|
||||
oOption.innerHTML = optionText ;
|
||||
oOption.value = optionValue ;
|
||||
|
||||
return oOption ;
|
||||
}
|
||||
|
||||
function ChangeLanguage( languageCode )
|
||||
{
|
||||
document.location.href = document.location.href.replace( /\?.*$/, '' ) + "?" + languageCode ;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - Sample 3</h1>
|
||||
<div>
|
||||
This sample shows the editor in all its available languages.
|
||||
</div>
|
||||
<hr />
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select a language:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbLanguages" onchange="ChangeLanguage(this.value);">
|
||||
<option> </option>
|
||||
</select>
|
||||
</td>
|
||||
<td>
|
||||
<span id="eNumLangs"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var sLang ;
|
||||
if ( document.location.search.length > 1 )
|
||||
sLang = document.location.search.substr(1) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
if ( sLang == null )
|
||||
{
|
||||
oFCKeditor.Config["AutoDetectLanguage"] = true ;
|
||||
oFCKeditor.Config["DefaultLanguage"] = "en" ;
|
||||
}
|
||||
else
|
||||
{
|
||||
oFCKeditor.Config["AutoDetectLanguage"] = false ;
|
||||
oFCKeditor.Config["DefaultLanguage"] = sLang ;
|
||||
}
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,95 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbToolbars' ) ;
|
||||
oCombo.value = editorInstance.ToolbarSet.Name ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeLanguage( languageCode )
|
||||
{
|
||||
document.location.href = document.location.href.replace( /\?.*$/, '' ) + "?" + languageCode ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - Sample 4</h1>
|
||||
<div>
|
||||
This sample shows how to change the editor toolbar.
|
||||
</div>
|
||||
<hr />
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the toolbar to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbToolbars" onchange="ChangeLanguage(this.value);" style="visibility: hidden">
|
||||
<option value="Default" selected="selected">Default</option>
|
||||
<option value="Basic">Basic</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
// Get the toolbar from the URL.
|
||||
var sToolbar ;
|
||||
if ( document.location.search.length > 1 )
|
||||
sToolbar = document.location.search.substr(1) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
|
||||
if ( sToolbar != null )
|
||||
oFCKeditor.ToolbarSet = sToolbar ;
|
||||
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,125 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
var oCombo = document.getElementById( 'cmbSkins' ) ;
|
||||
|
||||
// Get the active skin.
|
||||
var sSkin = editorInstance.Config['SkinPath'] ;
|
||||
sSkin = sSkin.match( /[^\/]+(?=\/$)/g ) ;
|
||||
|
||||
oCombo.value = sSkin ;
|
||||
oCombo.style.visibility = '' ;
|
||||
}
|
||||
|
||||
function ChangeLanguage( languageCode )
|
||||
{
|
||||
document.location.href = document.location.href.replace( /\?.*$/, '' ) + "?" + languageCode ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - Sample 5</h1>
|
||||
<div>
|
||||
This sample shows how to change the editor skin.
|
||||
</div>
|
||||
<hr />
|
||||
<table cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
Select the skin to load:
|
||||
</td>
|
||||
<td>
|
||||
<select id="cmbSkins" onchange="ChangeLanguage(this.value);" style="visibility: hidden">
|
||||
<option value="default" selected="selected">Default</option>
|
||||
<option value="office2003">Office 2003</option>
|
||||
<option value="silver">Silver</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
// Get the skin from the URL.
|
||||
var sSkin ;
|
||||
if ( document.location.search.length > 1 )
|
||||
sSkin = document.location.search.substr(1) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
|
||||
if ( sSkin != null )
|
||||
{
|
||||
var sSkinPath = sBasePath + 'editor/skins/' + sSkin + '/' ;
|
||||
oFCKeditor.Config['SkinPath'] = sSkinPath ;
|
||||
|
||||
// The following switch is optional. It is done to enhance the loading
|
||||
// time of the toolbar, by preloading the images used on it.
|
||||
switch ( sSkin )
|
||||
{
|
||||
case 'office2003' :
|
||||
oFCKeditor.Config['PreloadImages'] =
|
||||
sSkinPath + 'images/toolbar.start.gif' + ';' +
|
||||
sSkinPath + 'images/toolbar.end.gif' + ';' +
|
||||
sSkinPath + 'images/toolbar.bg.gif' + ';' +
|
||||
sSkinPath + 'images/toolbar.buttonarrow.gif' ;
|
||||
break ;
|
||||
|
||||
case 'silver' :
|
||||
oFCKeditor.Config['PreloadImages'] =
|
||||
sSkinPath + 'images/toolbar.start.gif' + ';' +
|
||||
sSkinPath + 'images/toolbar.end.gif' + ';' +
|
||||
sSkinPath + 'images/toolbar.buttonbg.gif' + ';' +
|
||||
sSkinPath + 'images/toolbar.buttonarrow.gif' ;
|
||||
break ;
|
||||
}
|
||||
}
|
||||
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,73 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - 6</h1>
|
||||
<div>
|
||||
This sample shows some sample plugins implementations. Things to note:<br />
|
||||
<ul>
|
||||
<li>In the toolbar, you will find sample "Find" and "Replace" plugins that do exactly
|
||||
the same thing that the built in ones do. It just shows how to do that with a custom
|
||||
implementation. Use the green toolbar buttons the test then. </li>
|
||||
<li>There is also another sample plugin that is available in the package: the "Placeholder"
|
||||
command (use the yellow icon). </li>
|
||||
<li>It also shows a custom context menu option when right cliking on images (insert
|
||||
a smiley to test it).</li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
|
||||
// Set the custom configurations file path (in this way the original file is mantained).
|
||||
oFCKeditor.Config['CustomConfigurationsPath'] = sBasePath + '_samples/html/assets/sample06.config.js' ;
|
||||
|
||||
// Let's use a custom toolbar for this sample.
|
||||
oFCKeditor.ToolbarSet = 'PluginTest' ;
|
||||
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,59 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - Sample 7</h1>
|
||||
<div>
|
||||
In this sample the user can edit the complete page contents and header (from <HTML>
|
||||
to </HTML>).
|
||||
</div>
|
||||
<hr />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.Config['FullPage'] = true ;
|
||||
oFCKeditor.Value = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Full Page Test<\/title><meta content="text/html; charset=utf-8" http-equiv="Content-Type"><\/head><body><p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.<\/body><\/html>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,196 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// FCKeditor_OnComplete is a special function that is called when an editor
|
||||
// instance is loaded ad available to the API. It must be named exactly in
|
||||
// this way.
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
// Show the editor name and description in the browser status bar.
|
||||
document.getElementById('eMessage').innerHTML = 'Instance "' + editorInstance.Name + '" loaded - ' + editorInstance.Description ;
|
||||
|
||||
// Show this sample buttons.
|
||||
document.getElementById('eButtons').style.visibility = '' ;
|
||||
}
|
||||
|
||||
function InsertHTML()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
|
||||
|
||||
// Check the active editing mode.
|
||||
if ( oEditor.EditMode == FCK_EDITMODE_WYSIWYG )
|
||||
{
|
||||
// Insert the desired HTML.
|
||||
oEditor.InsertHtml( '- This is some <a href="/Test1.html">sample<\/a> HTML -' ) ;
|
||||
}
|
||||
else
|
||||
alert( 'You must be on WYSIWYG mode!' ) ;
|
||||
}
|
||||
|
||||
function SetContents()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
|
||||
|
||||
// Set the editor contents (replace the actual one).
|
||||
oEditor.SetData( 'This is the <b>new content<\/b> I want in the editor.' ) ;
|
||||
}
|
||||
|
||||
function GetContents()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
|
||||
|
||||
// Get the editor contents in XHTML.
|
||||
alert( oEditor.GetXHTML( true ) ) ; // "true" means you want it formatted.
|
||||
}
|
||||
|
||||
function ExecuteCommand( commandName )
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
|
||||
|
||||
// Execute the command.
|
||||
oEditor.Commands.GetCommand( commandName ).Execute() ;
|
||||
}
|
||||
|
||||
function GetLength()
|
||||
{
|
||||
// This functions shows that you can interact directly with the editor area
|
||||
// DOM. In this way you have the freedom to do anything you want with it.
|
||||
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
|
||||
|
||||
// Get the Editor Area DOM (Document object).
|
||||
var oDOM = oEditor.EditorDocument ;
|
||||
|
||||
var iLength ;
|
||||
|
||||
// The are two diffent ways to get the text (without HTML markups).
|
||||
// It is browser specific.
|
||||
|
||||
if ( document.all ) // If Internet Explorer.
|
||||
{
|
||||
iLength = oDOM.body.innerText.length ;
|
||||
}
|
||||
else // If Gecko.
|
||||
{
|
||||
var r = oDOM.createRange() ;
|
||||
r.selectNodeContents( oDOM.body ) ;
|
||||
iLength = r.toString().length ;
|
||||
}
|
||||
|
||||
alert( 'Actual text length (without HTML markups): ' + iLength + ' characters' ) ;
|
||||
}
|
||||
|
||||
function GetInnerHTML()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
|
||||
|
||||
alert( oEditor.EditorDocument.body.innerHTML ) ;
|
||||
}
|
||||
|
||||
function CheckIsDirty()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
|
||||
alert( oEditor.IsDirty() ) ;
|
||||
}
|
||||
|
||||
function ResetIsDirty()
|
||||
{
|
||||
// Get the editor instance that we want to interact with.
|
||||
var oEditor = FCKeditorAPI.GetInstance('FCKeditor1') ;
|
||||
oEditor.ResetIsDirty() ;
|
||||
alert( 'The "IsDirty" status has been reset' ) ;
|
||||
}
|
||||
-->
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - Sample 8
|
||||
</h1>
|
||||
<div>
|
||||
This sample shows how to use the FCKeditor JavaScript API to interact with the editor
|
||||
at runtime.
|
||||
</div>
|
||||
<hr />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
<div>
|
||||
|
||||
</div>
|
||||
<hr />
|
||||
<div id="eMessage">
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
</div>
|
||||
<div id="eButtons" style="visibility: hidden">
|
||||
<input type="button" value="Insert HTML" onclick="InsertHTML();" />
|
||||
<input type="button" value="Set Editor Contents" onclick="SetContents();" />
|
||||
<input type="button" value="Get Editor Contents (XHTML)" onclick="GetContents();" />
|
||||
<br />
|
||||
<br />
|
||||
<input type="button" value='Execute "Bold" Command' onclick="ExecuteCommand('Bold');" />
|
||||
<input type="button" value='Execute "Link" Command' onclick="ExecuteCommand('Link');" />
|
||||
<br />
|
||||
<br />
|
||||
<input type="button" value="Interact with the Editor Area DOM" onclick="GetLength();" />
|
||||
<input type="button" value="Get innerHTML" onclick="GetInnerHTML();" />
|
||||
<br />
|
||||
<br />
|
||||
<input type="button" value="Check IsDirty()" onclick="CheckIsDirty();" />
|
||||
<input type="button" value="Reset IsDirty()" onclick="ResetIsDirty();" />
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,100 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!--
|
||||
* 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 ==
|
||||
*
|
||||
* Sample page.
|
||||
-->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>FCKeditor - Sample</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<link href="../sample.css" rel="stylesheet" type="text/css" />
|
||||
<script type="text/javascript" src="../../fckeditor.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
function FCKeditor_OnComplete( editorInstance )
|
||||
{
|
||||
editorInstance.Events.AttachEvent( 'OnBlur' , FCKeditor_OnBlur ) ;
|
||||
editorInstance.Events.AttachEvent( 'OnFocus', FCKeditor_OnFocus ) ;
|
||||
}
|
||||
|
||||
function FCKeditor_OnBlur( editorInstance )
|
||||
{
|
||||
editorInstance.ToolbarSet.Collapse() ;
|
||||
}
|
||||
|
||||
function FCKeditor_OnFocus( editorInstance )
|
||||
{
|
||||
editorInstance.ToolbarSet.Expand() ;
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<h1>
|
||||
FCKeditor - JavaScript - Sample 9</h1>
|
||||
<div>
|
||||
This sample shows FCKeditor in a more complex form with two different instances.<br />
|
||||
It also shows and interesting usage of the "OnFocus" and "OnBlur" events available
|
||||
in the JavaScript API.
|
||||
</div>
|
||||
<hr />
|
||||
<form action="../php/sampleposteddata.php" method="post" target="_blank">
|
||||
Normal text field:<br />
|
||||
<input name="NormaText" value="Plain Text" />
|
||||
<br />
|
||||
<br />
|
||||
FCKeditor with Basic toolbar:
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// Automatically calculates the editor base path based on the _samples directory.
|
||||
// This is usefull only for these samples. A real application should use something like this:
|
||||
// oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value.
|
||||
var sBasePath = document.location.href.substring(0,document.location.href.lastIndexOf('_samples')) ;
|
||||
|
||||
var oFCKeditor = new FCKeditor( 'FCKeditor_Basic' ) ;
|
||||
|
||||
oFCKeditor.Config['ToolbarStartExpanded'] = false ;
|
||||
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.ToolbarSet = 'Basic' ;
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
FCKeditor with Default toolbar:
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
oFCKeditor = new FCKeditor( 'FCKeditor_Default' ) ;
|
||||
|
||||
oFCKeditor.Config['ToolbarStartExpanded'] = false ;
|
||||
|
||||
oFCKeditor.BasePath = sBasePath ;
|
||||
oFCKeditor.Value = '<p>This is some <strong>sample text<\/strong>. You are using <a href="http://www.fckeditor.net/">FCKeditor<\/a>.<\/p>' ;
|
||||
oFCKeditor.Create() ;
|
||||
//-->
|
||||
</script>
|
||||
<br />
|
||||
<input type="submit" value="Submit" />
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user