Merge branch 'ent-12537-display-de-mensajes-no-tiene-en-cuenta-los-tipos' into 'develop'
Ent 12537 Display de mensajes no tiene en cuenta los tipos See merge request artica/pandorafms!6825
|
@ -2,4 +2,7 @@ START TRANSACTION;
|
|||
|
||||
ALTER TABLE `tusuario` CHANGE COLUMN `metaconsole_data_section` `metaconsole_data_section` TEXT NOT NULL DEFAULT '' ;
|
||||
|
||||
ALTER TABLE `tmensajes` ADD COLUMN `icon_notification` VARCHAR(250) NULL DEFAULT NULL AFTER `url`;
|
||||
|
||||
|
||||
COMMIT;
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Icons/Dark/40/Alert icon congrats</title>
|
||||
<defs>
|
||||
<linearGradient x1="100%" y1="0%" x2="0%" y2="50%" id="linearGradient-1">
|
||||
<stop stop-color="#82B92E" offset="0%"></stop>
|
||||
<stop stop-color="#2EB9A2" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<path d="M0,14.605519 L0,5.39448104 C0,1.5951272 4.59496118,0 10,0 C15.4050388,0 20,1.5951272 20,5.39448104 L20,14.605519 C20,18.4048728 15.4050388,20 10,20 C4.59496118,20 0,18.4048728 0,14.605519 Z" id="path-2"></path>
|
||||
</defs>
|
||||
<g id="Icons/Dark/40/Alert-icon-congrats" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#DBEFBD"></path>
|
||||
<g id="Status-check" transform="translate(10, 10)">
|
||||
<mask id="mask-3" fill="white">
|
||||
<use xlink:href="#path-2"></use>
|
||||
</mask>
|
||||
<use id="Mask" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
|
||||
<path d="M18.7598238,0.82381606 C19.3047414,0.278898443 20.1882274,0.278898443 20.733145,0.82381606 C21.2562659,1.34693697 21.2771907,2.18208252 20.7959195,2.7301654 L20.733145,2.79713731 L9.36847673,14.1618056 C8.84535581,14.6849265 8.01021026,14.7058513 7.46212738,14.2245801 L7.39515548,14.1618056 L4.74907546,11.5157256 C4.20415784,10.9708079 4.20415784,10.0873219 4.74907546,9.54240432 C5.27219637,9.0192834 6.10734192,8.99835857 6.6554248,9.47962981 L6.72239671,9.54240432 L8.38186047,11.2018605 L18.7598238,0.82381606 Z" id="Path" fill="#FFFFFF" fill-rule="nonzero" mask="url(#mask-3)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Icons/Dark/40/Alert icon disable</title>
|
||||
<defs>
|
||||
<linearGradient x1="100%" y1="0%" x2="0%" y2="50%" id="linearGradient-1">
|
||||
<stop stop-color="#666666" offset="0%"></stop>
|
||||
<stop stop-color="#999999" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Icons/Dark/40/Alert-icon-disable" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#E9DFF7"></path>
|
||||
<g id="Group">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#EAEAEA"></path>
|
||||
<path d="M10,24.605519 L10,15.394481 C10,11.5951272 14.5949612,10 20,10 C25.4050388,10 30,11.5951272 30,15.394481 L30,24.605519 C30,28.4048728 25.4050388,30 20,30 C14.5949612,30 10,28.4048728 10,24.605519 Z" id="Path-3" fill="url(#linearGradient-1)"></path>
|
||||
</g>
|
||||
<rect id="Rectangle" fill="#FFFFFF" x="14" y="19" width="12" height="3" rx="1"></rect>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Icons/Dark/40/Alert icon error</title>
|
||||
<defs>
|
||||
<linearGradient x1="100%" y1="0%" x2="0%" y2="50%" id="linearGradient-1">
|
||||
<stop stop-color="#F72222" offset="0%"></stop>
|
||||
<stop stop-color="#E12D81" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<path d="M0,14.605519 L0,5.39448104 C0,1.5951272 4.59496118,0 10,0 C15.4050388,0 20,1.5951272 20,5.39448104 L20,14.605519 C20,18.4048728 15.4050388,20 10,20 C4.59496118,20 0,18.4048728 0,14.605519 Z" id="path-2"></path>
|
||||
</defs>
|
||||
<g id="Icons/Dark/40/Alert-icon-error" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#FBDADA"></path>
|
||||
<g id="Path" transform="translate(10, 10)">
|
||||
<mask id="mask-3" fill="white">
|
||||
<use xlink:href="#path-2"></use>
|
||||
</mask>
|
||||
<use id="Mask" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
|
||||
<path d="M8.29983345,6.3436419 L8.36636552,6.40600414 L10.0000673,8.03953994 L11.6336345,6.40600414 C12.1749733,5.86466529 13.052657,5.86466529 13.5939959,6.40600414 C14.1136812,6.92568943 14.1344686,7.75535013 13.6563581,8.29983345 L13.5939959,8.36636552 L11.9605948,10.0000673 L13.5939959,11.6336345 C14.1353347,12.1749733 14.1353347,13.052657 13.5939959,13.5939959 C13.0743106,14.1136812 12.2446499,14.1344686 11.7001665,13.6563581 L11.6336345,13.5939959 L10.0000673,11.9605948 L8.36636552,13.5939959 C7.82502667,14.1353347 6.94734298,14.1353347 6.40600414,13.5939959 C5.88631884,13.0743106 5.86553143,12.2446499 6.3436419,11.7001665 L6.40600414,11.6336345 L8.03953994,10.0000673 L6.40600414,8.36636552 C5.86466529,7.82502667 5.86466529,6.94734298 6.40600414,6.40600414 C6.90403588,5.9079724 7.68674989,5.86812986 8.23033079,6.28647652 L8.29983345,6.3436419 Z" id="Path-3" fill="#FFFFFF" fill-rule="nonzero" mask="url(#mask-3)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Icons/Dark/40/Alert icon favorite</title>
|
||||
<defs>
|
||||
<linearGradient x1="100%" y1="0%" x2="0%" y2="50%" id="linearGradient-1">
|
||||
<stop stop-color="#814CCB" offset="0%"></stop>
|
||||
<stop stop-color="#B66BD9" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<path d="M0,14.605519 L0,5.39448104 C0,1.5951272 4.59496118,0 10,0 C15.4050388,0 20,1.5951272 20,5.39448104 L20,14.605519 C20,18.4048728 15.4050388,20 10,20 C4.59496118,20 0,18.4048728 0,14.605519 Z" id="path-2"></path>
|
||||
</defs>
|
||||
<g id="Icons/Dark/40/Alert-icon-favorite" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#E9DFF7"></path>
|
||||
<g id="Status-check" transform="translate(10, 10)">
|
||||
<mask id="mask-3" fill="white">
|
||||
<use xlink:href="#path-2"></use>
|
||||
</mask>
|
||||
<use id="Mask" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
|
||||
<path d="M14.2568899,6.39303483 C13.7790757,5.7960199 13.0840733,5.44776119 12.3890709,5.39800995 L12.3021956,5.39800995 C11.4334425,5.39800995 10.6515648,5.89552239 10.130313,6.69154229 C9.65249878,5.64676617 8.74030808,5 7.74124208,5 C7.74124208,5 7.69780443,5 7.69780443,5 C6.95936434,5 6.22092425,5.34825871 5.74311008,5.99502488 C5.22185825,6.5920398 4.96123233,7.43781095 5.00466999,8.28358209 C5.09154529,9.7761194 5.74311008,10.5223881 6.35123721,11.1691542 C7.04623964,11.9651741 7.69780443,12.6119403 7.48061617,14.5024876 C7.48061617,14.800995 7.61092912,15 7.82811739,15 C7.91499269,15 7.95843034,15 8.0887433,14.9502488 C12.6062591,13.358209 14.99533,11.2189055 14.99533,8.83084577 L14.99533,8.78109453 C15.0387677,7.8358209 14.7781418,7.039801 14.2568899,6.39303483 Z M7.82811739,14.7014925 L7.82811739,14.4527363 C7.82811739,14.4527363 7.82811739,14.4527363 7.82811739,14.4527363 L7.82811739,14.7014925 Z" id="Shape" fill="#FFFFFF" fill-rule="nonzero" mask="url(#mask-3)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Icons/Dark/40/Alert icon heads up</title>
|
||||
<defs>
|
||||
<linearGradient x1="100%" y1="0%" x2="0%" y2="50%" id="linearGradient-1">
|
||||
<stop stop-color="#FAD961" offset="0%"></stop>
|
||||
<stop stop-color="#F5A623" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<path d="M0,14.605519 L0,5.39448104 C0,1.5951272 4.59496118,0 10,0 C15.4050388,0 20,1.5951272 20,5.39448104 L20,14.605519 C20,18.4048728 15.4050388,20 10,20 C4.59496118,20 0,18.4048728 0,14.605519 Z" id="path-2"></path>
|
||||
</defs>
|
||||
<g id="Icons/Dark/40/Alert-icon-heads-up" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#FFEDCF"></path>
|
||||
<g id="Status-check" transform="translate(10, 10)">
|
||||
<mask id="mask-3" fill="white">
|
||||
<use xlink:href="#path-2"></use>
|
||||
</mask>
|
||||
<use id="Mask" fill="url(#linearGradient-1)" xlink:href="#path-2"></use>
|
||||
<path d="M8.00083253,4.5536125 L8.34039759,10.5036125 C8.3562818,10.7820375 8.59715418,11 8.88888351,11 L11.1111166,11 C11.402846,11 11.6437183,10.7820375 11.6596026,10.5036125 L11.9991676,4.5536125 C12.0163335,4.252875 11.7658025,4 11.4506817,4 L8.54927267,4 C8.2341519,4 7.98366659,4.252875 8.00083253,4.5536125 L8.00083253,4.5536125 Z M10,12 C8.89543478,12 8,12.8954348 8,14 C8,15.1045652 8.89543478,16 10,16 C11.1045652,16 12,15.1045652 12,14 C12,12.8954348 11.1045652,12 10,12 Z" id="Path-4" fill="#FFFFFF" fill-rule="nonzero" mask="url(#mask-3)"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Icons/Dark/40/Alert icon information</title>
|
||||
<defs>
|
||||
<linearGradient x1="0%" y1="50%" x2="100%" y2="0%" id="linearGradient-1">
|
||||
<stop stop-color="#0086FF" offset="0%"></stop>
|
||||
<stop stop-color="#004EFF" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Icons/Dark/40/Alert-icon-information" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Group">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#D6E2FF"></path>
|
||||
<path d="M10,24.605519 L10,15.394481 C10,11.5951272 14.5949612,10 20,10 C25.4050388,10 30,11.5951272 30,15.394481 L30,24.605519 C30,28.4048728 25.4050388,30 20,30 C14.5949612,30 10,28.4048728 10,24.605519 Z" id="Path-3" fill="url(#linearGradient-1)"></path>
|
||||
<path d="M22.5713807,24.7563706 C22.5312282,24.8064951 21.5738418,26 19.9765248,26 C19.9125317,26 19.8472839,25.9986453 19.7832908,25.9945811 C19.1458697,25.9539397 18.618868,25.6491285 18.2963932,25.1356911 C17.9011419,24.5057481 17.847187,23.6278921 18.1445665,22.6633342 L18.6540015,21.0092259 C18.9363238,20.0839548 18.6665491,19.9362907 18.5209963,19.8577172 C18.4820985,19.8360417 18.420615,19.8238493 18.345329,19.8238493 C18.0303828,19.8238493 17.5962338,20.0243473 17.4569548,20.1029208 C17.3264591,20.1760755 17.1620848,20.1381434 17.0667225,20.0121548 C16.9751246,19.8834568 16.9776342,19.7046343 17.0755059,19.5813551 C17.1169132,19.5285212 18.163388,18.2334126 19.8648506,18.3431446 C20.4985074,18.3824313 21.0255091,18.6858877 21.3479839,19.1979704 C21.74449,19.8279134 21.7996997,20.7071242 21.5035749,21.6743915 L20.9941399,23.3284998 C20.7093081,24.2524162 20.9815923,24.401435 21.1271451,24.4800085 C21.1522405,24.4935557 21.2049406,24.511167 21.2990481,24.511167 C21.6177586,24.511167 22.0519076,24.310669 22.1924414,24.2334502 C22.3254466,24.1575861 22.4873114,24.1982276 22.5814189,24.3255709 C22.671762,24.4542689 22.6692525,24.6330914 22.5713807,24.7563706 Z M20.2693902,14 C21.2410593,14.0022763 22.0318205,14.7944306 22.0340961,15.7641368 C22.0340961,16.7349811 21.2433349,17.5271355 20.270528,17.5294118 C19.2988589,17.5271355 18.5069599,16.7349811 18.5046843,15.765275 C18.5046843,14.7921543 19.2965833,14 20.2693902,14 Z" id="Path-3" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.6 KiB |
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Icons/Dark/40/Alert icon popular</title>
|
||||
<defs>
|
||||
<linearGradient x1="100%" y1="0%" x2="0%" y2="50%" id="linearGradient-1">
|
||||
<stop stop-color="#E4EE3B" offset="0%"></stop>
|
||||
<stop stop-color="#DFAA1E" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Icons/Dark/40/Alert-icon-popular" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#E9DFF7"></path>
|
||||
<g id="Group">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#FFFAB8"></path>
|
||||
<path d="M10,24.605519 L10,15.394481 C10,11.5951272 14.5949612,10 20,10 C25.4050388,10 30,11.5951272 30,15.394481 L30,24.605519 C30,28.4048728 25.4050388,30 20,30 C14.5949612,30 10,28.4048728 10,24.605519 Z" id="Path-3" fill="url(#linearGradient-1)"></path>
|
||||
<path d="M24.9626788,18.7571206 C24.8787507,18.5056935 24.6666091,18.3253374 24.4094678,18.2860519 L21.7991261,17.8949828 L20.6241331,15.4007119 C20.5073481,15.1535705 20.2684209,15 20.0002082,15 C19.7319955,15 19.4930684,15.1535705 19.3762834,15.4007119 L18.2184331,17.8860543 L15.5909487,18.2860519 C15.3338073,18.3253374 15.1220229,18.5056935 15.0377377,18.7571206 C14.9516667,19.0153333 15.0152378,19.2953317 15.2038081,19.4878305 L17.104154,21.432819 L16.6552281,24.1742313 C16.6105855,24.4481583 16.7212991,24.716371 16.9448692,24.87387 C17.1598679,25.0263691 17.4362949,25.041369 17.6662935,24.9145841 L19.9837798,23.620306 L22.334123,24.9145841 C22.5648359,25.041369 22.8405485,25.0256548 23.0555472,24.87387 C23.2791174,24.716371 23.3901881,24.4481583 23.3451884,24.1742313 L22.8955482,21.4292476 L24.7966084,19.4878305 C24.9851787,19.2953317 25.0487497,19.0153333 24.9626788,18.7571206 Z" id="XMLID_328_" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Icons/Dark/40/Alert icon question</title>
|
||||
<defs>
|
||||
<linearGradient x1="0%" y1="50%" x2="100%" y2="0%" id="linearGradient-1">
|
||||
<stop stop-color="#3F5393" offset="0%"></stop>
|
||||
<stop stop-color="#1F76B7" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Icons/Dark/40/Alert-icon-question" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#E9DFF7"></path>
|
||||
<g id="Group">
|
||||
<path d="M0,29.2110379 L0,10.7889621 C0,3.19025441 9.18992236,0 20,0 C30.8100776,0 40,3.19025441 40,10.7889621 L40,29.2110379 C40,36.8097456 30.8100776,40 20,40 C9.18992236,40 0,36.8097456 0,29.2110379 Z" id="Path-3" fill="#E2E7F3"></path>
|
||||
<path d="M10,24.605519 L10,15.394481 C10,11.5951272 14.5949612,10 20,10 C25.4050388,10 30,11.5951272 30,15.394481 L30,24.605519 C30,28.4048728 25.4050388,30 20,30 C14.5949612,30 10,28.4048728 10,24.605519 Z" id="Path-3" fill="url(#linearGradient-1)"></path>
|
||||
<path d="M22.5458333,19.7352941 L20.6666667,20.9705882 L20.6666667,21.0588235 C20.6666667,21.6323529 20.2083333,22.1176471 19.6666667,22.1176471 C19.125,22.1176471 18.6666667,21.6323529 18.6666667,21.0588235 L18.6666667,20.3529412 C18.6666667,20 18.8333333,19.6470588 19.1666667,19.4264706 L21.5416667,17.9264706 C21.8333333,17.75 22,17.4411765 22,17.0882353 C22,16.5588235 21.5458333,16.1176471 21.0458333,16.1176471 L18.9166667,16.1176471 C18.3791667,16.1176471 18,16.5588235 18,17.0882353 C18,17.6617647 17.5416667,18.1470588 17,18.1470588 C16.4583333,18.1470588 16,17.6617647 16,17.0882353 C16,15.3676471 17.2916667,14 18.8791667,14 L21.0083333,14 C22.7083333,14 24,15.3676471 24,17.0882353 C24,18.1470588 23.4583333,19.1617647 22.5458333,19.7352941 Z M19.6666667,26 C18.9166667,26 18.3333333,25.3823529 18.3333333,24.5882353 C18.3333333,23.7941176 18.8791667,23.1764706 19.6666667,23.1764706 C20.3791667,23.1764706 21,23.7941176 21,24.5882353 C21,25.3823529 20.3791667,26 19.6666667,26 Z" id="Path-3" fill="#FFFFFF" fill-rule="nonzero"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
|
@ -58,6 +58,18 @@ class ConsoleSupervisor
|
|||
*/
|
||||
public const MIN_SYNC_QUEUE_LENGTH = 200;
|
||||
|
||||
/**
|
||||
* Icons for notifications.
|
||||
*/
|
||||
public const ICON_CONGRATS = 'images/notification/congrats.svg';
|
||||
public const ICON_DISABLE = 'images/notification/disable.svg';
|
||||
public const ICON_ERROR = 'images/notification/error.svg';
|
||||
public const ICON_FAVORITE = 'images/notification/favorite.svg';
|
||||
public const ICON_HEADSUP = 'images/notification/headsup.svg';
|
||||
public const ICON_INFORMATION = 'images/notification/information.svg';
|
||||
public const ICON_POPULAR = 'images/notification/popular.svg';
|
||||
public const ICON_QUESTION = 'images/notification/question.svg';
|
||||
|
||||
/**
|
||||
* Show if console supervisor is enabled or not.
|
||||
*
|
||||
|
@ -666,14 +678,15 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.VARIABLES.PERFORMANCE.'.$variable,
|
||||
'title' => __('Incorrect config value'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.VARIABLES.PERFORMANCE.'.$variable,
|
||||
'title' => __('Incorrect config value'),
|
||||
'message' => __(
|
||||
$message,
|
||||
$names[$variable],
|
||||
$limit_value
|
||||
),
|
||||
'url' => $url,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
@ -710,12 +723,13 @@ class ConsoleSupervisor
|
|||
db_process_sql_update('tconfig', ['value' => 0], ['token' => 'agentaccess']);
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.ACCESSSTASTICS.PERFORMANCE',
|
||||
'title' => __('Access statistics performance'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.ACCESSSTASTICS.PERFORMANCE',
|
||||
'title' => __('Access statistics performance'),
|
||||
'message' => __(
|
||||
'Usage of agent access statistics IS NOT RECOMMENDED on systems with more than 200 agents due performance penalty'
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -962,6 +976,9 @@ class ConsoleSupervisor
|
|||
$notification['subject'] = io_safe_input($data['title']);
|
||||
$notification['subtype'] = $data['type'];
|
||||
$notification['url'] = io_safe_input($data['url']);
|
||||
if (isset($data['icon_notification']) === true) {
|
||||
$notification['icon_notification'] = $data['icon_notification'];
|
||||
}
|
||||
|
||||
$id = db_process_sql_insert('tmensajes', $notification);
|
||||
|
||||
|
@ -1055,13 +1072,14 @@ class ConsoleSupervisor
|
|||
// Warn user if license is going to expire in 15 days or less.
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.LICENSE.EXPIRATION',
|
||||
'title' => $title,
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.LICENSE.EXPIRATION',
|
||||
'title' => $title,
|
||||
'message' => __(
|
||||
$msg,
|
||||
$days_to_expiry
|
||||
),
|
||||
'url' => '__url__/index.php?sec=gsetup&sec2=godmode/setup/license',
|
||||
'url' => '__url__/index.php?sec=gsetup&sec2=godmode/setup/license',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else if (($days_to_expiry <= 0) && ((is_user_admin($config['id_user'])) || (check_acl($config['id_user'], 0, 'PM')))) {
|
||||
|
@ -1076,10 +1094,11 @@ class ConsoleSupervisor
|
|||
// Warn user, license has expired.
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.LICENSE.EXPIRATION',
|
||||
'title' => $title,
|
||||
'message' => $msg,
|
||||
'url' => '__url__/index.php?sec=gsetup&sec2=godmode/setup/license',
|
||||
'type' => 'NOTIF.LICENSE.EXPIRATION',
|
||||
'title' => $title,
|
||||
'message' => $msg,
|
||||
'url' => '__url__/index.php?sec=gsetup&sec2=godmode/setup/license',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
return false;
|
||||
|
@ -1150,13 +1169,14 @@ class ConsoleSupervisor
|
|||
if (is_writable($config['attachment_store']) !== true) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.WRITABLE.ATTACHMENT',
|
||||
'title' => __('Attachment directory is not writable'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.WRITABLE.ATTACHMENT',
|
||||
'title' => __('Attachment directory is not writable'),
|
||||
'message' => __(
|
||||
'Directory %s is not writable. Please, configure corresponding permissions.',
|
||||
$config['attachment_store']
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
return;
|
||||
|
@ -1206,13 +1226,14 @@ class ConsoleSupervisor
|
|||
if (is_readable($remote_config_dir) !== true) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PERMISSIONS.REMOTE_CONFIG',
|
||||
'title' => __('Remote configuration directory is not readable'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.PERMISSIONS.REMOTE_CONFIG',
|
||||
'title' => __('Remote configuration directory is not readable'),
|
||||
'message' => __(
|
||||
'Remote configuration directory %s is not readable. Please, adjust configuration.',
|
||||
$remote_config_dir
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
return;
|
||||
|
@ -1225,13 +1246,14 @@ class ConsoleSupervisor
|
|||
if (is_writable($remote_config_dir.'/conf') !== true) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PERMISSIONS.REMOTE_CONFIG.CONF',
|
||||
'title' => __('Remote configuration directory is not writable'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.PERMISSIONS.REMOTE_CONFIG.CONF',
|
||||
'title' => __('Remote configuration directory is not writable'),
|
||||
'message' => __(
|
||||
'Remote configuration directory %s is not writable. Please, adjust configuration.',
|
||||
$remote_config_dir.'/conf'
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1243,13 +1265,14 @@ class ConsoleSupervisor
|
|||
if (is_writable($remote_config_dir.'/collections') !== true) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PERMISSIONS.REMOTE_CONFIG.COLLECTIONS',
|
||||
'title' => __('Remote collections directory is not writable'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.PERMISSIONS.REMOTE_CONFIG.COLLECTIONS',
|
||||
'title' => __('Remote collections directory is not writable'),
|
||||
'message' => __(
|
||||
'Collections directory %s is not writable. Please, adjust configuration.',
|
||||
$remote_config_dir.'/collections'
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1261,13 +1284,14 @@ class ConsoleSupervisor
|
|||
if (is_writable($remote_config_dir.'/md5') !== true) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PERMISSIONS.REMOTE_CONFIG.MD5',
|
||||
'title' => __('Remote md5 directory is not writable'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.PERMISSIONS.REMOTE_CONFIG.MD5',
|
||||
'title' => __('Remote md5 directory is not writable'),
|
||||
'message' => __(
|
||||
'MD5 directory %s is not writable. Please, adjust configuration.',
|
||||
$remote_config_dir.'/md5'
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=general',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1291,14 +1315,15 @@ class ConsoleSupervisor
|
|||
if ($filecount > $MAX_FILES_DATA_IN) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.FILES.DATAIN',
|
||||
'title' => __('There are too much files in spool').'.',
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.FILES.DATAIN',
|
||||
'title' => __('There are too much files in spool').'.',
|
||||
'message' => __(
|
||||
'There are more than %d files in %s. Consider checking DataServer performance',
|
||||
$MAX_FILES_DATA_IN,
|
||||
$remote_config_dir
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1314,14 +1339,15 @@ class ConsoleSupervisor
|
|||
if ($filecount > $MAX_BADXML_FILES_DATA_IN) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.FILES.DATAIN.BADXML',
|
||||
'title' => __('There are too many BADXML files in spool'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.FILES.DATAIN.BADXML',
|
||||
'title' => __('There are too many BADXML files in spool'),
|
||||
'message' => __(
|
||||
'There are more than %d files in %s. Consider checking software agents.',
|
||||
$MAX_BADXML_FILES_DATA_IN,
|
||||
$remote_config_dir
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1402,18 +1428,19 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.SERVER.QUEUE.'.$key,
|
||||
'title' => __(
|
||||
'type' => 'NOTIF.SERVER.QUEUE.'.$key,
|
||||
'title' => __(
|
||||
'%s (%s) is lacking performance.',
|
||||
servers_get_server_string_name($type),
|
||||
$queue['name']
|
||||
),
|
||||
'message' => __(
|
||||
'message' => __(
|
||||
$msg,
|
||||
$modules_queued,
|
||||
$queue['queued_modules']
|
||||
),
|
||||
'url' => '__url__/index.php?sec=gservers&sec2=godmode/servers/modificar_server&refr=60',
|
||||
'url' => '__url__/index.php?sec=gservers&sec2=godmode/servers/modificar_server&refr=60',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1471,10 +1498,11 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.SERVER.STATUS',
|
||||
'title' => __('No servers available.'),
|
||||
'message' => __('There are no servers registered in this console. Please, check installation guide.'),
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.SERVER.STATUS',
|
||||
'title' => __('No servers available.'),
|
||||
'message' => __('There are no servers registered in this console. Please, check installation guide.'),
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
@ -1515,6 +1543,7 @@ class ConsoleSupervisor
|
|||
}
|
||||
}
|
||||
|
||||
$icon_notification = self::ICON_QUESTION;
|
||||
if ($server['status'] == 1) {
|
||||
// Fatal error. Component has die.
|
||||
$msg = __(
|
||||
|
@ -1528,6 +1557,8 @@ class ConsoleSupervisor
|
|||
servers_get_server_string_name($server['server_type']),
|
||||
$server['name']
|
||||
);
|
||||
|
||||
$icon_notification = self::ICON_ERROR;
|
||||
} else {
|
||||
// Non-fatal error. Controlated exit. Component is not running.
|
||||
$msg = __(
|
||||
|
@ -1544,10 +1575,11 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.SERVER.STATUS.'.$server['id_server'],
|
||||
'title' => $msg,
|
||||
'message' => $description,
|
||||
'url' => '__url__/index.php?sec=gservers&sec2=godmode/servers/modificar_server&refr=60',
|
||||
'type' => 'NOTIF.SERVER.STATUS.'.$server['id_server'],
|
||||
'title' => $msg,
|
||||
'message' => $description,
|
||||
'url' => '__url__/index.php?sec=gservers&sec2=godmode/servers/modificar_server&refr=60',
|
||||
'icon_notification' => $icon_notification,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
@ -1587,10 +1619,11 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.SERVER.MASTER',
|
||||
'title' => __('No master servers found.'),
|
||||
'message' => __('At least one server must be defined to run as master. Please, check documentation.'),
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.SERVER.MASTER',
|
||||
'title' => __('No master servers found.'),
|
||||
'message' => __('At least one server must be defined to run as master. Please, check documentation.'),
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_INFORMATION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1643,10 +1676,11 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PHP.SAFE_MODE',
|
||||
'title' => __('PHP safe mode is enabled. Some features may not work properly'),
|
||||
'message' => __('To disable it, go to your PHP configuration file (php.ini) and put safe_mode = Off (Do not forget to restart apache process after changes)'),
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.PHP.SAFE_MODE',
|
||||
'title' => __('PHP safe mode is enabled. Some features may not work properly'),
|
||||
'message' => __('To disable it, go to your PHP configuration file (php.ini) and put safe_mode = Off (Do not forget to restart apache process after changes)'),
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1661,16 +1695,17 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PHP.INPUT_TIME',
|
||||
'title' => sprintf(
|
||||
'type' => 'NOTIF.PHP.INPUT_TIME',
|
||||
'title' => sprintf(
|
||||
__('%s value in PHP configuration is not recommended'),
|
||||
'max_input_time'
|
||||
),
|
||||
'message' => sprintf(
|
||||
'message' => sprintf(
|
||||
__('Recommended value is %s'),
|
||||
'-1 ('.__('Unlimited').')'
|
||||
).'<br><br>'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Do not forget to restart Apache process after)'),
|
||||
'url' => $url,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_INFORMATION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1685,16 +1720,17 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PHP.EXECUTION_TIME',
|
||||
'title' => sprintf(
|
||||
'type' => 'NOTIF.PHP.EXECUTION_TIME',
|
||||
'title' => sprintf(
|
||||
__("Not recommended '%s' value in PHP configuration"),
|
||||
'max_execution_time'
|
||||
),
|
||||
'message' => sprintf(
|
||||
'message' => sprintf(
|
||||
__('Recommended value is: %s'),
|
||||
'0 ('.__('Unlimited').')'
|
||||
).'<br><br>'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Dont forget restart apache process after changes)'),
|
||||
'url' => $url,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_INFORMATION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1709,16 +1745,17 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PHP.UPLOAD_MAX_FILESIZE',
|
||||
'title' => sprintf(
|
||||
'type' => 'NOTIF.PHP.UPLOAD_MAX_FILESIZE',
|
||||
'title' => sprintf(
|
||||
__("Not recommended '%s' value in PHP configuration"),
|
||||
'upload_max_filesize'
|
||||
),
|
||||
'message' => sprintf(
|
||||
'message' => sprintf(
|
||||
__('Recommended value is: %s'),
|
||||
sprintf(__('%s or greater'), '800M')
|
||||
).'<br><br>'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Dont forget restart apache process after changes)'),
|
||||
'url' => $url,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_INFORMATION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1738,16 +1775,17 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PHP.MEMORY_LIMIT',
|
||||
'title' => sprintf(
|
||||
'type' => 'NOTIF.PHP.MEMORY_LIMIT',
|
||||
'title' => sprintf(
|
||||
__("Not recommended '%s' value in PHP configuration"),
|
||||
'memory_limit'
|
||||
),
|
||||
'message' => sprintf(
|
||||
'message' => sprintf(
|
||||
__('Recommended value is: %s'),
|
||||
sprintf(__('%s or greater'), $recommended_memory)
|
||||
).'<br><br>'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator'),
|
||||
'url' => $url,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_INFORMATION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1762,10 +1800,11 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PHP.DISABLE_FUNCTIONS',
|
||||
'title' => __('Problems with disable_functions in php.ini'),
|
||||
'message' => __('The variable disable_functions contains functions system() or exec() in PHP configuration file (php.ini)').'<br /><br />'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Dont forget restart apache process after changes)'),
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.PHP.DISABLE_FUNCTIONS',
|
||||
'title' => __('Problems with disable_functions in php.ini'),
|
||||
'message' => __('The variable disable_functions contains functions system() or exec() in PHP configuration file (php.ini)').'<br /><br />'.__('Please, change it on your PHP configuration file (php.ini) or contact with administrator (Dont forget restart apache process after changes)'),
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1779,10 +1818,11 @@ class ConsoleSupervisor
|
|||
// }
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PHP.CHROMIUM',
|
||||
'title' => __('chromium is not installed'),
|
||||
'message' => __('To be able to create images of the graphs for PDFs, please install the chromium extension. For that, it is necessary to follow these steps:'),
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.PHP.CHROMIUM',
|
||||
'title' => __('chromium is not installed'),
|
||||
'message' => __('To be able to create images of the graphs for PDFs, please install the chromium extension. For that, it is necessary to follow these steps:'),
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1840,10 +1880,11 @@ class ConsoleSupervisor
|
|||
$url = 'https://www.php.net/supported-versions.php';
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PHP.VERSION.SUPPORT',
|
||||
'title' => __('PHP UPDATE REQUIRED'),
|
||||
'message' => __('You should update your PHP version because it will be out of official support').'<br>'.__('Current PHP version: ').PHP_VERSION,
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.PHP.VERSION.SUPPORT',
|
||||
'title' => __('PHP UPDATE REQUIRED'),
|
||||
'message' => __('You should update your PHP version because it will be out of official support').'<br>'.__('Current PHP version: ').PHP_VERSION,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1866,10 +1907,11 @@ class ConsoleSupervisor
|
|||
$url = 'https://www.mysql.com/support/eol-notice.html';
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.MYSQL.VERSION',
|
||||
'title' => __('MYSQL UPDATE REQUIRED'),
|
||||
'message' => __('You should update your MYSQL version because it will be out of official support').'<br>'.__('Current MYSQL version: ').$mysql_version,
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.MYSQL.VERSION',
|
||||
'title' => __('MYSQL UPDATE REQUIRED'),
|
||||
'message' => __('You should update your MYSQL version because it will be out of official support').'<br>'.__('Current MYSQL version: ').$mysql_version,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1908,10 +1950,11 @@ class ConsoleSupervisor
|
|||
if ($config['history_db_connection'] === false) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.HISTORYDB',
|
||||
'title' => __('Historical database not available'),
|
||||
'message' => __('Historical database is enabled, though not accessible with the current configuration.'),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=hist_db',
|
||||
'type' => 'NOTIF.HISTORYDB',
|
||||
'title' => __('Historical database not available'),
|
||||
'message' => __('Historical database is enabled, though not accessible with the current configuration.'),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=hist_db',
|
||||
'icon_notification' => self::ICON_QUESTION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -1952,13 +1995,14 @@ class ConsoleSupervisor
|
|||
if ($last_maintance > 172800) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PANDORADB',
|
||||
'title' => __('Database maintenance problem'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.PANDORADB',
|
||||
'title' => __('Database maintenance problem'),
|
||||
'message' => __(
|
||||
'Your database hasn\'t been through maintenance for 48hrs. Please, check documentation on how to perform this maintenance process on %s and enable it as soon as possible.',
|
||||
io_safe_output(get_product_name())
|
||||
),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2013,12 +2057,13 @@ class ConsoleSupervisor
|
|||
if ($last_maintance > 172800) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PANDORADB.HISTORY',
|
||||
'title' => __(
|
||||
'type' => 'NOTIF.PANDORADB.HISTORY',
|
||||
'title' => __(
|
||||
'Historical database maintenance problem.'
|
||||
),
|
||||
'message' => __('Your historical database hasn\'t been through maintenance for 48hrs. Please, check documentation on how to perform this maintenance process on %s and enable it as soon as possible.', get_product_name()),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'message' => __('Your historical database hasn\'t been through maintenance for 48hrs. Please, check documentation on how to perform this maintenance process on %s and enable it as soon as possible.', get_product_name()),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=perf',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2054,10 +2099,11 @@ class ConsoleSupervisor
|
|||
if ($mrh_version != $config['MR']) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.HISTORYDB.MR',
|
||||
'title' => __('Historical database MR mismatch'),
|
||||
'message' => __('Your historical database is not using the same schema as the main DB. This could produce anomalies while storing historical data.'),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=hist_db',
|
||||
'type' => 'NOTIF.HISTORYDB.MR',
|
||||
'title' => __('Historical database MR mismatch'),
|
||||
'message' => __('Your historical database is not using the same schema as the main DB. This could produce anomalies while storing historical data.'),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=hist_db',
|
||||
'icon_notification' => self::ICON_QUESTION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2095,10 +2141,11 @@ class ConsoleSupervisor
|
|||
if ($elasticsearch === false) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.EXT.ELASTICSEARCH',
|
||||
'title' => __('Log collector cannot connect to OpenSearch'),
|
||||
'message' => __('OpenSearch is not available using current configuration.'),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=log',
|
||||
'type' => 'NOTIF.EXT.ELASTICSEARCH',
|
||||
'title' => __('Log collector cannot connect to OpenSearch'),
|
||||
'message' => __('OpenSearch is not available using current configuration.'),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=log',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2165,10 +2212,11 @@ class ConsoleSupervisor
|
|||
} else {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.METACONSOLE.DB_CONNECTION',
|
||||
'title' => __('Metaconsole DB is not available.'),
|
||||
'message' => __('Cannot connect with Metaconsole DB using current configuration.'),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=enterprise',
|
||||
'type' => 'NOTIF.METACONSOLE.DB_CONNECTION',
|
||||
'title' => __('Metaconsole DB is not available.'),
|
||||
'message' => __('Cannot connect with Metaconsole DB using current configuration.'),
|
||||
'url' => '__url__/index.php?sec=general&sec2=godmode/setup/setup§ion=enterprise',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
@ -2384,10 +2432,11 @@ class ConsoleSupervisor
|
|||
if (update_manager_verify_registration() === false) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.UPDATEMANAGER.REGISTRATION',
|
||||
'title' => __('This instance is not registered in the Warp Update section'),
|
||||
'message' => __('Click here to start the registration process'),
|
||||
'url' => '__url__/index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=online',
|
||||
'type' => 'NOTIF.UPDATEMANAGER.REGISTRATION',
|
||||
'title' => __('This instance is not registered in the Warp Update section'),
|
||||
'message' => __('Click here to start the registration process'),
|
||||
'url' => '__url__/index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=online',
|
||||
'icon_notification' => self::ICON_QUESTION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2414,9 +2463,10 @@ class ConsoleSupervisor
|
|||
if (update_manager_verify_api() === false) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.API.ACCESS',
|
||||
'title' => __('Cannot access the Pandora FMS API '),
|
||||
'message' => __('Please check the configuration, some components may fail due to this misconfiguration in '.$server_name.' ('.$config['public_url'].')'),
|
||||
'type' => 'NOTIF.API.ACCESS',
|
||||
'title' => __('Cannot access the Pandora FMS API '),
|
||||
'message' => __('Please check the configuration, some components may fail due to this misconfiguration in '.$server_name.' ('.$config['public_url'].')'),
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2447,10 +2497,11 @@ class ConsoleSupervisor
|
|||
if ($admin_with_default_pass > 0) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.SECURITY.DEFAULT_PASSWORD',
|
||||
'title' => __('Default password for "Admin" user has not been changed'),
|
||||
'message' => __('Please, change the default password since it is a commonly reported vulnerability.'),
|
||||
'url' => '__url__/index.php?sec=gusuarios&sec2=godmode/users/user_list',
|
||||
'type' => 'NOTIF.SECURITY.DEFAULT_PASSWORD',
|
||||
'title' => __('Default password for "Admin" user has not been changed'),
|
||||
'message' => __('Please, change the default password since it is a commonly reported vulnerability.'),
|
||||
'url' => '__url__/index.php?sec=gusuarios&sec2=godmode/users/user_list',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2562,10 +2613,11 @@ class ConsoleSupervisor
|
|||
foreach ($_SESSION['return_installation_open']['text'] as $message) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.UPDATEMANAGER.OPENSETUP',
|
||||
'title' => __('Failed to retrieve updates, please configure utility'),
|
||||
'message' => $message,
|
||||
'url' => '__url__/index.php?sec=gsetup&sec2=godmode/setup/setup§ion=general',
|
||||
'type' => 'NOTIF.UPDATEMANAGER.OPENSETUP',
|
||||
'title' => __('Failed to retrieve updates, please configure utility'),
|
||||
'message' => $message,
|
||||
'url' => '__url__/index.php?sec=gsetup&sec2=godmode/setup/setup§ion=general',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
@ -2579,13 +2631,14 @@ class ConsoleSupervisor
|
|||
if ($_SESSION['new_update'] == 'new') {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.UPDATEMANAGER.UPDATE',
|
||||
'title' => __(
|
||||
'type' => 'NOTIF.UPDATEMANAGER.UPDATE',
|
||||
'title' => __(
|
||||
'New %s Console update',
|
||||
get_product_name()
|
||||
),
|
||||
'message' => __('There is a new update available. Please<a class="bolder" href="'.ui_get_full_url('index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=online').'"> go to Administration:Setup:Update Manager</a> for more details.'),
|
||||
'url' => '__url__/index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=online',
|
||||
'message' => __('There is a new update available. Please<a class="bolder" href="'.ui_get_full_url('index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=online').'"> go to Administration:Setup:Update Manager</a> for more details.'),
|
||||
'url' => '__url__/index.php?sec=gsetup&sec2=godmode/update_manager/update_manager&tab=online',
|
||||
'icon_notification' => self::ICON_CONGRATS,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2617,13 +2670,14 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.UPDATEMANAGER.MINOR',
|
||||
'title' => __('Minor release/s available'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.UPDATEMANAGER.MINOR',
|
||||
'title' => __('Minor release/s available'),
|
||||
'message' => __(
|
||||
'There is one or more minor releases available. <a id="aviable_updates" target="blank" href="%s">.About minor release update</a>.',
|
||||
$url
|
||||
),
|
||||
'url' => '__url__/index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=online',
|
||||
'url' => '__url__/index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=online',
|
||||
'icon_notification' => self::ICON_CONGRATS,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2680,10 +2734,11 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.CRON.CONFIGURED',
|
||||
'title' => __('DiscoveryConsoleTasks is not configured.'),
|
||||
'message' => __($message_conf_cron),
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.CRON.CONFIGURED',
|
||||
'title' => __('DiscoveryConsoleTasks is not configured.'),
|
||||
'message' => __($message_conf_cron),
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_QUESTION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2782,10 +2837,11 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.SERVER.MISALIGNED',
|
||||
'title' => __($title_ver_misaligned),
|
||||
'message' => __($message_ver_misaligned),
|
||||
'url' => '__url__/index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=online',
|
||||
'type' => 'NOTIF.SERVER.MISALIGNED',
|
||||
'title' => __($title_ver_misaligned),
|
||||
'message' => __($message_ver_misaligned),
|
||||
'url' => '__url__/index.php?sec=messages&sec2=godmode/update_manager/update_manager&tab=online',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
|
||||
|
@ -2838,10 +2894,11 @@ class ConsoleSupervisor
|
|||
$is_none = true;
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.ALLOWOVERRIDE.MESSAGE',
|
||||
'title' => __('AllowOverride is disabled'),
|
||||
'message' => __($message),
|
||||
'url' => '__url__/index.php',
|
||||
'type' => 'NOTIF.ALLOWOVERRIDE.MESSAGE',
|
||||
'title' => __('AllowOverride is disabled'),
|
||||
'message' => __($message),
|
||||
'url' => '__url__/index.php',
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
@ -2884,10 +2941,11 @@ class ConsoleSupervisor
|
|||
if ((int) $db_master !== (int) $cluster_master) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.HAMASTER.MESSAGE',
|
||||
'title' => __('Desynchronized operation on the node '.$node['host']),
|
||||
'message' => __($message),
|
||||
'url' => '__url__/index.php?sec=gservers&sec2=enterprise/godmode/servers/HA_cluster',
|
||||
'type' => 'NOTIF.HAMASTER.MESSAGE',
|
||||
'title' => __('Desynchronized operation on the node '.$node['host']),
|
||||
'message' => __($message),
|
||||
'url' => '__url__/index.php?sec=gservers&sec2=enterprise/godmode/servers/HA_cluster',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -2924,10 +2982,11 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.PANDORACONSOLE.LOG.OLD',
|
||||
'title' => __($title_pandoraconsole_old_log),
|
||||
'message' => __($message_pandoraconsole_old_log),
|
||||
'url' => $url,
|
||||
'type' => 'NOTIF.PANDORACONSOLE.LOG.OLD',
|
||||
'title' => __($title_pandoraconsole_old_log),
|
||||
'message' => __($message_pandoraconsole_old_log),
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_QUESTION,
|
||||
]
|
||||
);
|
||||
} else {
|
||||
|
@ -3008,15 +3067,16 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.SYNCQUEUE.LENGTH.'.$node_id,
|
||||
'title' => __('Node %s sync queue length exceeded, ', $node->server_name()),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.SYNCQUEUE.LENGTH.'.$node_id,
|
||||
'title' => __('Node %s sync queue length exceeded, ', $node->server_name()),
|
||||
'message' => __(
|
||||
'Synchronization queue lenght for node %s is %d items, this value should be 0 or lower than %d, please check the queue status.',
|
||||
$node->server_name(),
|
||||
$count,
|
||||
$items_min
|
||||
),
|
||||
'url' => $url,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_HEADSUP,
|
||||
]
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
|
@ -3063,14 +3123,15 @@ class ConsoleSupervisor
|
|||
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.SYNCQUEUE.STATUS.'.$node_id,
|
||||
'title' => __('Node %s sync queue failed, ', $node->server_name()),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.SYNCQUEUE.STATUS.'.$node_id,
|
||||
'title' => __('Node %s sync queue failed, ', $node->server_name()),
|
||||
'message' => __(
|
||||
'Node %s cannot process synchronization queue due %s, please check the queue status.',
|
||||
$node->server_name(),
|
||||
$item->error()
|
||||
),
|
||||
'url' => $url,
|
||||
'url' => $url,
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
} catch (\Exception $e) {
|
||||
|
@ -3096,13 +3157,14 @@ class ConsoleSupervisor
|
|||
if ($error_dependecies > 0) {
|
||||
$this->notify(
|
||||
[
|
||||
'type' => 'NOTIF.AGENT.LIBRARY',
|
||||
'title' => __('Agent dependency error'),
|
||||
'message' => __(
|
||||
'type' => 'NOTIF.AGENT.LIBRARY',
|
||||
'title' => __('Agent dependency error'),
|
||||
'message' => __(
|
||||
'There are omnishell agents with dependency errors',
|
||||
),
|
||||
|
||||
'url' => '__url__/index.php?sec=gextensions&sec2=enterprise/tools/omnishell',
|
||||
'url' => '__url__/index.php?sec=gextensions&sec2=enterprise/tools/omnishell',
|
||||
'icon_notification' => self::ICON_ERROR,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
*/
|
||||
|
||||
require_once $config['homedir'].'/include/functions_messages.php';
|
||||
require_once __DIR__.'/class/ConsoleSupervisor.php';
|
||||
|
||||
define('NOTIFICATIONS_POSTPONE_FOREVER', -1);
|
||||
|
||||
|
@ -1265,6 +1266,12 @@ function notifications_print_dropdown_element($message_info)
|
|||
$body_preview .= __('. Read More...');
|
||||
}
|
||||
|
||||
$icon_notification = ConsoleSupervisor::ICON_INFORMATION;
|
||||
|
||||
if (isset($message_info['icon_notification']) === true && empty($message_info['icon_notification']) === false) {
|
||||
$icon_notification = $message_info['icon_notification'];
|
||||
}
|
||||
|
||||
return sprintf(
|
||||
"<a
|
||||
class='notification-item'
|
||||
|
@ -1289,7 +1296,7 @@ function notifications_print_dropdown_element($message_info)
|
|||
$type,
|
||||
messages_get_url($message_info['id_mensaje']),
|
||||
$target,
|
||||
html_print_image('images/info.svg', true, ['style' => 'height: 40px;margin-left: -20px;margin-top: -40px;']),
|
||||
html_print_image($icon_notification, true, ['style' => 'height: 56px; padding: 0px;']),
|
||||
io_safe_output($message_info['subject']),
|
||||
$body_preview
|
||||
);
|
||||
|
|
|
@ -4992,7 +4992,7 @@ div#dialog_messages table th:last-child {
|
|||
}
|
||||
|
||||
.notification-item > * {
|
||||
padding-left: 15px;
|
||||
padding-left: 7px;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
|
@ -5018,6 +5018,10 @@ div#dialog_messages table th:last-child {
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
.notification-subtitle {
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.notification-subtitle,
|
||||
.color-black-grey {
|
||||
color: #373737;
|
||||
|
|
|
@ -1395,6 +1395,7 @@ CREATE TABLE IF NOT EXISTS `tmensajes` (
|
|||
`subject` VARCHAR(255) NOT NULL DEFAULT '',
|
||||
`estado` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`url` TEXT,
|
||||
`icon_notification` VARCHAR(250) DEFAULT NULL,
|
||||
`response_mode` VARCHAR(200) DEFAULT NULL,
|
||||
`citicity` INT UNSIGNED DEFAULT 0,
|
||||
`id_source` BIGINT UNSIGNED NOT NULL,
|
||||
|
|