YetiForceCompany / YetiForceCRM

Our team created for you one of the most innovative CRM systems that supports mainly business processes and allows for customization according to your needs. Be ahead of your competition and implement YetiForce!
https://yetiforce.com
Other
1.72k stars 746 forks source link

[4.3.345][Image file / Multi image files]Fatal error when uploading image in a clean installation, but if it works in gitdeveloper.yetiforce.com #6848

Closed WalterLuis closed 6 years ago

WalterLuis commented 6 years ago

Issue

  ( ! ) Fatal error: Uncaught TypeError: Argument 1 passed to App\Fields\File::getUploadFile() must be of the type string, null given, called in app\Fields\File.php on line 1012 and defined in app\Fields\File.php on line 1046
  --
  1 | 0.0012 | 407152 | {main}( ) | ...\index.php:0
  2 | 0.0021 | 412632 | require( 'C:\wamp\vhosts\crm2test\index.php' ) | ...\index.php:11
  3 | 0.0745 | 3946744 | Vtiger_WebUI->process( ) | ...\index.php:25
  4 | 0.1937 | 9711416 | Contacts_Save_Action->process( ) | ...\WebUI.php:184
  5 | 0.1937 | 9711736 | Contacts_Save_Action->process( ) | ...\Save.php:25
  6 | 0.1937 | 9711736 | Contacts_Save_Action->saveRecord( ) | ...\Save.php:58
  7 | 0.1937 | 9711736 | Contacts_Save_Action->getRecordModelFromRequest( ) | ...\Save.php:79
  8 | 0.2857 | 11676712 | Vtiger_Image_UIType->setValueFromRequest( ) | ...\Save.php:111
  9 | 0.2915 | 11894616 | App\Fields\File::updateUploadFiles( ) | ...\MultiImage.php:25
  10 | 0.2915 | 11894992 | App\Fields\File::getUploadFile( ) | ...\File.php:1012

Actual Behavior

using the default field of "Contacts": https://puu.sh/ApQ9s/ff00c7283e.mp4

using the custom fields (Image file / Multi image files) "Accounts": https://puu.sh/ApQa1/9b4649e737.mp4

chrome_2018-05-20_21-57-02

cache/logs/system.log

(the only error file that was generated when the image was uploaded)

