Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • vtiger/vtigercrm
  • varma/vtigercrm
  • alanbell/vtigercrm
  • mariusz.krzaczkowski/vtigercrm
  • manu.k/vtigercrm
  • adrgranado/vtigercrm
  • uma.s/vtigercrm
  • sardoj/vtigercrm
  • preexo/vtigercrm
  • david.valminos/vtigercrm
  • luca.saba/vtigercrm
  • dubwise/vtigercrm
  • valmir.ttcasolucoes/vtigercrm
  • lord_alan/vtigercrm
  • adrien.futschik/vtigercrm
  • edonit.rexhepi/vtigercrm
  • robert.heinze/vtigercrm
  • nrdimatteo/vtigercrm
  • sebastianzahan/vtigercrm
  • Miky/vtigercrm
  • germanf/vtigercrm
  • bernhardkau1/vtigercrm
  • olegtsoy/vtigercrm
  • grandel/vtigercrm
  • mario.thummler/vtigercrm
  • sutharsan/vtigercrm
  • james.douglas/vtigercrm
  • vikas/vtigercrm
  • jeffmchristensen/vtigercrm
  • lukasz.g/vtigercrm
  • nicolas.gasnier/vtigercrm
  • hamish.theitcompany/vtigercrm
  • engrbm87/vtigercrm
  • Quoc/vtigercrm
  • peter.maria.engeli/vtigercrm
  • kiranraju.j/vtigercrm
  • manuel.lozano/vtigercrm
  • dhaupin/vtigercrm
  • Ragupathyranesh/vtigercrm
  • Stefanbauer/vtigercrm
  • ruben.estrada/vtigercrm
  • sg_mwi1/vtigercrm
  • khaluk/vtigercrm
  • franzfroemel/vtigercrm
  • milan9615/vtigercrm
  • carlos.martin/vtigercrm
  • cmaggi/vtigercrm
  • Soltoon.theLeader/vtigercrm
  • alex.kaplun/vtigercrm
  • navid.hosseini/vtigercrm
  • maie/vtigercrm
  • simonetravaglini/vtigercrm
  • bertrand.wattel/vtigercrm
  • balaji.m/vtigercrm
  • mclarke4/vtigercrm
  • lajeeshk/vtigercrm
  • liam/vtigercrm
  • novikov.sergey/vtigercrm
  • johnwayne.williamson/vtigercrm
  • florian.strahberger-schramm/vtigercrm
  • daniel.schaefer/vtigercrm
  • christopher.gunther/vtigercrm
  • adrien.faveraux/vtigercrm
  • carsten.brandt/vtigercrm
  • stephane.molano/vtigercrm
  • krastan.petrov/vtigercrm
  • alfredo.bravo/vtigercrm
  • flipflop.Joe/vtigercrm
  • mirko.stagni/vtigercrm
  • remigio.ruberto/vtigercrm
  • gautam.dhudashiya/vtigercrm
  • manish.devitechnosolutions1/vtigercrm
  • matinbeigi/vtigercrm
  • devs/vtigercrm
  • happy.dev/vtigercrm
  • m.gigon/vtigercrm
  • manuelmigone/vtigercrm
  • eduardo.gqf/vtigercrm
  • elsayedEl-araby/vtigercrm
  • mirza.mehran/vtigercrm
  • maurice.courtois/vtigercrm
  • zuhri.utama/vtigercrm
  • shilpa.k/vtigercrm
  • Ignazio/vtigercrm
  • code80team/vtigercrm
  • code80/vtigercrm
  • nilay.automatesmb/cache
  • greeshma.kk/vtigercrm
  • vijay.tilak/vtigercrm
  • Paolo.Palamini/vtigercrm
  • estevan/vtigercrm
  • mobilcmcdk/vtigercrm
  • massimiliano.vessi/vtigercrm
  • daniel.voelskow/vtigercrm
  • james1/vtigercrm
  • lokesh.s/vtigercrm
  • rdb/vtigercrm
  • neftaliyagua/vtigercrm
  • angelo.paglialonga/vtigercrm
  • webmarka/vtigercrm
  • javanile/vtigercrm
  • akshath/vtigercrm
  • Hemanth/vtigercrm
  • opencrmitalia/vtigercrm
  • direzione/vtigercrm
  • umadas306/vtigercrm
  • jd-wraptec/vtigercrm
  • felipe.camacho/vtigercrm
  • Martin.allen/vtigercrm
  • amit.r/vtigercrm
  • vicus/vtigercrm
  • dev.osmi/vtigercrm
  • laurent.guillout/vtigercrm
  • christian.blaeul/vtigercrm
  • ap.js100/vtigercrm
  • yoann.mourot/vtigercrm-temp
  • christian.cruz/vtigercrm
  • zyli/vtigercrm
  • kaushik.p/vtigercrm
  • Madhuk/vtigercrm
  • cinakzm/vtigercrm
  • raquel.martinez/vtigercrm
  • tosajibadhi/vtigercrm
  • melvin.i/vtigercrm-melvin
  • ashashingadia/vtigercrm
  • stefanwarnat/vtigercrm
  • saran.s/vtigercrm
  • eduardomozart/vtigercrm
  • Daniel.Lennartz1/vtigercrm
  • juergen.fassmann/vtigercrm
  • Michel.Ram/vtigercrm
  • vincenzo.bruno/vtigercrm
