Skip to content

Commit

Permalink
Qual: Fix phan/phpstan notices
Browse files Browse the repository at this point in the history
# Qual: Fix phan/phpstan notices

Fix several phan and phpstan notices.
  • Loading branch information
mdeweerd committed Oct 6, 2024
1 parent a7cbf6e commit e6427d9
Show file tree
Hide file tree
Showing 34 changed files with 418 additions and 124 deletions.
52 changes: 19 additions & 33 deletions dev/tools/phan/baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
*/
return [
// # Issue statistics:
// PhanPluginUnknownPropertyType : 1070+ occurrences
// PhanPluginUnknownPropertyType : 1000+ occurrences
// PhanUndeclaredProperty : 840+ occurrences
// PhanPossiblyUndeclaredGlobalVariable : 640+ occurrences
// PhanTypeMismatchArgumentProbablyReal : 480+ occurrences
// PhanUndeclaredGlobalVariable : 420+ occurrences
// PhanPluginUnknownArrayMethodReturnType : 400+ occurrences
// PhanPluginUnknownArrayMethodParamType : 300+ occurrences
// PhanPossiblyUndeclaredGlobalVariable : 630+ occurrences
// PhanTypeMismatchArgumentProbablyReal : 470+ occurrences
// PhanUndeclaredGlobalVariable : 410+ occurrences
// PhanPluginUnknownArrayMethodReturnType : 380+ occurrences
// PhanPluginUnknownArrayMethodParamType : 290+ occurrences
// PhanPossiblyUndeclaredVariable : 260+ occurrences
// PhanTypeMismatchProperty : 180+ occurrences
// PhanPluginUnknownArrayFunctionReturnType : 140+ occurrences
Expand All @@ -26,9 +26,9 @@ return [
// PhanPluginEmptyStatementIf : 50+ occurrences
// PhanRedefineFunction : 50+ occurrences
// PhanTypeSuspiciousNonTraversableForeach : 50+ occurrences
// PhanPluginUnknownObjectMethodCall : 35+ occurrences
// PhanTypeInvalidDimOffset : 35+ occurrences
// PhanTypeMismatchDimFetch : 30+ occurrences
// PhanPluginUnknownObjectMethodCall : 25+ occurrences
// PhanTypeExpectedObjectPropAccess : 25+ occurrences
// PhanTypeComparisonFromArray : 15+ occurrences
// PhanUndeclaredConstant : 15+ occurrences
Expand All @@ -41,12 +41,11 @@ return [
// PhanPluginBothLiteralsBinaryOp : 8 occurrences
// PhanPluginDuplicateExpressionBinaryOp : 7 occurrences
// PhanParamTooMany : 5 occurrences
// PhanTypeExpectedObjectPropAccessButGotNull : 5 occurrences
// PhanPluginDuplicateArrayKey : 4 occurrences
// PhanTypeExpectedObjectPropAccessButGotNull : 4 occurrences
// PhanEmptyFQSENInClasslike : 3 occurrences
// PhanInvalidFQSENInClasslike : 3 occurrences
// PhanAccessMethodProtected : 1 occurrence
// PhanTypeMismatchArgumentInternal : 1 occurrence

// Currently, file_suppressions and directory_suppressions are the only supported suppressions
'file_suppressions' => [
Expand Down Expand Up @@ -379,7 +378,6 @@ return [
'htdocs/core/lib/product.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType', 'PhanPossiblyUndeclaredVariable'],
'htdocs/core/lib/project.lib.php' => ['PhanUndeclaredProperty'],
'htdocs/core/lib/receiptprinter.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
'htdocs/core/lib/reception.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
'htdocs/core/lib/report.lib.php' => ['PhanPluginUnknownArrayFunctionParamType'],
'htdocs/core/lib/resource.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
'htdocs/core/lib/salaries.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
Expand Down Expand Up @@ -674,7 +672,6 @@ return [
'htdocs/loan/payment/payment.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/loan/schedule.php' => ['PhanUndeclaredGlobalVariable'],
'htdocs/mailmanspip/class/mailmanspip.class.php' => ['PhanPluginUnknownArrayPropertyType'],
'htdocs/main.inc.php' => ['PhanTypeMismatchArgumentInternal'],
'htdocs/margin/customerMargins.php' => ['PhanTypeMismatchArgumentProbablyReal'],
'htdocs/margin/lib/margins.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
'htdocs/margin/productMargins.php' => ['PhanTypeMismatchArgumentProbablyReal'],
Expand Down Expand Up @@ -807,8 +804,8 @@ return [
'htdocs/public/payment/paymentok.php' => ['PhanPluginSuspiciousParamPosition', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeExpectedObjectPropAccess', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/project/index.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/project/new.php' => ['PhanRedefineFunction', 'PhanUndeclaredProperty'],
'htdocs/public/project/suggestbooth.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanRedefineFunction', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/public/project/suggestconference.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanRedefineFunction', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/public/project/suggestbooth.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/public/project/suggestconference.php' => ['PhanRedefineFunction', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/public/project/viewandvote.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/recruitment/view.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/stripe/ipn.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanTypeMismatchProperty', 'PhanUndeclaredGlobalVariable'],
Expand All @@ -817,43 +814,32 @@ return [
'htdocs/public/ticket/create_ticket.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchDimFetchNullable', 'PhanTypeMismatchProperty'],
'htdocs/public/ticket/list.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
'htdocs/public/ticket/view.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
'htdocs/public/webportal/index.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/webportal/tpl/hero-header-banner.tpl.php' => ['PhanTypeExpectedObjectPropAccessButGotNull', 'PhanUndeclaredGlobalVariable'],
'htdocs/public/webportal/tpl/menu.tpl.php' => ['PhanUndeclaredProperty'],
'htdocs/public/webportal/webportal.main.inc.php' => ['PhanPossiblyNullTypeMismatchProperty', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanRedefineFunction'],
'htdocs/public/website/index.php' => ['PhanRedefineFunction', 'PhanTypeMismatchArgumentProbablyReal'],
'htdocs/public/website/javascript.js.php' => ['PhanRedefineFunction'],
'htdocs/public/website/styles.css.php' => ['PhanRedefineFunction'],
'htdocs/reception/card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/reception/class/api_receptions.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
'htdocs/reception/class/reception.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
'htdocs/reception/class/receptionlinebatch.class.php' => ['PhanPluginUnknownPropertyType'],
'htdocs/reception/class/receptionstats.class.php' => ['PhanPluginUnknownArrayMethodReturnType', 'PhanPluginUnknownPropertyType'],
'htdocs/reception/class/reception.class.php' => ['PhanUndeclaredProperty'],
'htdocs/reception/class/receptionstats.class.php' => ['PhanPluginUnknownPropertyType'],
'htdocs/reception/contact.php' => ['PhanPossiblyUndeclaredGlobalVariable'],
'htdocs/reception/dispatch.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal'],
'htdocs/reception/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPluginUnknownObjectMethodCall', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/reception/list.php' => ['PhanPluginUndeclaredVariableIsset', 'PhanPossiblyUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/reception/note.php' => ['PhanUndeclaredGlobalVariable'],
'htdocs/reception/tpl/linkedobjectblock.tpl.php' => ['PhanUndeclaredProperty'],
'htdocs/recruitment/admin/setup.php' => ['PhanEmptyForeach', 'PhanPluginUnknownObjectMethodCall'],
'htdocs/recruitment/admin/setup.php' => ['PhanEmptyForeach'],
'htdocs/recruitment/admin/setup_candidatures.php' => ['PhanEmptyForeach', 'PhanPluginUnknownObjectMethodCall'],
'htdocs/recruitment/class/api_recruitments.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownArrayMethodReturnType'],
'htdocs/recruitment/class/recruitmentcandidature.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
'htdocs/recruitment/class/recruitmentjobposition.class.php' => ['PhanPluginUnknownArrayMethodParamType', 'PhanPluginUnknownObjectMethodCall', 'PhanPluginUnknownPropertyType', 'PhanUndeclaredProperty'],
'htdocs/recruitment/class/recruitmentcandidature.class.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredProperty'],
'htdocs/recruitment/class/recruitmentjobposition.class.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredProperty'],
'htdocs/recruitment/core/modules/recruitment/doc/pdf_standard_recruitmentjobposition.modules.php' => ['PhanPluginUnknownArrayPropertyType', 'PhanPossiblyUndeclaredVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
'htdocs/recruitment/core/modules/recruitment/mod_recruitmentcandidature_advanced.php' => ['PhanUndeclaredProperty'],
'htdocs/recruitment/core/modules/recruitment/mod_recruitmentjobposition_advanced.php' => ['PhanUndeclaredProperty'],
'htdocs/recruitment/index.php' => ['PhanUndeclaredGlobalVariable'],
'htdocs/recruitment/lib/recruitment.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
'htdocs/recruitment/lib/recruitment_recruitmentcandidature.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
'htdocs/recruitment/lib/recruitment_recruitmentjobposition.lib.php' => ['PhanPluginUnknownArrayFunctionReturnType'],
'htdocs/recruitment/recruitmentcandidature_agenda.php' => ['PhanTypeMismatchArgumentProbablyReal'],
'htdocs/recruitment/recruitmentcandidature_card.php' => ['PhanPossiblyUndeclaredGlobalVariable', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredProperty'],
'htdocs/recruitment/recruitmentcandidature_document.php' => ['PhanTypeMismatchArgumentProbablyReal'],
'htdocs/recruitment/recruitmentcandidature_list.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/recruitment/recruitmentcandidature_note.php' => ['PhanTypeMismatchArgumentProbablyReal'],
'htdocs/recruitment/recruitmentcandidature_list.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/recruitment/recruitmentjobposition_agenda.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable'],
'htdocs/recruitment/recruitmentjobposition_applications.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/recruitment/recruitmentjobposition_card.php' => ['PhanTypeMismatchArgumentProbablyReal', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/recruitment/recruitmentjobposition_applications.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/recruitment/recruitmentjobposition_card.php' => ['PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/recruitment/recruitmentjobposition_document.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
'htdocs/recruitment/recruitmentjobposition_list.php' => ['PhanTypeMismatchArgumentProbablyReal'],
'htdocs/recruitment/recruitmentjobposition_note.php' => ['PhanPluginUnknownObjectMethodCall', 'PhanUndeclaredGlobalVariable', 'PhanUndeclaredProperty'],
Expand Down
2 changes: 1 addition & 1 deletion htdocs/core/lib/reception.lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ function reception_prepare_head(Reception $object)
/**
* Return array head with list of tabs to view object information.
*
* @return array head array with tabs
* @return array<array{0:string,1:string,2:string}> head array with tabs
*/
function reception_admin_prepare_head()
{
Expand Down
6 changes: 6 additions & 0 deletions htdocs/core/modules/reception/mod_reception_beryl.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,14 @@
class mod_reception_beryl extends ModelNumRefReception
{
public $version = 'dolibarr';
/**
* @var string
*/
public $prefix = 'RCP';
public $error = '';
/**
* @var string
*/
public $nom = 'Beryl';


Expand Down
3 changes: 3 additions & 0 deletions htdocs/core/modules/reception/mod_reception_moonstone.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ class mod_reception_moonstone extends ModelNumRefReception
{
public $version = 'dolibarr';
public $error = '';
/**
* @var string
*/
public $nom = 'Moonstone';

/**
Expand Down
3 changes: 3 additions & 0 deletions htdocs/fourn/class/fournisseur.commande.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,9 @@ class CommandeFournisseur extends CommonOrder
* @var int Date of the purchase order payment deadline
*/
public $date_lim_reglement;
/**
* @var array<int,float>
*/
public $receptions = array();

// Multicurrency
Expand Down
11 changes: 7 additions & 4 deletions htdocs/product/class/product.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,9 @@ class Product extends CommonObject
public $stats_proposal_supplier = array();
public $stats_commande_fournisseur = array();
public $stats_expedition = array();
/**
* @var array{}|array{suppliers:int,nb:int,rows:int,qty:int|float}
*/
public $stats_reception = array();
public $stats_mo = array();
public $stats_bom = array();
Expand Down Expand Up @@ -3765,11 +3768,11 @@ public function load_stats_sending($socid = 0, $filtrestatut = '', $forVirtualSt
/**
* Charge tableau des stats réception fournisseur pour le produit/service
*
* @param int $socid Id thirdparty to filter on a thirdparty
* @param string $filtrestatut Id status to filter on a status
* @param int $forVirtualStock Ignore rights filter for virtual stock calculation.
* @param int $socid Id thirdparty to filter on a thirdparty
* @param string $filtrestatut Id status to filter on a status
* @param int $forVirtualStock Ignore rights filter for virtual stock calculation.
* @param int $dateofvirtualstock Date of virtual stock
* @return int Array of stats in $this->stats_reception, <0 if ko or >0 if ok
* @return int Array of stats in $this->stats_reception, <0 if ko or >0 if ok
*/
public function load_stats_reception($socid = 0, $filtrestatut = '', $forVirtualStock = 0, $dateofvirtualstock = null)
{
Expand Down
16 changes: 11 additions & 5 deletions htdocs/public/project/suggestbooth.php
Original file line number Diff line number Diff line change
Expand Up @@ -233,10 +233,11 @@ function llxFooterVierge()
$errmsg .= $langs->trans("ErrorBadEMail", GETPOST("email"))."<br>\n";
}

$thirdparty = null;
if (!$error) {
// Getting the thirdparty or creating it
$thirdparty = new Societe($db);
$resultfetchthirdparty = $thirdparty->fetch('', $societe);
$resultfetchthirdparty = $thirdparty->fetch(0, $societe);

if ($resultfetchthirdparty < 0) {
// If an error was found
Expand Down Expand Up @@ -274,6 +275,7 @@ function llxFooterVierge()
}
}
$modCodeClient = new $module($db);
'@phan-var-force ModeleThirdPartyCode $modCodeClient';

if (empty($tmpcode) && !empty($modCodeClient->code_auto)) {
$tmpcode = $modCodeClient->getNextValue($thirdparty, 0);
Expand All @@ -292,7 +294,7 @@ function llxFooterVierge()
// From there we have a thirdparty, now looking for the contact
if (!$error) {
$contact = new Contact($db);
$resultcontact = $contact->fetch('', '', '', $email);
$resultcontact = $contact->fetch(0, null, '', $email);
if ($resultcontact <= 0) {
// Need to create a contact
$contact->socid = $thirdparty->id;
Expand Down Expand Up @@ -344,6 +346,7 @@ function llxFooterVierge()
}
}
$modCodeFournisseur = new $module($db);
'@phan-var-force ModeleThirdPartyCode $modCodeFournisseur';
if (empty($tmpcode) && !empty($modCodeFournisseur->code_auto)) {
$tmpcode = $modCodeFournisseur->getNextValue($thirdparty, 1);
}
Expand Down Expand Up @@ -416,6 +419,7 @@ function llxFooterVierge()
$errmsg .= $conforbooth->error;
} else {
// If this is a paying booth, we have to redirect to payment page and create an invoice
$facture = null;
if (!empty((float) $project->price_booth)) {
$productforinvoicerow = new Product($db);
$resultprod = $productforinvoicerow->fetch(getDolGlobalString('SERVICE_BOOTH_LOCATION'));
Expand Down Expand Up @@ -451,10 +455,10 @@ function llxFooterVierge()
}
}

if (!$error) {
if (!$error && is_object($facture)) {
// Add line to draft invoice
$vattouse = get_default_tva($mysoc, $thirdparty, $productforinvoicerow->id);
$result = $facture->addline($langs->trans("BoothLocationFee", $conforbooth->label, dol_print_date($conforbooth->datep, '%d/%m/%y %H:%M:%S'), dol_print_date($conforbooth->datep2, '%d/%m/%y %H:%M:%S')), (float) $project->price_booth, 1, $vattouse, 0, 0, $productforinvoicerow->id, 0, dol_now(), '', 0, 0, '', 'HT', 0, 1);
$result = $facture->addline($langs->trans("BoothLocationFee", $conforbooth->label, dol_print_date($conforbooth->datep, '%d/%m/%y %H:%M:%S'), dol_print_date($conforbooth->datep2, '%d/%m/%y %H:%M:%S')), (float) $project->price_booth, 1, $vattouse, 0, 0, $productforinvoicerow->id, 0, dol_now(), '', 0, 0, 0, 'HT', 0, 1);
if ($result <= 0) {
$contact->error = $facture->error;
$contact->errors = $facture->errors;
Expand Down Expand Up @@ -486,7 +490,7 @@ function llxFooterVierge()
}
}

if (!$error) {
if (!$error && is_object($thirdparty)) {
$db->commit();

// Sending mail
Expand All @@ -506,6 +510,8 @@ function llxFooterVierge()
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $labeltouse, 1, '');
}

$subject = '';
$msg = '';
if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
$subject = $arraydefaultmessage->topic;
$msg = $arraydefaultmessage->content;
Expand Down
9 changes: 7 additions & 2 deletions htdocs/public/project/suggestconference.php
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ function llxFooterVierge()
if (!$error) {
// Getting the thirdparty or creating it
$thirdparty = new Societe($db);
$resultfetchthirdparty = $thirdparty->fetch('', $societe);
$resultfetchthirdparty = $thirdparty->fetch(0, $societe);

if ($resultfetchthirdparty < 0) {
// If an error was found
Expand Down Expand Up @@ -275,6 +275,7 @@ function llxFooterVierge()
}
}
$modCodeClient = new $module($db);
'@phan-var-force ModeleThirdPartyCode $modCodeClient';

if (empty($tmpcode) && !empty($modCodeClient->code_auto)) {
$tmpcode = $modCodeClient->getNextValue($thirdparty, 0);
Expand All @@ -293,7 +294,7 @@ function llxFooterVierge()
// From there we have a thirdparty, now looking for the contact
if (!$error) {
$contact = new Contact($db);
$resultcontact = $contact->fetch('', '', '', $email);
$resultcontact = $contact->fetch(0, null, '', $email);
if ($resultcontact <= 0) {
// Need to create a contact
$contact->socid = $thirdparty->id;
Expand Down Expand Up @@ -344,6 +345,8 @@ function llxFooterVierge()
}
}
$modCodeFournisseur = new $module($db);
'@phan-var-force ModeleThirdPartyCode $modCodeFournisseur';

if (empty($tmpcode) && !empty($modCodeFournisseur->code_auto)) {
$tmpcode = $modCodeFournisseur->getNextValue($thirdparty, 1);
}
Expand Down Expand Up @@ -437,6 +440,8 @@ function llxFooterVierge()
$arraydefaultmessage = $formmail->getEMailTemplate($db, 'conferenceorbooth', $user, $outputlangs, $labeltouse, 1, '');
}

$subject = '';
$msg = '';
if (!empty($labeltouse) && is_object($arraydefaultmessage) && $arraydefaultmessage->id > 0) {
$subject = $arraydefaultmessage->topic;
$msg = $arraydefaultmessage->content;
Expand Down
Loading

0 comments on commit e6427d9

Please sign in to comment.