2018-05-20 22:09:32.8287 [info][yii\db\Command::query] - SELECT * FROM `vtiger_tab`
2018-05-20 22:09:32.8288 [info][yii\db\Connection::open] - Opening DB connection: mysql:host=localhost;dbname=yetiforce;port=3306
2018-05-20 22:09:32.833 [info][yii\db\Command::query] - SELECT * FROM `vtiger_entityname`
2018-05-20 22:09:32.8385 [trace] - Entering getColumnFields(Contacts) method ...
2018-05-20 22:09:32.8409 [info][yii\db\Command::query] - SELECT * FROM `vtiger_field` WHERE `tabid`=4
2018-05-20 22:09:32.8428 [trace] - Exiting getColumnFields method ...
2018-05-20 22:09:32.847 [info][yii\db\Command::query] - SELECT `vtiger_contactdetails`.`salutation` AS `vtiger_contactdetailssalutationtype`, `vtiger_contactdetails`.`firstname` AS `vtiger_contactdetailsfirstname`, `vtiger_contactdetails`.`contact_no` AS `vtiger_contactdetailscontact_no`, `vtiger_contactdetails`.`phone` AS `vtiger_contactdetailsphone`, `vtiger_contactdetails`.`lastname` AS `vtiger_contactdetailslastname`, `vtiger_contactdetails`.`mobile` AS `vtiger_contactdetailsmobile`, `vtiger_contactdetails`.`parentid` AS `vtiger_contactdetailsparent_id`, `vtiger_contactsubdetails`.`leadsource` AS `vtiger_contactsubdetailsleadsource`, `vtiger_contactsubdetails`.`birthday` AS `vtiger_contactsubdetailsbirthday`, `vtiger_contactdetails`.`email` AS `vtiger_contactdetailsemail`, `vtiger_contactdetails`.`reportsto` AS `vtiger_contactdetailscontact_id`, `vtiger_contactdetails`.`donotcall` AS `vtiger_contactdetailsdonotcall`, `vtiger_contactdetails`.`emailoptout` AS `vtiger_contactdetailsemailoptout`, `vtiger_crmentity`.`smownerid` AS `vtiger_crmentityassigned_user_id`, `vtiger_crmentity`.`createdtime` AS `vtiger_crmentitycreatedtime`, `vtiger_crmentity`.`modifiedtime` AS `vtiger_crmentitymodifiedtime`, `vtiger_crmentity`.`modifiedby` AS `vtiger_crmentitymodifiedby`, `vtiger_customerdetails`.`portal` AS `vtiger_customerdetailsportal`, `vtiger_customerdetails`.`support_start_date` AS `vtiger_customerdetailssupport_start_date`, `vtiger_customerdetails`.`support_end_date` AS `vtiger_customerdetailssupport_end_date`, `vtiger_contactdetails`.`imagename` AS `vtiger_contactdetailsimagename`, `vtiger_crmentity`.`description` AS `vtiger_crmentitydescription`, `vtiger_contactdetails`.`isconvertedfromlead` AS `vtiger_contactdetailsisconvertedfromlead`, `vtiger_crmentity`.`smcreatorid` AS `vtiger_crmentitycreated_user_id`, `vtiger_contactaddress`.`addresslevel1a` AS `vtiger_contactaddressaddresslevel1a`, `vtiger_contactaddress`.`addresslevel1b` AS `vtiger_contactaddressaddresslevel1b`, `vtiger_contactaddress`.`addresslevel2a` AS `vtiger_contactaddressaddresslevel2a`, `vtiger_contactaddress`.`addresslevel2b` AS `vtiger_contactaddressaddresslevel2b`, `vtiger_contactaddress`.`addresslevel3a` AS `vtiger_contactaddressaddresslevel3a`, `vtiger_contactaddress`.`addresslevel3b` AS `vtiger_contactaddressaddresslevel3b`, `vtiger_contactaddress`.`addresslevel4a` AS `vtiger_contactaddressaddresslevel4a`, `vtiger_contactaddress`.`addresslevel4b` AS `vtiger_contactaddressaddresslevel4b`, `vtiger_contactaddress`.`addresslevel5a` AS `vtiger_contactaddressaddresslevel5a`, `vtiger_contactaddress`.`addresslevel5b` AS `vtiger_contactaddressaddresslevel5b`, `vtiger_contactaddress`.`addresslevel6a` AS `vtiger_contactaddressaddresslevel6a`, `vtiger_contactaddress`.`addresslevel6b` AS `vtiger_contactaddressaddresslevel6b`, `vtiger_contactaddress`.`addresslevel7a` AS `vtiger_contactaddressaddresslevel7a`, `vtiger_contactaddress`.`addresslevel7b` AS `vtiger_contactaddressaddresslevel7b`, `vtiger_contactaddress`.`addresslevel8a` AS `vtiger_contactaddressaddresslevel8a`, `vtiger_contactaddress`.`addresslevel8b` AS `vtiger_contactaddressaddresslevel8b`, `vtiger_contactdetails`.`verification` AS `vtiger_contactdetailsverification`, `vtiger_contactaddress`.`buildingnumbera` AS `vtiger_contactaddressbuildingnumbera`, `vtiger_contactaddress`.`localnumbera` AS `vtiger_contactaddresslocalnumbera`, `vtiger_contactaddress`.`buildingnumberb` AS `vtiger_contactaddressbuildingnumberb`, `vtiger_contactaddress`.`localnumberb` AS `vtiger_contactaddresslocalnumberb`, `vtiger_crmentity`.`attention` AS `vtiger_crmentityattention`, `vtiger_contactdetails`.`secondary_email` AS `vtiger_contactdetailssecondary_email`, `vtiger_crmentity`.`shownerid` AS `vtiger_crmentityshownerid`, `vtiger_contactdetails`.`notifilanguage` AS `vtiger_contactdetailsnotifilanguage`, `vtiger_crmentity`.`closedtime` AS `vtiger_crmentityclosedtime`, `vtiger_contactaddress`.`poboxa` AS `vtiger_contactaddresspoboxa`, `vtiger_contactaddress`.`poboxb` AS `vtiger_contactaddresspoboxb`, `vtiger_contactdetails`.`contactstatus` AS `vtiger_contactdetailscontactstatus`, `vtiger_crmentity`.`was_read` AS `vtiger_crmentitywas_read`, `vtiger_contactdetails`.`jobtitle` AS `vtiger_contactdetailsjobtitle`, `vtiger_contactdetails`.`decision_maker` AS `vtiger_contactdetailsdecision_maker`, `vtiger_contactdetails`.`sum_time` AS `vtiger_contactdetailssum_time`, `vtiger_entity_stats`.`crmactivity` AS `vtiger_entity_statscrmactivity`, `vtiger_contactdetails`.`active` AS `vtiger_contactdetailsactive`, `vtiger_crmentity`.`private` AS `vtiger_crmentityprivate`, `vtiger_contactdetails`.`phone_extra` AS `vtiger_contactdetailsphone_extra`, `vtiger_contactdetails`.`mobile_extra` AS `vtiger_contactdetailsmobile_extra`, `vtiger_crmentity`.`deleted` FROM `vtiger_crmentity` LEFT JOIN `vtiger_contactdetails` ON vtiger_crmentity.crmid = vtiger_contactdetails.contactid LEFT JOIN `vtiger_contactaddress` ON vtiger_crmentity.crmid = vtiger_contactaddress.contactaddressid LEFT JOIN `vtiger_contactsubdetails` ON vtiger_crmentity.crmid = vtiger_contactsubdetails.contactsubscriptionid LEFT JOIN `vtiger_contactscf` ON vtiger_crmentity.crmid = vtiger_contactscf.contactid LEFT JOIN `vtiger_customerdetails` ON vtiger_crmentity.crmid = vtiger_customerdetails.customerid LEFT JOIN `vtiger_entity_stats` ON vtiger_crmentity.crmid = vtiger_entity_stats.crmid WHERE (`vtiger_crmentity`.`crmid`='113') AND (`vtiger_crmentity`.`setype`='Contacts') LIMIT 1
2018-05-20 22:09:32.8488 [info][yii\db\Command::query] - SELECT DISTINCT `userid` FROM `u_yf_crmentity_showners` WHERE `crmid`='113'
2018-05-20 22:09:32.8516 [trace] - Entering isPermitted(Contacts,EditView,113,) method ...
2018-05-20 22:09:32.8529 [info][yii\db\Command::query] - SELECT `crmid`, `setype`, `deleted`, `smcreatorid`, `smownerid`, `createdtime`, `private` FROM `vtiger_crmentity` WHERE `crmid`=113
2018-05-20 22:09:32.8536 [trace] - Exiting isPermitted method ... - SEC_USER_IS_ADMIN
2018-05-20 22:09:32.8607 [info][yii\db\Command::query] - SELECT `workflow_id`, `module_name`, `summary`, `test`, `execution_condition`, `defaultworkflow`, `type`, `filtersavedinnew` FROM `com_vtiger_workflows` WHERE `module_name`='Contacts'
2018-05-20 22:09:32.8618 [trace] - Entering App\Field::getFieldPermission: 4,imagename
2018-05-20 22:09:32.8618 [trace] - Entering App\Field::getFieldsPermissions: 4
2018-05-20 22:09:32.8626 [info][yii\db\Command::query] - SELECT DISTINCT `vtiger_field`.`fieldid`, `vtiger_field`.`fieldname`, `vtiger_field`.`columnname`, `vtiger_profile2field`.`readonly`, `vtiger_profile2field`.`visible` FROM `vtiger_field` INNER JOIN `vtiger_profile2field` ON vtiger_profile2field.fieldid = vtiger_field.fieldid INNER JOIN `vtiger_def_org_field` ON vtiger_def_org_field.fieldid = vtiger_field.fieldid WHERE ((`vtiger_field`.`tabid`=4) AND (`vtiger_profile2field`.`visible`=0) AND (`vtiger_def_org_field`.`visible`=0) AND (`vtiger_field`.`presence` IN (0, 2))) AND (`vtiger_profile2field`.`profileid`=1)
2018-05-20 22:09:32.7398 [info][application] - 
$_GET = [
    'module' => 'Contacts'
    'action' => 'MultiImage'
    'field' => 'imagename'
    'record' => '113'
]
$_POST = []
$_FILES = []
$_COOKIE = [
    'YTSID' => 'cuiMEJJyd9L4ZpzpSLXhmoLxZQWdQoln2YQPSgM,pR1msLcEBuIz5DNGym,wr4dHwMJw-wpo-yLJ41XCqEJKke3gKMQG-rbXNsiAAr3WnLmcQ9NulJlACaDYJkvQp8ZU'
]
$_SESSION = [
    'last_activity' => 1526850557.7373
    'default_language' => 'en_us'
    'config_file_info' => [
        'module' => 'Install'
        'mode' => 'step5'
        'lang' => 'en_us'
        'db_type' => 'mysql'
        'db_hostname' => 'localhost'
        'db_port' => '3306'
        'db_username' => 'root'
        'db_password' => 'pass'
        'db_name' => 'yetiforce'
        'create_db' => 'on'
        'db_root_username' => 'root'
        'db_root_password' => 'demo'
        'currency_name' => 'Euro'
        'user_name' => 'demo'
        'password' => 'demo'
        'retype_password' => 'demo'
        'firstname' => ''
        'lastname' => 'demo'
        'admin_email' => 'demo@itop.es'
        'dateformat' => 'yyyy-mm-dd'
        'timezone' => 'Europe/London'
        'authentication_key' => '35843fb611f1bd6a8d928affabc1306618b2fac8'
        'site_URL' => 'http://crm2.test/'
        'currency_code' => 'EUR'
        'currency_symbol' => '€'
    ]
    'timezone' => 'Europe/London'
    'UserAuthMethod' => 'PASSWORD'
    'authenticated_user_id' => 1
    'app_unique_key' => '9f7f6785276b162421c8685e1a2990425df5e446'
    'user_name' => 'demo'
    'full_user_name' => 'demo'
    'fingerprint' => ''
    'DashBoard' => [
        'Home' => [
            'LastDashBoardId' => 1
        ]
    ]
    'lvs' => [
        'Contacts' => [
            'sortby' => ''
            'sorder' => ''
            'viewname' => 7
        ]
        'Accounts' => [
            'sortby' => ''
            'sorder' => ''
            'viewname' => 4
        ]
    ]
    'SystemWarnings' => true
]
$Libs = [
    0 => 'apcu'
]====================================================================================================================================

