I'm trying to create a form with multiple file upload fields with only 1 of them being mandatory and the rest optional, what is happening is that ChronoForms shows empty error message when the optional file upload field(s) aren't used.
Is there anyway to accomplish this?
Here is my form(if necessary):
<++-++-++id++-++-++>4<endendend><++-++-++name++-++-++>UploadCase<endendend><++-++-++html++-++-++><div class="form_item">
<div class="form_element cf_heading">
<h1 class="cf_text">Upload Case</h1>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_fileupload">
<label class="cf_label" style="width: 150px;">Video 1</label>
<input class="cf_fileinput cf_inputbox required" title="" size="20" id="file_1" name="file_1" type="file" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textarea">
<label class="cf_label" style="width: 150px;">Video 1 Description</label>
<textarea class="cf_inputbox required" rows="3" id="text_2" title="" cols="30" name="text_2"></textarea>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_fileupload">
<label class="cf_label" style="width: 150px;">Video 2</label>
<input class="cf_fileinput cf_inputbox" title="" size="20" id="file_3" name="file_3" type="file" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textarea">
<label class="cf_label" style="width: 150px;">Video 2 Description</label>
<textarea class="cf_inputbox" rows="3" id="text_4" title="" cols="30" name="text_4"></textarea>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_fileupload">
<label class="cf_label" style="width: 150px;">Video 3</label>
<input class="cf_fileinput cf_inputbox" title="" size="20" id="file_5" name="file_5" type="file" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textarea">
<label class="cf_label" style="width: 150px;">Video 3 Description</label>
<textarea class="cf_inputbox" rows="3" id="text_6" title="" cols="30" name="text_6"></textarea>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_button">
<input value="Submit" name="button_7" type="submit" />
</div>
<div class="cfclear"> </div>
</div>
<endendend><++-++-++scriptcode++-++-++><endendend><++-++-++stylecode++-++-++><endendend><++-++-++redirecturl++-++-++><endendend><++-++-++emailresults++-++-++>0<endendend><++-++-++fieldsnames++-++-++>file_1,file_3,file_5,text_2,text_4,text_6<endendend><++-++-++fieldstypes++-++-++>file,file,file,textarea,textarea,textarea<endendend><++-++-++onsubmitcode++-++-++><p>Thanks for submitting your case, it will be reviewed and added.</p><endendend><++-++-++onsubmitcodeb4++-++-++><endendend><++-++-++server_validation++-++-++><endendend><++-++-++attformtag++-++-++><endendend><++-++-++submiturl++-++-++><endendend><++-++-++emailtemplate++-++-++><endendend><++-++-++useremailtemplate++-++-++><endendend><++-++-++paramsall++-++-++>formmethod=post
LoadFiles=Yes
submissions_limit=
submissions_limit_error=Sorry but you can not submit the form again very soon like this!
handlepostedarrays=Yes
debug=1
checkToken=1
mysql_type=1
enmambots=No
captcha_dataload=0
captcha_dataload_skip=
useCurrent=
datefieldformat=d/m/Y
datefieldsnames=
datefieldextras=classes: ['dashboard']
dbconnection=Yes
savedataorder=after_email
dvfields=
dvrecord=Record #n
uploads=Yes
uploadfields=file_1:txt|*{10240-0},file_3:{10240-0},file_5:{10240-0}
uploadpath=/home/ieseg0/public_html/cathnightmares/components/com_chronocontact/uploads/UploadCase/
filename_format=$filename = date('YmdHis').'_'.$chronofile['name'];
upload_exceedslimit=Sorry, Your uploaded file size exceeds the allowed limit.
upload_lesslimit=Sorry, Your uploaded file size is less than the allowed limit
upload_notallowed=Sorry, Your uploaded file type is not allowed
imagever=No
imtype=0
imgver_error_msg=You have entered an incorrect verification code at the bottom of the form.
validate=No
validatetype=mootools
validate_onlyOnBlur=1
validate_wait=
validate_onlyOnSubmit=0
validation_type=default
val_required=
val_validate_number=
val_validate_digits=
val_validate_alpha=
val_validate_alphanum=
val_validate_date=
val_validate_email=
val_validate_url=
val_validate_date_au=
val_validate_currency_dollar=
val_validate_selection=
val_validate_one_required=
val_validate_confirmation=
servervalidate=No
autogenerated_order=3
onsubmitcode_order=2
plugins_order=1
plugins=
mplugins_order=
tablenames=jos_chronoforms_UploadCase<endendend><++-++-++titlesall++-++-++><endendend><++-++-++extravalrules++-++-++><endendend><++-++-++dbclasses++-++-++><?php
if (!class_exists('Tablechronoforms_UploadCase')) {
class Tablechronoforms_UploadCase extends JTable {
var $cf_id = null;
var $uid = null;
var $recordtime = null;
var $ipaddress = null;
var $cf_user_id = null;
var $file_1 = null;
var $file_3 = null;
var $file_5 = null;
var $text_2 = null;
var $text_4 = null;
var $text_6 = null;
function __construct( &$database ) {
parent::__construct( 'jos_chronoforms_UploadCase', 'cf_id', $database );
}
}
}
?>
<endendend><++-++-++autogenerated++-++-++><?php
$MyForm =& CFChronoForm::getInstance("UploadCase");
if($MyForm->formparams("dbconnection") == "Yes"){
$user = JFactory::getUser();
$row =& JTable::getInstance("chronoforms_UploadCase", "Table");
srand((double)microtime()*10000);
$inum = "I" . substr(base64_encode(md5(rand())), 0, 16).md5(uniqid(mt_rand(), true));
JRequest::setVar( "recordtime", JRequest::getVar( "recordtime", date("Y-m-d")." - ".date("H:i:s"), "post", "string", "" ));
JRequest::setVar( "ipaddress", JRequest::getVar( "ipaddress", $_SERVER["REMOTE_ADDR"], "post", "string", "" ));
JRequest::setVar( "uid", JRequest::getVar( "uid", $inum, "post", "string", "" ));
JRequest::setVar( "cf_user_id", JRequest::getVar( "cf_user_id", $user->id, "post", "int", "" ));
$post = JRequest::get( "post" , JREQUEST_ALLOWRAW );
if (!$row->bind( $post )) {
JError::raiseWarning(100, $row->getError());
}
if (!$row->store()) {
JError::raiseWarning(100, $row->getError());
}
$MyForm->tablerow["jos_chronoforms_UploadCase"] = $row;
}
?>
<endendend><++-++-++chronocode++-++-++>[type="cf_heading"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLclass = cf_textCHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLtag = h1CHRONO_CONSTANT_EOLlabelwidth = 0CHRONO_CONSTANT_EOLlabeltext = Upload CaseCHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_fileupload"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = file_1CHRONO_CONSTANT_EOLname = file_1CHRONO_CONSTANT_EOLclass = cf_inputbox requiredCHRONO_CONSTANT_EOLsize = 20CHRONO_CONSTANT_EOLtitle = CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 1CHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLdata = file_1:txt|*{10240-0}CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_textarea"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = text_2CHRONO_CONSTANT_EOLname = text_2CHRONO_CONSTANT_EOLclass = cf_inputbox requiredCHRONO_CONSTANT_EOLrows = 3CHRONO_CONSTANT_EOLcols = 30CHRONO_CONSTANT_EOLtitle = CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 1 DescriptionCHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_fileupload"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = file_3CHRONO_CONSTANT_EOLname = file_3CHRONO_CONSTANT_EOLclass = cf_inputboxCHRONO_CONSTANT_EOLsize = 20CHRONO_CONSTANT_EOLtitle = CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 2CHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLdata = file_3:{10240-0}CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_textarea"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = text_4CHRONO_CONSTANT_EOLname = text_4CHRONO_CONSTANT_EOLclass = cf_inputboxCHRONO_CONSTANT_EOLrows = 3CHRONO_CONSTANT_EOLcols = 30CHRONO_CONSTANT_EOLtitle = CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 2 DescriptionCHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_fileupload"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = file_5CHRONO_CONSTANT_EOLname = file_5CHRONO_CONSTANT_EOLclass = cf_inputboxCHRONO_CONSTANT_EOLsize = 20CHRONO_CONSTANT_EOLtitle = CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 3CHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLdata = file_5:{10240-0}CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_textarea"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = text_6CHRONO_CONSTANT_EOLname = text_6CHRONO_CONSTANT_EOLclass = cf_inputboxCHRONO_CONSTANT_EOLrows = 3CHRONO_CONSTANT_EOLcols = 30CHRONO_CONSTANT_EOLtitle = CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 3 DescriptionCHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_button"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLvalue = SubmitCHRONO_CONSTANT_EOLname = button_7CHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLreset = 0CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 0CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL<endendend><++-++-++theme++-++-++>default<endendend><++-++-++published++-++-++>1<endendend><++-++-++extra1++-++-++><endendend><++-++-++extra2++-++-++><endendend><++-++-++extra3++-++-++><endendend><++-++-++extra4++-++-++><endendend><++-++-++extra5++-++-++><endendend>
{cfbak_start_emails}
{cfbak_end_emails}
How do you make your file fields mandatory ? because Chronoforms itself will not show an error if the file is not present.
Regards,
Max
I just restored your form here and I don't see any error mssages if I leave the optional fields blank. Can you post a screenshot of the error messages you see?
Bob
PS You've use * as a file type wild-card, ChronoForms doesn't support a wild-card here as it's a major security risk. If it's working then you may have an old version.
How do you make your file fields mandatory ? because Chronoforms itself will not show an error if the file is not present.
I use the required field in the form wizard
Can you post a screenshot of the error messages you see?
Here's an image of the error

and here is the form in this image, the updated one:
<++-++-++id++-++-++>6<endendend><++-++-++name++-++-++>UploadCase<endendend><++-++-++html++-++-++>
<div class="form_item">
<div class="form_element cf_heading">
<h1 class="cf_text">Upload Case</h1>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_fileupload">
<label class="cf_label" style="width: 150px;">Video 1</label>
<input class="cf_fileinput cf_inputbox required" title="You must enter the video file" size="20" id="file_2" name="file_2" type="file" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textarea">
<label class="cf_label" style="width: 150px;">Video 1 Description</label>
<textarea class="cf_inputbox required" rows="3" id="text_3" title="You must enter a description for Video 1" cols="30" name="text_3"></textarea>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_fileupload">
<label class="cf_label" style="width: 150px;">Video 2</label>
<input class="cf_fileinput cf_inputbox" title="" size="20" id="file_4" name="file_4" type="file" />
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_textarea">
<label class="cf_label" style="width: 150px;">Video 2 Description</label>
<textarea class="cf_inputbox" rows="3" id="text_5" title="" cols="30" name="text_5"></textarea>
</div>
<div class="cfclear"> </div>
</div>
<div class="form_item">
<div class="form_element cf_button">
<input value="Submit" name="button_10" type="submit" />
</div>
<div class="cfclear"> </div>
</div>
<endendend><++-++-++scriptcode++-++-++><endendend><++-++-++stylecode++-++-++><endendend><++-++-++redirecturl++-++-++><endendend><++-++-++emailresults++-++-++>0<endendend><++-++-++fieldsnames++-++-++>file_2,file_4,text_3,text_5<endendend><++-++-++fieldstypes++-++-++>file,file,textarea,textarea<endendend><++-++-++onsubmitcode++-++-++><p>Thanks you for submitting your case, it will be review and added if possible.</p><endendend><++-++-++onsubmitcodeb4++-++-++><endendend><++-++-++server_validation++-++-++><endendend><++-++-++attformtag++-++-++><endendend><++-++-++submiturl++-++-++><endendend><++-++-++emailtemplate++-++-++><endendend><++-++-++useremailtemplate++-++-++><endendend><++-++-++paramsall++-++-++>formmethod=post
LoadFiles=Yes
submissions_limit=
submissions_limit_error=Sorry but you can not submit the form again very soon like this!
handlepostedarrays=Yes
debug=0
checkToken=1
mysql_type=1
enmambots=No
captcha_dataload=0
captcha_dataload_skip=
useCurrent=
datefieldformat=d/m/Y
datefieldsnames=
datefieldextras=classes: ['dashboard']
dbconnection=Yes
savedataorder=after_email
dvfields=
dvrecord=Record #n
uploads=Yes
uploadfields=file_2:txt{10240-0},file_4:txt{10240-0}
uploadpath=/home/ieseg0/public_html/cathnightmares/components/com_chronocontact/uploads/UploadCase/
filename_format=$filename = date('YmdHis').'_'.$chronofile['name'];
upload_exceedslimit=Sorry, Your uploaded file size exceeds the allowed limit.
upload_lesslimit=Sorry, Your uploaded file size is less than the allowed limit
upload_notallowed=Sorry, Your uploaded file type is not allowed
imagever=No
imtype=0
imgver_error_msg=You have entered an incorrect verification code at the bottom of the form.
validate=No
validatetype=mootools
validate_onlyOnBlur=1
validate_wait=
validate_onlyOnSubmit=0
validation_type=default
val_required=
val_validate_number=
val_validate_digits=
val_validate_alpha=
val_validate_alphanum=
val_validate_date=
val_validate_email=
val_validate_url=
val_validate_date_au=
val_validate_currency_dollar=
val_validate_selection=
val_validate_one_required=
val_validate_confirmation=
servervalidate=No
autogenerated_order=3
onsubmitcode_order=2
plugins_order=1
plugins=
mplugins_order=
tablenames=jos_chronoforms_UploadCase<endendend><++-++-++titlesall++-++-++><endendend><++-++-++extravalrules++-++-++><endendend><++-++-++dbclasses++-++-++><?php
if (!class_exists('Tablechronoforms_UploadCase')) {
class Tablechronoforms_UploadCase extends JTable {
var $cf_id = null;
var $uid = null;
var $recordtime = null;
var $ipaddress = null;
var $cf_user_id = null;
var $file_2 = null;
var $text_3 = null;
function __construct( &$database ) {
parent::__construct( 'jos_chronoforms_UploadCase', 'cf_id', $database );
}
}
}
?>
<endendend><++-++-++autogenerated++-++-++><?php
$MyForm =& CFChronoForm::getInstance("UploadCase");
if($MyForm->formparams("dbconnection") == "Yes"){
$user = JFactory::getUser();
$row =& JTable::getInstance("chronoforms_UploadCase", "Table");
srand((double)microtime()*10000);
$inum = "I" . substr(base64_encode(md5(rand())), 0, 16).md5(uniqid(mt_rand(), true));
JRequest::setVar( "recordtime", JRequest::getVar( "recordtime", date("Y-m-d")." - ".date("H:i:s"), "post", "string", "" ));
JRequest::setVar( "ipaddress", JRequest::getVar( "ipaddress", $_SERVER["REMOTE_ADDR"], "post", "string", "" ));
JRequest::setVar( "uid", JRequest::getVar( "uid", $inum, "post", "string", "" ));
JRequest::setVar( "cf_user_id", JRequest::getVar( "cf_user_id", $user->id, "post", "int", "" ));
$post = JRequest::get( "post" , JREQUEST_ALLOWRAW );
if (!$row->bind( $post )) {
JError::raiseWarning(100, $row->getError());
}
if (!$row->store()) {
JError::raiseWarning(100, $row->getError());
}
$MyForm->tablerow["jos_chronoforms_UploadCase"] = $row;
}
?>
<endendend><++-++-++chronocode++-++-++>[type="cf_heading"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLclass = cf_textCHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLtag = h1CHRONO_CONSTANT_EOLlabelwidth = 0CHRONO_CONSTANT_EOLlabeltext = Upload CaseCHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_fileupload"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = file_2CHRONO_CONSTANT_EOLname = file_2CHRONO_CONSTANT_EOLclass = cf_inputbox requiredCHRONO_CONSTANT_EOLsize = 20CHRONO_CONSTANT_EOLtitle = You must enter the video fileCHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 1CHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLdata = file_2:txt{10240-0}CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_textarea"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = text_3CHRONO_CONSTANT_EOLname = text_3CHRONO_CONSTANT_EOLclass = cf_inputbox requiredCHRONO_CONSTANT_EOLrows = 3CHRONO_CONSTANT_EOLcols = 30CHRONO_CONSTANT_EOLtitle = You must enter a description for Video 1CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 1 DescriptionCHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_fileupload"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = file_4CHRONO_CONSTANT_EOLname = file_4CHRONO_CONSTANT_EOLclass = cf_inputboxCHRONO_CONSTANT_EOLsize = 20CHRONO_CONSTANT_EOLtitle = CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 2CHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLdata = file_4:txt{10240-0}CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_textarea"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLid = text_5CHRONO_CONSTANT_EOLname = text_5CHRONO_CONSTANT_EOLclass = cf_inputboxCHRONO_CONSTANT_EOLrows = 3CHRONO_CONSTANT_EOLcols = 30CHRONO_CONSTANT_EOLtitle = CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 150pxCHRONO_CONSTANT_EOLlabeltext = Video 2 DescriptionCHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLslabel = CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL[type="cf_button"CHRONO_CONSTANT_EOL{CHRONO_CONSTANT_EOLvalue = SubmitCHRONO_CONSTANT_EOLname = button_10CHRONO_CONSTANT_EOLtooltiptext = CHRONO_CONSTANT_EOLreset = 0CHRONO_CONSTANT_EOLhidelabel = 0CHRONO_CONSTANT_EOLlabelwidth = 0CHRONO_CONSTANT_EOL}]CHRONO_CONSTANT_EOL<endendend><++-++-++theme++-++-++>default<endendend><++-++-++published++-++-++>1<endendend><++-++-++extra1++-++-++><endendend><++-++-++extra2++-++-++><endendend><++-++-++extra3++-++-++><endendend><++-++-++extra4++-++-++><endendend><++-++-++extra5++-++-++><endendend>
{cfbak_start_emails}
{cfbak_end_emails}
You've use * as a file type wild-card, ChronoForms doesn't support a wild-card here as it's a major security risk. If it's working then you may have an old version.
Sorry, I've submitted a wrong form, the proper one is above.
It's fine on my test site but I haven't upgraded to the latest CF release yet. I'll test with that and post again if I find anything useful.
Bob
After a lot of digging I think I've found some buggy code in the new version of the file that handles uploads.
Please will you test the attached version of components/com_chronocontact/libraries/chronoformuploads.php
I suggest that you rename the old one to chronoformuploads.php.old and the FTP the new version into the folder.
Bob
May I suggest to collect the various fixes in a post so that they can easily be found?
I have this same problem. I used your new file. Now, Message gets delivered. Still, I have a setting that ones email sends, the page should redirect to same page /same_page.html and then execute :
<?php
JFactory::getApplication()->enqueueMessage( '<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Thanks for your Proposal. We will get back to you shortly</td>
</tr>
</table>
' );
?>
to display a thanks message. It works in 3 forms in the website. But this one has the upload box and it does not work. So can you relook in to the code to fix this?
http://www.yashwant.ens.org.in/partner-with-me - This is the page where the form is. Please help me out.
I download the component. Then I have to unzip?
Then I have to install the component in joomla?
if I install the zipped file tells me:
ERROR: Could not find an XML setup file in this package.
if I install the film tells me unzip
* Error Unknown File Type
In my opinion the solution could not be so simple!
😟
Unzip the download and then use FTP to replace the single file in the package at the location in my earlier post.
Bob
.... after much thought 🙄 I finally managed to find a solution.
I uploaded the component with Filezilla! 🤣
All fixed! Thanks a lot!
Well done.
Sorry for the short reply, I'm in a bit of a rush today. Too much on and going away in a few days.
Bob
* JFTP::write: Bad response
* Couldn't create upload directory 2
* JFTP::store: Bad response
* Warning! - Failed to move file.
Yes, that seems to be a Joomla! bug. I think it happens when the FTP user permissions are different from the Joomla! user permissions.
Bob
Hi isma22,
Unzip the download and then use FTP to replace the single file in the package at the location in my earlier post.
Bob
Are you suggesting the issue is a file ownership issue, or a file permissions issue? Any bone you can throw my way on this would be appreciated. Not having ftp turned on is causing some other issues I had not anticipated.
I have googled this issue and for the most part the solutions have not be fruitful. AKA:
[list]the ftp account needs to be listed with full path.... joomla does not support this[/list]
[list]the ftp account does not have rights... I tried the primary user account and got the same[/list]
Stumped... suspect there is a basic solution but it is eluding me.
I think that it is a folder permissions issue. It seems to crop up from time to time. From the system point of view the FTP user and the Joomla! user can have different permissions. In this case the Joomla! user is able to write to the folder but the FTP user can't.
It may be a chmod problem but is more likely to be because of the security setup on the site.
Bob
Thank you I will investigate further. Again, Thank you for the patch!
The problem begin when i changed the email address on the form if that helps
Have a nice day
I just downloaded version 3.2 of CF (on June 10 2011) and I have experienced exactly the problem outlined in previous posts in this thread.
The patch that Bob has placed in this thread worked well but doesn't appear to have made it into the distribution version of 3.2 that we can download.
Can we get this distribution download updated?
Thanks
-Anthony
many thanks! 🙂
Hi user18,
After a lot of digging I think I've found some buggy code in the new version of the file that handles uploads.
Please will you test the attached version of components/com_chronocontact/libraries/chronoformuploads.php
I suggest that you rename the old one to chronoformuploads.php.old and the FTP the new version into the folder.
Bob
Is this an issue with latest version?
My issue is the second file upload (left untouched or no files uploaded) it sends it through although it is a required field. How do I make this required?
I have 2 upload fields (both required)the submitter can skip the uploads like it's not required.
Thanks