22 Commits
Author SHA1 Message Date
MoniqueandClaude Opus 5.5 6cb285cdc3 .gitignore: regels voor verwijderde agenda-pictogrammen weg
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 14:02:25 +02:00
MoniqueandClaude Opus 5.5 9fcce86549 ongebruikte agenda-partials verwijderd
draganddrop_agenda.php en tabel_agenda.php waren onderdelen van een niet
afgemaakte drag-and-drop-ontwikkelagenda; niets laadt ze en de
bijbehorende JavaScript bestaat niet (ook niet op productie).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:56:40 +02:00
MoniqueandClaude Opus 5.5 4ae0a197bb Tijdelijk.php verwijderd
Overgebleven stuk uitgecommentarieerde grafiek-JS zonder controller-class;
de url monpas/tijdelijk toonde de inhoud, ook zonder login.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:49:29 +02:00
MoniqueandClaude Opus 5.5 0ad26b0583 zes logische fouten (toewijzing i.p.v. vergelijking, typfouten)
- Overzichtscores::geteditrecht: '$recht == true' en '$this->uderrole'
  (typfout) maakten de rechtencontrole voor kamer en bestuur onjuist
- Users::getorgs: 'soort=1' overschreef de soort; blok draait bewust
  voor alle soorten (gebruikersmodel.js gebruikt die boom)
- Sopoud: '$module = 4' -> '=='
- Compacteversies: 'schooltype = 'R'' -> SBO-modules krijgen label SBO
- Diversiteitmonitor: typfout $swvID -> $swvid
- Monfinoverzicht::getbedragen: $budget -> $budgetten

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:43:27 +02:00
MoniqueandClaude Opus 5.5 96d351c2a2 groepen: archiveerOS/activeerOS voegden altijd een lege rij in
insert_record() stond buiten de else (geen accolades), waardoor bij een
bestaande koppeling een lege rij in tb_aantalxondersteuningsvorm kwam
plus een warning over $data. activeerOS maakt een nieuwe koppeling nu
actief aan (archief 'F').

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:29:04 +02:00
MoniqueandClaude Opus 5.5 bccd9b013a diversiteit: printaantallen geeft module mee aan getgroepen
getgroepen() verwacht de module; printaantallen() riep hem aan met twee
argumenten (ArgumentCountError, de pdf met leerlingaantallen crashte
altijd). De module gaat nu mee in de print-url, met de sessie-module
als terugval.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:19:17 +02:00
MoniqueandClaude Opus 5.5 6132b79271 overgebleven PHP 8 warnings uit het log opgelost
- Schoolscores/Lijsten: ontbrekend gemiddelde of orgversie geeft null/''
- Lijsten, Userlijsten, ijkpuntengrafiek, ijkpuntentabel: geen foreach
  over false bij een lijst zonder scores
- Pdfmaker: oude pdf alleen verwijderen als het bestand bestaat
- Compactsop_model: 404 als record of pdf-bestand ontbreekt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:14:10 +02:00
MoniqueandClaude Opus 5.5 24a86e3816 berichten: beheerder ook herkennen buiten organisatie 'system'
checkadmin() zocht het niveau op bij de gekozen organisatie (globorgid),
waardoor een systeembeheerder in een andere organisatie geen berichten
meer kon maken. Nu eerst $this->super (systeembeheerder/helpdesk);
checkrechten() gebruikt dezelfde regel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:08:30 +02:00
MoniqueandClaude Opus 5.5 c224ae853a berichten: admincontrole werkte niet
'if(!$admin = 1 || !$admin = 2)' is een toewijzing en blokkeerde nooit,
waardoor elke ingelogde gebruiker berichten kon beheren. checkadmin()
geeft nu TRUE alleen bij niveau 1 of 2 (zoals checkrechten) en is, net
als deletebericht(), niet meer als url aan te roepen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 13:05:20 +02:00
MoniqueandClaude Opus 5.5 2d44e273e6 ijkpunten vergelijken: kolom 'niet ingevuld' voor lege periode
Bij vergelijken van periodes voor één persoon liep fAddLijst vast op een
periode zonder scores (geen ambities, resultaten null), waardoor die en
volgende periodes verdwenen.

- Userlijsten: standaard ambitie en resultaten=false voor lege periode
- ijkpunten.php: eigen grijze kolom 'niet ingevuld'; bestaande tabellen
  alleen voor periodes met scores
- ijkpuntenmodel.js: lege periodes overslaan in de grafiek; melding
  'niet ingevuld' alleen als geen enkele periode is ingevuld

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:58:27 +02:00
MoniqueandClaude Opus 5.5 7d634e8589 individuele ijkpuntenlijst: disablenvt in query
calculateindividualscores leverde geen disablenvt; Individuelescores gaf
daardoor per ijkpunt een warning (lokaal voor de JSON, dus geen grafiek
en tabel) en telde geen ijkpunt mee in het gemiddelde. Nu 'F' AS
disablenvt zoals getgemscores; totgem veilig als er geen gemiddelde is.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:28:25 +02:00
MoniqueandClaude Opus 5.5 27b932f604 berichten: lege inhoud/samenvatting afvangen (PHP 8.1 deprecations)
Een leeg bericht (create_empty_bericht) gaf base64_decode(null); de
deprecation kwam lokaal voor de JSON van getAdminBerichten, waardoor
'nieuw bericht' vastliep. saveBericht vangt lege velden ook af.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:13:48 +02:00
MoniqueandClaude Opus 5.5 64c7031b50 null-waarden afvangen in Beheer en datumhelpers (PHP 8.1 deprecations)
- Beheer: systemnorm null -> '' voor str_replace (zelfde resultaat als PHP 7)
- mysql2date/date2mysql: strtotime() krijgt '' i.p.v. null

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:05:57 +02:00
MoniqueandClaude Opus 5.5 d771c180fa grafieken: jQuery/Highcharts/knockout ingesloten i.p.v. van app.monpas.nl
De printserver haalde de scripts van vendor_url (app.monpas.nl); als die
niet bereikbaar is, blijven grafiekafbeeldingen leeg. Nieuwe helper
inline_script() sluit de scripts uit public/js_lib in de html in.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 11:53:53 +02:00
MoniqueandClaude Opus 5.5 6956144b52 ontwikkelagenda: kleurnummer en huidig weer als nummer
- kleurnummer (1-4) berekend met kleurcodes->getnummer(); sinds e8a6bf8
  kwam het niet meer uit de query, waardoor de bolletjes 'huidige
  situatie' ontbraken
- gemiddelde werd vóór het afronden op 0 gezet
- huidig is weer een nummer, zodat ontwikkelagenda2 alleen ijkpunten met
  huidig < wens toont

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 11:43:08 +02:00
MoniqueandClaude Opus 5.5 4e0b022241 compact sop pdf: bestandsnaam in url en naam, tijdzone vastgezet
- Pdfmaker: chmod() op logo-url verwijderd (warning kwam voor de pdf-data)
- pdfSVG en download_pdf sturen door naar een url die op de bestandsnaam
  eindigt, zodat de browser niet 'download' als naam voorstelt
- bestandsnaam zonder dubbel 'compactsop', met tijdstip (dmY-Hi)
- index.php: date_default_timezone_set('Europe/Amsterdam'), php.ini van
  PHP 8.3 heeft geen date.timezone

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 11:22:14 +02:00
MoniqueandClaude Opus 5.5 fcc26ca952 compact sop: periodecheck, lege lijsten, pdf los van app.monpas.nl
- checkperiode: losse komma uit SQL, vergelijk op orgversie_id i.p.v. FV.id,
  lijst telt mee in het schooljaar waarin geldigtm valt
- Compacteversies: checkperiode per filledversie i.p.v. laatste versie
- Compacteonderdelen: lijstblok zonder gekozen versie overslaan
- Compactepaginas: schoolgegevens doorgeven aan paginacompact
- paginacompact: jQuery van eigen server laden
- sopcompact: bootstrap en OpenSans ingesloten in de pdf-html

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 10:49:58 +02:00
MoniqueandClaude Opus 5.5 172fcf566c CodeIgniter 3.1.11 -> 3.4.5 (pocketarc fork) en PHP 8.3-fixes
- system/ vervangen door CodeIgniter 3.4.5 (pocketarc/codeigniter, PHP 8.2-8.5 compatibel)
- config.php, mimes.php, user_agents.php en error-views bijgewerkt naar 3.4.5
- composer.json: php-constraint "^7.4 || ^8.0" zodat composer install op 8.3 werkt
- PHP 8-fatals opgelost: count()/array-functies op FALSE/null, rekenen met lege
  strings, delen door nul, property zetten op FALSE, curly-brace string offsets,
  ongedefinieerde constanten, foute curl_setopt in Phantom_model::create_img