Expected Behavior

using your gitdeveloper website: https://puu.sh/ApQaD/3efa1523a3.mp4

chrome_2018-05-20_21-58-15

Your Environment

WalterLuis commented 6 years ago

Add Server Configuration: ServerConfiguration.pdf

simryc commented 6 years ago

When uploading pictures in user profile edit section (https://10.10.50.63/index.php?module=Users&view=PreferenceEdit&record=1) I get Http 500 error

[Fri May 25 23:41:26.979860 2018] [php7:error] [pid 1816] [client 172.25.80.18:63016] PHP Fatal error: Uncaught TypeError: Argument 1 passed to App\Fields\File::getUploadFile() must be of the type string, null given, called in /var/www/html/app/Fields/File.php on line 1012 and defined in /var/www/html/app/Fields/File.php:1046\nStack trace:\n#0 /var/www/html/app/Fields/File.php(1012): App\Fields\File::getUploadFile(NULL)\n#1 /var/www/html/modules/Vtiger/uitypes/MultiImage.php(25): App\Fields\File::updateUploadFiles(Array, Object(Users_Record_Model), Object(Users_Field_Model))\n#2 /var/www/html/modules/Vtiger/actions/Save.php(111): Vtiger_MultiImage_UIType->setValueFromRequest(Object(App\Request), Object(Users_Record_Model))\n#3 /var/www/html/modules/Users/actions/Save.php(45): Vtiger_Save_Action->getRecordModelFromRequest(Object(App\Request))\n#4 /var/www/html/modules/Vtiger/actions/Save.php(79): Users_Save_Action->getRecordModelFromRequest(Object(App\Request))\n#5 /var/www/html/modules/Users/actions/Save.php(89): Vtiger_Save_Action->saveRecord(Object(App\Request))\n#6 /var/www/html/include/main/WebUI.php(184): Users_S in /var/www/html/app/Fields/File.php on line 1046

env: lsb_release -a: ubuntu 16.04.4 lts uname -a: Linux mail 4.4.0-127-generic #153-Ubuntu SMP Sat May 19 10:58:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux apache2 -v Server version: Apache/2.4.18 (Ubuntu) Server built: 2018-04-18T14:53:04 php -v: PHP 7.2.5-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: May 5 2018 04:59:13) ( NTS )

rskrzypczak commented 6 years ago

Fixed in https://github.com/YetiForceCompany/csrf-magic/commit/c4324c44a67dd2c21154439e3fb283940d691a3d

WalterLuis commented 6 years ago

I tested it in version 4.3.355 and it works, thanks for notifying :D