UrediMenuController :: index
Request
GET Parameters
No GET parameters
POST Parameters
No POST parameters
Uploaded Files
No files were uploaded
Request Attributes
Key | Value |
---|---|
_controller | "App\Controller\UrediMenuController::index" |
_firewall_context | "security.firewall.map.context.main" |
_remove_csp_headers | true |
_route | "app_uredi_menu" |
_route_params | [ "id" => "101" "lang" => "1" ] |
_security_firewall_run | "_security_main" |
_stopwatch_token | "19527e" |
id | "101" |
lang | "1" |
Request Headers
Header | Value |
---|---|
accept | "*/*" |
accept-encoding | "gzip, br, deflate" |
from | "gptbot(at)openai.com" |
host | "notacms.io" |
user-agent | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)" |
x-openai-host-hash | "497864282" |
x-php-ob-level | "1" |
Request Content
Request content not available (it was retrieved as a resource).
Response
Response Headers
Header | Value |
---|---|
cache-control | "no-cache, private" |
content-type | "text/html; charset=UTF-8" |
date | "Wed, 10 Sep 2025 12:10:19 GMT" |
x-debug-exception | "Impossible%20to%20access%20an%20attribute%20%28%22name%22%29%20on%20a%20null%20variable." |
x-debug-exception-file | "%2Fvar%2Fwww%2Fnota%2Ftemplates%2Furedi_menu%2Findex.html.twig:306" |
x-debug-token | "dda452" |
x-debug-token-link | "https://notacms.io/_profiler/b88e8a" |
x-previous-debug-token | "b88e8a" |
x-robots-tag | "noindex" |
Cookies
Request Cookies
No request cookies
Response Cookies
No response cookies
Session
Session Metadata
No session metadata
Session Attributes
No session attributes
Session Usage
0
Usages
Stateless check enabled
Session not used.
Flashes
Flashes
No flash messages were created.
Server Parameters
Server Parameters
Defined in .env
Key | Value |
---|---|
APP_SECRET | "b6a55b89cdc2b1f8fa12b6671f227453" |
DATABASE_URL | "mysql://nota_nota:superNota2@localhost:3306/nota_nota" |
MAILER_DSN | "smtp://vk:85859GhjTz!23@mail.monoliths.com:25?auth_mode=null" |
Defined as regular env variables
Key | Value |
---|---|
APP_DEBUG | "1" |
APP_ENV | "dev" |
CONTEXT_DOCUMENT_ROOT | "/var/www/nota/public/" |
CONTEXT_PREFIX | "" |
DATABASE_URL=mysql://nota_nota:superNota2@localhost:3306/nota_nota | "" |
DOCUMENT_ROOT | "/var/www/nota/public/" |
GATEWAY_INTERFACE | "CGI/1.1" |
HTTPS | "on" |
HTTP_ACCEPT | "*/*" |
HTTP_ACCEPT_ENCODING | "gzip, br, deflate" |
HTTP_FROM | "gptbot(at)openai.com" |
HTTP_HOST | "notacms.io" |
HTTP_USER_AGENT | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)" |
HTTP_X_OPENAI_HOST_HASH | "497864282" |
PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" |
PHP_SELF | "/index.php" |
QUERY_STRING | "" |
REDIRECT_APP_ENV | "dev" |
REDIRECT_DATABASE_URL=mysql://nota_nota:superNota2@localhost:3306/nota_nota | "" |
REDIRECT_HTTPS | "on" |
REDIRECT_SSL_TLS_SNI | "notacms.io" |
REDIRECT_STATUS | "200" |
REDIRECT_URL | "/uredi/menu/101/1" |
REMOTE_ADDR | "20.171.207.5" |
REMOTE_PORT | "44996" |
REQUEST_METHOD | "GET" |
REQUEST_SCHEME | "https" |
REQUEST_TIME | 1757506219 |
REQUEST_TIME_FLOAT | 1757506219.5323 |
REQUEST_URI | "/uredi/menu/101/1" |
SCRIPT_FILENAME | "/var/www/nota/public/index.php" |
SCRIPT_NAME | "/index.php" |
SERVER_ADDR | "68.183.208.27" |
SERVER_ADMIN | "borut.kacin@arhel.si" |
SERVER_NAME | "notacms.io" |
SERVER_PORT | "443" |
SERVER_PROTOCOL | "HTTP/1.1" |
SERVER_SIGNATURE | "<address>Apache/2.4.52 (Ubuntu) Server at notacms.io Port 443</address>\n" |
SERVER_SOFTWARE | "Apache/2.4.52 (Ubuntu)" |
SSL_TLS_SNI | "notacms.io" |
SYMFONY_DOTENV_VARS | "APP_SECRET,DATABASE_URL,MAILER_DSN" |
Sub Requests 1
ErrorController (token = b88e8a)
Key | Value |
---|---|
_controller | "error_controller" |
_stopwatch_token | "456e7e" |
exception | Twig\Error\RuntimeError {#199 #message: "Impossible to access an attribute ("name") on a null variable." #code: 0 #file: "/var/www/nota/templates/uredi_menu/index.html.twig" #line: 306 -lineno: 306 -name: "uredi_menu/index.html.twig" -rawMessage: "Impossible to access an attribute ("name") on a null variable." -sourcePath: "/var/www/nota/templates/uredi_menu/index.html.twig" -sourceCode: """ {% extends 'base.html.twig' %}\n \n {% block title %}Uredi vsebino parent = {{menu_parent_g}}{% endblock %}\n \n \n {% block javascriptcode %}\n <script type="text/javascript">\n \n var datotekaInputUploader;\n var datotekaMultipleInputUploader;\n var datotekaAdditionalInputUploader;\n var api;\n var apiMultiple;\n var apiAdditional;\n var gUploadedImage;\n \n function createUploaderImageMenu()\n {\n $.ajax({\n url:'{{ path('editmenu_getpreloadedimage') }}',\n type: "POST",\n dataType: "json",\n async: true,\n data:{ id: {{ menu_parent_g }}},\n success: function (return_data)\n { \n fileImage = $('#datotekaInput').fileuploader(\n {\n limit: 1,\n enableApi:true,\n files: return_data,\n onSelect: function(item) \n {\n if (!item.html.find('.fileuploader-action-start').length)\n item.html.find('.fileuploader-action-remove').before('<a class="fileuploader-action fileuploader-action-start" title="Upload"><i></i></a>');\n },\n upload:\n {\n url: '{{ path('dodajmenuuploadimagecall') }}',\n data: {\n 'menu_id': {{ menu_parent_g }}\n },\n type: 'POST',\n enctype: 'multipart/form-data',\n start: true,\n synchron: true,\n beforeSend: function(item) \n {\n item.upload.data.custom_name = item.name;\n },\n onSuccess: function(result, item) \n {\n var data = {};\n gUploadedImage = result[0].files[0].name;\n try {\n data = JSON.parse(result);\n } catch (e) {\n data.hasWarnings = true;\n }\n \n // get the new file name\n if(data.isSuccess && data.files[0]) \n {\n item.name = data.files[0].name;\n item.html.find('.column-title div').animate({opacity: 0}, 400);\n }\n \n item.html.find('.fileuploader-action-remove').addClass('fileuploader-action-success');\n setTimeout(function() \n {\n item.html.find('.column-title div').attr('title', result[0].files[0].name).text(result[0].files[0].name).animate({opacity: 1}, 400);\n item.html.find('.progress-bar2').fadeOut(400);\n }, \n 400);\n \n },\n onError: function(item) \n {\n var progressBar = item.html.find('.progress-bar2');\n \n // make HTML changes\n if(progressBar.length > 0) \n {\n progressBar.find('span').html(0 + "%");\n progressBar.find('.fileuploader-progressbar .bar').width(0 + "%");\n item.html.find('.progress-bar2').fadeOut(400);\n }\n \n item.upload.status != 'cancelled' && item.html.find('.fileuploader-action-retry').length == 0 ? item.html.find('.column-actions').prepend(\n '<a class="fileuploader-action fileuploader-action-retry" title="Retry"><i></i></a>'\n ) : null;\n },\n onProgress: function(data, item) \n {\n var progressBar = item.html.find('.progress-bar2');\n \n // make HTML changes\n if(progressBar.length > 0) \n {\n progressBar.show();\n progressBar.find('span').html(data.percentage + "%");\n progressBar.find('.fileuploader-progressbar .bar').width(data.percentage + "%");\n }\n },\n onComplete: null,\n },\n onRemove: function(item) \n { \n // send POST request\n $.post('/api/ajax_remove_file.php', {\n file: item.name\n });\n },\n captions: \n {\n button: function(options) { return 'Izberi ' + (options.limit == 1 ? 'datoteko' : 'datoteke'); },\n feedback: function(options) { return 'Izberi datoteko'; },\n feedback2: function(options) { return 'Število izbranih datotek: ' + options.length; },\n confirm: 'Potrdi',\n cancel: 'Prekliči',\n name: 'Ime',\n type: 'Tip',\n size: 'Velikost',\n dimensions: 'Dimenzije',\n duration: 'Čas trajanja',\n crop: 'Razreži',\n rotate: 'Rotiraj',\n sort: 'Sortiraj',\n download: 'Prenesi',\n upload: 'Naloži',\n remove: 'Odstrani',\n drop: 'Povlecite sem datotetke, ki jih želite naložiti na strežnik.',\n paste: '<div class="fileuploader-pending-loader"></div> Datoteka se bo prilepila. Kliknite sem, če želite preklicati akcijo.',\n removeConfirmation: 'Ste prepričani, da želite izbrisati datoteko?',\n errors: {\n filesLimit: 'Število dovoljenih datotek: ${limit}.',\n filesType: 'Dovoljeni tipi datotek: ${extensions}.',\n fileSize: '${name} je predolga! Največja dovoljena velikost datoteke je ${fileMaxSize} MB.',\n filesSizeAll: 'Datoteke so predolge! Največja dovoljena velikost datotek je ${maxSize} MB.',\n fileName: 'Datoteka z imenom ${name} je že izbrana.',\n folderUpload: 'Prenos map ni dovoljen.'\n }\n } \n });\n apiContentImage = $.fileuploader.getInstance(fileImage);\n }});\n }\n \n \n function fillData()\n {\n \n \n gUploadedImage = '{{ menu_image }}';\n createUploaderImageMenu(); \n //createUploaderMultipleImage();\n \n //clearFields(); \n }\n \n \n \n $( document ).ready(function() \n {\n if ('{{menu_lang_g}}' == 'si')\n {\n $("#defaultFlag").attr("src","{{ asset('img/flags/Slovenia.png')}}");\n }\n else if ('{{menu_lang_g}}' =='en')\n {\n $("#defaultFlag").attr("src","{{ asset('img/flags/United-Kingdom.png')}}");\n } \n else if ('{{menu_lang_g}}' =='it')\n {\n $("#defaultFlag").attr("src","{{ asset('img/flags/Italy.png')}}");\n } \n \n tinymce.init({\n selector: 'textarea',\n height:600,\n width:1000,\n plugins: 'fullpage advlist autolink lists link image charmap print preview hr anchor pagebreak moxiemanager code table',\n toolbar: 'fullpage code table tabledelete | tableprops tablerowprops tablecellprops | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol undo redo | insert | styles | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',\n toolbar_mode: 'floating',\n extended_valid_elements : "script[src|async|defer|type|charset]",\n convert_urls: false,\n entity_encoding:'raw',\n \n \n setup: function (editor) {\n \n \n \n editor.on('init', function () {\n \n var content ='{{menu_content}}';\n //editor.setContent(content);\n //editor.setContent('<p><b>To je bla</b></p>');\n \n var Title = $('<textarea />').html(content).text();\n \n var TitleTrimmed =Title.substring(1, Title.length-1);\n editor.setContent(TitleTrimmed.trim());\n });\n } \n });\n \n fillData();\n //tinymce.get('textarea').focus();\n tinymce.activeEditor.setContent("Dodajte novo vsebino");\n \n \n \n \n \n //napolnim vnosna polja za urejanje menija\n $('#menu_title').val('{{menu_title}}');\n \n \n if('{{menu_visible}}' == 0)\n {\n $('#menu_visible').prop('checked', false);\n }\n else\n {\n $('#menu_visible').prop('checked', true);\n }\n \n \n //gumb zapriOkno CLICK!\n $("#zapriOkno").click(function(){\n \n location.href = '/menus';\n \n });\n \n //gumb shrani CLICK!\n $("#shranimenu").click(function(){\n console.log("TEST");\n //var myContent = tinymce.get("textarea").getContent();\n var myContent = tinymce.activeEditor.getContent();\n console.log(myContent);\n \n //preverjamo ali je spremenljivka definirana\n if (typeof gUploadedImage !== 'undefined') {\n // the variable is defined\n }\n else\n {\n gUploadedImage = "";\n }\n \n //ajax call za uredi vsebino!\n $.ajax({\n url:'{{ path('uredimenucall') }}',\n type: "POST",\n dataType: "json",\n async: true,\n data: {\n 'menu_title' : $('#menu_title').val(),\n 'menu_content': myContent,\n 'menu_parent': {{menu_parent_g}},\n 'menu_lang': '{{menu_lang_g}}',\n 'menu_top': $('#menu_top').is(':checked'),\n 'menu_footer': $('#menu_footer').is(':checked'),\n 'menu_visible': $('#menu_visible').is(':checked'),\n 'menu_image': gUploadedImage\n },\n success: function (return_data)\n { \n \t\t\t\t\t\tif (return_data.data == "ok") \n {\n \t\t\t\t\t\t\t\n \t\t\t\t\t\t}\n \t\t\t\t\t\telse\n \t\t\t\t\t\t{\n \t\t\t\t\t\t\t$('#opozoriloSplosno').attr('class','alert alert-danger');\n \t\t\t\t\t\t\t$('#opozoriloSplosno').text('Brisanje LVK ni mogoče, ker imate nezaključene postavke.');\n \t\t\t\t\t\t\t\t\t\t\t\t\t\t\n \t\t\t\t\t\t}\n \t\t\t\t\t\t$('#opozoriloSplosno').show(); \n \t\t\t\t\t\t$("html, body").animate({ scrollTop: 0 }, "slow");\n },\n error: function (xhr, ajaxOptions, thrownError)\n {\n \t\t\t\t\t\tconsole.log(thrownError);\n }\n });\n location.href = '/menus';\n //END ajax call za shrani vsebino\n \n });\n //END gumb shrani vsebino CLICK \n \n });\n </script>\n {% endblock %}\n \n \n \n \n {% block breadcrumbs %}\n <li class="breadcrumb-item">Domov</li>\n <!--<li class="breadcrumb-item"><a href="#">Šifranti</a></li>-->\n <li class="breadcrumb-item active">Vsebina</li>\n <li style="float: right;">prijavljen: {{ app.user.name }}</li>\n \n <!-- Breadcrumb Menu-->\n <li class="breadcrumb-menu d-md-down-none">\n <div class="btn-group" role="group" aria-label="Button group with nested dropdown"></div>\n </li>\n {% endblock %}\n \n {% block content %}\n <div class="card">\n \t\t<div class="card-header">\n \t\t\t<i class="fa fa-edit"></i> \n \t\t\t<strong>Urejanje menuja</strong>\n \t\t\t<span id="shranjujem" style="padding-left: 20px;color: #20a8d8;display:none;">... shranjujem ... </span>\n <div class="card-actions"> \n \n </div>\n \t\t</div>\n \t\t<div class="card-body">\n <div id="opozoriloSplosno" class="alert alert-danger" role="alert" style="display:none;">\n -\n </div>\n \n \n <ul class="nav nav-tabs" role="tablist">\n <li class="nav-item">\n <a class="nav-link active" data-toggle="tab" href="#vsebina" role="tab" aria-controls="home"><i class="icon-book-open"></i> Vsebina</a>\n </li>\n <li class="nav-item">\n <a class="nav-link" data-toggle="tab" href="#dodatnefotografije" role="tab" aria-controls="profile"><i class="icon-picture"></i> Dodatne fotografije</a>\n </li>\n <li class="nav-item">\n <a class="nav-link" data-toggle="tab" href="#dodatnedatoteke" role="tab" aria-controls="messages"><i class="icon-paper-clip"></i> Dodatne datoteke</a>\n </li>\n </ul>\n <div class="tab-content">\n <div class="tab-pane active" id="vsebina" role="tabpanel">\n <form id="vsebinaForma" enctype="multipart/form-data">\n <div class="form-group">\n <label for="naslov">Naziv menija</label>\n <input type="text" class="form-control" id="menu_title" placeholder="Vnesite naziv menija" name="menu_title">\n </div>\n \n <div class="form-group">\n <label for="besedilo">Besedilo menija</label>\n \n <textarea id="menu_content" name="menu_content">\n \n </textarea>\n </div> \n \n <div class="form-group">\n <div class="file-loading">\n <label for="datotekaInput">Slika menija</label>\n <input id="datotekaInput" type="file" class="file" data-overwrite-initial="false" name="datotekaInput" multiple="true" data-fileuploader-files=''>\n </div>\n </div>\n <hr>\n <div class="form-group">\n <label for="vidna">Ali naj bo meni viden?</label><br>\n <label class="switch switch-text switch-pill switch-primary">\n <input type="checkbox" class="switch-input" checked="" name="menu_visible" id="menu_visible">\n <span class="switch-label" data-on="DA" data-off="NE"></span>\n <span class="switch-handle"></span>\n </label>\n </div>\n <div class="form-group">\n <label for="vidna_menu">Ali naj bo gradnik viden v menuju?</label><br>\n <label class="switch switch-text switch-pill switch-primary">\n <input type="checkbox" class="switch-input" checked="" name="menu_top" id="menu_top">\n <span class="switch-label" data-on="DA" data-off="NE"></span>\n <span class="switch-handle"></span>\n </label>\n </div>\n <div class="form-group">\n <label for="vidna_footer">Ali naj bo gradnik vidna v nogi?</label><br>\n <label class="switch switch-text switch-pill switch-primary">\n <input type="checkbox" class="switch-input" checked="" name="menu_footer" id="menu_footer">\n <span class="switch-label" data-on="DA" data-off="NE"></span>\n <span class="switch-handle"></span>\n </label>\n </div>\n </form>\n </div>\n <div class="tab-pane" id="dodatnefotografije" role="tabpanel">\n <form id="fotografijeForma" enctype="multipart/form-data">\n <div class="form-group">\n <div class="file-loading">\n <label for="datotekaMultipleInput">Dodatne fotografije</label>\n <input class="gallery_media" id="datotekaMultipleInput" type="file" class="file" name="datotekaMultipleInput[]" multiple="true" >\n </div>\n </div>\n </form>\n </div>\n <div class="tab-pane" id="dodatnedatoteke" role="tabpanel">\n <form id="datotekeForma" enctype="multipart/form-data">\n <div class="form-group">\n <div class="file-loading">\n <label for="datotekaAdditionalInput">Dodatne datoteke</label>\n <input id="datotekaAdditionalInput" type="file" class="file" data-overwrite-initial="false" name="datotekaAdditionalInput[]" multiple="true">\n </div>\n </div> \n </form>\n </div> \n </div>\n </div>\n <div class="card-footer">\n <button type="button" class="btn btn-primary" id="shranimenu">Shrani menu</button>\n <button type="button" class="btn btn-secondary" id="zapriOkno">Prekliči</button>\n </div>\n \t</div><!--card-->\n {% endblock %}\n """ : { { twig_get_attribute(Environment $env, Source $source, $object, $item, array $arguments = [], $type = 'any', $isDefinedTest = false, $ignoreStrictCheck = false, $sandboxed = false, int $lineno = -1) … › |
logger | Symfony\Bridge\Monolog\Logger {#69 …8} |