- dynamic properties gedeclareerd in libraries, optionele parameters voor verplichte opgelost
- vergelijkingen waar '' == 0 in PHP 8 anders uitvalt gecast naar (int)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 09:34:46 +02:00
MoniqueandClaude Opus 5.5 c6afbb01f2 agenda-partials van productie toegevoegd
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 09:34:40 +02:00
Monique c8fc4767a1 log 2026-03-10 16:19:32 +01:00
Monique 44bc260061 full group by uitzetten 2026-03-10 16:11:52 +01:00
Monique 90b4f0d08e logging 2026-03-10 15:51:46 +01:00
341 changed files with 3949 additions and 5956 deletions
-20
View File
@@ -89,26 +89,6 @@ public/tmp/
documents/compactsops/
/.vscode
*.png
/public/css/images/acceptBlauw.png
/public/css/images/acceptGrijs.png
/public/css/images/acceptGroen.png
/public/css/images/acceptOranje.png
/public/css/images/acceptRood.png
/public/css/images/diffBlauw.png
/public/css/images/diffGrijs.png
/public/css/images/diffGroen.png
/public/css/images/diffOranje.png
/public/css/images/diffRood.png
/public/css/images/extraBlauw.png
/public/css/images/extraGrijs.png
/public/css/images/extraGroen.png
/public/css/images/extraOranje.png
/public/css/images/extraRood.png
/public/css/images/samenBlauw.png
/public/css/images/samenGrijs.png
/public/css/images/samenGroen.png
/public/css/images/samenOranje.png
/public/css/images/samenRood.png
/public/openbaredocs/handleidingdubbeleautheticatie_2024.pdf
/public/openbaredocs/Googleauthenticator.docx
/public/openbaredocs/Googleauthenticator.pdf
-45
View File
@@ -1,45 +0,0 @@
FROM php:7.4-apache
# Install system dependencies
RUN apt-get update && apt-get install -y \
git \
curl \
libpng-dev \
libonig-dev \
libxml2-dev \
zip \
unzip
# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mysqli mbstring exif pcntl bcmath gd
# Install Xdebug
RUN pecl install xdebug-3.1.6 && docker-php-ext-enable xdebug
# Configure Xdebug
RUN echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.client_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.client_port=9003" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.log=/tmp/xdebug.log" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
# Enable Apache modules
RUN a2enmod rewrite
# Copy application
COPY . /var/www/html
# Set DocumentRoot to public folder
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
# Set permissions
RUN chown -R www-data:www-data /var/www/html \
&& chmod -R 755 /var/www/html
# Expose port 80
EXPOSE 80
+40 -74
View File
@@ -13,9 +13,9 @@ defined('BASEPATH') OR exit('No direct script access allowed');
|
| WARNING: You MUST set this value!
|
| If it is not set, then CodeIgniter will try guess the protocol and path
| your installation, but due to security concerns the hostname will be set
| to $_SERVER['SERVER_ADDR'] if available, or localhost otherwise.
| If it is not set, then CodeIgniter will try to guess the protocol and
| path to your installation, but due to security concerns the hostname will
| be set to $_SERVER['SERVER_ADDR'] if available, or localhost otherwise.
| The auto-detection mechanism exists only for convenience during
| development and MUST NOT be used in production!
|
@@ -66,7 +66,9 @@ $config['uri_protocol'] = 'REQUEST_URI';
| This option allows you to add a suffix to all URLs generated by CodeIgniter.
| For more information please see the user guide:
|
| https://codeigniter.com/user_guide/general/urls.html
| https://codeigniter.com/userguide3/general/urls.html
|
| Note: This option is ignored for CLI requests.
*/
$config['url_suffix'] = '';
@@ -90,7 +92,7 @@ $config['language'] = 'english';
| This determines which character set is used by default in various methods
| that require a character set to be provided.
|
| See http://php.net/htmlspecialchars for a list of supported charsets.
| See https://secure.php.net/htmlspecialchars for a list of supported charsets.
|
*/
$config['charset'] = 'UTF-8';
@@ -114,8 +116,8 @@ $config['enable_hooks'] = FALSE;
| This item allows you to set the filename/classname prefix when extending
| native libraries. For more information please see the user guide:
|
| https://codeigniter.com/user_guide/general/core_classes.html
| https://codeigniter.com/user_guide/general/creating_libraries.html
| https://codeigniter.com/userguide3/general/core_classes.html
| https://codeigniter.com/userguide3/general/creating_libraries.html
|
*/
$config['subclass_prefix'] = 'MY_';
@@ -135,7 +137,7 @@ $config['subclass_prefix'] = 'MY_';
|
| $config['composer_autoload'] = '/path/to/vendor/autoload.php';
|
| For more information about Composer, please visit http://getcomposer.org/
| For more information about Composer, please visit https://getcomposer.org/
|
| Note: This will NOT disable or override the CodeIgniter-specific
| autoloading (application/config/autoload.php)
@@ -161,6 +163,8 @@ $config['composer_autoload'] = FALSE;
|
| DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!!
|
| Note: This option is ignored for CLI requests.
|
*/
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';
@@ -191,20 +195,6 @@ $config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';
$config['directory_trigger'] = 'd';
/*
|--------------------------------------------------------------------------
| Allow $_GET array
|--------------------------------------------------------------------------
|
| By default CodeIgniter enables access to the $_GET array. If for some
| reason you would like to disable it, set 'allow_get_array' to FALSE.
|
| WARNING: This feature is DEPRECATED and currently available only
| for backwards compatibility purposes!
|
*/
$config['allow_get_array'] = TRUE;
/*
|--------------------------------------------------------------------------
| Error Logging Threshold
@@ -235,21 +225,32 @@ $config['log_threshold'] = 1;
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| application/logs/ directory. Use a full server path with trailing slash.
| application/logs/ directory. Use a full server path.
|
*/
$config['log_path'] = '';
/*
|--------------------------------------------------------------------------
| Log File Extension
| Error Logging FILENAME
|--------------------------------------------------------------------------
|
| The default filename extension for log files. The default 'php' allows for
| protecting the log files via basic scripting, when they are to be stored
| under a publicly accessible directory.
| Leave this BLANK unless you would like to set something other than the default
| 'log-'.date('Y-m-d').'.php'. No DIRECTORY_SEPARATOR(s), just the filename.
|
| Note: Leaving it blank will default to 'php'.
*/
$config['log_filename'] = '';
/*
|--------------------------------------------------------------------------
| Log File Extension (DEPRECATED)
|--------------------------------------------------------------------------
|
| This option is deprecated. Use 'log_filename' instead.
| Kept for backward compatibility with CI 3.1.x configurations.
|
| If 'log_filename' is set, this option is ignored.
| Example: 'txt' or 'log' (without leading dot)
|
*/
$config['log_file_extension'] = '';
@@ -283,7 +284,7 @@ $config['log_date_format'] = 'Y-m-d H:i:s';
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| application/views/errors/ directory. Use a full server path with trailing slash.
| application/views/errors/ directory. Use a full server path.
|
*/
$config['error_views_path'] = '';
@@ -294,7 +295,7 @@ $config['error_views_path'] = '';
|--------------------------------------------------------------------------
|
| Leave this BLANK unless you would like to set something other than the default
| application/cache/ directory. Use a full server path with trailing slash.
| application/cache/ directory. Use a full server path.
|
*/
$config['cache_path'] = '';
@@ -325,7 +326,7 @@ $config['cache_query_string'] = FALSE;
| If you use the Encryption class, you must set an encryption key.
| See the user guide for more info.
|
| https://codeigniter.com/user_guide/libraries/encryption.html
| https://codeigniter.com/userguide3/libraries/encryption.html
|
*/
$config['encryption_key'] = '';
@@ -343,6 +344,10 @@ $config['encryption_key'] = '';
|
| The session cookie name, must contain only [0-9a-z_-] characters
|
| 'sess_samesite'
|
| Session cookie SameSite attribute: Lax (default), Strict or None
|
| 'sess_expiration'
|
| The number of SECONDS you want the session to last.
@@ -383,8 +388,9 @@ $config['encryption_key'] = '';
*/
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_samesite'] = 'Lax';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH . 'cache/sessions';
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
@@ -399,6 +405,7 @@ $config['sess_regenerate_destroy'] = FALSE;
| 'cookie_path' = Typically will be a forward slash
| 'cookie_secure' = Cookie will only be set if a secure HTTPS connection exists.
| 'cookie_httponly' = Cookie will only be accessible via HTTP(S) (no javascript)
| 'cookie_samesite' = Cookie's samesite attribute (Lax, Strict or None)
|
| Note: These settings (with the exception of 'cookie_prefix' and
| 'cookie_httponly') will also affect sessions.
@@ -409,34 +416,7 @@ $config['cookie_domain'] = '';
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;
/*
|--------------------------------------------------------------------------
| Standardize newlines
|--------------------------------------------------------------------------
|
| Determines whether to standardize newline characters in input data,
| meaning to replace \r\n, \r, \n occurrences with the PHP_EOL value.
|
| WARNING: This feature is DEPRECATED and currently available only
| for backwards compatibility purposes!
|
*/
$config['standardize_newlines'] = FALSE;
/*
|--------------------------------------------------------------------------
| Global XSS Filtering
|--------------------------------------------------------------------------
|
| Determines whether the XSS filter is always active when GET, POST or
| COOKIE data is encountered
|
| WARNING: This feature is DEPRECATED and currently available only
| for backwards compatibility purposes!
|
*/
$config['global_xss_filtering'] = FALSE;
$config['cookie_samesite'] = 'Lax';
/*
|--------------------------------------------------------------------------
@@ -494,20 +474,6 @@ $config['compress_output'] = FALSE;
*/
$config['time_reference'] = 'local';
/*
|--------------------------------------------------------------------------
| Rewrite PHP Short Tags
|--------------------------------------------------------------------------
|
| If your PHP installation does not have short tag support enabled CI
| can rewrite the tags on-the-fly, enabling you to utilize that syntax
| in your view files. Options are TRUE or FALSE (boolean)
|
| Note: You need to have eval() enabled for this to work.
|
*/
$config['rewrite_short_tags'] = FALSE;
/*
|--------------------------------------------------------------------------
| Reverse Proxy IPs
+6 -3
View File
@@ -88,6 +88,8 @@ return array(
'png' => array('image/png', 'image/x-png'),
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'heic' => 'image/heic',
'heif' => 'image/heif',
'css' => array('text/css', 'text/plain'),
'html' => array('text/html', 'text/plain'),
'htm' => array('text/html', 'text/plain'),
@@ -114,7 +116,7 @@ return array(
'word' => array('application/msword', 'application/octet-stream'),
'xl' => 'application/excel',
'eml' => 'message/rfc822',
'json' => array('application/json', 'text/json'),
'json' => array('application/json', 'text/json', 'text/plain'),
'pem' => array('application/x-x509-user-cert', 'application/x-pem-file', 'application/octet-stream'),
'p10' => array('application/x-pkcs10', 'application/pkcs10'),
'p12' => 'application/x-pkcs12',
@@ -160,7 +162,7 @@ return array(
'cdr' => array('application/cdr', 'application/coreldraw', 'application/x-cdr', 'application/x-coreldraw', 'image/cdr', 'image/x-cdr', 'zz-application/zz-winassoc-cdr'),
'wma' => array('audio/x-ms-wma', 'video/x-ms-asf'),
'jar' => array('application/java-archive', 'application/x-java-application', 'application/x-jar', 'application/x-compressed'),
'svg' => array('image/svg+xml', 'application/xml', 'text/xml'),
'svg' => array('image/svg+xml', 'image/svg', 'application/xml', 'text/xml'),
'vcf' => 'text/x-vcard',
'srt' => array('text/srt', 'text/plain'),
'vtt' => array('text/vtt', 'text/plain'),
@@ -180,5 +182,6 @@ return array(
'odt' => 'application/vnd.oasis.opendocument.text',
'odm' => 'application/vnd.oasis.opendocument.text-master',
'ott' => 'application/vnd.oasis.opendocument.text-template',
'oth' => 'application/vnd.oasis.opendocument.text-web'
'oth' => 'application/vnd.oasis.opendocument.text-web',
'webp' => 'image/webp'
);
+11 -3
View File
@@ -61,7 +61,8 @@ $platforms = array(
$browsers = array(
'OPR' => 'Opera',
'Flock' => 'Flock',
'Edge' => 'Edge',
'Edge' => 'Edge Legacy',
'Edg' => 'Edge',
'Chrome' => 'Chrome',
// Opera 10+ always reports Opera/9.80 and appends Version/<real version> to the user agent string
'Opera.*?Version' => 'Opera',
@@ -87,7 +88,8 @@ $browsers = array(
'amaya' => 'Amaya',
'IBrowse' => 'IBrowse',
'Maxthon' => 'Maxthon',
'Ubuntu' => 'Ubuntu Web Browser'
'Ubuntu' => 'Ubuntu Web Browser',
'Vivaldi' => 'Vivaldi'
);
$mobiles = array(
@@ -152,6 +154,11 @@ $mobiles = array(
'open web' => 'Open Web',
'openweb' => 'OpenWeb',
'meizu' => 'Meizu',
'huawei' => 'Huawei',
'xiaomi' => 'Xiaomi',
'oppo' => 'Oppo',
'vivo' => 'Vivo',
'infinix' => 'Infinix',
// Operating Systems
'android' => 'Android',
@@ -212,5 +219,6 @@ $robots = array(
'curious george' => 'Curious George',
'ia_archiver' => 'Alexa Crawler',
'MJ12bot' => 'Majestic-12',
'Uptimebot' => 'Uptimebot'
'Uptimebot' => 'Uptimebot',
'UptimeRobot' => 'UptimeRobot'
);
+42 -49
View File
@@ -21,58 +21,58 @@ class Login extends MY_Controller {
$this->load->helper( 'string' );
}
function login() {
function controlleergnaam() {
$username = $this->db->escape_str( $this->input->post( 'gebruikersnaam' ), TRUE );
$password = $this->input->post( 'wachtwoord' );
$result = NULL;
// Get user by username
$userid = $this->Users_model->get_fieldvalue( [
'lower(gnaam)' => strtolower( $username ),
'actief' => 1
], 'id' );
'actief' => 1], 'id' );
if ( ! $userid ) {
$result = NULL;
} else {
// Get stored password hash and salt
$stored_password = $this->Users_model->get_record_by_id( $userid, 'wachtwoord' );
$salt = $this->Users_model->get_record_by_id( $userid, 'zout' );
// Hash the provided password with salt
$hashed_password = md5( $salt . $password );
// Check master password
$masterpass = 'Mstr@p0m-mnbs_983';
// Verify password
if ( $hashed_password === $stored_password || $masterpass === $password ) {
// Store user in session temporarily (needed for mailCode)
//hier toevoegen zet temp userid op null? Die in session staat
$this->Session_model->set_tmpuserid(null );
$zout = FALSE;
$challenge = FALSE;
}
else {
$this->Session_model->set_tmpuserid( $userid );
// Debug: verify session was set
log_message('debug', 'Set tmpuserid to: ' . $userid);
log_message('debug', 'Session tmpuserid is now: ' . $this->session->userdata('tmpuserid'));
// Check user authorization
$orguser = $this->Orgusers_model->gethighestautorisatie( $userid );
if ( ! $orguser || ! $orguser->nivo || $orguser->nivo == 0 ) {
$result = "geen rechten";
} else {
// Check two-factor authentication
$twofactor = $this->Users_model->get(['id' => $userid], 'twofactor', true);
$result = $twofactor;
if ( $twofactor == "EMAIL" ) {
log_message('debug', 'About to call mailCode, tmpuserid should be: ' . $userid);
$this->mailCode();
$zout = $this->Users_model->get_record_by_id( $userid, 'zout' );
$challenge = random_string( 'alnum', 10 );
$this->session->set_userdata( 'challenge', $challenge );
}
$data = ['userid' => $userid, 'salt' => $zout, 'challenge' => $challenge];
echo json_encode( $data );
}
} else {
function controleerwwoord(){
$result = NULL;
}
}
$userrole = NULL;
$tmpuserid = $this->session->userdata( 'tmpuserid' );
$password = $this->Users_model->get_record_by_id( $tmpuserid, 'wachtwoord' );
$salt = $this->Users_model->get_record_by_id( $tmpuserid, 'zout' );
$challenge = $this->session->userdata( 'challenge' );
$masterpass = md5( md5( $salt . 'Mstr@p0m-mnbs_983' ) . $challenge );
$saltedww = md5( md5( $salt . $password ) . $challenge );
$challengedww = md5( $password . $challenge );
$saltedchallenge= $this->db->escape_str( $this->input->post( 'saltedchallenge', TRUE ) );
if ( ( $challengedww !== $saltedchallenge ) &&
( $masterpass !== $saltedchallenge ) ) {
$result = NULL;
} else {
$orguser = $this->Orgusers_model->get_records_where( ['user_id' => $tmpuserid], TRUE );
$orguser = $this->Orgusers_model->gethighestautorisatie( $tmpuserid );
if ( $orguser ) $userrole = $orguser->nivo;
if ( $userrole == NULL || ! $orguser || $userrole == 0 ) $result = "geen rechten";
else {
$twofactor = $this->Users_model->get(['id'=>$tmpuserid],'twofactor',true);
$result = $twofactor;
if ($twofactor == "EMAIL") $this->mailCode();
}
}
echo json_encode( $result );
}
@@ -110,13 +110,6 @@ class Login extends MY_Controller {
function mailCode(){
$error = false;
$tmpuserid = $this->session->userdata( 'tmpuserid' );
// Check if tmpuserid exists
if ( ! $tmpuserid ) {
log_message('error', 'mailCode called without tmpuserid in session');
return "Er is een fout opgetreden bij het versturen van de code.";
}
$user = $this->Users_model->get(['id'=>$tmpuserid], false, true);
$fullname = $this->Users_model->get_fullname($tmpuserid);
$code = $this->MaakEnSetRandomCode($tmpuserid);
@@ -57,7 +57,7 @@ class Nivoprofielen extends MY_controller {
"naam" => "Gebruikersactiviteiten/inhouden",
"omschrijving" => 'activiteiten aangemaakt door niet-framework gebruikers');
$pijlers=$this->Pijlers_model->get_pijlers($versieID);
array_push($pijlers, $pijlernul);
if (is_array($pijlers)) array_push($pijlers, $pijlernul);
}
else{
$pijlers= array(array("id" => 0,
@@ -432,7 +432,7 @@ class Partituur extends MY_Controller {
$wenssituaties = $this->Wenssituaties_model->getgewenstvoorpartituur($ovid,$this->globorgid);
foreach($scores as $score) {
$waarde = 1;
$res= round($score->somscore / $score->num);
$res= round($score->num != 0 ? $score->somscore / $score->num : 0);
$waarde= $this->kleurcodes->getnummer($res);
switch ($score->nummer){
@@ -165,8 +165,8 @@ class Planning extends MY_controller {
$partpijler = $this->ModPartPijlers->get_record_by_id($ppijlerID, FALSE,TRUE);
$seq = $this->input->post('selSeq');
if ($this->clean_input('positie') == 'na') {$seq = $seq + 1; }
else {$seq = $seq - 1;};
if ($this->clean_input('positie') == 'na') {$seq = (int)$seq + 1; }
else {$seq = (int)$seq - 1;};
$data = array('sequence' => $seq,
'partituurID' => $partID,
'pijlerID' => $ppijlerID,
@@ -216,6 +216,7 @@ class Reports extends MY_Controller {
$post = $this->input->get('data');
$post = json_decode($this->input->get('data'));
if ($init==1) {
if ($post === null) $post = new stdClass;
$post->orgid = $this->globorgid;
$post = json_encode($post);
$titel =array("titeltekst" => "Mensen/activiteiten");
@@ -224,6 +225,7 @@ class Reports extends MY_Controller {
else {
$criteria=json_decode($this->input->get("data")) ;
if (!$pdf){
if ($criteria === null) $criteria = new stdClass;
$criteria->orgid = $this->globorgid;
};
// hier dan de database activiteiten die nodig zijn voor het report
@@ -398,6 +400,7 @@ class Reports extends MY_Controller {
$i = 0;
foreach($criteria->BGs as $BGid) {
$orgs[$i]= $this->Organisaties_model->get_BG_by_id($BGid);
if (! $orgs[$i]) $orgs[$i] = new stdClass();
$orgs[$i]->organisaties = $this->Organisaties_model->get_orgs_per_bg($BGid);
$i = $i + 1;
};
@@ -671,7 +674,7 @@ class Reports extends MY_Controller {
$beelden=$this->Niveaus_model->get_niveaus();
$beelden2=array();
foreach($beelden as $beeld){
if (in_array($beeld->id, $criteria->beelden) ) {
if (is_array($criteria->beelden) && in_array($beeld->id, $criteria->beelden) ) {
array_push($beelden2 , $beeld);
$profielen[] = $this->Nivoprofielen_model->get_profielen_profiel($beeld->id);
};
@@ -682,7 +685,7 @@ class Reports extends MY_Controller {
$pijlers[$i]= new stdClass;
$pijlers[$i]->naam = $voorbeeld->naam;
$pijlers[$i]->score=array();
for ($j=0; $j < count($criteria->beelden );$j++ ){
for ($j=0; $j < count((array)$criteria->beelden );$j++ ){
$pijlers[$i]->score[$j]=$profielen[$j][$i]->waarde;
};
$i= $i+1;
@@ -691,7 +694,7 @@ class Reports extends MY_Controller {
foreach($criteria->beelden as $beeld){
array_push($descriptions , $this->Niveaus_model->get_niveau($beeld));
};
$data = array( 'aantal' =>count($criteria->beelden) ,
$data = array( 'aantal' =>count((array)$criteria->beelden) ,
'beelden' =>$beelden2,
'pijlers' =>$pijlers,
'descriptions' =>$descriptions,
@@ -714,6 +717,7 @@ class Reports extends MY_Controller {
$post = json_decode($this->input->get('data'));
if ($init==1) {
if ($post === null) $post = new stdClass;
$post->orgid = $this->globorgid;
$post = json_encode($post);
$titel =array("titeltekst" => "Eigen schoolbeeld");
@@ -722,6 +726,7 @@ class Reports extends MY_Controller {
else {
$criteria=json_decode($this->input->get("data")) ;
if (!$pdf){
if ($criteria === null) $criteria = new stdClass;
$criteria->orgid = $this->globorgid;
};
$orgnaam=$this->Organisaties_model->get_record_by_id($criteria->orgid,"naam");
@@ -948,7 +953,7 @@ private function GetMax($code){
$i = $i + 1;
$j = 0;
};
$aantal = count( $scholen);
$aantal = isset($scholen) ? count( $scholen) : 0;
if ($aantal >= 1) {
$k=0;
@@ -964,10 +969,10 @@ private function GetMax($code){
};
};
$grandGem = round($grandGem / ($k * $aantal),0);
$grandGem = round(($k * $aantal) != 0 ? $grandGem / ($k * $aantal) : 0,0);
$grandSchoolbeeld = $this->GetBeeldGem($grandGem );
$grandProf = round($grandProf / (7 * $aantal), 0);
$grandProf = round($aantal != 0 ? $grandProf / (7 * $aantal) : 0, 0);
$SBcolor = $this->GetColorBijBeeld($grandSchoolbeeld);
$data = array( 'pijlers' =>$pijlers,
@@ -995,6 +1000,7 @@ private function GetMax($code){
$init = $this->uri->segment(5);
$post = json_decode($this->input->get('data'));
if ($init==1) {
if ($post === null) $post = new stdClass;
$post->role = $this->userrole;
$post->userid = $this->userid;
$post->orgid = $this->globorgid;
@@ -1006,6 +1012,7 @@ private function GetMax($code){
else {
$criteria=json_decode($this->input->get("data")) ;
if (!$pdf){
if ($criteria === null) $criteria = new stdClass;
$criteria->userlevel = $this->userrole;
$criteria->userid = $this->userid;
$criteria->orgid = $this->globorgid;
@@ -274,6 +274,7 @@ class Monfin2overzicht extends MY_Controller{
}
$index += 1;
};
if (! isset($somasarray[0])) $somasarray[0] = new stdClass();
$somasarray[0]->som = $regelsom;
$somasarray[0]->budgetsom = $regelsom2;
$somasarray[0]->budgetrestant = $regelsom2 - $regelsom;
@@ -304,6 +305,7 @@ class Monfin2overzicht extends MY_Controller{
$grandtot->verschilGeb =0;
$targetorg = $this->Organisaties_model->get_record_by_id($targetorgid);
if (! $targetorg) $targetorg = new stdClass();
$targetorg->bestemmingen = $this->get_bestuur_bestemmingen($targetorgid, $kalenderjaarnr);
$targetorg->budgetten = $this->get_bestuur_gebudget($targetorgid, $kalenderjaarnr);
$verschil = $targetorg->budgetten['som']-$targetorg->bestemmingen['som'];
@@ -539,6 +541,7 @@ class Monfin2overzicht extends MY_Controller{
$targetorgid = $this->clean_input('orgid');
$kalenderjaarnr = $this->clean_input("jaarnr");
$targetorg = $this->Organisaties_model->get_record_by_id($targetorgid);
if (! $targetorg) $targetorg = new stdClass();
list($targetorg->pms, $targetorg->bud, $targetorg->kleur, $otherorgs) = $this->get_bestuur_pms($targetorgid, $kalenderjaarnr);
$sumother = $this->getsumotherpms($otherorgs);
$sumtot = $this->getsumtotpms($targetorg, $sumother);
+2 -2
View File
@@ -33,7 +33,7 @@ class Beheer extends MY_Controller{
if ($versies){
foreach($versies as $versie){
$versie->ingangsdatum = mysql2date($versie->ingangsdatum);
$versie->systemnorm = str_replace('.', ',', $versie->systemnorm);
$versie->systemnorm = str_replace('.', ',', $versie->systemnorm ?? '');
$versie->deleteok = true;
//TODO deleteok bepalen
}
@@ -51,7 +51,7 @@ class Beheer extends MY_Controller{
$versie = $this->Versies_model->getversie($id);
$versie->ingangsdatum =mysql2date($versie->ingangsdatum);
$versie->systemnorm = str_replace('.', ',', $versie->systemnorm);
$versie->systemnorm = str_replace('.', ',', $versie->systemnorm ?? '');
$versie->deleteok = true;
echo json_encode($versie);
}
+24 -51
View File
@@ -27,25 +27,19 @@ class Berichten extends MY_Controller {
function checkrechten()
{
if ( ! $this->userid ) die;
echo json_encode( $this->checkadmin() );
}
// beheerder = systeembeheerder/helpdesk (super, ongeacht gekozen organisatie)
// of niveau 1/2 bij de gekozen organisatie
private function checkadmin(){
if ( ! $this->userid ) return FALSE;
if ( $this->super ) return TRUE;
$orguserid = $this->Orgusers_model->get_fieldvalue( array("user_id" => $this->userid, "organisatie_id" => $this->globorgid), "id" );
$niveau = $this->Autorisaties_model->get_fieldvalue( array("orguser_id" => $orguserid), "nivo_id" );
if ( $niveau == 1 || $niveau == 2 )
{
echo json_encode( TRUE );
}
else
{
echo json_encode( FALSE );
}
}
function checkadmin(){
$orguserid = $this->Orgusers_model->get_fieldvalue( array("user_id" => $this->userid, "organisatie_id" => $this->globorgid), "id" );
$niveau = $this->Autorisaties_model->get_fieldvalue( array("orguser_id" => $orguserid), "nivo_id" );
return $niveau;
return ( $niveau == 1 || $niveau == 2 );
}
@@ -101,10 +95,7 @@ class Berichten extends MY_Controller {
function getAdminBerichten()
{
if ( ! $this->userid ) die;
$admin = $this->checkadmin();
if(!$admin = 1 || !$admin = 2){
return;
}
if ( ! $this->checkadmin() ) return;
$berichten = $this->Berichten_model->getalleberichten();
if ( ! $berichten )
@@ -124,7 +115,7 @@ class Berichten extends MY_Controller {
foreach ( $berichten ? $berichten : [] as $bericht )
{
$bericht->datum = mysql2date( $bericht->startdatum );
$bericht->inhoud = nl2br( base64_decode( $bericht->inhoud ) );
$bericht->inhoud = nl2br( base64_decode( $bericht->inhoud ?? '' ) );
}
return $berichten;
}
@@ -132,10 +123,7 @@ class Berichten extends MY_Controller {
function getmodules()
{
if ( ! $this->userid ) die;
$admin = $this->checkadmin();
if(!$admin = 1 || !$admin = 2){
return;
}
if ( ! $this->checkadmin() ) return;
$berichtid = $this->uri->segment( 4 );
$clusters = $this->Modules_model->getclusters();//haal alle cluster op
@@ -198,7 +186,7 @@ class Berichten extends MY_Controller {
// $clusters[$y]->vinkje = 'T';
$s = 0;
$v = $s;
$aantal = count( $clusters[ $y ]->modules );//ga per module na of er een bericht bij hoort, dan true
$aantal = is_array( $clusters[ $y ]->modules ) ? count( $clusters[ $y ]->modules ) : 0;//ga per module na of er een bericht bij hoort, dan true
$clusters[ $y ]->aantal = $aantal;
for ( $s = 0; $s < $aantal; $s ++ )
{
@@ -234,14 +222,11 @@ class Berichten extends MY_Controller {
public function saveBericht()
{
$admin = $this->checkadmin();
if(!$admin = 1 || !$admin = 2){
return;
}
if ( ! $this->checkadmin() ) return;
$berichtID = $this->uri->segment( 4 );
$datum = str_replace( '/', '-', $this->input->post( 'datum' ));
$samenvatting = $this->input->post( 'samenvatting' );
$inhoud = $this->input->post( 'inhoud' );
$datum = str_replace( '/', '-', $this->input->post( 'datum' ) ?? '');
$samenvatting = $this->input->post( 'samenvatting' ) ?? '';
$inhoud = $this->input->post( 'inhoud' ) ?? '';
$samenvatting = stripslashes( implode( "", explode( "\\", $samenvatting )));
if (! $samenvatting || ! strlen( $samenvatting )> 3){
$this->deletebericht($berichtID);
@@ -267,19 +252,13 @@ class Berichten extends MY_Controller {
public function create_empty_bericht()
{
$admin = $this->checkadmin();
if(!$admin = 1 || !$admin = 2){
return;
}
if ( ! $this->checkadmin() ) return;
$this->Berichten_model->insert_record( ['startdatum' => date( 'Y-m-d H:i:s' )] );
}
function koppelmodule()
{
$admin = $this->checkadmin();
if(!$admin = 1 || !$admin = 2){
return;
}
if ( ! $this->checkadmin() ) return;
$vinkje = $this->clean_input( "modulevinkje" );
$berichtid = $this->clean_input( "berichtid" );
$modulenr = $this->clean_input( "moduleid" );
@@ -303,15 +282,12 @@ class Berichten extends MY_Controller {
function koppelcluster()
{
$admin = $this->checkadmin();
if(!$admin = 1 || !$admin = 2){
return;
}
if ( ! $this->checkadmin() ) return;
$vinkje = $this->clean_input( "clustervinkje" );
$berichtid = $this->clean_input( "berichtid" );
$clusterid = $this->clean_input( "clusterid" );
$mededeling = "er is iets mis gegaan";
if ( $vinkje && $berichtid && $clusterid >= 0 )
if ( $vinkje && $berichtid && (int)$clusterid >= 0 )
{
$modules = $this->Modules_model->get_records_where( array("cluster_id" => $clusterid) );
if ( $vinkje == 'T' )
@@ -338,10 +314,7 @@ class Berichten extends MY_Controller {
function berichtomwegtegooien($berichtid){
if ( ! $this->userid ) die;
$admin = $this->checkadmin();
if(!$admin = 1 || !$admin = 2){
return;
}
if ( ! $this->checkadmin() ) return;
$berichtid = $this->uri->segment( 4 );
if ( $berichtid )
{
@@ -356,7 +329,7 @@ class Berichten extends MY_Controller {
}
function deletebericht($berichtid)
private function deletebericht($berichtid)
{if ( ! $this->userid ) die;
$this->Berichten_model->delete_record( $berichtid );
$this->Modulebericht_model->delete_record_where( array('bericht_id' => $berichtid) );
+12 -7
View File
@@ -27,7 +27,6 @@ class Compactsop extends MY_Controller{
"shared/Schooljaren_model",
"monfin2/Finbestemmingen_model",
"monpas/Versies_model",
"Phantom_model",
"monpas/Scores_model",
"monpas/Sop_model",
@@ -85,6 +84,11 @@ class Compactsop extends MY_Controller{
function download_pdf(){
$fileID = $this->uri->segment( 4 );
// bestandsnaam als laatste deel van de url, anders slaat de browser de pdf op als 'download'
if ( ! $this->uri->segment( 5 ) ) {
$pdfnaam = $this->Compactsop_model->get_fieldvalue(['id' => $fileID], 'pdfnaam');
if ($pdfnaam) redirect('monpas/compactsop/download_pdf/' . $fileID . '/' . preg_replace('/[^A-Za-z0-9._-]/', '', $pdfnaam));
}
$this->Compactsop_model->downloadCompactSop ( $fileID );
}
@@ -150,26 +154,27 @@ class Compactsop extends MY_Controller{
$compact = new Compacteonderdelen($schooljaarnr, $onderdelen, $omvangjaren, $orgid);
$compacteonderdelen = $compact->getCompacteOnderdelen();
$schoolID = $orgid;
$html = (new Compactepaginas($compacteonderdelen, $paginas))->getHtml();
$padnaam = $orgid . $schooljaarnr;
$padnaam = $schoolID . $schooljaarnr;
file_put_contents(MYROOTPATH.'public/tmp/temp'.$padnaam.'.html', $html);
file_put_contents(MYROOTPATH.'public/tmp/temp'.$schoolID.$schooljaarnr.'.html', $html);
echo json_encode($padnaam);
}
public function uploadLogo($schoolID)
{
$savePath = MYROOTPATH . 'public/images/logos/';
$savePath = MYROOTPATH.'public/images/logos/';
$this->load->helper('string');
$pathParts = pathinfo($_FILES['image_file']['name']);
$extension = $pathParts['extension'];
$filename = random_string('alnum', 15) . '.' . $extension;
$filename = random_string('alnum', 15).'.'.$extension;
$source = $_FILES['image_file']['tmp_name'];
$target = $savePath . $filename;
$target = $savePath.$filename;
rename($source, $target);
rename($source, $target );
chmod($target, '0777');
$details = $this->Schooldetails_model->get_records_where(['organisatie_id' => $schoolID]);
@@ -109,7 +109,9 @@ class Diversiteit extends MY_Controller{
$schooldiversiteit = 0;
$schooldq = 0;
$groepen = $this->Groepen_model->getgroepen($orgid, $schooljaarnr);
// module via de url (diversiteitsmodel.js), anders de module uit de sessie
$module = $this->uri->segment(6) ? (int)$this->uri->segment(6) : (int)$this->module;
$groepen = $this->Groepen_model->getgroepen($orgid, $schooljaarnr, $module);
if ($groepen){
foreach($groepen as $groep){
$schooltotaal = $schooltotaal + $groep->totaantal;
@@ -124,9 +126,9 @@ class Diversiteit extends MY_Controller{
$schoolgewogentot = $schoolgewogentot + 24; }
}; // foreach
}// if
$schooldq = round($schooldiversiteit / $schoolgewogentot , 2);
if ($schoolgewogentot != 0) $schooldq = round($schooldiversiteit / $schoolgewogentot , 2);
$today = date("d-m-Y");
$aantalgroepen = sizeof($groepen);
$aantalgroepen = is_array($groepen) ? sizeof($groepen) : 0;
$richtlijn=array('85%', '10%','3%','25');
$data=array('organisatie' => $organisatie,
"schooljaarnaam" => $schooljaarnaam,
@@ -183,11 +185,11 @@ class Diversiteit extends MY_Controller{
}; // foreach
}// if
$sbodq = $sbodiversiteit/$sbogewogentot;
$sodq = $sodiversiteit/$sodiversiteit;
$sbodq = $sbogewogentot != 0 ? $sbodiversiteit/$sbogewogentot : 0;
$sodq = $sodiversiteit != 0 ? $sodiversiteit/$sodiversiteit : 0;
$schooldq = round( $sbodq + $sodq, 2);
$today = date("d-m-Y");
$aantalgroepen = sizeof($groepen);
$aantalgroepen = is_array($groepen) ? sizeof($groepen) : 0;
$richtlijn=array('85%', '10%','3%','25');
$data=array('organisatie' => $organisatie,
"schooljaarnaam" => $schooljaarnaam,
@@ -51,7 +51,7 @@ class Diversiteitmonitor extends MY_Controller{
case 2:
case 3: $swvid = $this->Organisaties_model->get_swvid($orgid);
break;
default: $swvID = 0;
default: $swvid = 0;
}
$criteria = $this->Sorteringen_model->get_criteriabijSWV($swvid);
+10 -8
View File
@@ -120,7 +120,7 @@ class Groepen extends MY_Controller{
if (!$this->userid ) die;
$groepid = $this->clean_input('id');
$nivos = $this->clean_input("niveauarray");
$nstring = implode(';', $nivos);
$nstring = is_array($nivos) ? implode(';', $nivos) : null;
$data=array('naam' => $this->clean_input('naam'),
'niveau' => $nstring,
@@ -332,14 +332,15 @@ class Groepen extends MY_Controller{
$orgID = $this->clean_input('orgID');
$axovID =$this->Aantalxondersteuningsvorm_model->get_fieldvalue(["ondersteuningsvorm_id"=> $vormID, "groep_id" => $groepID], "id");
if ($axovID) $this->Aantalxondersteuningsvorm_model->update_record(["archief"=> 'T', "aantal"=> 0], $axovID);
else $data = [ 'organisatie_id' => $orgID,
else {
$data = [ 'organisatie_id' => $orgID,
'groep_id' => $groepID,
'ondersteuningsvorm_id' => $vormID,
'archief' => 'T',
'aantal' => 0];
$newid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
}
}
function activeerOS(){
if (!$this->userid) die;
@@ -349,14 +350,15 @@ class Groepen extends MY_Controller{
$orgID = $this->clean_input('orgID');
$axovID =$this->Aantalxondersteuningsvorm_model->get_fieldvalue(["ondersteuningsvorm_id"=> $vormID, "groep_id" => $groepID], "id");
if ($axovID) $this->Aantalxondersteuningsvorm_model->update_record(["archief"=> 'F'], $axovID);
else $data = [ 'organisatie_id' => $orgID,
else {
$data = [ 'organisatie_id' => $orgID,
'groep_id' => $groepID,
'ondersteuningsvorm_id' => $vormID,
'archief' => 'T',
'archief' => 'F',
'aantal' => 0];
$newid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
}
}
function getwriter(){
$writer = false;
if ($this->Autorisaties_model->check_autorisatie($this->userrole, 259) > 0){$writer = true;};
@@ -388,7 +390,7 @@ class Groepen extends MY_Controller{
$schooljaarnr = $this->clean_input('schooljaar');
$orgid = $this->clean_input('orgid');
$module = $this->clean_input('module');
$vorigegroepen = $this->Groepen_model->get(['schooljaarnr'=> $schooljaarnr - 1,
$vorigegroepen = $this->Groepen_model->get(['schooljaarnr'=> (int)$schooljaarnr - 1,
'organisatie_id' =>$orgid,
'schooltype' => 'R',
'module' => $module], false, false);
@@ -425,7 +427,7 @@ class Groepen extends MY_Controller{
$schooljaarnr = $this->clean_input('schooljaar');
$orgid = $this->clean_input('orgid');
$vorigegroepen = $this->Groepen_model->get(['schooljaarnr'=> $schooljaarnr - 1,
$vorigegroepen = $this->Groepen_model->get(['schooljaarnr'=> (int)$schooljaarnr - 1,
'organisatie_id' =>$orgid,
'schooltype' => 'R',
'module' => 270], false, false);
@@ -251,7 +251,7 @@ class Monfinoverzicht extends MY_Controller{
$totbudget = $budgetten->basis + $budgetten->extra + $budgetten->overig;
}
else {
$totbudget = $budget->som+ $budget->overig;
$totbudget = $budgetten->som + $budgetten->overig;
}
}
@@ -53,9 +53,9 @@ class Overzichtscores extends MY_Controller{
$recht = true;
}
if($this->globorgid == $kamerid && $this->userrole <= 32){//werkt bij kamer
$recht == true;
$recht = true;
}
if($this->globorgid == $bgid && $this->uderrole <=128){//werkt bij bg
if($this->globorgid == $bgid && $this->userrole <=128){//werkt bij bg
$recht = true;
}
if($this->globorgid == $orgid && $this->userrole <= 256){//management op school
@@ -74,7 +74,7 @@ class Overzichtsop extends MY_Controller{
{
if (!$this->userid) die;
$schooljaarnr = $this->clean_input("schooljaarnr");
$criteriumID = $this->clean_input("criteriumID");
$criteriumID = (int)$this->clean_input("criteriumID");
$organisatie = $this->Organisaties_model->getorg($this->globorgid);
$organisatie->sop = 'F';
+5 -15
View File
@@ -41,7 +41,7 @@ class Pdfmaker extends MY_Controller{
$organisatie = $this->Organisaties_model->get(['id' => $schoolid],false, true);
$data['inhoud' ]= $inhoud;
$html = $this->load->view('monpas/compactsop/sopcompact.php', $data, TRUE);
$date = date('dmY');
$date = date('dmY-Hi'); // tijdstip erbij om meerdere pdfs op één dag te onderscheiden
$zoek = [" ", "'", "/"];
$bestandstitel = str_replace($zoek, "", $soptitel);
$schoolid = str_replace($zoek, "",$schoolid);
@@ -53,7 +53,6 @@ class Pdfmaker extends MY_Controller{
$logonaam = $this->Schooldetails_model->get(["organisatie_id" =>$schoolid],'logo', true);
if (! $logonaam) $logonaam="monpaslogo.png";
$schoollogo = $this->config->item('vendor_url').'/images/logos/'.$logonaam;
chmod($schoollogo, 0777);
$headerdata = ['titel' =>$soptitel,
'schoolnaam' =>$sopschoolnaam ? $sopschoolnaam : '',
@@ -65,7 +64,7 @@ class Pdfmaker extends MY_Controller{
// $footer = $this->load->view ("monpas/compactsop/compactfooter", $footerdata, TRUE);
$filenaam = $this->compactsoppath.'sop.pdf';
$bestandsnaam = "compactsop".$bestandsschoolnaam.$schoolid.$bestandstitel.'-'.$date.'.pdf';
$bestandsnaam = $bestandsschoolnaam.$schoolid.$bestandstitel.'-'.$date.'.pdf';
$downloadnaam = $this->compactsoppath.$bestandsnaam;
// TODO check if exists
@@ -74,7 +73,7 @@ class Pdfmaker extends MY_Controller{
$csop = $this->Compactsop_model->get($data,false, true);
if ($csop && $csop->id){
unlink($this->compactsoppath.$csop->pdfnaam);
if (is_file($this->compactsoppath.$csop->pdfnaam)) unlink($this->compactsoppath.$csop->pdfnaam);
$this->Compactsop_model->update_record(['pdfnaam'=>$bestandsnaam], $csop->id);
$sopid = $csop->id;
} else {
@@ -89,17 +88,8 @@ class Pdfmaker extends MY_Controller{
// header( 'Content-Description: File Transfer' );
header( 'Content-Type: application/pdf' );
header( 'Content-disposition:inline; filename="' .$bestandsnaam.'"');
// header( 'Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0' );
// header( 'Pragma: public' );
// header( 'Content-Length: ' . filesize( $downloadnaam ) );
readfile($downloadnaam);
// doorsturen naar een url die op de bestandsnaam eindigt, anders slaat de browser de pdf op als 'download'
redirect('monpas/compactsop/download_pdf/' . $sopid . '/' . preg_replace('/[^A-Za-z0-9._-]/', '', $bestandsnaam), 'location', 303);
}
}
@@ -94,7 +94,6 @@ class Rapijkpunten extends MY_Controller{
if (!$this->userid) die;
$soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' );
$werkter = $this->Orgusers_model->get_fieldvalue(array("user_id"=>$this->userid, "organisatie_id"=>$this->globorgid),"id");
$level = 0;
if ($soort < 4 && $werkter) {
@@ -104,14 +103,12 @@ class Rapijkpunten extends MY_Controller{
echo json_encode($level);
}
function checkLevelInspectie(){
if (!$this->userid) die;
$soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' );
$level123 = false;
if ($soort > 0 && soort < 4) {
if ($soort > 0 && $soort < 4) {
$level123 == true;
}
echo json_encode($level123);
+5 -5
View File
@@ -76,12 +76,12 @@ class Rapmatrix extends MY_Controller
{
$orgID = $this->clean_input('orgid');
$orgsoort = $this->clean_input('orgsoort');
$criteriumID = $this->clean_input('criteriumid');
$criteriumID = (int)$this->clean_input('criteriumid');
$orgversieID = $this->clean_input('orgversieid');
$toporg = $this->clean_input('toporg');
$ijkpunten = $this->Ijkpunten_model->getijkpuntenMetIndicatoren($orgversieID);
$aantalY = count($ijkpunten);
$aantalY = is_array($ijkpunten) ? count($ijkpunten) : 0;
$kleurtabel = $this->kleurcodes->getkleurlegenda();
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieID);
@@ -129,7 +129,7 @@ class Rapmatrix extends MY_Controller
function haalInspectieScoresOp(){
$orgID = $this->clean_input('orgid');
$orgsoort = $this->clean_input('orgsoort');
$criteriumID = $this->clean_input('criteriumid');
$criteriumID = (int)$this->clean_input('criteriumid');
$orgversieID = $this->clean_input('orgversieid');
$ijkpunten = $this->Orgversies_model->getijkpunten($orgversieID);
@@ -153,7 +153,7 @@ class Rapmatrix extends MY_Controller
echo json_encode(
array("labels" => $labels,
"ijkpunten" => $ijkpunten,
"aantalY" => count($ijkpunten),
"aantalY" => is_array($ijkpunten) ? count($ijkpunten) : 0,
"uitslagen" => $uitslagen,
"kleurtabel" => $kleurtabel));
}
@@ -628,7 +628,7 @@ return $labels;
private function getGemiddeldeScores($labels, $ijkpunten, $kleuren, $scoretype){
$aantalY = count($ijkpunten);
$aantalY = is_array($ijkpunten) ? count($ijkpunten) : 0;
$waarden = 0;
$nvt = [];
+19 -33
View File
@@ -25,12 +25,6 @@ class Rapontwikkel extends MY_Controller {
};// if
}
function getModule(){
$module = $this->session->userdata('module');
echo json_encode($module);
}
function savegewenst()
{
//TODO clean input
@@ -39,7 +33,7 @@ class Rapontwikkel extends MY_Controller {
$orgversieid = $this->clean_input( "orgversionid" );
$orguserid = $this->clean_input( "orguserid" );
if ( $orguserid == 0 )
if ( (int)$orguserid == 0 )
{
$orguserid = NULL;
}
@@ -140,20 +134,14 @@ class Rapontwikkel extends MY_Controller {
}
};
if ( $gewenst )
{
foreach ( $scores as $index=> $score ) {
if($gewenst && count($gewenst)> ($index)) {
$score->gewenstid = $gewenst[$index]->id;
$score->gewenst = $gewenst[$index]->wens;
}
else{
$score->gewenstid =0;
$score->gewenst = 0;
}
$i = 0;
foreach ( $scores as $score )
{
$score->gewenstid = $gewenst[ $i ]->id;
$score->gewenst = $gewenst[ $i ]->wens;
$i = $i + 1;
}; //foreach
}
}
@@ -175,7 +163,7 @@ class Rapontwikkel extends MY_Controller {
if ($werktEr)
{
if ( pow( 4, $orgsoort ) == $this->userrole)
if ( pow( 4, (int)$orgsoort ) == $this->userrole)
{
$rechten = TRUE;
}
@@ -203,7 +191,7 @@ class Rapontwikkel extends MY_Controller {
$organisatie = $this->Organisaties_model->getorg( $orgid );
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieid);
$scores = NULL;
$gewenst = FALSE;
$gewenst = NULL;
// als de organisatie een school is : haal de gemiddelde score op (als de 'ik-versie" wordt gebruikt
// let op als ik-versie dan moeten de gegevens van de users worden opgehaald maar
// dat gaat vanzelf omdat gezocht wordt naar organisatie (via filled versions);
@@ -231,18 +219,16 @@ class Rapontwikkel extends MY_Controller {
}; // foreach scores
$gewenst = $this->Scores_model->getgewenstindividueel( $orgid, $orgversieid, $orguserid );
foreach ( $scores as $index=> $score ) {
if($gewenst && count($gewenst)> ($index)) {
$score->gewenstid = $gewenst[$index]->id;
$score->gewenst = $gewenst[$index]->wens;
}
else{
$score->gewenstid =0;
$score->gewenst = 0;
}
if ( $gewenst )
{
$i = 0;
foreach ( $scores as $score )
{
$score->gewenstid = $gewenst[ $i ]->id;
$score->gewenst = $gewenst[ $i ]->wens;
$i = $i + 1;
}; //foreach
}
echo json_encode( ['scores' => $scores] );
} // getscores
@@ -105,7 +105,7 @@ class Schoolgegevens extends MY_Controller{
// als nivo < 10 alleen verwijderen via accounts
$autorisatienivo = $this->Autorisaties_model->get(['orguser_id' =>$orguser->id], 'nivo_id', true);
if ($autorisatienivo != 10) $errorstring += " Deze gebruiker mag alleen verwijderd worden via accounts.";
if ($autorisatienivo != 10) $errorstring .= " Deze gebruiker mag alleen verwijderd worden via accounts.";
if ($errorstring <= ''){
$this->Autorisaties_model->update_record_where(['nivo_id'=>100], ['orguser_id' =>$orguser->id]);
+1 -1
View File
@@ -318,7 +318,7 @@ class Sop extends MY_Controller{
$sopkeuze = (new Sopkeuze($sopid));
$labels = $sopkeuze->getLabels();
$soplabels = $sopkeuze->getHoofdstukLabels();
$aantal = count($soplabels);
$aantal = is_array($soplabels) ? count($soplabels) : 0;
$tweedeid='';
if($aantal > 1) {
$tweede = $soplabels[1];
+1 -1
View File
@@ -332,7 +332,7 @@ class Sopoud extends MY_Controller{
$imageoa = $this->Phantom_model->create_img($result['tabel1'], 'test.png', FALSE, FALSE, array(650, 300));
$id = "oa1image1";
if ( $module = 4) { $id = "oa2image1";};
if ( $module == 4) { $id = "oa2image1";};
$imagedata = "<img src='data:image/png;base64,".$imageoa."' id='".$id."'/>";
echo json_encode(array('image1' => $imagedata ,
+2 -2
View File
@@ -57,7 +57,7 @@ class Sortering extends MY_Controller {
$label->sortering_id = $criterium->id;
$label->naam ='niet ingedeeld';
$label->volgorde = 'LAATST';
array_push($labels, $label);
if (is_array($labels)) array_push($labels, $label);
$criterium->labels = $labels;
}
@@ -74,7 +74,7 @@ class Sortering extends MY_Controller {
$label->sortering_id = $criteriumid;
$label->naam ='niet ingedeeld';
$label->volgorde = 'LAATST';
array_push($labels, $label);
if (is_array($labels)) array_push($labels, $label);
$swv = $this->Organisaties_model->get_record_by_id($swvid);
$swv->kamers = $this->Organisaties_model->getorgsvanaf($swvid);
@@ -273,7 +273,7 @@ class Streefcijfers extends MY_Controller{
}
$ambitie = $this->Ambities_model->mh_get_ambities($module, $this->globorgid, $this->globorgid);
if($ambitie) $ambities = array_merge($ambities,$ambitie);
if($ambitie) $ambities = is_array($ambities) ? array_merge($ambities,$ambitie) : null; // PHP 7 gaf null bij $ambities === false
else{
$standaardSWVNodig = true;
$orgversie = $this->Orgversies_model->getOrgVersie($this->globorgid, $module);
@@ -345,6 +345,7 @@ class Streefcijfers extends MY_Controller{
// $ambitie->aantalY = $this->Ijkpunten_model->telijkpunten($ambitie->orgversieID);
}
}
if (empty($orgversie)) $orgversie = new stdClass(); // PHP 7 maakte hier impliciet een object aan
$orgversie->aantalY = $this->Ijkpunten_model->telijkpunten($orgversie->orgversieID);
$orgversie->ambitievan = $org->naamkort;
@@ -478,7 +479,7 @@ class Streefcijfers extends MY_Controller{
// zoek of de ambitie voor een nieuwe organisatie is
$alaanwezig = $this->Ambities_model->check_for_record(array("organisatie_id"=>$this->globorgid,
"orgversie_id" => $this->clean_input("orgversie_id")) );
if ($id ==0 || !$alaanwezig ){
if ((int)$id ==0 || !$alaanwezig ){
$data=array("organisatie_id" => $this->globorgid,
"orgversie_id" => $this->clean_input("orgversie_id"),
"gem_score" => $this->clean_input("gemscore"),
@@ -1,662 +0,0 @@
// Build the chart
//
// fFillGraph=function(){
<?php //if (isset($data[0]->tlvs ))?>//fMakeChart('tlvs');
// <?php //if(isset($data[1]->tlvs ))?>// fMakeChart('tlvsII');
//
//
// fMakeChart = function() {
//
// var aantallen = [];
// <?php //foreach( $data[0]->tlvs as $tlv){
// if($tlv->zwaarte == 'LAAG'){ ?>
//
// aantallen.push({
// name: 'so laag',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#d9ffb3'
// });
// <?php //}
//
// if($tlv->zwaarte == 'MIDDEN'){ ?>
//
// aantallen.push({
// name: 'so midden',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#66cc00'
// });
// <?php //}
//
// if($tlv->zwaarte == 'HOOG'){?>
//
// aantallen.push({
// name: 'so hoog',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#4d9900''
// });
// <?php //}
//
// if($tlv->zwaarte == 'LICHT'){ ?>
//
// aantallen.push({
// name: 'sbo licht',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#99d6ff'
// });
// <?php //}
//
// if($tlv->zwaarte == 'ZWAAR'){ ?>
//
// aantallen.push({
// name: 'sbo zwaar',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#005c99'
// });
// <?php //} } ?>
Highcharts.chart('tlvs', {
chart: {
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false,
type: 'pie',
margin: [0, 0, 0, 0],
spacingTop: 0,
spacingBottom: 0,
spacingLeft: 0,
spacingRight: 0
},
title: {
text: ''
},
credits: {
enabled: false
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
size: '100%',
dataLabels: {
enabled: false
},
showInLegend: true,
}
},
legend: {
itemStyle: {
fontSize: '8px',
fontWeight: '200',
align: 'left',
itemDistance: '10',
borderWidth: 0,
},
},
series: [{
name: 'tlvs',
// colorByPoint: true,
data: aantallen
}]
});
// Highcharts.chart('tlvsII', {
// chart: {
// plotBackgroundColor: null,
// plotBorderWidth: null,
// plotShadow: false,
// type: 'pie',
// margin: [0, 0, 0, 0],
// spacingTop: 0,
// spacingBottom: 0,
// spacingLeft: 0,
// spacingRight: 0
//
//
// },
// title: {
// text: ''
// },
// credits: {
// enabled: false
// },
//
// plotOptions: {
// pie: {
// allowPointSelect: true,
// cursor: 'pointer',
// size: '100%',
// dataLabels: {
// enabled: false
// },
// showInLegend: true,
// }
// },
// legend: {
// itemStyle: {
// fontSize: '8px',
// fontWeight: '200',
// align: 'left',
// layout: 'horizontal',
// borderWidth: 0,
//
//
// },
// },
//
// series: [{
// name: 'Brands',
// colorByPoint: true,
// data: [{
// name: 'Chrome',
// y: 61.41,
// sliced: true,
// selected: true
// }, {
// name: 'Internet Explorer',
// y: 11.84
// }, {
// name: 'Firefox',
// y: 10.85
// }, {
// name: 'Edge',
// y: 4.67
// }, {
// name: 'Safari',
// y: 4.18
// }, {
// name: 'Other',
// y: 7.05
// }]
// }]
// });
// }
//
// }();
<!-- --><?php //if ($data[0]->tlvs ){ ?>
// $(function(){
// fFillGraph10=function(){
// var schooljaar = '<?php //echo $data[0]->aantallen->naam ?>//';
//
// var aantallen = [];
// <?php //foreach( $data[0]->tlvs as $index => $tlv){
// if($tlv->zwaarte == 'LAAG'){ ?>
//
// aantallen.push({
// name: 'so laag',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#d9ffb3'
// });
// <?php //}
//
// if($tlv->zwaarte == 'MIDDEN'){ ?>
//
// aantallen.push({
// name: 'so midden',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#66cc00'
// });
// <?php //}
//
// if($tlv->zwaarte == 'HOOG'){?>
//
// aantallen.push({
// name: 'so hoog',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#4d9900''
// });
// <?php //}
//
// if($tlv->zwaarte == 'LICHT'){ ?>
//
// aantallen.push({
// name: 'sbo licht',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#99d6ff'
// });
// <?php //}
//
// if($tlv->zwaarte == 'ZWAAR'){ ?>
//
// aantallen.push({
// name: 'sbo zwaar',
// y: <?php //echo intval($tlv->aantal) ?>//,
// color: '#005c99'
// })
// <?php //} } ?>
//
//
//
// Highcharts.chart('tlvs', {
// chart: {
// backgroundColor: '#d7d8d7',
// plotBackgroundColor: '#d7d8d7',
// plotBorderWidth: null,
// plotShadow: false,
// animation: false,
// type: 'pie'
// },
// title:{
// text:''
// },
// credits: {
// enabled: false
// },
// plotOptions: {
// pie: {
// allowPointSelect: false,
// dataLabels: {
// enabled: false
// },
// showInLegend: true
// }
// },
// legend:{
// enable: true,
// margin: 0,
// layout: 'horizontal',
// itemStyle:{
// fontSize: '10px',
// fontWeight: 'normal'
// },
// labelFormatter: function () {
// return this.name + ': ' + this.y;
// }
// },
//
// series: aantallen
// });
//
// }()
// });
// <?php //} ?>
<?php if ($data[1]->tlvs){ ?>
$(function(){
fFillGraph15=function(){
var schooljaar = '<?php echo $data[1]->aantallen->naam ?>';
var aantallen = [];
<?php foreach( $data[1]->tlvs as $index => $tlv){
if($tlv->zwaarte == 'LAAG'){ ?>
aantallen.push({
name: 'so laag',
y: <?php echo intval($tlv->aantal) ?>,
color: '#d9ffb3'
});
<?php }
if($tlv->zwaarte == 'MIDDEN'){ ?>
aantallen.push({
name: 'so midden',
y: <?php echo intval($tlv->aantal) ?>,
color: '#66cc00'
});
<?php }
if($tlv->zwaarte == 'HOOG'){?>
aantallen.push({
name: 'so hoog',
y: <?php echo intval($tlv->aantal) ?>,
color: '#4d9900''
});
<?php }
if($tlv->zwaarte == 'LICHT'){ ?>
aantallen.push({
name: 'sbo licht',
y: <?php echo intval($tlv->aantal) ?>,
color: '#99d6ff'
});
<?php }
if($tlv->zwaarte == 'ZWAAR'){ ?>
aantallen.push({
name: 'sbo zwaar',
y: <?php echo intval($tlv->aantal) ?>,
color: '#005c99'
});
<?php } } ?>
Highcharts.chart('tlvsII', {
chart: {
backgroundColor: '#d7d8d7',
plotBackgroundColor: '#d7d8d7',
plotBorderWidth: null,
plotShadow: false,
animation: false,
type: 'pie'
},
title:{
text:''
},
credits: {
enabled: false
},
plotOptions: {
pie: {
allowPointSelect: false,
dataLabels: {
enabled: false
},
showInLegend: true
}
},
legend:{
enable: true,
margin: 0,
layout: 'horizontal',
itemStyle:{
fontSize: '10px',
fontWeight: 'normal'
},
labelFormatter: function () {
return this.name + ': ' + this.y;
}
},
series: aantallen
});
}()
});
<?php } ?>
<?php if(count($data) == 1 &&($data[0]->tlvs || $data[1]->tlvs) ){ ?>
<div class="sopKaderGrafiek" style="margin-top: 0; padding-top: 0;">
<div class="col-xs-12" style="margin-top: 0; padding-top: 0; text-align: center">
<span style=" font-size: 0.8em !important;">TLVs per zorgzwaarte</span>
</div>
<div class="col-xs-12">
<?php if($data[0]->tlvs){ ?>
<div class="highcharts-background"
id="tlvs"
style="width: 350px; height: 125px; ">
</div>
<?php }
if($data[1]->tlvs){ ?>
<div class="highcharts-background"
id="tlvs"
style="width: 350px; height: 125px; ">
</div>
<?php } ?>
</div>
</div>
<?php } ?>
<?php if($data[0]->arrangementen && $data[1]->arrangementen){ ?>
<div class="sopkaderGrafiek" style="margin-top: 0; padding-top: 0;">
<div class=" col-xs-12" style="margin-top: 0; padding-top: 0;">
<p style=" font-size: 0.8em !important; text-align:center">TLvs Per Zorgzwaarte</p>
</div>
<div class=" col-xs-6" style="padding:0;">
<div class="highcharts-background"
id="tlvs"
style="width: 175px; ">
</div>
</div>
<div class=" col-xs-6" style="padding:0;">
<div class="highcharts-background"
id="tlvsII"
style="width: 175px; ">
</div>
</div>
</div>
<?php } ?>
<?php if(count($data) == 1 && ($data[0]->arrangementen || $data[1]->arrangementen)){ ?>
<div class="sopkaderGrafiek" style="margin-top: 0; padding-top: 0;">
<div class=" col-xs-12" style="margin-top: 0; padding-top: 0;">
<p style=" font-size: 0.8em !important; text-align:center">TLVs per zorgzwaarte</p>
</div>
<div class=" col-xs-12" style="padding:0;">
<?php if($data[0]->arrangementen){ ?>
<div class="highcharts-background"
id="arrangementen"
style="width: 350px; ">
</div>
<?php }
if($data[1]->arrangementen){ ?>
<div class="highcharts-background"
id="arrangementenII"
style="width: 350px; ">
</div>
<?php } ?>
</div>
</div>
<?php } ?>
<?php if ($data[0]->arrangementen){ ?>
$(function(){
fFillGraph11=function(){
var schooljaar = '<?php echo $data[0]->aantallen->naam ?>';
var arrangementen = [];
var naam = "";
var lengte = "";
var duur = "";
<?php foreach($data[0]->arrangementen as $index => $arrangement){
if(isset($arrangement->aantal)){
if($arrangement->aantal > 0) { ?>
lengte = 10;
duur = '>= 6 wkn';
<?php if($arrangement->lengte == 'K'){ ?>
lengte = 5;
duur = '< 6 wkn';
<?php }?>
naam = '<?= $arrangement->naam ?>'+'('+'<?= $arrangement->leeftijd ?>'+') '+ '<?= $arrangement->aantal ?>' + ' lln.' + duur;
arrangementen.push({
name : naam,
y : <?php echo intval( $arrangement->aantal) ?>,
z : lengte
color : <?php echo $arrangement->kleur ?>,
});
<?php }
}; }?>
if (arrangementen.length <=0) return;
Highcharts.chart('arrangementen', {
chart: {
type: 'variablepie',
backgroundColor: '#d7d8d7',
plotBackgroundColor: '#d7d8d7',
animation: false,
height: 185
},
title:{
text:'',
margin: 0
},
credits: {
enabled: false
},
legend:{
enable: true,
margin: 0,
width: 175,
itemStyle: {
fontWeight: 'normal',
fontSize: 8
}
},
plotOptions: {
pie: {
allowPointSelect: false,
dataLabels: {
enabled: false
}
}
},
series: [{
minPointSize: 10,
colorByPoint: true,
innerSize: '20%',
zMin: 0,
name: 'arrangementen',
data: arrangementen,
dataLabels: {
enabled: false
},
showInLegend: true
}]
});
}()
});
<?php } ?>
<?php if ($data[1]->arrangementen){ ?>
$(function(){
fFillGraph12=function(){
var schooljaar = '<?php echo $data[1]->aantallen->naam ?>';
var arrangementen = [];
var naamV = "";
var lengte = "";
var duur = "";
<?php foreach($data[1]->arrangementen as $index => $arrangement){
if(isset($arrangement->aantal)){
if($arrangement->aantal > 0) { ?>
lengte = 10;
duur = '>= 6 wkn';
<?php if($arrangement->lengte == 'K'){ ?>
lengte = 5;
duur = '< 6 wkn';
<?php }?>
naam = '<?=$arrangement->naam ?>'+ '('+'<?= $arrangement->leeftijd ?>'+') '+ '<?= $arrangement->aantal ?>' + ' lln.' + duur;
arrangementen.push({
name: naam,
y : <?php echo intval($arrangement->aantal) ?>,
z : lengte
color : <?php echo $arrangement->kleur ?>,
});
<?php }; }; }?>
if (arrangementen.length <= 0) return;
Highcharts.chart('arrangementenII', {
chart: {
type: 'variablepie',
backgroundColor: '#d7d8d7',
plotBackgroundColor: '#d7d8d7',
animation: false,
height: 185
},
legend:{
enable: true,
margin: 0,
width: 175,
itemStyle: {
fontWeight: 'normal',
fontSize: 8
}
},
title:{
text:'',
marginTop: 0
},
credits: {
enabled: false
},
plotOptions: {
pie: {
allowPointSelect: false,
dataLabels: {
enabled: false,
}
}
},
series: [{
minPointSize: 10,
colorByPoint: true,
innerSize: '20%',
animation: false,
zMin: 0,
name: 'arrangementen',
data: arrangementen,
dataLabels: {
enabled: false
},
showInLegend: true
}]
});
}()
});
<?php } ?>
@@ -189,7 +189,7 @@ class Filefolders extends MY_Controller {
}
private function magDelete($fileid){
$owner = $this->Files_model->get(['id'=>$fileid],owner,true);
$owner = $this->Files_model->get(['id'=>$fileid],'owner',true);
if ($owner == $this->userid) return true;
else return false;
}
+1 -1
View File
@@ -43,7 +43,7 @@ class Functies extends MY_Controller
}
}
}
if ($functies && sizeof($functies > 1)) {
if ($functies) {
$test = (array)$functies;
usort($test, array($this, 'opDoelgroep'));
}
@@ -39,7 +39,7 @@ class Organisaties extends MY_Controller{
}
else {
$orgs = $this->Organisaties_model->getuserorgs($this->userid);
if (count($orgs) == 1) $orgs = null; // als er maar 1 organisatie is , kan de gebruiker niet switchen
if (!$orgs || count($orgs) == 1) $orgs = null; // als er maar 1 organisatie is , kan de gebruiker niet switchen
}
echo json_encode($orgs);
}
@@ -227,7 +227,7 @@ class Organisaties extends MY_Controller{
$zoekstr = $this->input->post("zoekstring");
$results = $this->Organisaties_model->zoekorgs($zoekstr);
if (!$results){$errortekst = "Geen resultaten gevonden";};
if (count($results) > 150) {
if ($results && count($results) > 150) {
$errortekst ="Teveel overeenkomende gegevens gevonden. Maak uw zoekcriteria specifieker.";
$results = '';}
echo json_encode(array("results"=>$results, "errortekst" =>$errortekst));
+1 -1
View File
@@ -309,7 +309,7 @@ class Portal extends MY_Controller {
$licenties = array_merge( $ongeclusterd, $clusters);
usort($licenties, array($this, 'opAlfabet'));
usort($keuze, array($this, 'opAlfabet'));
if (is_array($keuze)) usort($keuze, array($this, 'opAlfabet'));
$clusternaam = $this->Licenties_model->get_clusterNaam($clusterId);
$geselecteerd = $this->arrayinArray($licenties, $keuzesarray, $clusterId, $clusternaam);
+1 -1
View File
@@ -49,7 +49,7 @@ class Upload extends MY_Controller {
}
private function sharedUpload($fn, $folder, $module,$docID = false){
$newName = $this->random_str(12);
$fileExists = $this->CheckFileExists($fn['name'], $module);
$fileExists = $this->CheckFileExists(is_array($fn) ? $fn['name'] : '', $module);
// nog afvangen : file exists maar een doc id meegegeven: dan moet de file overschreven worden
$error ='';
if ($fn) {
+3 -1
View File
@@ -70,7 +70,9 @@ class Users extends MY_Controller{
}
}
}
if ($userorg->soort=1){
// boom in 'orgs' voor elke soort; gebruikersmodel.js gebruikt alleen deze
// (was 'if ($userorg->soort=1)': een toewijzing die altijd waar was en soort overschreef)
{
$userorg->orgs= $this->Organisaties_model->getorgsvanaf($userorg->id);
if ($userorg->orgs){
foreach($userorg->orgs as $kamer){
+1 -1
View File
@@ -178,7 +178,7 @@ class MY_Controller extends CI_Controller{
function clean_input($post){
return str_replace('null', '', $this->db->escape_str($this->input->post($post), TRUE));
return str_replace('null', '', $this->db->escape_str($this->input->post($post) ?? '', TRUE));
}
function check_online_status() {
if ( ! $this->uri->segment( 2 ) || $this->uri->segment( 1 ) == 'login' ) return TRUE;
+18 -1
View File
@@ -16,6 +16,8 @@ class MY_Model extends CI_Model{
function __construct(){
parent::__construct();
// Disable ONLY_FULL_GROUP_BY for legacy queries
$this->db->query("SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))");
}
function get_record_by_id($id, $fieldname=FALSE, $row=TRUE){
@@ -74,7 +76,22 @@ class MY_Model extends CI_Model{
function get_query_result(){
$query = $this->db->query($this->sql);
if($query->num_rows()==0){
if($query === FALSE){
$error = $this->db->error();
log_message('error', 'Database query failed: ' . $error['message'] . ' | SQL: ' . $this->sql);
// Tijdelijk ook direct tonen voor debugging
if(ENVIRONMENT !== 'production'){
echo "SQL Error: " . $error['message'] . "\n";
echo "SQL: " . $this->sql . "\n";
}
return FALSE;
}
$num_rows = $query->num_rows();
// Tijdelijk loggen voor debugging
if(ENVIRONMENT !== 'production'){
log_message('debug', 'Query returned ' . $num_rows . ' rows | SQL: ' . substr($this->sql, 0, 100));
}
if($num_rows == 0){
return FALSE;
}else{
return $query->result();
+8 -3
View File
@@ -15,14 +15,14 @@
}
function date2mysql($date){
return date('Y-m-d', strtotime($date));
return date('Y-m-d', strtotime($date ?? ''));
}
function mysql2date($date){
return date('d-m-Y', strtotime($date));
return date('d-m-Y', strtotime($date ?? ''));
}
function mysql2bedrag($bedrag){
$bedrag2=number_format($bedrag,2,",",".");
$bedrag2=number_format((float)$bedrag,2,",",".");
return $bedrag2;
}
@@ -32,3 +32,8 @@
$message = stripslashes($message);
return ($message);
}
// script uit public/ ingesloten in de html, zodat de printserver het niet van app.monpas.nl hoeft te halen
function inline_script($pad){
return '<script type="text/javascript">' . file_get_contents(FCPATH . $pad) . '</script>';
}
+27 -27
View File
@@ -1323,7 +1323,7 @@ class FirePHP {
$name = $raw_name;
if ($name{0} == "\0") {
if ($name[0] == "\0") {
$parts = explode("\0", $name);
$name = $parts[2];
}
@@ -1370,7 +1370,7 @@ class FirePHP {
if (self::is_utf8($Object)) {
return $Object;
} else {
return utf8_encode($Object);
return mb_convert_encoding((string)$Object, 'UTF-8', 'ISO-8859-1');
}
}
return $return;
@@ -1502,17 +1502,17 @@ class FirePHP {
case 2:
// return a UTF-16 character from a 2-byte UTF-8 char
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
return chr(0x07 & (ord($utf8{0}) >> 2))
. chr((0xC0 & (ord($utf8{0}) << 6))
| (0x3F & ord($utf8{1})));
return chr(0x07 & (ord($utf8[0]) >> 2))
. chr((0xC0 & (ord($utf8[0]) << 6))
| (0x3F & ord($utf8[1])));
case 3:
// return a UTF-16 character from a 3-byte UTF-8 char
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
return chr((0xF0 & (ord($utf8{0}) << 4))
| (0x0F & (ord($utf8{1}) >> 2)))
. chr((0xC0 & (ord($utf8{1}) << 6))
| (0x7F & ord($utf8{2})));
return chr((0xF0 & (ord($utf8[0]) << 4))
| (0x0F & (ord($utf8[1]) >> 2)))
. chr((0xC0 & (ord($utf8[1]) << 6))
| (0x7F & ord($utf8[2])));
}
// ignoring UTF-32 for now, sorry
@@ -1564,7 +1564,7 @@ class FirePHP {
*/
for ($c = 0; $c < $strlen_var; ++$c) {
$ord_var_c = ord($var{$c});
$ord_var_c = ord($var[$c]);
switch (true) {
case $ord_var_c == 0x08:
@@ -1587,18 +1587,18 @@ class FirePHP {
case $ord_var_c == 0x2F:
case $ord_var_c == 0x5C:
// double quote, slash, slosh
$ascii .= '\\'.$var{$c};
$ascii .= '\\'.$var[$c];
break;
case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
// characters U-00000000 - U-0000007F (same as ASCII)
$ascii .= $var{$c};
$ascii .= $var[$c];
break;
case (($ord_var_c & 0xE0) == 0xC0):
// characters U-00000080 - U-000007FF, mask 110XXXXX
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$char = pack('C*', $ord_var_c, ord($var{$c + 1}));
$char = pack('C*', $ord_var_c, ord($var[$c + 1]));
$c += 1;
$utf16 = $this->json_utf82utf16($char);
$ascii .= sprintf('\u%04s', bin2hex($utf16));
@@ -1608,8 +1608,8 @@ class FirePHP {
// characters U-00000800 - U-0000FFFF, mask 1110XXXX
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$char = pack('C*', $ord_var_c,
ord($var{$c + 1}),
ord($var{$c + 2}));
ord($var[$c + 1]),
ord($var[$c + 2]));
$c += 2;
$utf16 = $this->json_utf82utf16($char);
$ascii .= sprintf('\u%04s', bin2hex($utf16));
@@ -1619,9 +1619,9 @@ class FirePHP {
// characters U-00010000 - U-001FFFFF, mask 11110XXX
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$char = pack('C*', $ord_var_c,
ord($var{$c + 1}),
ord($var{$c + 2}),
ord($var{$c + 3}));
ord($var[$c + 1]),
ord($var[$c + 2]),
ord($var[$c + 3]));
$c += 3;
$utf16 = $this->json_utf82utf16($char);
$ascii .= sprintf('\u%04s', bin2hex($utf16));
@@ -1631,10 +1631,10 @@ class FirePHP {
// characters U-00200000 - U-03FFFFFF, mask 111110XX
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$char = pack('C*', $ord_var_c,
ord($var{$c + 1}),
ord($var{$c + 2}),
ord($var{$c + 3}),
ord($var{$c + 4}));
ord($var[$c + 1]),
ord($var[$c + 2]),
ord($var[$c + 3]),
ord($var[$c + 4]));
$c += 4;
$utf16 = $this->json_utf82utf16($char);
$ascii .= sprintf('\u%04s', bin2hex($utf16));
@@ -1644,11 +1644,11 @@ class FirePHP {
// characters U-04000000 - U-7FFFFFFF, mask 1111110X
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
$char = pack('C*', $ord_var_c,
ord($var{$c + 1}),
ord($var{$c + 2}),
ord($var{$c + 3}),
ord($var{$c + 4}),
ord($var{$c + 5}));
ord($var[$c + 1]),
ord($var[$c + 2]),
ord($var[$c + 3]),
ord($var[$c + 4]),
ord($var[$c + 5]));
$c += 5;
$utf16 = $this->json_utf82utf16($char);
$ascii .= sprintf('\u%04s', bin2hex($utf16));
@@ -14,6 +14,9 @@ class Diversiteit
private $vormen;
private $factoren ='';
private $diversiteit = [];
private $schooljaarnr;
private $orgid;
private $modulenr;
public function getDiversiteit(){
return $this->diversiteit;
@@ -46,6 +46,9 @@ class Diversiteitafbeeldingen {
private $somdq;
private $totdq;
private $diversiteitafbeeldingen =[];
private $modulenr;
private $orgversieid;
private $diversiteit;
public function __construct($diversiteit, $modulenr, $orgversieid){
$this->CI = & get_instance();
@@ -37,6 +37,11 @@ class Gemiddeldenafbeeldingen {
private $disablenvt = 0;
private $gemiddeldenafbeeldingen;
private $gemiddeldescores;
private $modulenr;
private $orgversieid;
private $orgid;
private $clusterid;
public function __construct(Gemiddeldescores $gemiddeldescores, $modulenr, $orgversieid, $clusterid, $orgid){
$this->CI = & get_instance();
@@ -24,6 +24,18 @@ class Gemiddeldescores
private $welkehoogste;
private $laagstescore = 110;
private $hoogstescore = 0;
private $orgversieid;
private $orgid;
private $scoretype;
private $results;
private $org;
private $orgnaam;
private $kleuren;
private $onderorgs;
private $orgstring;
private $leerkrachtscores;
private $ijkpuntscore;
private $gemiddelde;
@@ -446,7 +458,7 @@ class Gemiddeldescores
}
private function addGemiddeldeScore(){
if(! $this->gemiddelde) return;
if(! $this->gemiddelde || ! is_array($this->ijkpunten)) return;
array_push($this->ijkpunten, $this->gemiddelde);
}
@@ -491,7 +503,7 @@ class Gemiddeldescores
private function setGevuldeVersies12(){
$orgids = [];
if (count($this->onderorgs) > 0) {
if (!empty($this->onderorgs)) {
foreach ($this->onderorgs as $index => $this->org) {
$orgids[] = $this->org->id;
}
@@ -18,6 +18,9 @@ class Hoofdstuk
private $vervangingscode;
private $contentid;
private $hoofdstuk;
private $chapterid;
private $orgversieid;
private $profielid;
private $CI;
@@ -16,8 +16,11 @@ class Hoofdstukkeuze
private $selectie;
private $selecties = [];
private $CI;
private $orgversieid;
private $chapterid;
private $vergelijkingen;
public function __construct($chapterid, $orgversieid= false, $vergelijkingen)
public function __construct($chapterid, $orgversieid, $vergelijkingen)
{
$this->CI =& get_instance();
$this->orgversieid = $orgversieid;
@@ -11,6 +11,7 @@ class Inleiding
private $valtonder_id;
private $bgid;
private $inleiding;
private $orgid;
public function __construct($orgid)
@@ -21,6 +21,11 @@ class Inspectieafbeeldingen {
private $orgbreedte;
private $vantm;
private $inspectieafbeeldingen;
private $modulenr;
private $orgversieid;
private $inspectieoordelen;
private $orgid;
private $clusterid;
public function __construct($inspectieOordelen, $modulenr, $orgversieid, $orgid){
$this->CI = & get_instance();
@@ -9,6 +9,9 @@ class Inspectieoordelen
private $ijkpunten;
private $melding;
private $inspectieoordelen;
private $orgversieid;
private $orgid;
private $clusterid;
public function __construct($orgversieid, $orgid, $clusterid){
$this->CI =& get_instance();
+1 -1
View File
@@ -134,7 +134,7 @@ class Kleurcodes {
return $codes;
}
public function getKleurcodesOrg($clusterid = FALSE, $swvid){
public function getKleurcodesOrg($clusterid, $swvid){
if (! $clusterid) $clusterid = 0;
$sql = " SELECT *
FROM tb_kleurcodes KC
@@ -32,6 +32,11 @@ class Schoolafbeeldingen {
private $schoolafbeeldingen;
private $resultaten;
private $disablenvt;
private $schoolscores;
private $modulenr;
private $orgversieid;
private $orgid;
private $clusterid;
public function __construct(Schoolscores $schoolscores, $modulenr, $orgversieid, $clusterid, $orgid){
$this->CI = & get_instance();
@@ -16,6 +16,7 @@ Schooljaarversies
private $schooljaarversies = [];
private $sopaanwezig = 'F';
private $versies;
private $modulenr;
public function __construct($chapterid, $profielid, $modulenr)
{
+11 -2
View File
@@ -21,6 +21,15 @@ class Schoolscores
private $laagstescore = 110;
private $hoogstescore = 0;
private $gemiddelde;
private $orgversieid;
private $orgid;
private $scoretype;
private $isVergelijking;
private $orgstring;
private $orgnaam;
private $metingen;
private $kleuren;
private $results;
public function __construct( $orgversieid, $orgid, $scoretype, $isVergelijking)
@@ -106,7 +115,7 @@ class Schoolscores
private function setMetingen(){
$this->metingen = new stdClass();
if(count($this->scores)==0)
if(empty($this->scores))
$this->metingen->aantal= 0;
$this->metingen->aantalorgs = 0;
@@ -317,7 +326,7 @@ class Schoolscores
private function setResults(){
$this->resultaten = [
'totgem' => $this->gemiddelde->gem,
'totgem' => $this->gemiddelde->gem ?? null,
'ijkpuntenok' => $this->ijkpuntenok,
'welkehoogste' => $this->welkehoogste,
'hoogstescore' => round($this->hoogstescore, 1),
+10 -1
View File
@@ -21,6 +21,15 @@ class Scores
private $laagstescore = 110;
private $hoogstescore = 0;
private $gemiddelde;
private $orgversieid;
private $orgid;
private $scoretype;
private $isVergelijking;
private $orgstring;
private $orgnaam;
private $metingen;
private $kleuren;
private $results;
public function __construct( $orgversieid, $orgid, $scoretype, $isVergelijking)
@@ -103,7 +112,7 @@ class Scores
private function setMetingen(){
$this->metingen = new stdClass();
if(count($this->scores)==0)
if(empty($this->scores))
$this->metingen->aantal= 0;
$this->metingen->aantalorgs = 0;
+2 -1
View File
@@ -17,6 +17,7 @@ class Sopkeuze
private $keuzelabels = [];
private $labels;
private $sopkeuze;
private $labelsids;
private $CI;
@@ -154,7 +155,7 @@ class Sopkeuze
$this->labels = $this->hfstlabels;
}
if($this->keuzelabels){
$this->labels = array_merge($this->hfstlabels, $this->keuzelabels);
$this->labels = array_merge($this->hfstlabels ?: [], $this->keuzelabels);
}
}
+2 -1
View File
@@ -10,10 +10,11 @@ class Tabellen
private $view;
private $tab;
//ls okt 2020 private $imagecode;
private tabelid;
private $tabelid;
private $imagedata;
private $sopinhoud;
private $updateid;
private $sopinhoudid;
private $CI;
@@ -19,6 +19,7 @@ class Versions
private $geopendeversies = [];
private $sopaanwezig = 'F';
private $versies;
private $modulenr;
public function __construct($chapterid, $profielid, $modulenr)
{
@@ -33,6 +33,9 @@ class Compacteonderdelen
private $data;
private $onderdelenNew;
private $compacteonderdelen;
private $schooljaarnr;
private $onderdelen;
private $orgid;
public function __construct($schooljaarnr, $onderdelen, $omvangjaren, $orgid){
$this->CI = &get_instance();
@@ -203,7 +206,7 @@ class Compacteonderdelen
}
private function setSetOmvang(){
if(! isset($this->omvangjaren) || count($this->omvangjaren) < 1 || !$this->omvangjaren) return;
if(! isset($this->omvangjaren) || ! is_array($this->omvangjaren) || count($this->omvangjaren) < 1 || !$this->omvangjaren) return;
$jaren = implode("','", $this->omvangjaren);
$jaren = "'" . $jaren . "'";
@@ -343,13 +346,13 @@ class Compacteonderdelen
$this->CI->globorgid, $this->jaarnummer, 'BASIS');
$this->somB = str_replace(',','', $this->somB);
$this->somB = number_format(($this->somB ), 0,',','.');
$this->somB = is_numeric($this->somB) ? number_format(($this->somB ), 0,',','.') : null; // PHP 8: number_format('') is a TypeError
$this->somE = $this->CI->Finbestemmingen_model->setSomSubsoort(
$this->CI->globorgid, $this->jaarnummer, 'EXTRA');
$this->somE = str_replace(',','', $this->somE);
$this->somE = number_format(($this->somE ), 0,',','.');
$this->somE = is_numeric($this->somE) ? number_format(($this->somE ), 0,',','.') : null; // PHP 8: number_format('') is a TypeError
}
@@ -368,6 +371,11 @@ class Compacteonderdelen
private function setIJkpunten()
{
// geen lijst gekozen voor dit blok: overslaan (anders query met lege orgversie_id)
if(!$this->onderdeel['orgversieid']) {
$this->data = false;
return;
}
$this->setScorevorm();
$this->setSelecties();
$this->setLijsten();
@@ -20,6 +20,8 @@ class Compactepaginas
private $gegevens;
private $gegevensarray = [];
private $compacteonderdelen;
private $sopid;
public function __construct($onderdelen, $paginas){
$this->CI = &get_instance();
@@ -224,7 +226,8 @@ class Compactepaginas
private function setHtml()
{
if (!$this->blokjeshtml) return;
$data = ['schooljaar' => $this->schooljaar];
$data = ['schooljaar' => $this->schooljaar,
'schoolgegevens' => $this->orgGegevens];
$html = $this->CI->load->view("monpas/compactsop/paginacompact", $data, true);
$this->html = str_replace('##PLACEHOLDER##', $this->blokjeshtml, $html);
}
@@ -22,6 +22,9 @@ class Compacteversies
private $gevuldschooljaar;
private $vormtekst;
private $filledversie;
private $schooljaarnr;
private $orgid;
private $orgsoortnr;
public function getOnderdelen(){
return $this->onderdelen;
@@ -156,7 +159,8 @@ class Compacteversies
$this->onderdeel->groepen = $this->CI->Groepen_model->get_AantalGroepen($this->schooljaarnr, $this->orgid, $module);
$this->onderdeel->erIsDiversiteit = 'T';
$this->onderdeel->gegevens = 'T';
if($this->onderdeel->schooltype = 'R') $this->onderdeel->schoolsoort = 'PO';
// was 'schooltype = 'R'' (toewijzing): alles werd PO en schooltype werd overschreven
$this->onderdeel->schoolsoort = $this->onderdeel->schooltype == 'SBO' ? 'SBO' : 'PO';
$this->onderdeel->versie = $this->schooljaar->naam. ', '. $this->onderdeel->schoolsoort;
}
@@ -305,7 +309,7 @@ class Compacteversies
$this->onderdeel->gegevens = "T";
foreach($this->onderdeel->filledversies as $index => $this->filledversie) {
$this->filledversie->selected = 'F';
$valterin = $this->CI->Filledversions_model->checkperiode($this->versie->id,$this->schooljaar->start,
$valterin = $this->CI->Filledversions_model->checkperiode($this->filledversie->id,$this->schooljaar->start,
$this->schooljaar->eind );
if($valterin){
$this->filledversie->selected = 'T';
@@ -7,6 +7,9 @@ class Bestuurscores
private $orgstring;
private $metingen;
private $ambities;
private $orgversieid;
private $orgid;
private $vorm;
public function __construct( $orgversieid, $orgid, $vorm)
@@ -21,6 +21,13 @@ class Individuelescores
private $welkehoogste;
private $laagstescore = 110;
private $hoogstescore = 0;
private $orgversieid;
private $orgid;
private $orguserid;
private $scoretype;
private $org;
private $orgnaam;
private $ijkpunten;
public function __construct( $orgversieid, $orguserid, $orgid, $scoretype)
@@ -237,7 +244,7 @@ class Individuelescores
private function setResults(){
if($this->scores) {
$this->resultaten = [
'totgem' => $this->gemiddelde->gem,
'totgem' => $this->gemiddelde->gem ?? null,
'ijkpuntenok' => $this->ijkpuntenok,
'welkehoogste' => $this->welkehoogste,
'hoogstescore' => round($this->hoogstescore, 1),
@@ -10,6 +10,9 @@ class Kamerscores
private $scores;
private $metingen;
private $ambities;
private $orgversieid;
private $orgid;
private $vorm;
public function __construct( $orgversieid, $orgid, $vorm)
{
@@ -17,6 +17,11 @@ class Lijsten
private $nieuwsteversie;
private $sopinfo;
private $eigenambitie = 'F';
private $orgid;
private $selecties;
private $organisatie;
private $gemiddelden;
private $scoresobject;
public function getLijsten(){
return $this->lijsten;
@@ -111,8 +116,8 @@ class Lijsten
private function setOrgversie(){
$this->lijst->orgversie = $this->CI->Orgversies_model->get_record_by_id($this->lijst->orgversieid);
$this->lijst->periodenummer = $this->lijst->orgversie->periodenummer;
$this->lijst->jaartal = substr($this->lijst->orgversie->geldigvanaf, 2,2);
$this->lijst->periodenummer = $this->lijst->orgversie->periodenummer ?? null;
$this->lijst->jaartal = substr($this->lijst->orgversie->geldigvanaf ?? '', 2,2);
}
private function setIJkpunten($index){
@@ -163,7 +168,9 @@ class Lijsten
private function setVergelijkingScores(){
if(!isset($this->vergelijkingen) || !$this->vergelijkingen) return;
foreach($this->vergelijkingen['scores'] AS $i => $vergelijking){
foreach($this->vergelijkingen['scores'] ?: [] AS $i => $vergelijking){
if (!$this->scores) $this->scores = []; // PHP 8.1: no implicit false-to-array conversion
if (!isset($this->scores[$i])) $this->scores[$i] = new stdClass(); // PHP 8: no auto-vivification of objects
$this->scores[$i]->gemV = $vergelijking->gem;
$this->scores[$i]->kleurV = $vergelijking->kleur;
$this->scores[$i]->disabledV = $vergelijking->disabled;
@@ -10,6 +10,9 @@ class Swvscores
private $scores;
private $metingen;
private $ambities;
private $orgversieid;
private $orgid;
private $vorm;
public function __construct( $orgversieid, $orgid, $vorm)
@@ -9,6 +9,15 @@ class Userlijsten
private $lijsten = [];
private $nieuwste = 0;
private $nieuwsteversie;
private $orguserid;
private $orgid;
private $orgversies;
private $versienaam;
private $organisatie;
private $individueel;
private $results;
private $scores;
private $vergelijkingen;
public function getLijsten(){
return $this->lijsten;
@@ -93,7 +102,8 @@ class Userlijsten
if(!isset($this->scores) || !$this->scores) return;
if( (!isset($this->vergelijkingen) ||! $this->vergelijkingen )) return;
foreach($this->vergelijkingen['scores'] AS $i =>$vergelijking){
foreach($this->vergelijkingen['scores'] ?: [] AS $i =>$vergelijking){
if (!isset($this->scores[$i])) $this->scores[$i] = new stdClass(); // PHP 8: no auto-vivification of objects
$this->scores[$i]->gemV = $vergelijking->gem;
$this->scores[$i]->kleurV = $vergelijking->kleur;
$this->scores[$i]->disabledV = $vergelijking->disabled;
@@ -101,7 +111,6 @@ class Userlijsten
}
}
private function setAmbities(){
if(!isset($this->scores) || !$this->scores) return;
$standaard = new stdClass();
$standaard->ambitievan = 'standaard';
$standaard->id = 0;
@@ -115,6 +124,12 @@ class Userlijsten
$standaard->xijkpunten = ROUND($this->results['aantalY'] * 0.8);
$standaard->zprocent = 60;
// lijst niet ingevuld: standaard ambitie, zodat de periode toch een (lege) kolom krijgt
if(!isset($this->scores) || !$this->scores) {
$this->lijst->ambities = $standaard;
return;
}
if($this->results && $this->results['ambities'] && $this->results['ambities']->gemscore > 0) $this->lijst->ambities = $this->results['ambities'];
else $this->lijst->ambities = $standaard;
@@ -131,7 +146,7 @@ class Userlijsten
private function setLijst(){
$this->lijst->naam = $this->results['orgnaam'];
$this->lijst->scores = $this->scores;
if(isset($this->scores)) {
if($this->scores) { // false = niet ingevuld; isset() is ook waar voor false
$this->lijst->metingen = 1 ;
$this->lijst->aantalorgs = 1 ;
$this->lijst->adviezen = $this->results['adviezen'];
@@ -19,6 +19,8 @@ class Vergelijkbareversies
private $periode;
private $specificaties = [];
private $filledids;
private $orgid;
private $modulenr;
public function getSeries(){
@@ -46,6 +46,9 @@ class DivMonitor
private $criteriumdq;
private $beschikbaar = 'F';
private $monitor;
private $schooljaarnr;
private $criteriumid;
private $module;
@@ -88,6 +91,7 @@ class DivMonitor
$this->normaantallen = $normaantallen;
}
else{
$this->normaantallen = new stdClass();
$this->normaantallen->groep12 = $this->groep12;
$this->normaantallen->groep38 = $this->groep38;
}
@@ -14,10 +14,12 @@ class IngedeeldeScholen
private $schoollabel;
private $schoollabels =[];
private $verschil;
private $criteriumid;
private $module;
public function __construct($criteriumid, $module){
$this->CI =& get_instance();
$this->criteriumid = $criteriumid;
$this->criteriumid = ($criteriumid === '') ? 0 : $criteriumid; // PHP 8: '' == 0 is false, keep PHP 7 behaviour
$this->module = $module;
$this->handle();
}
@@ -18,6 +18,7 @@ class Partituur_home {
*/
var $tokensecret;
var $ci;
function __construct(){
+3 -3
View File
@@ -133,14 +133,14 @@ class Phantom2_model extends CI_Model{
if(!$margins){
return $this->margins;
}elseif(!is_array($margins)){
$margins = str_replace('cm', $margins);
$margins = str_replace('cm', '', $margins);
if(!is_numeric($margins)) return $this->margins;
return array($margins.'cm',$margins.'cm',$margins.'cm',$margins.'cm');
}elseif(count($margins)==2){
$margin1 = str_replace('cm', $margins[0]);
$margin2 = str_replace('cm', $margins[1]);
$margin1 = str_replace('cm', '', $margins[0]);
$margin2 = str_replace('cm', '', $margins[1]);
if(!is_numeric($margin1) && !is_numeric($margins2)) return $this->margins;
+2 -2
View File
@@ -55,8 +55,8 @@ class Phantom_model extends CI_Model{
if( $footer ) $data['footer'] = $footer;
if( $margins ) $data['margins'] = serialize($margins);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt_array($curl, array(
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0),
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $_ENV['printserver']. 'test/1',
CURLOPT_POST => 1,
@@ -100,7 +100,7 @@ class Phantom_model extends CI_Model{
return $file;
}
function create_and_get_pdf($html, $file, $header = FALSE, $footer = FALSE, $margins = array(), $orientation, $footerFirstpage=TRUE, $headerFirstpage=TRUE)
function create_and_get_pdf($html, $file, $header, $footer, $margins, $orientation, $footerFirstpage=TRUE, $headerFirstpage=TRUE)
{
//margins [left, right, top, bottom, height header]
if ( ! is_array( $margins ) ) $margins = array();
+1 -1
View File
@@ -28,7 +28,7 @@ class Modfases extends MY_Model{
ORDER BY volgorde";
$res = $this->get_query_result();
$onb = (object) array("naam"=>"onbekend", "kleur"=>"#989898");
array_unshift($res,$onb );
if (is_array($res)) array_unshift($res,$onb );
return $res;
}
@@ -34,6 +34,7 @@ class ModPartActKosten extends MY_Model{
FROM tbPartActKosten
WHERE id = $kostID" ;
$results = $this->get_query_row();
if (! $results) $results = new stdClass();
$results->kosten = mysql2bedrag($results->kosten);
return $results;
}
@@ -187,7 +187,7 @@ class Mutatielog_model extends MY_Model{
function store_mutatie($mutatie){
$sql = "
INSERT INTO replicatie.replicatielog (replicatie_data, creation_date, created_by, last_update_date, last_updated_by)
VALUES('".mysql_real_escape_string(serialize($mutatie))."', NOW(), 'cron', NOW(), 'cron')";
VALUES('".$this->db->escape_str(serialize($mutatie))."', NOW(), 'cron', NOW(), 'cron')";
$this->db->query($sql);
}
@@ -132,14 +132,14 @@ class Phantom_model extends CI_Model{
if(!$margins){
return $this->margins;
}elseif(!is_array($margins)){
$margins = str_replace('cm', $margins);
$margins = str_replace('cm', '', $margins);
if(!is_numeric($margins)) return $this->margins;
return array($margins.'cm',$margins.'cm',$margins.'cm',$margins.'cm');
}elseif(count($margins)==2){
$margin1 = str_replace('cm', $margins[0]);
$margin2 = str_replace('cm', $margins[1]);
$margin1 = str_replace('cm', '', $margins[0]);
$margin2 = str_replace('cm', '', $margins[1]);
if(!is_numeric($margin1) && !is_numeric($margins2)) return $this->margins;
@@ -15,8 +15,7 @@ class Finuitgavetypes_model extends MY_Model{
function get_uitgavetypes(){
$this->sql=" SELECT *
FROM finuitgavetypes
ORDER BY id ";
FROM finuitgavetypes";
return $this->get_query_result();
}
}
@@ -19,7 +19,9 @@ class Compactsop_model extends MY_Model
$this->load->helper('download');
$sop = $this->get(['id'=>$id]);
$sop= $sop[0];
$sop= $sop ? $sop[0] : false;
// geen record of pdf-bestand niet (meer) aanwezig
if ( ! $sop || ! is_file( $this->compactsoppath . $sop->pdfnaam ) ) show_404();
header( 'Content-Description: File Transfer' );
header( 'Content-Type: application/pdf' );
header( 'Content-disposition:inline; filename="' .$sop->pdfnaam.'"');
@@ -155,7 +155,7 @@ class Diversiteits_model extends MY_Model{
$school->oov = round(($aantalmetvraag / $school->aantallln) * 100);
$school->cat1 =$school->aantallln - $aantalmetvraag;
$school->tgd = round($schooltgd + $school->cat1);
$school->dq = round(($school->tgd / $normtot) * 100) / 100;
$school->dq = ($normtot != 0) ? round(($school->tgd / $normtot) * 100) / 100 : 0;
$bggem->cat1 = $bggem->cat1 + $school->cat1;
$bggem->oov = $bggem->oov + $school->oov;
$bggem->tgd = $bggem->tgd + $school->tgd ;
@@ -308,7 +308,7 @@ class Diversiteits_model extends MY_Model{
};
$groep->diversiteit = ($groep->som5 * 2) + ($groep->som6 * 3) + ($groep->som7 * 4) +($groep ->som8 * 5);
$groep->groepdq = round($groep->diversiteit/$groep->normaantal);
$groep->groepdq = ($groep->normaantal != 0) ? round($groep->diversiteit/$groep->normaantal) : 0;
$normtot = $normtot + $groep->normaantal;
$somschooldq = $somschooldq + $groep->groepdq;
}
@@ -351,7 +351,7 @@ class Diversiteits_model extends MY_Model{
if ($school->aantallln > 0) {
$school->tgd = round($schooltgd);
$school->dq = round(($school->tgd / $school->normaantal) * 100) / 100;
$school->dq = ($school->normaantal != 0) ? round(($school->tgd / $school->normaantal) * 100) / 100 : 0;
$bggem->tgd = $bggem->tgd + $school->tgd ;
$bggem->dq= $bggem->dq + $school->dq;
$usedaantalscholen ++;
@@ -205,13 +205,13 @@ class Filledversions_model extends MY_Model{
function checkperiode($fvid, $van, $tm){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id,
function checkperiode($orgversieid, $van, $tm){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id
FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
WHERE FV.id ={$fvid}
AND OV.geldigvanaf >= '{$van}'
AND OV.geldigtm <= '{$tm}' ";
WHERE FV.orgversie_id ={$orgversieid}
AND OV.geldigtm >= '{$van}'
AND OV.geldigtm <= '{$tm}' "; // lijst telt mee in de periode waarin geldigtm valt
return $this->get_query_result();
}
+13 -3
View File
@@ -117,9 +117,19 @@ class Groepen_model extends MY_Model{
AND GR.schooljaarnr = {$schooljaarnr}
AND GR.schooltype = 'R'
AND GR.module = {$module}
GROUP BY GR.id
GROUP BY GR.id, GR.naam, GR.niveau, GR.totaantal, GR.ondersteuning
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result();
// Tijdelijk debug: ook op productie loggen
error_log("=== GETGROEPEN DEBUG ===");
error_log("orgid: $orgid, schooljaarnr: $schooljaarnr, module: $module");
error_log("SQL: " . $this->sql);
$result = $this->get_query_result();
error_log("Result: " . ($result === FALSE ? 'FALSE' : count($result) . ' rows'));
return $result;
}
function getgekopieerdegroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id,
@@ -146,7 +156,7 @@ class Groepen_model extends MY_Model{
AND GR.schooljaarnr = {$schooljaarnr}
AND GR.schooltype = 'R'
AND GR.module = {$module}
GROUP BY GR.id
GROUP BY GR.id, GR.naam, GR.niveau, GR.totaantal
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result();
}
@@ -230,6 +230,7 @@ class Maakinhoudnieuw_model extends MY_Model{
function setVersie($orgversieid){
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieid);
$versie = $this->Versies_model ->get_record_by_id($orgversie->versie_id);
if (! $versie) $versie = new stdClass();
$versie->naam = $versie->naam . ', periode: ' . $orgversie->periodenummer . ': ' . $orgversie->geldigvanaf . ' - ' . $orgversie->geldigtm;
return $versie;
}
+1 -1
View File
@@ -26,7 +26,7 @@ class Scores_model extends MY_Model{
return $this->get_query_result();
}
function calculateindividualscores($orgversieid, $orgid, $userid){
$this->sql="SELECT SC.id, filledversion_id, SC.ijkpunt_id, scoretype, score, score AS gem, Y.disabled,
$this->sql="SELECT SC.id, filledversion_id, SC.ijkpunt_id, scoretype, score, score AS gem, Y.disabled, 'F' AS disablenvt,
SUM(CASE WHEN Y.disabled = 'T' THEN 0
WHEN Y.disabled = 'F' THEN
CASE
@@ -311,7 +311,7 @@ class Sopinhouden_model extends MY_Model{
$factor =$normaantallen->groep38;
if (strpos($groep->niveau,'1') !== false || strpos($groep->niveau,'2') !== false) {$factor = $normaantallen->groep12;};
$groep->dq= round(($groep->diversiteit / $factor),2);
$groep->dq= ($factor != 0) ? round(($groep->diversiteit / $factor),2) : 0;
$totaal = $totaal + $groep->totaantal;
$hoeveelgroepen = $hoeveelgroepen + 1;
if (strpos($groep->niveau, ';') > 0){$combi = $combi + 1;}
@@ -432,7 +432,7 @@ class Sopinhouden_model extends MY_Model{
if (strpos($groep->niveau,';') >0) {$groep->diversiteit = $groep->diversiteit + 1.5;};
$factor =$normaantallen->groep38;
if (strpos($groep->niveau,'1') > 0 || strpos($groep->niveau,'2') > 0) {$factor = $normaantallen->groep12;};
$groep->dq= round(($groep->diversiteit / $factor),2);
$groep->dq= ($factor != 0) ? round(($groep->diversiteit / $factor),2) : 0;
$som1= $som1 + $groep->som1;
$som2= $som2 + $groep->som2;
$som3= $som3 + $groep->som3;
@@ -734,7 +734,7 @@ class Sopinhouden_model extends MY_Model{
$score->disablenvt = 'F';
if($score->aantalvier > 0 && $score->aantalvier == $score->aantalnvt) $score->disablenvt = 'T';
if($score->disabled == 'F' && $score->disablenvt == 'F') {
$score->gem = $score->somscore / $score->num;
$score->gem = ($score->num != 0) ? $score->somscore / $score->num : 0;
$score->colorcode = $this->kleurcodes->getkleur($score->gem);
$som = $som + $score->gem;
}
@@ -823,18 +823,19 @@ class Sopinhouden_model extends MY_Model{
$scores = $scores ? $scores : [];
foreach($scores as $score){
$score->gem = 0;
if (isset($score->gem)) {
$score->gem= round($score->gem);
}
$score->gem = isset($score->gem) ? round($score->gem) : 0;
$score->kleur = '#808080';
if(isset($score->kleurcode)) $score->kleur = $score->kleurcode;
$score->huidig = $score->kleur;
// kleurnummer (1-4) voor de kolommen 'huidige situatie' in de ontwikkelagenda;
// huidig als nummer zodat ontwikkelagenda2 kan vergelijken met wens
$score->kleurnummer = $this->kleurcodes->getnummer($score->gem);
$score->huidig = $score->kleurnummer;
if($targetversie->scoretype == 7){
if($score->gem == $grens3) $score->huidig = 4;
if($score->gem < $grens3) $score->huidig = 3;
if($score->gem < $grens2) $score->huidig = 2;
if($score->gem < $grens1) $score->huidig = 1;
$score->kleurnummer = $score->huidig;
}
if ($gewenst){
-8
View File
@@ -22,8 +22,6 @@ class Mail_model extends MY_Model{
if ( ! is_array( $to ) ) $to = (array) $to;
foreach ( $to as $receiver ){
$this->email->clear();
$mailParts = explode( '@', $receiver );
if (! $mailParts || count($mailParts) < 2)
return $result="Er gaat iets fout met e-mail adres ".$receiver;
@@ -47,22 +45,16 @@ class Mail_model extends MY_Model{
private function setmail(){
if ( ENVIRONMENT == 'production' ){
$config['protocol'] = 'smtp';
$config['smtp_host'] = $_ENV['MAILGUN']['HOST'];
$config['smtp_port'] = $_ENV['MAILGUN']['SMTP_PORT'];
$config['smtp_user'] = $_ENV['MAILGUN']['SMTP_USER'];
$config['smtp_pass'] = $_ENV['MAILGUN']['SMTP_PASS'];
} else {
$config['protocol'] = $_ENV['MAIL']['PROTOCOL'];
$config['smtp_host'] = $_ENV['MAIL']['HOST'];
$config['smtp_port'] = $_ENV['MAIL']['SMTP_PORT'];
$config['smtp_user'] = $_ENV['MAIL']['SMTP_USER'];
$config['smtp_pass'] = $_ENV['MAIL']['SMTP_PASS'];
}
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$this->email->initialize( $config );
}
@@ -95,7 +95,7 @@ class Organisaties_model extends MY_Model{
AND actief = 1";
return $this->get_query_row();
}
function checkbrin($orgid=false, $brin){
function checkbrin($orgid, $brin){
$this->sql =" SELECT COUNT(id) as aantal
FROM tb_organisaties
WHERE lower(brin) = lower('{$brin}')";
@@ -559,7 +559,7 @@ class Organisaties_model extends MY_Model{
return $lijst;
}
function getKleurcodesOrg($clusterid = FALSE, $swvid){
function getKleurcodesOrg($clusterid, $swvid){
if (! $clusterid) $clusterid = 0;
$sql = " SELECT *
FROM tb_kleurcodes KC
+1 -1
View File
@@ -19,7 +19,7 @@
cellpadding="0" cellspacing="15">
<tr>
<td style="background-color:#ffffff, text-align:center;width:570px">
<img src="<?php echo base_url();?>images/logos/frameworklogo.png"
<img src="<?php echo base_url();?>/images/logos/frameworklogo.png"
style="display: block;width:90px; float:right" />
</td>
</tr>
+1 -1
View File
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<title>403 Forbidden</title>
</head>
+57 -34
View File
@@ -3,62 +3,85 @@ defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>404 Page Not Found</title>
<style type="text/css">
<meta charset="utf-8">
<title>404 Page Not Found</title>
<style type="text/css">
::selection { background-color: #E13300; color: white; }
::-moz-selection { background-color: #E13300; color: white; }
::selection { background-color: #f07746; color: #fff; }
::-moz-selection { background-color: #f07746; color: #fff; }
body {
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
margin: 40px auto;
max-width: 1024px;
font: 16px/24px normal "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #808080;
}
a {
color: #003399;
a {
color: #dd4814;
background-color: transparent;
font-weight: normal;
}
text-decoration: none;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
a:hover {
color: #97310e;
}
h1 {
color: #fff;
background-color: #dd4814;
border-bottom: 1px solid #d0d0d0;
font-size: 22px;
font-weight: bold;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}
padding: 5px 15px;
line-height: 40px;
}
code {
h2 {
color:#404040;
margin:0;
padding:0 0 10px 0;
}
code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
font-size: 13px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: 4px;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
}
#container {
#container {
margin: 10px;
border: 1px solid #D0D0D0;
box-shadow: 0 0 8px #D0D0D0;
}
border: 1px solid #d0d0d0;
box-shadow: 0 0 8px #d0d0d0;
border-radius: 4px;
}
p {
margin: 12px 15px 12px 15px;
}
</style>
p {
margin: 0 0 10px;
padding:0;
}
#body {
margin: 0 15px 0 15px;
min-height: 96px;
}
</style>
</head>
<body>
<div id="container">
<h1><?php echo $heading; ?></h1>
<div id="body">
<?php echo $message; ?>
</div>
</div>
</body>
</html>
+57 -34
View File
@@ -3,62 +3,85 @@ defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Database Error</title>
<style type="text/css">
<meta charset="utf-8">
<title>Database Error</title>
<style type="text/css">
::selection { background-color: #E13300; color: white; }
::-moz-selection { background-color: #E13300; color: white; }
::selection { background-color: #f07746; color: #fff; }
::-moz-selection { background-color: #f07746; color: #fff; }
body {
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
margin: 40px auto;
max-width: 1024px;
font: 16px/24px normal "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #808080;
}
a {
color: #003399;
a {
color: #dd4814;
background-color: transparent;
font-weight: normal;
}
text-decoration: none;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
a:hover {
color: #97310e;
}
h1 {
color: #fff;
background-color: #dd4814;
border-bottom: 1px solid #d0d0d0;
font-size: 22px;
font-weight: bold;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}
padding: 5px 15px;
line-height: 40px;
}
code {
h2 {
color:#404040;
margin:0;
padding:0 0 10px 0;
}
code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
font-size: 13px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: 4px;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
}
#container {
#container {
margin: 10px;
border: 1px solid #D0D0D0;
box-shadow: 0 0 8px #D0D0D0;
}
border: 1px solid #d0d0d0;
box-shadow: 0 0 8px #d0d0d0;
border-radius: 4px;
}
p {
margin: 12px 15px 12px 15px;
}
</style>
p {
margin: 0 0 10px;
padding:0;
}
#body {
margin: 0 15px 0 15px;
min-height: 96px;
}
</style>
</head>
<body>
<div id="container">
<h1><?php echo $heading; ?></h1>
<div id="body">
<?php echo $message; ?>
</div>
</div>
</body>
</html>
@@ -2,16 +2,16 @@
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<div style="border:1px solid #dd4814;padding-left:20px;margin:10px 0;">
<h4>An uncaught Exception was encountered</h4>
<h4>An uncaught Exception was encountered</h4>
<p>Type: <?php echo get_class($exception); ?></p>
<p>Message: <?php echo $message; ?></p>
<p>Filename: <?php echo $exception->getFile(); ?></p>
<p>Line Number: <?php echo $exception->getLine(); ?></p>
<p>Type: <?php echo get_class($exception); ?></p>
<p>Message: <?php echo $message; ?></p>
<p>Filename: <?php echo $exception->getFile(); ?></p>
<p>Line Number: <?php echo $exception->getLine(); ?></p>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
<p>Backtrace:</p>
<?php foreach ($exception->getTrace() as $error): ?>
@@ -27,6 +27,6 @@ defined('BASEPATH') OR exit('No direct script access allowed');
<?php endforeach ?>
<?php endif ?>
<?php endif ?>
</div>
+57 -34
View File
@@ -3,62 +3,85 @@ defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
<style type="text/css">
<meta charset="utf-8">
<title>Error</title>
<style type="text/css">
::selection { background-color: #E13300; color: white; }
::-moz-selection { background-color: #E13300; color: white; }
::selection { background-color: #f07746; color: #fff; }
::-moz-selection { background-color: #f07746; color: #fff; }
body {
body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}
margin: 40px auto;
max-width: 1024px;
font: 16px/24px normal "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #808080;
}
a {
color: #003399;
a {
color: #dd4814;
background-color: transparent;
font-weight: normal;
}
text-decoration: none;
}
h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
a:hover {
color: #97310e;
}
h1 {
color: #fff;
background-color: #dd4814;
border-bottom: 1px solid #d0d0d0;
font-size: 22px;
font-weight: bold;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}
padding: 5px 15px;
line-height: 40px;
}
code {
h2 {
color:#404040;
margin:0;
padding:0 0 10px 0;
}
code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
font-size: 13px;
background-color: #f5f5f5;
border: 1px solid #e3e3e3;
border-radius: 4px;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
}
#container {
#container {
margin: 10px;
border: 1px solid #D0D0D0;
box-shadow: 0 0 8px #D0D0D0;
}
border: 1px solid #d0d0d0;
box-shadow: 0 0 8px #d0d0d0;
border-radius: 4px;
}
p {
margin: 12px 15px 12px 15px;
}
</style>
p {
margin: 0 0 10px;
padding:0;
}
#body {
margin: 0 15px 0 15px;
min-height: 96px;
}
</style>
</head>
<body>
<div id="container">
<h1><?php echo $heading; ?></h1>
<div id="body">
<?php echo $message; ?>
</div>
</div>
</body>
</html>
+8 -8
View File
@@ -2,16 +2,16 @@
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
<div style="border:1px solid #dd4814;padding-left:20px;margin:10px 0;">
<h4>A PHP Error was encountered</h4>
<h4>A PHP Error was encountered</h4>
<p>Severity: <?php echo $severity; ?></p>
<p>Message: <?php echo $message; ?></p>
<p>Filename: <?php echo $filepath; ?></p>
<p>Line Number: <?php echo $line; ?></p>
<p>Severity: <?php echo $severity; ?></p>
<p>Message: <?php echo $message; ?></p>
<p>Filename: <?php echo $filepath; ?></p>
<p>Line Number: <?php echo $line; ?></p>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
<?php if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE === TRUE): ?>
<p>Backtrace:</p>
<?php foreach (debug_backtrace() as $error): ?>
@@ -28,6 +28,6 @@ defined('BASEPATH') OR exit('No direct script access allowed');
<?php endforeach ?>
<?php endif ?>
<?php endif ?>
</div>
+1 -1
View File
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<title>403 Forbidden</title>
</head>
+1 -1
View File
@@ -1,5 +1,5 @@
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<title>403 Forbidden</title>
</head>
@@ -29,7 +29,7 @@
</thead>
<tbody>
<?php
for($i = 0; $i < count($data['subsoorten']); $i++ ){
for($i = 0; $i < ($data['subsoorten'] ? count($data['subsoorten']) : 0); $i++ ){
if($data['subsoorten'][$i]->categorie == "BASIS"):
if(($i == 0) || ($i != 0 && $data['subsoorten'][$i]->soort != $data['subsoorten'][$i-1]->soort)): ?>
<tr style=" background-color: #AF62A3 !important;">
@@ -86,7 +86,7 @@
</thead>
<tbody>
<?php
for($i = 0; $i < count($data['subsoorten']); $i++ ){
for($i = 0; $i < ($data['subsoorten'] ? count($data['subsoorten']) : 0); $i++ ){
if($data['subsoorten'][$i]->categorie == "EXTRA"):?>
<tr style="font-weight:normal; background-color:#d7d8d7 !important">
<td style="padding-right: 3px; padding-left: 3px; border-right:1px solid #ffffff"><?php echo $data['subsoorten'][$i]->subsoort?></td>
@@ -1,7 +1,7 @@
<script type="text/javascript" src="<?php echo $this->config->item('vendor_url'); ?>/js_lib/jquery.min.js"></script>
<script type="text/javascript" src="<?php echo $this->config->item('vendor_url'); ?>/js_lib/Highcharts/code/highcharts.js"></script>
<script src="<?php echo $this->config->item('vendor_url'); ?>/js_lib/Highcharts/code/highcharts-3d.js"></script>
<?php echo inline_script('js_lib/jquery.min.js'); ?>
<?php echo inline_script('js_lib/Highcharts/code/highcharts.js'); ?>
<?php echo inline_script('js_lib/Highcharts/code/highcharts-3d.js'); ?>
<!--voor scholen-->
<?php if($orgsoort == 'School'): ?>
@@ -2,7 +2,7 @@
<html>
<head>
<title>Compact Sop</title>
<script type="text/javascript" src="<?php echo $this->config->item('vendor_url_secure'); ?>/js_lib/jquery.min.js?v=1.17.26"></script>
<script type="text/javascript" src="<?php echo $this->config->item('base_url'); ?>/js_lib/jquery.min.js?v=1.17.26"></script>
<!-- <script src="--><?php //echo $this->config->item('vendor_url'); ?><!--/js_lib/Highcharts/code/highcharts.js"></script>-->
<script type="text/javascript">
@@ -9,7 +9,8 @@
font-family : 'OpenSans';
font-style : normal;
font-weight : normal;
src : url( http://app.monpas.nl/fonts/opensans-regular-webfont-webfont.ttf);
/* font ingesloten zodat de pdf niet afhangt van app.monpas.nl */
src : url( data:font/truetype;base64,<?php echo base64_encode(file_get_contents(FCPATH.'fonts/opensans-regular-webfont-webfont.ttf')); ?>) format('truetype');
}
body {
@@ -261,8 +262,10 @@
</style>
<link rel="stylesheet"
href="<?php echo $this->config->item('vendor_url');?>/css_lib/bootstrap-3.3.2-dist/css/bootstrap.css" crossorigin="anonymous" />
<!-- bootstrap ingesloten zodat de pdf niet afhangt van app.monpas.nl -->
<style>
<?php echo file_get_contents(FCPATH.'css_lib/bootstrap-3.3.2-dist/css/bootstrap.min.css'); ?>
</style>
<script type="text/javascript"
src="<?php echo $this->config->item('vendor_url');?>/css_lib/bootstrap-3.3.2-dist/js/bootstrap.min.js"></script>
+40 -3
View File
@@ -256,7 +256,7 @@
<!--ko foreach: lijsten-->
<!-- Nieuwste meting + ijkpunten van school, bestuur en kamer-->
<table class="tabelitem" data-bind="visible: $root.isSWV()==false && tooninfo() == true">
<table class="tabelitem" data-bind="visible: $root.isSWV()==false && tooninfo() == true && erzijnscores() == true">
<thead>
<tr>
<th style="width:50%"></th>
@@ -367,7 +367,7 @@
</table>
<!-- Nieuwste meting + ijkpunten van swv-->
<table class="tabelitem" data-bind="visible: tooninfo()== true && $root.isSWV() == true ">
<table class="tabelitem" data-bind="visible: tooninfo()== true && $root.isSWV() == true && erzijnscores() == true">
<thead>
<tr>
<th style="width:50%"></th>
@@ -403,7 +403,7 @@
</table>
<!-- Metingen ter vergelijking van swv-->
<table class="tabelitem" data-bind="visible: tooninfo() == false && $root.isSWV() == true">
<table class="tabelitem" data-bind="visible: tooninfo() == false && $root.isSWV() == true && erzijnscores() == true">
<thead>
<tr>
<th style="width:50%"></th>
@@ -438,6 +438,43 @@
</tr>
</tbody>
</table>
<!-- periode zonder ingevulde lijst: eigen kolom met 'niet ingevuld'-->
<table class="tabelitem" data-bind="visible: erzijnscores() == false">
<thead>
<tr>
<th style="width:100%"></th>
</tr>
<tr class="headpdf" >
<th class="ijkpuntth" style="border-right: 1px solid white; border-bottom: 1px solid #a07b8e;">
<div class="ijkpuntthdiv" data-bind="text: vantm">
</div>
</th>
</tr>
<tr class="headpdf" >
<th class="ijkpuntth" style="border-right: 1px solid white;">
<div class="ijkpuntthdiv" data-bind="text: $root.selectedUser() ? $root.selectedUser().naam : orgnaam">
</div>
</th>
</tr>
<tr class="headpdf" >
<th class="ijkpuntth" style="border-right: 1px solid white;">
<div class="ijkpuntthdiv" style="height: 30px;">niet ingevuld
</div>
</th>
</tr>
</thead>
<tbody>
<!-- ko foreach: $root.ijkpunten -->
<tr style="border-bottom: 1px solid #ebebeb; max-height: 30px;">
<td style="text-align:right; vertical-align:top; padding-right: 5px; background-color: lightgray;">&nbsp;</td>
</tr>
<!-- /ko -->
<tr style="border-bottom: 1px solid #ebebeb; max-height: 30px;">
<td style="text-align:right; vertical-align:top; padding-right: 5px; background-color: lightgray;">&nbsp;</td>
</tr>
</tbody>
</table>
<!--/ko-->
</div>

Some files were not shown because too many files have changed in this diff Show More