<input type="text" size="20" name="partner[<?php echo $item['username']; ?> ][date_start]" value="" class="calendarSelectDate"> </div> <div class="fieldgroup"> <label>End Date:</label> <input type="text" size="20" name="partner[<?php echo $item['username']; ?> ][date_end]" value="" class="calendarSelectDate"> </div> <?php $fields =& GetUserPartnerFields($item); foreach ($fields as $field) { ArrayHSC($field); AdminFormField($field); if ($field['request_only'] && IsEmptyString($field['value'])) { continue; } ?> <div class="fieldgroup"> <?php if ($field['request_only']) { ?> <label for="<?php echo $field['name']; ?>
function txPartnerRequestAdd() { global $C, $DB, $L, $t, $domain; $v = new Validator(); $v->Register($_REQUEST['email'], V_EMAIL, $L['INVALID_EMAIL']); $v->Register($_REQUEST['name'], V_EMPTY, sprintf($L['REQUIRED_FIELD'], $L['YOUR_NAME'])); $v->Register($_REQUEST['username'], V_REGEX, $L['INVALID_USERNAME'], '~^[a-z0-9_]+~i'); $v->Register($_REQUEST['username'], V_LENGTH, sprintf($L['USERNAME_LENGTH'], 3, 32), '3,32'); // Validation of user defined fields $fields =& GetUserPartnerFields(); foreach ($fields as $field) { if ($field['on_request']) { if ($field['required_request']) { $v->Register($_REQUEST[$field['name']], V_EMPTY, sprintf($L['REQUIRED_FIELD'], $field['label'])); } if (!IsEmptyString($_REQUEST[$field['name']]) && $field['validation']) { $v->Register($_REQUEST[$field['name']], $field['validation'], $field['validation_message'], $field['validation_extras']); } } } // Check captcha code if ($C['request_captcha']) { VerifyCaptcha($v); } // Check if this username exists if ($DB->Count('SELECT COUNT(*) FROM `tx_partners` WHERE `username`=?', array($_REQUEST['username']))) { $v->SetError($L['USERNAME_TAKEN']); } // Check if this e-mail address already exists if ($DB->Count('SELECT COUNT(*) FROM `tx_partners` WHERE `email`=?', array($_REQUEST['email']))) { $v->SetError($L['EXISTING_REQUEST']); } // Check blacklist $blacklisted = CheckBlacklistPartner($_REQUEST); if ($blacklisted !== FALSE) { $v->SetError(sprintf($blacklisted[0]['reason'] ? $L['BLACKLISTED_REASON'] : $L['BLACKLISTED'], $blacklisted[0]['match'], $blacklisted[0]['reason'])); } if (!$v->Validate()) { return $v->ValidationError('txShPartnerRequest', TRUE); } // Insert partner data $DB->Update('INSERT INTO `tx_partners` VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', array($_REQUEST['username'], sha1(RandomPassword()), $_REQUEST['name'], $_REQUEST['email'], $_SERVER['REMOTE_ADDR'], MYSQL_NOW, null, null, null, $C['submissions_per_person'], $C['gallery_weight'], null, 0, null, 0, 0, 0, 'pending', null, null, 0, 0, 0, 1, 0)); // Insert user-defined fields $query_data = CreateUserInsert('tx_partner_fields', $_REQUEST); $DB->Update('INSERT INTO `tx_partner_fields` VALUES (' . $query_data['bind_list'] . ')', $query_data['binds']); $t->assign_by_ref('request', $_REQUEST); $t->assign_by_ref('user_fields', $fields); $t->display($domain['template_prefix'] . 'partner-request-complete.tpl'); // See if we need to e-mail any administrators $requests_waiting = $DB->Count('SELECT COUNT(*) FROM `tx_partners` WHERE `status`=?', array('pending')); $t->assign('requests_waiting', $requests_waiting); $administrators =& $DB->FetchAll('SELECT * FROM `tx_administrators`'); foreach ($administrators as $administrator) { if ($administrator['requests_waiting'] > 0) { if ($administrator['notifications'] & E_PARTNER_REQUEST && $requests_waiting % $administrator['requests_waiting'] == 0) { SendMail($administrator['email'], 'email-admin-requests.tpl', $t); } } } }