<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>@Sukhdev Mohan</p>
<p>See here (you can see what needs to be improved)</p>
<p><a href="https://insight.symfony.com/projects/df801b71-93c7-42cc-b67c-eba1e9e02e37/analyses/1?status=stats">https://insight.symfony.com/projects/df801b71-93c7-42cc-b67c-eba1e9e02e37/analyses/1?status=stats</a> </p>
<p><a href="https://insight.symfony.com/projects/df801b71-93c7-42cc-b67c-eba1e9e02e37/analyses/1">https://insight.symfony.com/projects/df801b71-93c7-42cc-b67c-eba1e9e02e37/analyses/1</a> </p>
<div id="signature">--<br />
<div class="pre global">
<div style="padding: 0px 5px;">
<div style="font-family: Tahoma, Geneva, sans-serif; font-size: 12.5px; color: #01374d; font-weight: 200;">Z poważaniem / Kind regards</div>
<div style="padding-top: 7px; font-family: Tahoma, Geneva, sans-serif; font-size: 21.67px; color: #01374d; font-weight: bold;">Mariusz Krzaczkowski</div>
<div style="padding-top: 4px; font-family: Tahoma, Geneva, sans-serif; font-size: 14.17px; color: #93cfd8; font-weight: bold;">Director of Product Development</div>
<div style="padding-top: 8px; font-family: Tahoma, Geneva, sans-serif; font-size: 10px; color: #01374d; font-weight: 400;"><span style="margin-right: 6px;"><a style="color: #01374d; text-decoration: none;">+48 884 998 123</a></span> | <span style="margin-left: 6px;"> <a style="color: #01374d; text-decoration: none;">m.krzaczkowski@yetiforce.com</a></span></div>
<div style="padding-top: 6px; padding-bottom: 11px;"><a style="font-family: Tahoma, Geneva, sans-serif; font-size: 10px; color: #01374d; font-weight: bold; text-decoration: none;">www.yetiforce.com</a></div>
<div style="width: 70px; height: 4px; background: #ebebeb;"> </div>
<div style="padding-top: 18px;">
<table style="border-collapse: collapse; border-spacing: 0;" border="0" cellspacing="0">
<tbody>
<tr>
<td><a style="text-decoration: none;"><img style="font-family: Tahoma, Geneva, sans-serif; font-weight: 400; font-size: 12px; color: #01374d; border: none;" src="cid:0a6d45ea97c06d918b1bc5b8dbeaf45a@yetiforce.com" alt="YetiForce" /></a></td>
<td><img src="cid:5c55cc0184240cd9e9107fbf63781cd7@yetiforce.com" alt="" /></td>
<td style="padding-right: 12px;"><a style="text-decoration: none;" href="https://linkedin.com/company/yetiforce" target="_blank" rel="noreferrer noopener"><img style="font-family: Tahoma, Geneva, sans-serif; font-weight: 400; font-size: 12px; color: #01374d; border: none;" src="cid:24e87b3bf5a169d556f3f04ee395b2d3@yetiforce.com" alt="linkedin" /></a></td>
<td style="padding-right: 12px;"><a style="text-decoration: none;" href="https://facebook.com/YetiForceCRM/" target="_blank" rel="noreferrer noopener"><img style="font-family: Tahoma, Geneva, sans-serif; font-weight: 400; font-size: 12px; color: #01374d; border: none;" src="cid:86c867ecffbbc82ddf04c5ffd7dde22c@yetiforce.com" alt="facebook" /></a></td>
<td style="padding-right: 12px;"><a style="text-decoration: none;" href="https://twitter.com/yetiforceen" target="_blank" rel="noreferrer noopener"><img style="font-family: Tahoma, Geneva, sans-serif; font-weight: 400; font-size: 12px; color: #01374d; border: none;" src="cid:c1f059318d10cec7d927caab1382e302@yetiforce.com" alt="twitter" /></a></td>
<td style="padding-right: 12px;"><a style="text-decoration: none;" href="https://www.youtube.com/channel/UCnt7DLyYtcSBkC2sk2CJBXw" target="_blank" rel="noreferrer noopener"><img style="font-family: Tahoma, Geneva, sans-serif; font-weight: 400; font-size: 12px; color: #01374d; border: none;" src="cid:9fe5767b8c1f4dff10c379158aa23559@yetiforce.com" alt="youtube" /></a></td>
<td><a style="text-decoration: none;" href="https://github.com/YetiForceCompany/YetiForceCRM" target="_blank" rel="noreferrer noopener"><img style="font-family: Tahoma, Geneva, sans-serif; font-weight: 400; font-size: 12px; color: #01374d; border: none;" src="cid:3fa545cd024e80d9503940b0ebbf14e5@yetiforce.com" alt="github" /></a></td>
</tr>
</tbody>
</table>
</div>
<div style="padding-top: 13px; font-family: Tahoma, Geneva, sans-serif; font-size: 10px; font-weight: bold; max-width: 620px; border: none;"><img title="Nagrody / Awards" src="cid:3260ac43b911e195cbed752f4d5fb38c@yetiforce.com" alt="Nagrody / Awards: HIGH PERFORMER IN CRM CATEGORY, MOST AFFORDABLE CRM SYSTEM IN THE WORLD IN 2017, SUPPLIER OF THE YEAR 2017 IN THE IT CATEGORY, GUARANTEE OF USER SATISFACTION, RISING STAR AMONG CRM SYSTEMS, PLATINIUM MEDAL FROM THE SENSIOLABINSIGHTS" /></div>
<div style="padding-top: 6px; font-family: Tahoma, Geneva, sans-serif; font-size: 9px; color: #01374d; font-weight: 200; font-style: italic; max-width: 608px; line-height: 1.2;">The content of this message is confidential and must not be disclosed. If the recipient of this message is not the intended recipient, employee, or intermediary authorized to forward it to the intended recipient, please note that all distribution, copying, or any other use of this message is forbidden. If you received this message by mistake, please inform the sender immediately by responding to this message, and delete all copies of this message.</div>
</div>
</div>
</div>
<p><br /></p>
<p id="reply-intro">W dniu 2021-08-02 08:43, Prasad napisał(a):</p>
<blockquote type="cite" style="padding: 0 0.4em; border-left: #1010ff 2px solid; margin: 0">
<div id="replybody1">
<div dir="ltr">
<div class="v1gmail_default" style="font-family: arial,helvetica,sans-serif;">Great to hear that.</div>
</div>
<br />
<div class="v1gmail_quote">
<div class="v1gmail_attr" dir="ltr">On Mon, Aug 2, 2021 at 11:28 AM Sukhdev Mohan <<a href="mailto:s.mohan@myti.it" rel="noreferrer">s.mohan@myti.it</a>> wrote:</div>
<blockquote class="v1gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div dir="auto">I've just done a preliminary analysis. Work has yet to be started, given that there is a lot to work on, there will be MRs coming your way. It should be a team effort thoughm</div>
<br />
<div class="v1gmail_quote">
<div class="v1gmail_attr" dir="ltr">Il lun 2 ago 2021, 07:42 Prasad <<a href="mailto:prasad@vtiger.com" rel="noreferrer">prasad@vtiger.com</a>> ha scritto:</div>
<blockquote class="v1gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div dir="ltr">
<div class="v1gmail_default" style="font-family: arial,helvetica,sans-serif;">Submit MR to increase the compatibility.</div>
</div>
<br />
<div class="v1gmail_quote">
<div class="v1gmail_attr" dir="ltr">On Mon, Aug 2, 2021 at 2:59 AM Sukhdev Mohan <<a href="mailto:s.mohan@myti.it" rel="noreferrer">s.mohan@myti.it</a>> wrote:</div>
<blockquote class="v1gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">
<div>
<div>
<div dir="auto">Hi all,<br /><br />I've done a static analysis for the new release. The idea is to highlight are of interventions, defining a starting point to decrease the technical debt this project has piled up.<br /><br />I've tried to run the project (clean install) with php7.4 and mysql 8 + docker, install started unfortunately I had 504 during the installation but I'm working on it, when it's finished I'll be sharing my GitHub repo with a working docker file with LEMP. I've tried PHP8 too just out of curiosity. As expected it doesn't even launch the wizard: a lot of fatal errors. For the moment I can tell these 2:<br />1. PearDatabase: use of curly braces instead of []<br />2. AntlrLexer: them Ian class seems to be extending a base class but it's following the definition in the base class for matchAny and Re. I couldn't find the php version for this project, so if you guys wrote it, look at it.<br /><br />Now coming back to static Analysis, I've done it with PHPInsights for the modules folder (launch this command from cam root folder - after install through composer - : php -d memory_limit=4000M ./vendor/bin/phpinsights analyse modules ), you can find it zipped as a json file, the tool did truncated some but since it's easy to launch please do relaunch it. - although it will take a bit... the generated file is about 85MB...<br /><br />Some thoughts:<br />As expected there is no proper implementation of  OOP (No visibility keywords, no namespaces), there is extensive use of global variables and super global variables such as $_REQUEST - which is needless to say harmful. Other than this there are too many nested loops (in some part nested loop level is 7 whereas recommended is 2 or 3, this has huge implications on performance!), many declared and unused variables.<br /><br />It's safe to say that if PHP7.4 is still letting some of the old practices go on, PHP8 will break the code badly, since most of the code is legacy. I was hoping that at least there would be composer but that's for the next release, hopefully.<br /><br />What are your thoughts? How can we start to approach?</div>
</div>
<div><br />
<div><span style="color: #c6c6c6;"><strong><span>Sukhdev Mohan</span></strong></span><span></span><br /><span style="color: #999999;"><strong><span>Developer</span></strong></span></div>
</div>
</div>
_______________________________________________<br /><a href="http://www.vtiger.com/" target="_blank" rel="noopener noreferrer">http://www.vtiger.com/</a></blockquote>
</div>
_______________________________________________<br /><a href="http://www.vtiger.com/" target="_blank" rel="noopener noreferrer">http://www.vtiger.com/</a></blockquote>
</div>
_______________________________________________<br /><a href="http://www.vtiger.com/" target="_blank" rel="noopener noreferrer">http://www.vtiger.com/</a></blockquote>
</div>
</div>
<br />
<div class="pre" style="margin: 0; padding: 0; font-family: monospace">_______________________________________________<br /><a href="http://www.vtiger.com/" target="_blank" rel="noopener noreferrer">http://www.vtiger.com/</a></div>
</blockquote>
</body></html>