Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
156 changes: 111 additions & 45 deletions application/controllers/api.php
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,8 @@ function get_forms($app_id, $imei_no) {
}
$html_file = '';
if (file_exists('./assets/images/data/form_icons/' . $app_id . '/' . $file_name_html)) {
$html_file = FORM_IMG_DISPLAY_PATH . '../form_icons/' . $app_id . '/' . $file_name_html;
$html_file = FORM_IMG_DISPLAY_PATH .
'../form_icons/' . $app_id . '/' . $file_name_html;
}

$released = $this->app_released_model->get_latest_released($app_id);
Expand Down Expand Up @@ -177,7 +178,8 @@ function get_forms($app_id, $imei_no) {
$file_array [] = array(
'form_id' => '0',
'form_name' => 'noname',
'file_url' => base_url() . 'assets/android/app_resources/jquery-ui-autocomplete.js',
'file_url' =>
base_url() . 'assets/android/app_resources/jquery-ui-autocomplete.js',
'file_name' => 'jquery-ui-autocomplete.js'
);

Expand Down Expand Up @@ -225,7 +227,9 @@ function get_forms($app_id, $imei_no) {
$file_array [] = array(
'form_id' => '0',
'form_name' => 'noname',
'file_url' => base_url() . 'assets/android/app_resources/jquery.select-to-autocomplete.min.js',
'file_url' =>
base_url() .
'assets/android/app_resources/jquery.select-to-autocomplete.min.js',
'file_name' => 'jquery.select-to-autocomplete.min.js'
);

Expand Down Expand Up @@ -261,31 +265,51 @@ function get_forms($app_id, $imei_no) {
if(isset($app_general_setting->has_geo_fencing)){

$prefrences['IS_SECURE_APP']=($app_general_setting->secured_apk==1)?'YES':'NO';
$prefrences['showHighResOption']=($app_general_setting->high_resolution_image==1)?'YES':'NO';
$prefrences['PersistImagesOnDevice']=($app_general_setting->persist_images_on_device==1)?'YES':'NO';
$prefrences['BackgroundUpdate']=($app_general_setting->background_update==1)?'YES':'NO';
$prefrences['showHighResOption']=
($app_general_setting->high_resolution_image==1)?'YES':'NO';
$prefrences['PersistImagesOnDevice']=
($app_general_setting->persist_images_on_device==1)?'YES':'NO';
$prefrences['BackgroundUpdate']=
($app_general_setting->background_update==1)?'YES':'NO';
$prefrences['ForceUpdate']=($app_general_setting->force_update==1)?'YES':'NO';
$prefrences['EnableAutoTime']=($app_general_setting->enable_auto_time==1)?'YES':'NO';
$prefrences['TrackingStatus']=($app_general_setting->tracking_status==1)?'YES':'NO';
$prefrences['TrackingInterval']=(isset($app_general_setting->tracking_interval))?$app_general_setting->tracking_interval:'5';
$prefrences['TrackingDistance']=(isset($app_general_setting->tracking_distance))?$app_general_setting->tracking_distance:'100';
$prefrences['DebugTracking']=(isset($app_general_setting->debug_tracking) && $app_general_setting->debug_tracking == 1)?'YES':'NO';
$prefrences['hasGeoFencing']=(isset($app_general_setting->has_geo_fencing) && $app_general_setting->has_geo_fencing == 1)?'YES':'NO';
$prefrences['DebugGeoFencing']=(isset($app_general_setting->debug_geo_fencing) && $app_general_setting->debug_geo_fencing == 1)?'YES':'NO';
$prefrences['EnableAutoTime']=
($app_general_setting->enable_auto_time==1)?'YES':'NO';
$prefrences['TrackingStatus']=
($app_general_setting->tracking_status==1)?'YES':'NO';
$prefrences['TrackingInterval']=
(isset($app_general_setting->tracking_interval))?
$app_general_setting->tracking_interval:'5';
$prefrences['TrackingDistance']=
(isset($app_general_setting->tracking_distance))?$app_general_setting->
tracking_distance:'100';
$prefrences['DebugTracking']=
(isset($app_general_setting->debug_tracking) &&
$app_general_setting->debug_tracking == 1)?'YES':'NO';
$prefrences['hasGeoFencing']=
(isset($app_general_setting->has_geo_fencing) &&
$app_general_setting->has_geo_fencing == 1)?'YES':'NO';
$prefrences['DebugGeoFencing']=
(isset($app_general_setting->debug_geo_fencing) &&
$app_general_setting->debug_geo_fencing == 1)?'YES':'NO';
//Get geoFence from App user table
$prefrences['geoFence']="[{'lng':74.33375,'lat':31.50282},{'lng':72.32271,'lat':31.49976},{'lng':74.3286,'lat':31.48541},{'lng':74.3474,'lat':30.48577},{'lng':74.33764,'lat':34.5049}]";
$prefrences['geoFence']="[{'lng':74.33375,'lat':31.50282},
{'lng':72.32271,'lat':31.49976},{'lng':74.3286,'lat':31.48541},
{'lng':74.3474,'lat':30.48577},{'lng':74.33764,'lat':34.5049}]";

}
else{
$prefrences = new stdClass();
}
$p = array('preferences' => $prefrences);
$form_array_return = array_merge($image_array_final, $form_array_final, $file_array_final,$p);
$form_array_return =
array_merge($image_array_final, $form_array_final, $file_array_final,$p);
return $form_array_return;
}

/**
* This function is also used for updating the android application when user click on refresh button that available on android application title bar.
* This function is also used for updating the android
* application when user click on refresh button that available on
* android application title bar.
*
* @return json
* @author Zahid Nadeem <zahidiubb@yahoo.com>
Expand All @@ -297,9 +321,12 @@ public function syncdevice() {
$jsone_array = array();
$latest_release = $this->app_released_model->get_latest_released($app_id);

$version_installed = $this->app_released_model->get_version_against_version_code($app_id,$version_code);
$version_installed =
$this->app_released_model->get_version_against_version_code
($app_id,$version_code);

$already_installed = $this->app_installed_model->get_app_installed($app_id, $imei_no);
$already_installed =
$this->app_installed_model->get_app_installed($app_id, $imei_no);

if ($already_installed) {

Expand Down Expand Up @@ -334,16 +361,26 @@ public function syncdevice() {


// $txt = $imei_no;
// $myfile = file_put_contents('./assets/data/synclogs.txt', $txt.PHP_EOL , FILE_APPEND | LOCK_EX);
// $myfile = file_put_contents('./assets/data/synclogs.txt',
// $txt.PHP_EOL , FILE_APPEND | LOCK_EX);

// Temp code for evaccs - Start
//new version for evacc only update the specific imei
// $imei_array = array('865281025760638','863963024004108','357943061037149','357944061037147','354435054188099','862120024354527','863963020962283','863963020941048','863963020962481','863963020956806','863963020970708','863963020962275','866356021218457','862866027099515','862866027109728','355794061492707','356222070208939','863963020985607','863963020962747','863963020942285','860557023831363','863963020962671','863963020971144','863963024006137','864532028186531','863963023610939','863963023610954','863963024022092','863963024028115','863963024008117','353861060451976','353861060451976','863963023555621','863963023616316','863963023586709','863963023571420','863963023586972','863963023579407','863963023587822','863963023587145','863963023586170','863963023586279','863963023555050','863963023579563','863963023633345','869358028906693','863963023557213','863963023556579','863963023555860','352328071131675','863963023612133','863963023257905','865281025813742','863963023579449','355451509524845','863963024014362','359154050754672');
// $imei_array = array('865281025760638','863963024004108',
// '357943061037149','357944061037147','354435054188099','862120024354527',
// '863963020962283','863963020941048','863963020962481','863963020956806',
// '863963020970708','863963020962275','866356021218457','862866027099515','862866027109728','355794061492707','356222070208939',
// '863963020985607','863963020962747','863963020942285','860557023831363','863963020962671','863963020971144','863963024006137',
// '864532028186531','863963023610939','863963023610954','863963024022092','863963024028115','863963024008117','353861060451976','353861060451976',
// '863963023555621','863963023616316','863963023586709','863963023571420','863963023586972','863963023579407','863963023587822','863963023587145','863963023586170','863963023586279',
// '863963023555050','863963023579563','863963023633345','869358028906693','863963023557213','863963023556579','863963023555860','352328071131675','863963023612133','863963023257905',
//'865281025813742','863963023579449','355451509524845','863963024014362','359154050754672');
////$imei_array = array('863963024004108','354435054188099');
// if($app_id == '9'){
// if(in_array($imei_no, $imei_array)){
// if ($version_code != $latest_release['version_code']) {
// $file = base_url() . 'assets/android/apps/' . $latest_release['app_file'];
// $file = base_url() . 'assets/android/apps/' .
// $latest_release['app_file'];
// $jsone_array = array(
// 'status' => '1', // status for new version
// 'url' => $file,
Expand Down Expand Up @@ -389,7 +426,8 @@ public function syncdevice() {
}

/**
* This function is used for saving the record which sent from android application
* This function is used for saving the record
* which sent from android application
*
* @return json
* @author Zahid Nadeem <zahidiubb@yahoo.com>
Expand Down Expand Up @@ -440,15 +478,17 @@ public function saverecords() {


//Stop activity saving if already saved
// $activity_aready_exist = $this->db->get_where('mobile_activity_log', array('form_id' => $form_id, 'imei_no' => $imei_no,'form_data' => $_REQUEST['form_data']))->row_array();
// $activity_aready_exist = $this->db->get_where('mobile_activity_log', array('form_id' =>
// $form_id, 'imei_no' => $imei_no,'form_data' => $_REQUEST['form_data']))->row_array();
// if ($activity_aready_exist) {
// $jsone_array = array(
// 'success' => 'This activity already submitted.'
// );
// echo json_encode($jsone_array);
// exit();
// }
// $activity_aready_exist = $this->db->get_where('zform_'.$form_id, array('form_id' => $form_id, 'imei_no' => $imei_no,'activity_datetime' => $activity_datetime))->row_array();
// $activity_aready_exist = $this->db->get_where('zform_'.$form_id, array('form_id' =>
// $form_id, 'imei_no' => $imei_no,'activity_datetime' => $activity_datetime))->row_array();
// if ($activity_aready_exist) {
// $jsone_array = array(
// 'success' => 'This activity already submitted.'
Expand Down Expand Up @@ -484,11 +524,14 @@ public function saverecords() {


//Minimum version to accept activity
if(isset($app_general_setting->minimum_version_to_accept) && $app_general_setting->minimum_version_to_accept != ''){
if(isset($app_general_setting->minimum_version_to_accept) &&
$app_general_setting->minimum_version_to_accept != ''){

if ((float)$version_name < (float)$app_general_setting->minimum_version_to_accept) {
if ((float)$version_name <
(float)$app_general_setting->minimum_version_to_accept) {
$jsone_array = array(
'error' => 'Please refresh the application version, This is old version and not allow to submit data.'
'error' => 'Please refresh the application version,
This is old version and not allow to submit data.'
);
echo json_encode($jsone_array);
exit();
Expand All @@ -498,8 +541,11 @@ public function saverecords() {
}


if (isset($app_general_setting->record_stop_sending) && $app_general_setting->record_stop_sending == 1) {
$error_message = "Record receiving service currently not available. Record saved localy. Please Try later";
if (isset($app_general_setting->record_stop_sending) &&
$app_general_setting->record_stop_sending == 1) {
$error_message =
"Record receiving service currently not available.
Record saved localy. Please Try later";
if ($app_general_setting->message_stop_sending_record != '') {
$error_message = $app_general_setting->message_stop_sending_record;
}
Expand All @@ -521,7 +567,8 @@ public function saverecords() {

if($imei_no!==''){
$authorized = $this->app_model->appuser_imei_already_exist($imei_no, $app_id);
if (isset($app_general_setting->only_authorized) && $app_general_setting->only_authorized == 1 && !$authorized) {
if (isset($app_general_setting->only_authorized) &&
$app_general_setting->only_authorized == 1 && !$authorized) {
$jsone_array = array(
'error' => 'You are not authorized'
);
Expand All @@ -541,12 +588,14 @@ public function saverecords() {
'location_source' => $_REQUEST['location_source'],
'version_name' => $_REQUEST['version_name']
);
$activity_inserted_id = $this->form_results_model->save_mobile_activity($activity_temp);
$activity_inserted_id = $this->
form_results_model->save_mobile_activity($activity_temp);



$direct_save = true;
if (isset($app_general_setting->direct_save) && $app_general_setting->direct_save == 1)
if (isset($app_general_setting->direct_save) &&
$app_general_setting->direct_save == 1)
{
$direct_save = false;
}
Expand Down Expand Up @@ -580,15 +629,19 @@ public function saverecords() {
$captions_images[$key] = $v;
} else if ($key == 'caption_sequence') {
$caption_sequence = urldecode($v);
} elseif ($key == 'form_id' || $key == 'row_key' || $key == 'security_key' || $key == "dateTime" || $key == "landing_page" || $key == "is_take_picture" || $key == 'form_icon_name') {
} elseif ($key == 'form_id' || $key == 'row_key' || $key == 'security_key' ||
$key == "dateTime" || $key == "landing_page" || $key == "is_take_picture" ||
$key == 'form_icon_name') {

} else {

if(empty($form_info['security_key'])){
$vdcode = urldecode(base64_decode($v));
}
else if(strpos($v, $form_info['security_key']) !== FALSE){
$vdcode = urldecode(base64_decode(str_replace($form_info['security_key'], '', $v)));
$vdcode =
urldecode(base64_decode(str_replace($form_info['security_key'],
'', $v)));
}
else {
$vdcode = urldecode($v);
Expand All @@ -603,7 +656,8 @@ public function saverecords() {

if($form_id == '10601'){
$match_exist_field_value = $record['cardnumber'];
//$activity_aready_exist = $this->db->get_where('zform_10601', array('cardnumber' => $match_exist_field_value))->row_array();
//$activity_aready_exist = $this->db->get_where('zform_10601',
//array('cardnumber' => $match_exist_field_value))->row_array();
$query=$this->db->query("select *
from zform_10601
where cardnumber ='$match_exist_field_value' and is_deleted='0'");
Expand All @@ -623,7 +677,8 @@ public function saverecords() {

$warning_message = '';
$app_map_view_setting = get_map_view_settings($app_id);
if(isset($app_map_view_setting->map_distance_mapping) && $app_map_view_setting->map_distance_mapping)//if Distance maping on then call this block
if(isset($app_map_view_setting->map_distance_mapping) &&
$app_map_view_setting->map_distance_mapping)//if Distance maping on then call this block
{
$rectemp = $record;

Expand All @@ -635,7 +690,8 @@ public function saverecords() {

$matching_array_temp = array_merge($rectemp, $kkkkk);
$saved_distance=500;
if($app_map_view_setting->distance !== ''){//if distance not given then default distance will assign as 500
if($app_map_view_setting->distance !== ''){
//if distance not given then default distance will assign as 500
$saved_distance=$app_map_view_setting->distance;
}

Expand All @@ -648,13 +704,19 @@ public function saverecords() {
}
}


$matching_value = $matching_array_temp[$app_map_view_setting->matching_field]; //this field name getting from setting and getting value from received json
$kml_poligon_rec = $this->db->get_where('kml_poligon', array('app_id' => $app_id, 'type' => 'distence','matching_value' => $matching_value))->row_array();

$matching_value = $matching_array_temp
[$app_map_view_setting->matching_field];
//this field name getting from setting and getting value from received json
$kml_poligon_rec = $this->db->get_where('kml_poligon',
array('app_id' => $app_id,
'type' => 'distence','matching_value' => $matching_value))->row_array();

if(!empty($kml_poligon_rec)){
$lat_long = explode(',', $location);//Received location from mobile device
$distance_from_center = lan_lng_distance($kml_poligon_rec['latitude'], $kml_poligon_rec['longitude'],$lat_long[0], $lat_long[1]);
$distance_from_center = lan_lng_distance
($kml_poligon_rec['latitude'],
$kml_poligon_rec['longitude'],$lat_long[0], $lat_long[1]);
if($distance_from_center > $saved_distance)
{
$jsone_array = array(
Expand Down Expand Up @@ -736,7 +798,8 @@ public function saverecords() {
}

// move the file
if ($s3->putObjectFile($fileTempName, $bucket_name, $imgName, S3::ACL_PUBLIC_READ)) {
if ($s3->putObjectFile
($fileTempName, $bucket_name, $imgName, S3::ACL_PUBLIC_READ)) {
$imgName = 'http://' . $bucket_name . '.s3.amazonaws.com/' . $imgName;
$temp_array = array(
'image' => $imgName,
Expand Down Expand Up @@ -767,8 +830,10 @@ public function saverecords() {
$error_before = array(
'file' => $data ['upload_data'] ['file_name']
);
//$imgName = base_url() . 'assets/images/data/form-data/' . $data ['upload_data'] ['file_name'];
$imgName = NFS_IMAGE_PATH.'/app_id_'.$app_id.'/'.$data ['upload_data'] ['file_name'];
//$imgName = base_url() . 'assets/images/data/form-data/'
//. $data ['upload_data'] ['file_name'];
$imgName = NFS_IMAGE_PATH.'/app_id_'.$app_id.'/'
.$data ['upload_data'] ['file_name'];
$temp_array = array(
'image' => $imgName,
'title' => $image_title
Expand Down Expand Up @@ -813,7 +878,8 @@ public function saverecords() {
$error_before = array(
'file' => $data ['upload_data'] ['file_name']
);
$imgName = NFS_IMAGE_PATH.'/app_id_'.$app_id.'/'.$data ['upload_data'] ['file_name'];
$imgName = NFS_IMAGE_PATH.'/app_id_'.$app_id.'
/'.$data ['upload_data'] ['file_name'];
//$imgName = base_url() . 'assets/images/data/form-data/' . $data ['upload_data'] ['file_name'];
$temp_array = array(
'image' => $imgName,
Expand Down