132 results
Show changes
Commits on Source (88)
Showing
with 141 additions and 90 deletions
...@@ -58,7 +58,7 @@ if($adb->num_rows($result) >= 1) ...@@ -58,7 +58,7 @@ if($adb->num_rows($result) >= 1)
} }
//comment / uncomment this line if you want to hide / show the sent mail status //comment / uncomment this line if you want to hide / show the sent mail status
//showstatus($status); //showstatus($status);
$log->debug(" Send Support Notification Befoe a week - Status: ".$status); $log->debug(" Send Support Notification Before a week - Status: ".$status);
//To send email notification before a month //To send email notification before a month
$query="select vtiger_contactdetails.contactid,vtiger_contactdetails.email,vtiger_contactdetails.firstname,vtiger_contactdetails.lastname,contactid from vtiger_customerdetails inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_customerdetails.customerid inner join vtiger_contactdetails on vtiger_contactdetails.contactid=vtiger_customerdetails.customerid where vtiger_crmentity.deleted=0 and support_end_date=DATE_ADD(now(), INTERVAL 1 MONTH)"; $query="select vtiger_contactdetails.contactid,vtiger_contactdetails.email,vtiger_contactdetails.firstname,vtiger_contactdetails.lastname,contactid from vtiger_customerdetails inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_customerdetails.customerid inner join vtiger_contactdetails on vtiger_contactdetails.contactid=vtiger_customerdetails.customerid where vtiger_crmentity.deleted=0 and support_end_date=DATE_ADD(now(), INTERVAL 1 MONTH)";
......
...@@ -169,7 +169,7 @@ $default_charset = '_VT_CHARSET_'; ...@@ -169,7 +169,7 @@ $default_charset = '_VT_CHARSET_';
// default language // default language
// default_language default value = en_us // default_language default value = en_us
$default_language = 'en_us'; $default_language = '_VT_DEFAULT_LANGUAGE_';
// add the language pack name to every translation string in the display. // add the language pack name to every translation string in the display.
// translation_string_prefix default value = false // translation_string_prefix default value = false
......
...@@ -136,7 +136,8 @@ class CRMEntity { ...@@ -136,7 +136,8 @@ class CRMEntity {
} else { } else {
$file_name = $file_details['name']; $file_name = $file_details['name'];
} }
// Check 1
$save_file = 'true'; $save_file = 'true';
//only images are allowed for Image Attachmenttype //only images are allowed for Image Attachmenttype
$mimeType = vtlib_mime_content_type($file_details['tmp_name']); $mimeType = vtlib_mime_content_type($file_details['tmp_name']);
...@@ -149,6 +150,13 @@ class CRMEntity { ...@@ -149,6 +150,13 @@ class CRMEntity {
return false; return false;
} }
// Check 2
$save_file = 'true';
//only images are allowed for these modules
if ($module == 'Contacts' || $module == 'Products') {
$save_file = validateImageFile($file_details);
}
$binFile = sanitizeUploadFileName($file_name, $upload_badext); $binFile = sanitizeUploadFileName($file_name, $upload_badext);
$current_id = $adb->getUniqueID("vtiger_crmentity"); $current_id = $adb->getUniqueID("vtiger_crmentity");
...@@ -164,12 +172,6 @@ class CRMEntity { ...@@ -164,12 +172,6 @@ class CRMEntity {
//upload the file in server //upload the file in server
$upload_status = move_uploaded_file($filetmp_name, $upload_file_path . $current_id . "_" . $binFile); $upload_status = move_uploaded_file($filetmp_name, $upload_file_path . $current_id . "_" . $binFile);
$save_file = 'true';
//only images are allowed for these modules
if ($module == 'Contacts' || $module == 'Products') {
$save_file = validateImageFile($file_details);
}
if ($save_file == 'true' && $upload_status == 'true') { if ($save_file == 'true' && $upload_status == 'true') {
//This is only to update the attached filename in the vtiger_notes vtiger_table for the Notes module //This is only to update the attached filename in the vtiger_notes vtiger_table for the Notes module
if ($module == 'Contacts' || $module == 'Products') { if ($module == 'Contacts' || $module == 'Products') {
...@@ -2366,6 +2368,9 @@ class CRMEntity { ...@@ -2366,6 +2368,9 @@ class CRMEntity {
} }
} }
} }
if($this->table_name == 'vtiger_leaddetails') {
$query .= " AND $this->table_name.converted = 0 ";
}
return $query; return $query;
} }
......
...@@ -174,6 +174,12 @@ function vtws_populateConvertLeadEntities($entityvalue, $entity, $entityHandler, ...@@ -174,6 +174,12 @@ function vtws_populateConvertLeadEntities($entityvalue, $entity, $entityHandler,
$entityFields = $entityHandler->getMeta()->getModuleFields(); $entityFields = $entityHandler->getMeta()->getModuleFields();
$row = $adb->fetch_array($result); $row = $adb->fetch_array($result);
$count = 1; $count = 1;
foreach ($entityFields as $fieldname=>$field){
$defaultvalue=$field->getDefault();
if($defaultvalue){
$entity[$fieldname]=$defaultvalue;
}
}
do { do {
$entityField = vtws_getFieldfromFieldId($row[$column], $entityFields); $entityField = vtws_getFieldfromFieldId($row[$column], $entityFields);
if ($entityField == null) { if ($entityField == null) {
...@@ -265,6 +271,12 @@ function vtws_updateConvertLeadStatus($entityIds, $leadId, $user) { ...@@ -265,6 +271,12 @@ function vtws_updateConvertLeadStatus($entityIds, $leadId, $user) {
$leadModifiedTime = $adb->formatDate(date('Y-m-d H:i:s'), true); $leadModifiedTime = $adb->formatDate(date('Y-m-d H:i:s'), true);
$crmentityUpdateSql = "UPDATE vtiger_crmentity SET modifiedtime=?, modifiedby=? WHERE crmid=?"; $crmentityUpdateSql = "UPDATE vtiger_crmentity SET modifiedtime=?, modifiedby=? WHERE crmid=?";
$adb->pquery($crmentityUpdateSql, array($leadModifiedTime, $user->id, $leadIdComponents[1])); $adb->pquery($crmentityUpdateSql, array($leadModifiedTime, $user->id, $leadIdComponents[1]));
//raise an event so that modules can take their actions on lead conversion
require_once("include/events/include.inc");
$em = new VTEventsManager($adb);
$em->initTriggerCache();
$entityData = VTEntityData::fromEntityId($adb, $leadIdComponents[1]);
$em->triggerEvent("vtiger.entity.leadconverted", $entityData);
} }
$moduleArray = array('Accounts','Contacts','Potentials'); $moduleArray = array('Accounts','Contacts','Potentials');
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
private static $cache = array(); private static $cache = array();
private static $cacheLookupType = ''; private static $cacheLookupType = '';
private static $mandatoryEventClass = array('VTEntityDelta', 'ModTrackerHandler'); private static $mandatoryEventClass = array('VTEntityDelta', 'ModTrackerHandler', 'PBXManagerBatchHandler');
const CACHE_LOOKUP_TYPE_ALL = 'ALL'; const CACHE_LOOKUP_TYPE_ALL = 'ALL';
......
...@@ -648,6 +648,7 @@ function vtlib_purify($input, $ignore=false) { ...@@ -648,6 +648,7 @@ function vtlib_purify($input, $ignore=false) {
} }
} else { // Simple type } else { // Simple type
$value = $__htmlpurifier_instance->purify($input); $value = $__htmlpurifier_instance->purify($input);
$value = purifyHtmlEventAttributes($value);
} }
} }
$purified_cache[$md5OfInput] = $value; $purified_cache[$md5OfInput] = $value;
...@@ -656,6 +657,23 @@ function vtlib_purify($input, $ignore=false) { ...@@ -656,6 +657,23 @@ function vtlib_purify($input, $ignore=false) {
return $value; return $value;
} }
/**
* To purify malicious html event attributes
* @param <String> $value
* @return <String>
*/
function purifyHtmlEventAttributes($value){
$htmlEventAttributes = "onerror|onblur|onchange|oncontextmenu|onfocus|oninput|oninvalid|".
"onreset|onsearch|onselect|onsubmit|onkeydown|onkeypress|onkeyup|".
"onclick|ondblclick|ondrag|ondragend|ondragenter|ondragleave|ondragover|".
"ondragstart|ondrop|onmousedown|onmousemove|onmouseout|onmouseover|".
"onmouseup|onmousewheel|onscroll|onwheel|oncopy|oncut|onpaste";
if(preg_match("/\s(".$htmlEventAttributes.")\s*=/i", $value)) {
$value = str_replace("=", "&equals;", $value);
}
return $value;
}
/** /**
* Function to return the valid SQl input. * Function to return the valid SQl input.
* @param <String> $string * @param <String> $string
......
...@@ -345,9 +345,14 @@ $toHtml = array( ...@@ -345,9 +345,14 @@ $toHtml = array(
*/ */
function to_html($string, $encode=true) function to_html($string, $encode=true)
{ {
$startstring=$string;
$cachedresult=Vtiger_Cache::get('to_html',$startstring);
if($cachedresult){
return $cachedresult;
}
global $log,$default_charset; global $log,$default_charset;
//$log->debug("Entering to_html(".$string.",".$encode.") method ..."); //$log->debug("Entering to_html(".$string.",".$encode.") method ...");
global $toHtml;
$action = $_REQUEST['action']; $action = $_REQUEST['action'];
$search = $_REQUEST['search']; $search = $_REQUEST['search'];
...@@ -385,6 +390,7 @@ function to_html($string, $encode=true) ...@@ -385,6 +390,7 @@ function to_html($string, $encode=true)
} }
//$log->debug("Exiting to_html method ..."); //$log->debug("Exiting to_html method ...");
Vtiger_Cache::set('to_html', $startstring, $string);
return $string; return $string;
} }
......
...@@ -22,15 +22,15 @@ class Vtiger_WebUI extends Vtiger_EntryPoint { ...@@ -22,15 +22,15 @@ class Vtiger_WebUI extends Vtiger_EntryPoint {
* @throws AppException * @throws AppException
*/ */
protected function checkLogin (Vtiger_Request $request) { protected function checkLogin (Vtiger_Request $request) {
if (!$this->hasLogin()) { if (!$this->hasLogin()) {
$return_params = $_SERVER['QUERY_STRING']; $return_params = $_SERVER['QUERY_STRING'];
if($return_params && !$_SESSION['return_params']) { if($return_params && !$_SESSION['return_params']) {
//Take the url that user would like to redirect after they have successfully logged in. //Take the url that user would like to redirect after they have successfully logged in.
$return_params = urlencode($return_params); $return_params = urlencode($return_params);
Vtiger_Session::set('return_params', $return_params); Vtiger_Session::set('return_params', $return_params);
} }
header ('Location: index.php'); header ('Location: index.php');
throw new AppException('Login is required'); throw new AppException('Login is required');
} }
} }
...@@ -42,7 +42,7 @@ class Vtiger_WebUI extends Vtiger_EntryPoint { ...@@ -42,7 +42,7 @@ class Vtiger_WebUI extends Vtiger_EntryPoint {
$user = parent::getLogin(); $user = parent::getLogin();
if (!$user) { if (!$user) {
$userid = Vtiger_Session::get('AUTHUSERID', $_SESSION['authenticated_user_id']); $userid = Vtiger_Session::get('AUTHUSERID', $_SESSION['authenticated_user_id']);
if ($userid) { if ($userid && vglobal('application_unique_key')==$_SESSION['app_unique_key']) {
$user = CRMEntity::getInstance('Users'); $user = CRMEntity::getInstance('Users');
$user->retrieveCurrentUserInfoFromFile($userid); $user->retrieveCurrentUserInfoFromFile($userid);
$this->setLogin($user); $this->setLogin($user);
...@@ -208,8 +208,9 @@ class Vtiger_WebUI extends Vtiger_EntryPoint { ...@@ -208,8 +208,9 @@ class Vtiger_WebUI extends Vtiger_EntryPoint {
} }
} catch(Exception $e) { } catch(Exception $e) {
if ($view) { if ($view) {
// Log for developement. // log for development
error_log($e->getTraceAsString(), E_NOTICE); global $log;
$log->debug($e->getMessage().":".$e->getTraceAsString());
$viewer = new Vtiger_Viewer(); $viewer = new Vtiger_Viewer();
$viewer->assign('MESSAGE', $e->getMessage()); $viewer->assign('MESSAGE', $e->getMessage());
......
...@@ -17,6 +17,7 @@ $languageStrings = array( ...@@ -17,6 +17,7 @@ $languageStrings = array(
'ERR_UNABLE_CREATE_DATABASE' => 'Unable to Create database', 'ERR_UNABLE_CREATE_DATABASE' => 'Unable to Create database',
'LBL_ADMIN_INFORMATION'=>'Admin User Information', 'LBL_ADMIN_INFORMATION'=>'Admin User Information',
'LBL_ADMIN_USER_INFORMATION' => 'Admin User Information', 'LBL_ADMIN_USER_INFORMATION' => 'Admin User Information',
'LBL_CHOOSE_LANGUAGE' => 'Choose the default language for this installation:',
'LBL_CONFIRM_CONFIGURATION_SETTINGS' => 'Confirm Configuration Settings', 'LBL_CONFIRM_CONFIGURATION_SETTINGS' => 'Confirm Configuration Settings',
'LBL_CREATE_NEW_DB'=>'Create new database', 'LBL_CREATE_NEW_DB'=>'Create new database',
'LBL_CURRENCIES'=>'Currency', 'LBL_CURRENCIES'=>'Currency',
......
...@@ -17,9 +17,9 @@ $languageStrings = array( ...@@ -17,9 +17,9 @@ $languageStrings = array(
'LBL_CALENDAR_SETTINGS' => 'Calendar Settings' , // TODO: Review 'LBL_CALENDAR_SETTINGS' => 'Calendar Settings' , // TODO: Review
'LBL_CALENDAR_SHARING' => 'Calendar Sharing' , // TODO: Review 'LBL_CALENDAR_SHARING' => 'Calendar Sharing' , // TODO: Review
'LBL_DEFAULT_EVENT_DURATION' => 'Default Event Duration' , // TODO: Review 'LBL_DEFAULT_EVENT_DURATION' => 'Default Event Duration' , // TODO: Review
'LBL_CALL' => 'Call' , // TODO: Review 'LBL_CALL' => 'Appel' ,
'LBL_OTHER_EVENTS' => 'Other Events' , // TODO: Review 'LBL_OTHER_EVENTS' => 'Other Events' , // TODO: Review
'LBL_MINUTES' => 'Minutes' , // TODO: Review 'LBL_MINUTES' => 'Minutes' ,
'LBL_SELECT_USERS' => 'Select Users' , // TODO: Review 'LBL_SELECT_USERS' => 'Select Users' , // TODO: Review
'LBL_EVENT_OR_TASK' => 'Evénement / Pour faire' , 'LBL_EVENT_OR_TASK' => 'Evénement / Pour faire' ,
'LBL_TASK_INFORMATION' => 'Pour faire Information' , 'LBL_TASK_INFORMATION' => 'Pour faire Information' ,
...@@ -30,9 +30,9 @@ $languageStrings = array( ...@@ -30,9 +30,9 @@ $languageStrings = array(
'Send Notification' => 'Envoyer notification' , 'Send Notification' => 'Envoyer notification' ,
'Location' => 'Localisation' , 'Location' => 'Localisation' ,
'End Date & Time' => 'Date et heure de fin' , 'End Date & Time' => 'Date et heure de fin' ,
'LBL_ACTIVITY_TYPES' => 'Activity Types' , 'LBL_ACTIVITY_TYPES' => 'Activity Types' , // TODO: Review
'LBL_CONTACTS_SUPPORT_END_DATE' => 'Fin de support' , 'LBL_CONTACTS_SUPPORT_END_DATE' => 'Fin de support' ,
'LBL_CONTACTS_BIRTH_DAY' => 'Date of Birth' , 'LBL_CONTACTS_BIRTH_DAY' => 'Date of Birth' , // TODO: Review
'LBL_ADDED_CALENDARS' => 'Added Calendars' , // TODO: Review 'LBL_ADDED_CALENDARS' => 'Added Calendars' , // TODO: Review
'Call' => 'Appels' , 'Call' => 'Appels' ,
'Meeting' => 'Rendez-vous' , 'Meeting' => 'Rendez-vous' ,
...@@ -48,23 +48,23 @@ $languageStrings = array( ...@@ -48,23 +48,23 @@ $languageStrings = array(
'LBL_CHANGE_OWNER' => 'Changer assignation' , 'LBL_CHANGE_OWNER' => 'Changer assignation' ,
'LBL_EVENT' => 'Activité' , 'LBL_EVENT' => 'Activité' ,
'LBL_TASK' => 'Pour faire' , 'LBL_TASK' => 'Pour faire' ,
'LBL_TASKS' => 'Pour faire', 'LBL_TASKS' => 'Pour faire',
'LBL_CALENDAR_VIEW' => 'Calendar View' , 'LBL_CALENDAR_VIEW' => 'Calendar View' ,
'LBL_SHARED_CALENDAR' => 'Shared Calendar' , // TODO: Review 'LBL_SHARED_CALENDAR' => 'Shared Calendar' , // TODO: Review
'LBL_DAY0' => 'Sunday' , // TODO: Review 'LBL_DAY0' => 'Dimanche' , // TODO: Review
'LBL_DAY1' => 'Monday' , // TODO: Review 'LBL_DAY1' => 'Lundi' ,
'LBL_DAY2' => 'Tuesday' , // TODO: Review 'LBL_DAY2' => 'Mardi' ,
'LBL_DAY3' => 'Wednesday' , // TODO: Review 'LBL_DAY3' => 'Mercredi' ,
'LBL_DAY4' => 'Thursday' , // TODO: Review 'LBL_DAY4' => 'Jeudi' ,
'LBL_DAY5' => 'Friday' , // TODO: Review 'LBL_DAY5' => 'Vendredi' ,
'LBL_DAY6' => 'Saturday' , // TODO: Review 'LBL_DAY6' => 'Samedi' ,
'first' => 'First' , // TODO: Review 'first' => 'Premier' ,
'last' => 'Last' , // TODO: Review 'last' => 'Dernier' ,
'LBL_DAY_OF_THE_MONTH' => 'day of the month' , // TODO: Review 'LBL_DAY_OF_THE_MONTH' => 'day of the month' , // TODO: Review
'LBL_ON' => 'on' , // TODO: Review 'LBL_ON' => 'le' ,
'Daily' => 'Day(s)' , // TODO: Review 'Daily' => 'Jour(s)' ,
'Weekly' => 'Week(s)' , // TODO: Review 'Weekly' => 'Semaine(s)' ,
'Monthly' => 'Month(s)' , // TODO: Review 'Monthly' => 'Mois' ,
'Yearly' => 'Year' , // TODO: Review 'Yearly' => 'Year' , // TODO: Review
'LBL_DEFAULT_STATUS_TYPE' => 'Statut par défaut & Type' , 'LBL_DEFAULT_STATUS_TYPE' => 'Statut par défaut & Type' ,
'LBL_STATUS' => 'Statut' , 'LBL_STATUS' => 'Statut' ,
...@@ -86,55 +86,55 @@ $jsLanguageStrings = array( ...@@ -86,55 +86,55 @@ $jsLanguageStrings = array(
'JS_FUTURE_EVENT_CANNOT_BE_HELD' => 'Ne peut être tenue Pour l\'avenir', 'JS_FUTURE_EVENT_CANNOT_BE_HELD' => 'Ne peut être tenue Pour l\'avenir',
//Calendar view label translation //Calendar view label translation
'LBL_MONTH' => 'Month', 'LBL_MONTH' => 'Mois',
'LBL_TODAY' => 'Today', 'LBL_TODAY' => 'Aujourd\'hui',
'LBL_DAY' => 'Day', 'LBL_DAY' => 'Jour',
'LBL_WEEK' => 'Week', 'LBL_WEEK' => 'Semaine',
'LBL_SUNDAY' => 'Sunday', 'LBL_SUNDAY' => 'Dimanche',
'LBL_MONDAY' => 'Monday', 'LBL_MONDAY' => 'Lundi',
'LBL_TUESDAY' => 'Tuesday', 'LBL_TUESDAY' => 'Mardi',
'LBL_WEDNESDAY' => 'Wednesday', 'LBL_WEDNESDAY' => 'Mercredi',
'LBL_THURSDAY' => 'Thursday', 'LBL_THURSDAY' => 'Jeudi',
'LBL_FRIDAY' => 'Friday', 'LBL_FRIDAY' => 'Vendredi',
'LBL_SATURDAY' => 'Saturday', 'LBL_SATURDAY' => 'Samedi',
'LBL_SUN' => 'Sun', 'LBL_SUN' => 'Dim',
'LBL_MON' => 'Mon', 'LBL_MON' => 'Lun',
'LBL_TUE' => 'Tue', 'LBL_TUE' => 'Mar',
'LBL_WED' => 'Wed', 'LBL_WED' => 'Mer',
'LBL_THU' => 'Thu', 'LBL_THU' => 'Jeu',
'LBL_FRI' => 'Fri', 'LBL_FRI' => 'Ven',
'LBL_SAT' => 'Sat', 'LBL_SAT' => 'Sam',
'LBL_JANUARY' => 'January', 'LBL_JANUARY' => 'Janvier',
'LBL_FEBRUARY' => 'February', 'LBL_FEBRUARY' => 'February', // TODO: Review
'LBL_MARCH' => 'March', 'LBL_MARCH' => 'Mars',
'LBL_APRIL' => 'April', 'LBL_APRIL' => 'Avril',
'LBL_MAY' => 'May', 'LBL_MAY' => 'Mai',
'LBL_JUNE' => 'June', 'LBL_JUNE' => 'Juin',
'LBL_JULY' => 'July', 'LBL_JULY' => 'Juillet',
'LBL_AUGUST' => 'August', 'LBL_AUGUST' => 'August', // TODO: Review
'LBL_SEPTEMBER' => 'September', 'LBL_SEPTEMBER' => 'Septembre',
'LBL_OCTOBER' => 'October', 'LBL_OCTOBER' => 'Octobre',
'LBL_NOVEMBER' => 'November', 'LBL_NOVEMBER' => 'Novembre',
'LBL_DECEMBER' => 'December', 'LBL_DECEMBER' => 'Decembre',
'LBL_JAN' => 'Jan', 'LBL_JAN' => 'Jan',
'LBL_FEB' => 'Feb', 'LBL_FEB' => 'Fev',
'LBL_MAR' => 'Mar', 'LBL_MAR' => 'Mar',
'LBL_APR' => 'Apr', 'LBL_APR' => 'Avr',
'LBL_MAY' => 'May', 'LBL_MAY' => 'Mai',
'LBL_JUN' => 'Jun', 'LBL_JUN' => 'Jun',
'LBL_JUL' => 'Jul', 'LBL_JUL' => 'Jul',
'LBL_AUG' => 'Aug', 'LBL_AUG' => 'Aou',
'LBL_SEP' => 'Sep', 'LBL_SEP' => 'Sep',
'LBL_OCT' => 'Oct', 'LBL_OCT' => 'Oct',
'LBL_NOV' => 'Nov', 'LBL_NOV' => 'Nov',
'LBL_DEC' => 'Dec', 'LBL_DEC' => 'Dec',
'LBL_ALL_DAY' => 'All-Day', 'LBL_ALL_DAY' => 'All-Day', // TODO: Review
'Mobile Call' => 'Mobile Call', 'Mobile Call' => 'Mobile Call', // TODO: Review
//End //End
//Fixing colors for Shared Calendar and My Calendar //Fixing colors for Shared Calendar and My Calendar
......
...@@ -209,9 +209,6 @@ Vtiger_Edit_Js("Calendar_Edit_Js",{ ...@@ -209,9 +209,6 @@ Vtiger_Edit_Js("Calendar_Edit_Js",{
var dateStartElement = container.find('[name="date_start"]'); var dateStartElement = container.find('[name="date_start"]');
var endDateElement = container.find('[name="due_date"]'); var endDateElement = container.find('[name="due_date"]');
if(endDateElement.data('userChangedTime') == true) {
return;
}
if(jQuery('[name="userChangedEndDateTime"]').val() == '1') { if(jQuery('[name="userChangedEndDateTime"]').val() == '1') {
return; return;
} }
...@@ -452,4 +449,4 @@ Vtiger_Edit_Js("Calendar_Edit_Js",{ ...@@ -452,4 +449,4 @@ Vtiger_Edit_Js("Calendar_Edit_Js",{
this.registerRelatedContactSpecificEvents(); this.registerRelatedContactSpecificEvents();
this._super(); this._super();
} }
}); });
\ No newline at end of file
...@@ -37,6 +37,17 @@ ...@@ -37,6 +37,17 @@
<h3>{vtranslate('LBL_WELCOME_TO_VTIGER6_SETUP_WIZARD', 'Install')}</h3> <h3>{vtranslate('LBL_WELCOME_TO_VTIGER6_SETUP_WIZARD', 'Install')}</h3>
{vtranslate('LBL_VTIGER6_SETUP_WIZARD_DESCRIPTION','Install')} {vtranslate('LBL_VTIGER6_SETUP_WIZARD_DESCRIPTION','Install')}
</div> </div>
{if $LANGUAGES|@count > 1}
<div>
<label>{vtranslate('LBL_CHOOSE_LANGUAGE', 'Install')}
<select name="lang" id="lang">
{foreach key=header item=language from=$LANGUAGES}
<option value="{$header}" {if $header eq $CURRENT_LANGUAGE}selected{/if}>{vtranslate("$language",'Install')}</option>
{/foreach}
</select>
</label>
</div>
{/if}
</div> </div>
</div> </div>
<div class="row-fluid"> <div class="row-fluid">
......
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
<div id="progressIndicator" class="row-fluid main-container hide"> <div id="progressIndicator" class="row-fluid main-container hide">
<div class="inner-container"> <div class="inner-container">
<div class="span12 inner-container"> <div class="inner-container">
<div class="row-fluid"> <div class="row-fluid">
<div class="span12 welcome-div alignCenter"> <div class="span12 welcome-div alignCenter">
<h3>{vtranslate('LBL_INSTALLATION_IN_PROGRESS','Install')}...</h3><br> <h3>{vtranslate('LBL_INSTALLATION_IN_PROGRESS','Install')}...</h3><br>
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<input type="hidden" id="module" name="module" value="Migration"> <input type="hidden" id="module" name="module" value="Migration">
<input type="hidden" id="view" name="view" value="Index"> <input type="hidden" id="view" name="view" value="Index">
<input type="hidden" name="mode" value="step2"> <input type="hidden" name="mode" value="step2">
<input type="submit" class="btn btn-large btn-primary" value="Next"/> <input type="submit" class="btn btn-large btn-primary" value="{vtranslate('Next', $MODULE)}"/>
</form> </form>
</div> </div>
</div> </div>
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
&nbsp;&nbsp;<a href="//www.vtiger.com/products/crm/privacy_policy.html" target="_blank"><img src="{vimage_path('linkedin.png')}"></a> &nbsp;&nbsp;<a href="//www.vtiger.com/products/crm/privacy_policy.html" target="_blank"><img src="{vimage_path('linkedin.png')}"></a>
<br><br> <br><br>
<div class="button-container"> <div class="button-container">
<input type="button" onclick="window.location.href='index.php'" class="btn btn-large btn-primary" value="Finish"/> <input type="button" onclick="window.location.href='index.php'" class="btn btn-large btn-primary" value="{vtranslate('Finish', $MODULE)}"/>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
</div> </div>
{else} {else}
<span class="noDataMsg"> <span class="noDataMsg">
{vtranslate('LBL_NO')} {vtranslate($MODULE_NAME, $MODULE_NAME)} {vtranslate('LBL_MATCHED_THIS_CRITERIA')} {vtranslate('LBL_EQ_ZERO')} {vtranslate($MODULE_NAME, $MODULE_NAME)} {vtranslate('LBL_MATCHED_THIS_CRITERIA')}
</span> </span>
{/if} {/if}
</div> </div>
\ No newline at end of file
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
{assign var="GROUP_MEMBERS" value=$RECORD_MODEL->getMembers()} {assign var="GROUP_MEMBERS" value=$RECORD_MODEL->getMembers()}
<select id="memberList" class="row-fluid members" multiple="true" name="members[]" data-placeholder="{vtranslate('LBL_ADD_USERS_ROLES', $QUALIFIED_MODULE)}" data-validation-engine="validate[required]"> <select id="memberList" class="row-fluid members" multiple="true" name="members[]" data-placeholder="{vtranslate('LBL_ADD_USERS_ROLES', $QUALIFIED_MODULE)}" data-validation-engine="validate[required]">
{foreach from=$MEMBER_GROUPS key=GROUP_LABEL item=ALL_GROUP_MEMBERS} {foreach from=$MEMBER_GROUPS key=GROUP_LABEL item=ALL_GROUP_MEMBERS}
<optgroup label="{$GROUP_LABEL}"> <optgroup label="{vtranslate($GROUP_LABEL, $QUALIFIED_MODULE)}">
{foreach from=$ALL_GROUP_MEMBERS item=MEMBER} {foreach from=$ALL_GROUP_MEMBERS item=MEMBER}
{if $MEMBER->getName() neq $RECORD_MODEL->getName()} {if $MEMBER->getName() neq $RECORD_MODEL->getName()}
<option value="{$MEMBER->getId()}" data-member-type="{$GROUP_LABEL}" {if isset($GROUP_MEMBERS[$GROUP_LABEL][$MEMBER->getId()])}selected="true"{/if}>{$MEMBER->getName()}</option> <option value="{$MEMBER->getId()}" data-member-type="{$GROUP_LABEL}" {if isset($GROUP_MEMBERS[$GROUP_LABEL][$MEMBER->getId()])}selected="true"{/if}>{$MEMBER->getName()}</option>
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<span class="font-x-large">{$RECORD->getName()}</span> <span class="font-x-large">{$RECORD->getName()}</span>
<div class="pull-right btn-group"> <div class="pull-right btn-group">
<button class="btn dropdown-toggle" data-toggle="dropdown"> <button class="btn dropdown-toggle" data-toggle="dropdown">
Actions {vtranslate('Actions',$QUALIFIED_MODULE)}
<span class="caret"></span> <span class="caret"></span>
</button> </button>
<ul class="dropdown-menu pull-right"> <ul class="dropdown-menu pull-right">
......
...@@ -215,7 +215,7 @@ ...@@ -215,7 +215,7 @@
{else} {else}
style="border-right: 1px solid #DDD !important;" style="border-right: 1px solid #DDD !important;"
{/if}> {/if}>
<input type="checkbox" class="alignTop" name="permissions[{$TABID}][actions][{$ACTIONID}]" {if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTIONID)}checked="true" {elseif empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if}> {$ACTION_MODEL->getName()}</td> <input type="checkbox" class="alignTop" name="permissions[{$TABID}][actions][{$ACTIONID}]" {if $RECORD_MODEL->hasModuleActionPermission($PROFILE_MODULE, $ACTIONID)}checked="true" {elseif empty($RECORD_ID) && empty($IS_DUPLICATE_RECORD)} checked="true" {/if}> {vtranslate($ACTION_MODEL->getName(), $MODULE)}</td>
{if $smarty.foreach.actions.last OR ($smarty.foreach.actions.index+1) % 3 == 0} {if $smarty.foreach.actions.last OR ($smarty.foreach.actions.index+1) % 3 == 0}
</div> </div>
{/if} {/if}
......
...@@ -94,4 +94,4 @@ ...@@ -94,4 +94,4 @@
</table> </table>
{/if} {/if}
</div> </div>
{/strip} {/strip}
\ No newline at end of file