Vertical Tabs

Auth

Copy

<?php
	$authKey = 'XXXXXXXXXXXXXXXXXXXXXXX';
	$apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
	function processURL($url)
	{
		$ch = curl_init();
		curl_setopt_array($ch, array(
		CURLOPT_URL => $url,
		CURLOPT_RETURNTRANSFER => true,
		CURLOPT_SSL_VERIFYPEER => false,
		CURLOPT_SSL_VERIFYHOST => 2
		));

		$result = curl_exec($ch);
		curl_close($ch);
		return $result;
	}
	$url = "$apiLink?page=auth&auth=$authKey";
	/* Curl Method */
	$result = processURL($url);

	$response =  json_decode($result,true);
	echo "
	<pre>";print_r($response);echo "</pre>";
?>

Result


Array
(
	[status] => success
	[message] => Auth Key Valid
)

Messages

Status Message
error Auth Key Invalid
success Auth Key Valid

List Participant

Copy

<?php
	function processURL($url)
	{
		$ch = curl_init();
		curl_setopt_array($ch, array(
		CURLOPT_URL => $url,
		CURLOPT_RETURNTRANSFER => true,
		CURLOPT_SSL_VERIFYPEER => false,
		CURLOPT_SSL_VERIFYHOST => 2
		));

		$result = curl_exec($ch);
		curl_close($ch);
		return $result;
	}
	$authKey = 'XXXXXXXXXXXXXXXXXXXX';
	$apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
	$url = "$apiLink?page=participant&auth=$authKey";
	/* Curl Method */
	$result = processURL($url);

	$response =  json_decode($result,true);
	if($response['status']!='success'){
		echo $response['message']; die();
	}
?>

<html lang="en">
	<head>
		<meta charset="utf-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<!-- Tell the browser to be responsive to screen width -->
		<meta name="viewport" content="width=device-width, initial-scale=1" />
		<meta name="description" content="" />
		<meta name="author" content="" />
		<!-- Favicon icon -->
		<title>Participant List</title>
		<!-- Bootstrap Core CSS -->
		<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
		<link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" />
		<link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" />
	</head>
	<body>
		<div id="page-wrapper" class="container-fluid">
			<div class="row">
				<h2>Participant List</h2>
				<div class="col-md-12">
					<table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0">
						<thead>
							<tr>
								<th>First name</th>
								<th>Last name</th>
								<th>Email</th>
								<th>Home Phone</th>
								<th>Mobile No.</th>
								<th>Action</th>
							</tr>
						</thead>
						<tbody></tbody>
					</table>
				</div>
			</div>
		</div>
		<script src="//code.jquery.com/jquery-1.12.4.js"></script>
		<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
		<script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script>
		<script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script>
		<script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>
		<script>
            $(document).ready(function() {
            getDisplay();	} );

            function getDisplay(){
            var data =
            <?php echo $result; ?>;
            var content = '';
            var table = $('table').DataTable();
            table.clear().draw();
            table.state.clear();
            if(data['status']=='success'){
            for (var i = 0; i < data['output'].length; i++) {
            	var mobile = data['output'][i]['mobile']!=undefined?data['output'][i]['mobile']:'';
            	var home = data['output'][i]['home_phone']!=undefined?data['output'][i]['home_phone']:'';
            	var content = '
            <tr>
            <td>'+data['output'][i]['first_name']+'</td>
            <td>'+data['output'][i]['last_name']+'</td>
            <td>'+data['output'][i]['email']+'</td>
            <td>'+home+'</td>
            <td>'+mobile+'</td>
            <td>'+'
            <a href="edit-participant.html?id='+data['output'][i]['id']+'">Edit</a>&nbsp;
            <a onclick="return confirm(\'Are you sure want to delete\');" href="delete-participant.php?id='+data['output'][i]['id']+'">Delete</a>
            </td>
            <tr>';
            	table.row.add($(content )).draw();
            }
            }else{
            alert(data['message']);
            }
            }

		</script>
	</body>
</html>

Result

															
Array
(
    [status] => success
    [output] => Array
        (
            [0] => Array
                (
                    [id] => xx
                    [first_name] => xxxxxxxxx
                    [last_name] => xxxxxxxxx
                    [email] => [email protected]
                    [address] => xxxxxxxxx
                    [city] => xxxxxxxxx
                    [state] => xxxxxxxxx
                    [zipcode] => xxxxxx
                    [home_phone] => xxxxxxxxx
                    [work_phone] => xxxxxxxxx
                    [mobile] => xxxxxxxxx
                    [com_id] => xx
                    [created_date] => 0000-00-00 00:00:00
                    [created_by] => xx
                )

            [1] => Array
                (
                    [id] => xx
                    [first_name] => xxxxxxxxx
                    [last_name] => xxxxxxxxx
                    [email] => [email protected]
                    [address] => xxxxxxxxx
                    [city] => xxxxxxxxx
                    [state] => xxxxxxxxx
                    [zipcode] => xxxxxx
                    [home_phone] => xxxxxxxxx
                    [work_phone] => xxxxxxxxx
                    [mobile] => xxxxxxxxx
                    [com_id] => xx
                    [created_date] => 0000-00-00 00:00:00
                    [created_by] => xx
                )

        )

    [message] =>
)
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

Delete Participant

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $id = $_REQUEST['id'];
  $url = "$apiLink?page=delete-participant&auth=$authKey&id=$id";
  $output = processURL($url);
  $result = json_decode($output,true);
  echo "<pre>";print_r($result); echo "</pre>";
  echo '<br><a href="api-participants-list-php.php">Go to participant page</a>';

  function processURL($url)
  {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
?>

Result

															
Array
(
    [status] => success
    [message] => Deleted successfully
)
															
														

Messages

Status Message
error ID are empty
error Error Message
success Deleted successfully

List Participant

Copy

Result

															
{"status":"success","output":[{"id":"xx","first_name":"xxxxxxxxx","last_name":"xxxxxxxxx","email":"[email protected]","address":"xxxxxxxxx","city":"xxxxxxxxx","state":"xxxxxxxxx","zipcode":"xxxxxx","home_phone":"xxxxxxxxx","work_phone":"xxxxxxxxx","mobile":"xxxxxxxxx","com_id":"xx","created_date":"0000-00-00 00:00:00","created_by":"xx"},{"id":"xx","first_name":"xxxxxxxxx","last_name":"xxxxxxxxx","email":"[email protected]","address":"xxxxxxxxx","city":"xxxxxxxxx","state":"xxxxxxxxx","zipcode":"xxxxxx","home_phone":"xxxxxxxxx","work_phone":"xxxxxxxxx","mobile":"xxxxxxxxx","com_id":"xx","created_date":"0000-00-00 00:00:00","created_by":"xx"}],"message":""}
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

List Participant

Copy

Result

															
{"status":"success","output":[{"id":"xx","first_name":"xxxxxxxxx","last_name":"xxxxxxxxx","email":"[email protected]","address":"xxxxxxxxx","city":"xxxxxxxxx","state":"xxxxxxxxx","zipcode":"xxxxxx","home_phone":"xxxxxxxxx","work_phone":"xxxxxxxxx","mobile":"xxxxxxxxx","com_id":"xx","created_date":"0000-00-00 00:00:00","created_by":"xx"},{"id":"xx","first_name":"xxxxxxxxx","last_name":"xxxxxxxxx","email":"[email protected]","address":"xxxxxxxxx","city":"xxxxxxxxx","state":"xxxxxxxxx","zipcode":"xxxxxx","home_phone":"xxxxxxxxx","work_phone":"xxxxxxxxx","mobile":"xxxxxxxxx","com_id":"xx","created_date":"0000-00-00 00:00:00","created_by":"xx"}],"message":""}
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

Add Participant

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  if(isset($_GET['response']) && $_GET['response']!='') {
      echo $_GET['response']; exit;
  }
  if(count($_POST)){
      $url="$apiLink?page=add-participant&auth=$authKey";
      // init the resource
      $ch = curl_init();
      curl_setopt_array($ch, array(
          CURLOPT_URL => $url,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_POST => true,
          CURLOPT_POSTFIELDS => $_POST
      ));
      //Ignore SSL certificate verification
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
      //get response
      $output = curl_exec($ch);
      //Print error if any
      if(curl_errno($ch)) {
          echo 'error:' . curl_error($ch);
      }
      curl_close($ch);
      echo $output;

      echo "<pre>";print_r(json_encode($output, TRUE));echo "</pre>";
  }

  $url = "$apiLink?page=participant-groups&auth=$authKey";
  /* Curl Method */
  $result = processURL("$apiLink?page=participant-groups&auth=$authKey");
  $response =  json_decode($result,true);

  if($response['status']!='success'){
      echo $response['message']; die();
  }
  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
  /*
  PARAMETERS:
  Array
  (
      [first_name] => Thomas                  (required)
      [last_name] => B                        (optional)
      [email] => [email protected]             (required)
      [address] =>                            (optional)
      [city] =>                               (optional)
      [state] =>                              (optional)
      [zipcode] =>                            (optional)
      [mobile] =>                             (optional)
      [home_phone] =>                         (optional)
      [work_phone] =>                         (optional)
      [groups] => 0                           (optional)
  )

  OUTPUTS:
   *SAMPLE 1:
      {"status":"error","output":68239,"message":"Email id already exist."}
   *SAMPLE 2:
      {"status":"success","output":"68389","message":"Added successfully."}
   *SAMPLE 3:
      {"status":"error","output":0,"message":"Fill all mandatory fields."}
   *SAMPLE 4:
      {"status":"error","output":0,"message":"Invalid email address."}
   *SAMPLE 4:
      {"status":"error","output":0,"message":"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'lastname' in 'field list'"}
   *  */
  ?>
  <!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <link rel="shortcut icon" type="image/png" href="https://demo.survey360pro.com/admin/images/favicon.png" />
          <title>Add Participant</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper" class="container-fluid">
              <div class="row">
                  <div class="col-md-12">
                          <h2>Add Participant</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="user_form" id="user_form" method="post" action="">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="first_name">First Name<span class="text-danger">*</span></label>
                                          <input id="first_name" name="first_name" class="form-control" placeholder="Ex: John" type="text" value="" required>
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="last_name">Last Name</label>
                                          <input id="last_name" name="last_name" class="form-control" placeholder="Edward" type="text" value="" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="email">Email Address<span class="text-danger">*</span></label>
                                          <input id="email" name="email" class="form-control" placeholder="[email protected]" type="email" value="" required />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="address">Address</label>
                                          <input id="address" name="address" class="form-control" type="text" placeholder="Stree name / Area name" value="" />
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="city">City</label>
                                          <input id="city" name="city" class="form-control" type="text" placeholder="Newyork" value="" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="state">State</label>
                                          <input id="state" placeholder="utah" name="state" class="form-control" type="text" value="" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="zipcode">ZIP Code</label>
                                          <input id="zipcode" name="zipcode" class="form-control numonly" type="text" placeholder="XXX-XXX" value="" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group" for="mobile">
                                          <label class="control-label">Mobile No</label>
                                          <input id="mobile" name="mobile" class="form-control numonly" type="text" placeholder="XXX-XXX-XXXX" value="" />
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <!--/span-->
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="home_phone">Home Phone</label>
                                          <input id="home_phone" name="home_phone" class="form-control numonly" placeholder="XXXX-XXXX" type="text" value="" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group" for="work_phone">
                                          <label class="control-label">Work Phone</label>
                                          <input id="work_phone" name="work_phone" class="form-control numonly" placeholder="XXXX-XXXX" type="text" value="" />
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group" for="group">
                                          <label class="control-label">Select Group</label>
                                          <select class="form-control" name="groups" id="group" data-placeholder="Select">
                                              <?php
                                              echo "<option value='0'>--select--</option>";
                                              foreach($response['output'] as $ind=>$val){
                                                  echo '<option value="'.$val['grp_id'].'">'.$val['grp_name'].'</option>';
                                              }
                                              ?>
                                          </select>
                                      </div>
                                  </div>
                              </div>
                              <div class="clearfix">&nbsp;</div>
                              <div class="form-actions text-right">
                                      <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
          <script>
              $(".numonly").keydown(function (event){
                  if (event.shiftKey == true)
                  {
                          event.preventDefault();
                  }
                  if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 ) {

                  }
                  else
                  {
                      event.preventDefault();
                  }
              });
          </script>
      </body>
  </html>

Result

															
Array
(
    [status] => success
    [output] => xx
    [message] => Added successfully
)
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Email id already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Add Participant

Copy

Result

															
{"status":"success","output":"xx","message":"Added successfully"}
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Email id already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Add Participant

Copy

Result

															
{"status":"success","output":"xx","message":"Added successfully"}
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Email id already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Import Participant

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  if (count($_POST))
  {
      $url = "$apiLink?page=import-participant&auth=$authKey";
      $filename = $_FILES['filename']['name'];
      $filedata = $_FILES['filename']['tmp_name'];
      $filesize = $_FILES['filename']['size'];
      if ($filedata != '')
      {
          $headers = array("Content-Type:multipart/form-data"); // cURL headers for file uploading
          $postfields = array("filedata" => "@$filedata", "filename" => $filename);
          $ch = curl_init();
          $options = array(
              CURLOPT_URL => $url,
              CURLOPT_HEADER => true,
              CURLOPT_POST => 1,
              CURLOPT_HTTPHEADER => $headers,
              CURLOPT_POSTFIELDS => $postfields,
              CURLOPT_INFILESIZE => $filesize,
              CURLOPT_RETURNTRANSFER => true
          ); // cURL options
          curl_setopt_array($ch, $options);
          curl_exec($ch);
          if(!curl_errno($ch))
          {
              $info = curl_getinfo($ch);
              if ($info['http_code'] == 200)
                  $errmsg = "File uploaded successfully";
                  //get response
                  $output = curl_exec($ch);
          }
          else
          {
              $errmsg = curl_error($ch);
          }
          curl_close($ch);
      }
      else
      {
          $errmsg = "Please select the file";
      }

      echo $errmsg;
  		echo "<br />";
  		echo $output;
      $result = json_decode($output,true);
      print_r($output);
  }
  ?>
  <!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <title>Import Participant</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <div class="col-md-12">
                      <h2>Import Participant</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="import_csv" action="" id="import_csv" data-toggle="validator" method="post" enctype="multipart/form-data">
                              <div class="row">
                                  <div class="form-group">
                                      <label class="col-md-12" for="filename">Upload CSV File</label>
                                      <div class="col-md-6">
                                          <input type="file" name="filename" id="filename" required>
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <a href="https://demo.survey360pro.com/admin/sample_participant.csv" class="btn btn-info">
                                              <i class="fa fa-download"></i> Sample CSV
                                      </a>
                                  </div>
                              </div>
                              <div class="clearfix">&nbsp;</div>
                              <div class="form-actions">
                                      <button type="submit" name="submit" id="submit" class="btn btn-info"> Upload</button>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </body>
</html>

Result

															
Array
(
    [status] => success
    [message] => {"Total":3,"Insert":[68495],"Existing":[68496,68239],"Failed":[]}
)
															
														

Messages

Status Message
error Invalid file format.
error Error Message
success {"Total":3,"Insert":[68495],"Existing":[68496,68239],"Failed":[]}

Import Participant

Copy

Result

															
{"Total":3,"Insert":[68495],"Existing":[68496,68239],"Failed":[]}
		
														

Messages

Status Message
error Invalid file format.
error Error Message
success {"Total":3,"Insert":[68495],"Existing":[68496,68239],"Failed":[]}

Import Participant

Copy

Result

															
{"Total":3,"Insert":[68495],"Existing":[68496,68239],"Failed":[]}
															
														

Messages

Status Message
error Invalid file format.
error Error Message
success {"Total":3,"Insert":[68495],"Existing":[68496,68239],"Failed":[]}

Edit Participant

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  if(isset($_GET['response']) && $_GET['response']!='')
  {
      echo $_GET['response']; exit;
  }
  $id = $_REQUEST['id'];
  if(count($_POST)){
      $url="$apiLink?page=update-participant&auth=$authKey&id=$id";
      // init the resource
      $ch = curl_init();
      curl_setopt_array($ch, array(
          CURLOPT_URL => $url,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_POST => true,
          CURLOPT_POSTFIELDS => $_POST
          //,CURLOPT_FOLLOWLOCATION => true
      ));
      //Ignore SSL certificate verification
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

      //get response
      $output = curl_exec($ch);

      //Print error if any
      if(curl_errno($ch))
      {
          echo 'error:' . curl_error($ch);
      }

      curl_close($ch);
      $result = json_decode($output, TRUE);
      echo "<pre>";print_r($result);echo "</pre>";
  }

  /* GET PARTICIPANT */
  $url = "$apiLink?page=get-participant&auth=$authKey&id=$id";
  $result = processURL($url);
  $response =  json_decode($result,true);
  if($response['status']=='error')
  {
      echo $response['message']; exit;
  }
  $row = $response['output'];
  if(empty($row)){
      echo "Result are empty";
  }
  /* GET PARTICIPANT END */

  /* GET PARTICIPANT GROUPS */
  $url = "$apiLink?page=participant-groups&auth=$authKey";
  $result = processURL("$apiLink?page=participant-groups&auth=$authKey");
  $response =  json_decode($result,true);
  if($response['status']!='success'){
      echo $response['message']; die();
  }
  /* GET PARTICIPANT GROUPS END */

  //CURL START FUNCTION
  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
  ?>
  <!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width,initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <title>Edit Participant</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
      </head>
      <body>
          <div id="page-wrapper" class="container-fluid">
              <div class="row">
                  <div class="col-md-12">
                          <h2>Edit Participant</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="user_form" id="user_form" method="post" action="">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="first_name">First Name<span class="text-danger"> *</span></label>
                                          <input id="first_name" name="first_name" class="form-control" placeholder="Ex: John" type="text" value="<?php echo $row['first_name']; ?>" required />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="last_name">Last Name</label>
                                          <input id="last_name" name="last_name" class="form-control" placeholder="Edward" type="text" value="<?php echo $row['last_name']; ?>" required />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="email">Email Address<span class="text-danger"> *</span></label>
                                          <input id="email" name="email" class="form-control" placeholder="[email protected]" type="email" value="<?php echo $row['email']; ?>" required />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="address">Address</label>
                                          <input id="address" name="address" class="form-control" type="text" placeholder="Stree name / Area name" value="<?php echo $row['address']; ?>" />
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="city">City</label>
                                          <input id="city" name="city" class="form-control" type="text" placeholder="Newyork" value="<?php echo $row['city']; ?>" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="state">State</label>
                                          <input id="state" placeholder="utah" name="state" class="form-control" type="text" value="<?php echo $row['state']; ?>" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="zipcode">ZIP Code</label>
                                          <input id="zipcode" name="zipcode" class="form-control numonly" type="text" placeholder="XXX-XXX" value="<?php echo $row['zipcode']; ?>" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group" for="mobile">
                                          <label class="control-label">Mobile No</label>
                                          <input id="mobile" name="mobile" class="form-control numonly" type="text" placeholder="XXX-XXX-XXXX" value="<?php echo $row['mobile']; ?>" />
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="home_phone">Home Phone</label>
                                          <input id="home_phone" name="home_phone" class="form-control numonly" placeholder="XXXX-XXXX" type="text" value="<?php echo $row['home_phone']; ?>" />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group" for="work_phone">
                                          <label class="control-label">Work Phone</label>
                                          <input id="work_phone" name="work_phone" class="form-control numonly" placeholder="XXXX-XXXX" type="text" value="<?php echo $row['work_phone']; ?>" />
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <input type="hidden" name="exist_grp_foruser" value="<?php echo $row['grp_id']; ?>" />
                                  <div class="col-md-6">
                                      <div class="form-group" for="group">
                                          <label class="control-label">Select Group</label>
                                          <select class="form-control" name="groups" id="group" data-placeholder="Select">
                                              <?php
                                              $member_grp = explode(",",$row['grp_id']);
                                              foreach($response['output'] as $ind=>$val){
                                                  echo '<option value="'.$val['grp_id'].'" '.(in_array($val['grp_id'],$member_grp) ? 'selected' : '').'>'.$val['grp_name'].'</option>';
                                              }
                                              ?>
                                          </select>
                                      </div>
                                  </div>
                              </div>
                              <div class="clearfix">&nbsp;</div>
                              <div class="form-actions text-right">
                                      <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
          <script>
              $(".numonly").keydown(function (event) {
                  if (event.shiftKey == true)
                  {
                    event.preventDefault();
                  }
                  if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 ) {

                  }
                  else
                  {
                    event.preventDefault();
                  }
              });

          </script>
      </body>
  </html>

Result

															
Array
(
    [status] => success
    [output] => xx
    [message] => Updated successfully
)
															
														

Messages

Status Output Message
error xx ID are empty
error xx POST values are empty
error xx Fill all mandatory fieldss
error xx Email id already exist.
error xx Error Message
success xx ( return updated id) Updated successfully

Edit Participant

Copy

Result

															
{"status":"success","output":"xx","message":"Updated successfully"}
															
														

Messages

Status Output Message
error xx ID are empty
error xx POST values are empty
error xx Fill all mandatory fieldss
error xx Email id already exist.
error xx Error Message
success xx ( return updated id) Updated successfully

Edit Participant

Copy

Result

															
{"status":"success","output":"xx","message":"Updated successfully"}
															
														

Messages

Status Output Message
error xx ID are empty
error xx POST values are empty
error xx Fill all mandatory fieldss
error xx Email id already exist.
error xx Error Message
success xx ( return updated id) Updated successfully

Participant Group List

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $url = "$apiLink?page=participant-groups&auth=$authKey";
  /* Curl Method */
  $result = processURL("$apiLink?page=participant-groups&auth=$authKey");
  $response =  json_decode($result,true);
  if($response['status']!='success'){
      echo $response['message']; die();
  }
  function processURL($url)
  {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
  ?>
  <!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <title>Participant Groups</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
          <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" />
          <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" />
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <h2>Participant Groups</h2>
                  <div class="col-md-12">
                      <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0">
                          <thead>
                              <tr>
                                  <th>Group name</th>
                                  <th>Total groups</th>
                                  <th>Added Date</th>
                                  <th>Action</th>
                              </tr>
                          </thead>
                          <tbody></tbody>
                      </table>
                  </div>
              </div>
          </div>
          <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
          <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script>
          <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script>
          <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>
          <script>
              $(document).ready(function() {
                  getDisplay();
              } );
              function getDisplay(){
                  var data = <?php echo $result; ?>;
                  var content = '';
                  var table = $('table').DataTable();
                  table.clear().draw();
                  table.state.clear();
                  if(data['status']=='success'){
                      for (var i = 0; i < data['output'].length; i++) {
                          var content = ''+
                              '<tr>'+
                                  '<td>'+data['output'][i]['grp_name']+'</td>'+
                                  '<td>'+data['output'][i]['m_cnt']+'</td>'+
                                  '<td>'+data['output'][i]['created_date']+'</td>'+
                                  '<td>'+
                                      '<a href="api-group-edit-php.php?id='+data['output'][i]['grp_id']+'">Edit</a>&nbsp'+
                                      '<a onclick="return confirm(\'Are you sure want to delete\');" href="api-group-deleted-php.php?id='+data['output'][i]['grp_id']+'">Delete</a>'+
                                  '</td>'+
                              '<tr>';
                          table.row.add($(content )).draw();
                      }
                  }else{
                      alert(data['message']);
                  }
              }
          </script>
      </body>
  </html>

Result

                                                            
Array
(
    [status] => success
    [output] => Array
        (
            [0] => Array
                (
                    [grp_id] => xx
                    [grp_name] => xxxxxxxxx
                    [m_cnt] => xx
                    [com_id] => xx
                    [created_date] => 0000-00-00 00:00:00
                    [created_by] => xx
                )

            [1] => Array
                (
                    [grp_id] => xx
                    [grp_name] => xxx
                    [m_cnt] => xxxxxxxxx
                    [com_id] => xx
                    [created_date] => 0000-00-00 00:00:00
                    [created_by] => xx
                )

        )

    [message] =>
)
                                                            
                                                        

Messages

Status Output Message
error Empty Array Error Message
success Output Array

Delete Participant Group

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $id = $_REQUEST['id'];
  $url = "$apiLink?page=delete-participant-groups&auth=$authKey&id=$id";
  $ch = curl_init();
  curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_POST => true,
      CURLOPT_POSTFIELDS => $_POST
      //,CURLOPT_FOLLOWLOCATION => true
  ));

  //Ignore SSL certificate verification
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

  //get response
  $output = curl_exec($ch);

  //Print error if any
  if(curl_errno($ch))
  {
      echo 'error:' . curl_error($ch);
  }

  curl_close($ch);

  $result = json_decode($output, TRUE);

  echo "<pre>";print_r($result);echo "</pre>";
  echo '<br><a href="api-group-list-php.php">Go to participant Group page</a>';
?>

Result

                                                            
Array
(
    [status] => success
    [message] => Deleted successfully
)
                                                            
                                                        

Messages

Status Message
error ID are empty
error Error Message
success Deleted successfully

Add Participant Group

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';

  if(count($_POST)){
      $url="$apiLink?page=add-participant-groups&auth=$authKey";
      $post = $_POST;

      // init the resource
      $ch = curl_init();
      curl_setopt_array($ch, array(
          CURLOPT_URL => $url,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_POST => true,
          CURLOPT_POSTFIELDS => $post
      ));

      //Ignore SSL certificate verification
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

      //get response
      $output = curl_exec($ch);

      //Print error if any
      if(curl_errno($ch))
      {
          echo 'error:' . curl_error($ch);
      }

      curl_close($ch);
      $result = json_decode($output,true);
     echo "<pre>";print_r($result);echo "</pre>";
  }
  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
  ?>
  <!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <link rel="shortcut icon" type="image/png" href="https://demo.survey360pro.com/admin/images/favicon.png" />
          <title>Add Participant Groups</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <div class="col-md-12">
                      <h2>Add Participant Groups</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="user_form" id="user_form" method="post" action="">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="group_name">Group Name*</label>
                                          <input id="group_name" name="group_name" class="form-control" placeholder="Ex: Test" type="text" value="" required>
                                      </div>
                                  </div>
                              </div>
                              <div class="clearfix">&nbsp;</div>
                              <div class="form-actions text-right">
                                  <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
          <script>
              $(".numonly").keydown(function (event) {
                  if (event.shiftKey == true)
                  {
                      event.preventDefault();
                  }
                  if ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 37 || event.keyCode == 39 || event.keyCode == 46 ) {

                  }
                  else
                  {
                      event.preventDefault();
                  }
              });
          </script>
      </body>
</html>

Result

                                                            
Array
(
    [status] => success
    [output] => xx
    [message] => Added successfully
)
                                                            
                                                        

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Group name already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Edit Participant Group

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';

  if(isset($_GET['response']) && $_GET['response']!='')
  {
      echo $_GET['response']; exit;
  }
  $id = $_REQUEST['id'];
  if(count($_POST)){
      $url="$apiLink?page=update-participant-groups&auth=$authKey&id=$id";

      // init the resource
      $ch = curl_init();
      curl_setopt_array($ch, array(
          CURLOPT_URL => $url,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_POST => true,
          CURLOPT_POSTFIELDS => $_POST
          //,CURLOPT_FOLLOWLOCATION => true
      ));

      //Ignore SSL certificate verification
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

      //get response
      $output = curl_exec($ch);

      //Print error if any
      if(curl_errno($ch))
      {
          echo 'error:' . curl_error($ch);
      }

      curl_close($ch);

      $result = json_decode($output);
      echo "<pre>";print_r($result);echo "</pre>";
  }
  $url = "$apiLink?page=get-participant-groups&auth=$authKey&id=$id";

  /* CURL START */
  $result = processURL($url);
  /* CURL END */

  $response =  json_decode($result,true);
  if($response['status']=='error')
  {
      echo $response['message']; exit;
  }
  $row = $response['output'];
  if(empty($row)){
      echo "Result are empty";
  }
  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
  ?>
  <!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <link rel="shortcut icon" type="image/png" href="https://demo.survey360pro.com/admin/images/favicon.png" />
          <title>Edit Participant Groups</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <div class="col-md-12">
                      <h2>Edit Participant Groups</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="user_form" id="user_form" method="post" action="">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="group_name">Group Name*</label>
                                          <input id="group_name" name="group_name" class="form-control" placeholder="Ex: Test" type="text" value="<?php echo $row['grp_name']; ?>" required />
                                      </div>
                                  </div>
                              </div>
                              <div class="clearfix">&nbsp;</div>
                              <div class="form-actions text-right">
                                  <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
      </body>
</html>

Result


Array
(
    [status] => success
    [output] => xx
    [message] => Added successfully
)
                                                            
                                                        

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Group name already exist.
error 0 Error Message
success xx ( return added id) Added successfully

List Survey

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';

  $url = "$apiLink?page=survey&auth=$authKey";
  /* Curl Method */
  $result = processURL($url);

  $response =  json_decode($result,true);

  if($response['status']!='success'){
      echo $response['message']; die();
  }
  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
  ?>
  <!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <title>Survey List</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
          <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" />
          <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" />
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper" class="container-fluid">
              <div class="row">
                  <h2>Survey List</h2>
                  <div class="col-md-12">
                      <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0">
                          <thead>
                              <tr>
                                  <th>Survey Name</th>
                                  <th>Created</th>
                                  <th>Modified</th>
                                  <th>Response</th>
                                  <th>Action</th>
                              </tr>
                          </thead>
                          <tbody></tbody>
                      </table>
                  </div>
              </div>
          </div>
          <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
          <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script>
          <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script>
          <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>
          <script>
              $(document).ready(function() {
                  getDisplay();
              });

              function getDisplay(){
                  var data = <?php echo $result; ?>;
                  var content = '';
                  var table = $('table').DataTable();
                  table.clear().draw();
                  table.state.clear();
                  if(data['status']=='success')
                  {
                      for (var i = 0; i < data['output'].length; i++) {
                          var content = ''+
                          '<tr>'+
                              '<td>'+
                                  data['output'][i]['survey_name']+'</td>'+
                              '<td>'+
                                  data['output'][i]['created_date']+'</td>'+
                              '<td>'+
                                  data['output'][i]['updated_date']+'</td>'+
                              '<td>'+
                                  data['output'][i]['res_percentage']+'</td>'+
                              '<td>'+
                                  '<a target="_blank" href="api-question-list-php.php?survey_id='+data['output'][i]['id']+'">View Question</a>&nbsp;|&nbsp'+
                                  '<a target="_blank" href="api-question-add-php.php?survey_id='+data['output'][i]['id']+'">Question Add</a>&nbsp;|&nbsp'+
                                  '<a href="api-survey-edit-php.php?id='+data['output'][i]['id']+'">Edit</a>&nbsp;|&nbsp'+
                                  '<a href="survey-report.html?id='+data['output'][i]['id']+'">Report</a>&nbsp;|&nbsp'+
                                  '<a onclick="return confirm(\'Are you sure want to delete\');" href="api-survey-delete-php.php?id='+data['output'][i]['id']+'">Delete</a>'+
                              '</td>'+
                          '<tr>';
                          table.row.add($(content )).draw();
                      }
                  }
                  else{
                      alert(data['message']);
                  }
              }
          </script>
      </body>
</html>

Result

															
Array
(
    [status] => success
    [output] => Array
        (
            [0] => Array
                (
                    [ref_key] => xxxxxxx
                    [id] => xx
                    [survey_name] => xxxxxxx
                    [instruction] =>
                    [category] =>
                    [type] =>
                    [logo] =>
                    [created_date] => 2017-11-02 04:18:59
                    [updated_date] => 0000-00-00 00:00:00
                    [res_percentage] => xx%
                    [sent] => xx
                    [response] => xx
                )

            [1] => Array
                (
                    [ref_key] => xxxxxxx
                    [id] => xx
                    [survey_name] => xxxxxxx
                    [instruction] =>
                    [category] =>
                    [type] =>
                    [logo] =>
                    [created_date] => 2017-11-02 04:18:59
                    [updated_date] => 0000-00-00 00:00:00
                    [res_percentage] => xx%
                    [sent] => xx
                    [response] => xx
                )
        )

    [message] =>
)
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

Delete Survey

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $id = $_REQUEST['id'];
  $url = "$apiLink?page=delete-survey&auth=$authKey&id=$id";
  $output = processURL($url);
  $result = json_decode($output,true);
  echo "<pre>";print_r($result);echo "</pre>";
  echo '<br><a href="api-survey-list-php.php">Go to survey list page</a>';

  function processURL($url)
  {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
?>

Result

															
Array
(
    [status] => success
    [message] => Deleted successfully
)
															
														

Messages

Status Message
error ID are empty
error Error Message
success Deleted successfully

List Survey

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Survey List</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div id="response"></div> <div class="row"> <h2>Survey List</h2> <div class="col-md-12"> <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0"> <thead> <tr> <th>Survey Name</th> <th>Created</th> <th>Modified</th> <th>Response</th> <th>Action</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>

<script> $(document).ready(function() { getDisplay(); } ); function getDisplay(){ $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH', function(data) { console.log(data); var content = ''; var table = $('table').DataTable(); table.clear().draw(); table.state.clear(); if(data['status']=='success'){ for (var i = 0; i < data['output'].length; i++) { var content = '<tr><td>'+ data['output'][i]['survey_name']+'</td><td>'+ data['output'][i]['created_date']+'</td><td>'+ data['output'][i]['updated_date']+'</td><td>'+ data['output'][i]['res_percentage']+'</td><td>'+ '<a target="_blank" href="view-question.html?survey_id='+data['output'][i]['id']+'">View Question</a>&nbsp;|&nbsp;<a target="_blank" href="add-question.html?survey_id='+data['output'][i]['id']+'">Question Add</a>&nbsp;|&nbsp;<a href="edit-survey.html?id='+data['output'][i]['id']+'">Edit</a>&nbsp;|&nbsp;<a href="survey-report.html?id='+data['output'][i]['id']+'">Report</a>&nbsp;|&nbsp;<a href="javascript:void(0)" onclick="deletefun('+data['output'][i]['id']+')">Delete</a></td><tr>'; table.row.add($(content )).draw(); } }else{ alert(data['message']); } }); } function deletefun(e){ var result = confirm("Want to delete?"); if (result) { $.get('https://efficiency.survey360pro.com/admin/api/index.php?page=delete-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&id='+e, function(data) { $('#response').html(data); getDisplay(); }); } } </script>

</body> </html>

Result

															
{"status":"success","output":[{"ref_key":"xxxxxxx","id":"xx","survey_name":"xxxxxxx","instruction":"","category":"","type":"","logo":"","created_date":"2017-11-02 04:18:59","updated_date":"0000-00-00 00:00:00","res_percentage":"xx%","sent":"xx","response":"xx"},{"ref_key":"xxxxxxx","id":"xx","survey_name":"xxxxxxx","instruction":"","category":"","type":"","logo":"","created_date":"2017-11-02 04:18:59","updated_date":"0000-00-00 00:00:00","res_percentage":"xx%","sent":"xx","response":"xx"}],"message":""}
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

List Survey

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Survey List</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div id="response"></div> <div class="row"> <h2>Survey List</h2> <div class="col-md-12"> <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0"> <thead> <tr> <th>Survey Name</th> <th>Created</th> <th>Modified</th> <th>Response</th> <th>Action</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>

<script> $(document).ready(function() { getDisplay(); } ); function getDisplay(){ $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH', function(data) { console.log(data); var content = ''; var table = $('table').DataTable(); table.clear().draw(); table.state.clear(); if(data['status']=='success'){ for (var i = 0; i < data['output'].length; i++) { var content = '<tr><td>'+ data['output'][i]['survey_name']+'</td><td>'+ data['output'][i]['created_date']+'</td><td>'+ data['output'][i]['updated_date']+'</td><td>'+ data['output'][i]['res_percentage']+'</td><td>'+ '<a target="_blank" href="view-question.html?survey_id='+data['output'][i]['id']+'">View Question</a>&nbsp;|&nbsp;<a target="_blank" href="add-question.html?survey_id='+data['output'][i]['id']+'">Question Add</a>&nbsp;|&nbsp;<a href="edit-survey.html?id='+data['output'][i]['id']+'">Edit</a>&nbsp;|&nbsp;<a href="survey-report.html?id='+data['output'][i]['id']+'">Report</a>&nbsp;|&nbsp;<a href="javascript:void(0)" onclick="deletefun('+data['output'][i]['id']+')">Delete</a></td><tr>'; table.row.add($(content )).draw(); } }else{ alert(data['message']); } }); } function deletefun(e){ var result = confirm("Want to delete?"); if (result) { $.get('https://efficiency.survey360pro.com/admin/api/index.php?page=delete-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&id='+e, function(data) { $('#response').html(data); getDisplay(); }); } } </script>

</body> </html>

Result

															
{"status":"success","output":[{"ref_key":"xxxxxxx","id":"xx","survey_name":"xxxxxxx","instruction":"","category":"","type":"","logo":"","created_date":"2017-11-02 04:18:59","updated_date":"0000-00-00 00:00:00","res_percentage":"xx%","sent":"xx","response":"xx"},{"ref_key":"xxxxxxx","id":"xx","survey_name":"xxxxxxx","instruction":"","category":"","type":"","logo":"","created_date":"2017-11-02 04:18:59","updated_date":"0000-00-00 00:00:00","res_percentage":"xx%","sent":"xx","response":"xx"}],"message":""}
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

Add Survey

Copy

<?php
    /* NOTE: THIS FOLLOWING CURL WRITTEN BASED ON PHP 5.5 */
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  if (count($_POST))
  {
      $url = "$apiLink?page=add-survey&auth=$authKey";
      $filedata = "";
      if(isset($_FILES) && count($_FILES)>0){
          $filename = $_FILES['logo']['name'];
          $filedata = $_FILES['logo']['tmp_name'];
          $filesize = $_FILES['logo']['size'];
          $filetype = $_FILES['logo']['type'];
          $fileerror = $_FILES['logo']['error'];
      }
      $survey_name = $_POST['survey_name'];

      if ($filedata != '' && $survey_name!='')
      {
          $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
          $logo = array("name"=>$filename,"type"=>$filetype,"tmp_name"=>$filedata,"error"=>$fileerror,"size"=>$filesize);
          $headers = array("Content-Type:multipart/form-data"); // cURL headers for file uploading
          $postfields = array("logodata" => "@$filedata", "logo_name"=>$filename, "logo_extension"=>$ext, "survey_name"=>$survey_name);
          $ch = curl_init();
          $options = array(
              CURLOPT_URL => $url,
              CURLOPT_HEADER => true,
              CURLOPT_POST => 1,
              CURLOPT_SSL_VERIFYHOST => 0,
              CURLOPT_SSL_VERIFYPEER => 0,
              CURLOPT_HTTPHEADER => $headers,
              CURLOPT_POSTFIELDS => $postfields,
              CURLOPT_INFILESIZE => $filesize,
              CURLOPT_RETURNTRANSFER => true
          ); // cURL options
          curl_setopt_array($ch, $options);
          //get response
          $output = curl_exec($ch);

          //Print error if any
          if(curl_errno($ch))
          {
              echo 'error:' . curl_error($ch);
          }

          curl_close($ch);
          echo $output;
          $result = json_decode($output,true);
      }
      else
      {
          $ch = curl_init();
          curl_setopt_array($ch, array(
              CURLOPT_URL => $url,
              CURLOPT_RETURNTRANSFER => true,
              CURLOPT_POST => true,
              CURLOPT_POSTFIELDS => $_POST
              //,CURLOPT_FOLLOWLOCATION => true
          ));

          //Ignore SSL certificate verification
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

          //get response
          $output = curl_exec($ch);

          //Print error if any
          if(curl_errno($ch))
          {
              echo 'error:' . curl_error($ch);
          }

          curl_close($ch);

          echo $output;

          $result = json_decode($output,true);
          //echo "<pre>";print_r($result);echo "</pre>";
      }
  }

?>
<!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <title>Add Survey</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <div class="col-md-12">
                      <h2>Add Survey</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="form" id="form" method="post" action="" enctype="multipart/form-data">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="first_name">Survey Name*</label>
                                          <input id="survey_name" name="survey_name" class="form-control" placeholder="Name of the Survey" type="text" value="" required>
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="state">Logo</label>
                                          <input id="logo" name="logo" class="form-control" accept="image/*" onchange="Upload(event)" type="file">
                                      </div>
                                      <div class="form-group">
                                          <div id="msg"></div>
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <img id="profile-img" width="100px" height="100px" src="http://via.placeholder.com/100x100" class="img-responsive">
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button>
                                      </div>
                                  </div>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
          <script>
              var Upload = function(event) {
                  var msgID = $("#msg");
                  var pic = $("#profile-img");
                  var submitbtn = $("#submit");
                  submitbtn.prop('disabled', true);
                  pic.attr("src","http://via.placeholder.com/100x100");
                  var fileUpload = document.getElementById("logo");
                  var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.png|.gif)$");
                  if (regex.test(fileUpload.value.toLowerCase())) {
                      if (typeof (fileUpload.files) != "undefined") {
                          if (!fileUpload.value==""){
                            var img=fileUpload.files[0].size;
                            var imgsize=img;
                            if(imgsize>(1024*1024*1)){
                                msgID.html('<p style="color:red;text-align:center;">Maximum image upload size 1MB</p>');
                                return false;
                            }
                          }
                          var reader = new FileReader();
                          reader.readAsDataURL(fileUpload.files[0]);
                          reader.onload = function (e) {
                                  var image = new Image();
                                  image.src = e.target.result;
                                  pic.attr("src",image.src);
                                  msgID.html('');
                                  submitbtn.prop('disabled', false);
                          }
                      } else {
                          msgID.html('<p style="color:red;text-align:center;">This browser does not support HTML5.</p>');
                          alert("This browser does not support HTML5.");
                          return false;
                      }
                  } else {
                      msgID.html('<p style="color:red;text-align:center;">Please select a valid Image file.</p>');
                      return false;
                  }
              }

          </script>
      </body>
</html>

Result

															
Array
(
    [status] => success
    [output] => xx
    [message] => Added successfully
)
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Survey name already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Add Survey

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Add Survey</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script>

<script type="text/javascript"> function submitForm() { console.log("submit event"); var fd = new FormData(document.getElementById("reg-form")); fd.append("label", "WEBUPLOAD"); $.ajax({ url: "https://efficiency.survey360pro.com/admin/api/index.php?page=add-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH", type: "POST", data: fd, processData: false, // tell jQuery not to process the data contentType: false // tell jQuery not to set contentType }).done(function( data ) { console.log("PHP Output:"); console.log( data ); $('#response').html(data); }); return false; } </script> <script> var Upload = function(event) { var msgID = $("#msg"); var pic = $("#profile-img"); var submitbtn = $("#submit"); submitbtn.prop('disabled', true); pic.attr("src","http://via.placeholder.com/100x100"); var fileUpload = document.getElementById("logo"); var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.png|.gif)$"); if (regex.test(fileUpload.value.toLowerCase())) { if (typeof (fileUpload.files) != "undefined") { if (!fileUpload.value==""){ var img=fileUpload.files[0].size; var imgsize=img; if(imgsize>(1024*1024*1)){ msgID.html('<p style="color:red;text-align:center;">Maximum image upload size 1MB</p>'); return false; } } var reader = new FileReader(); reader.readAsDataURL(fileUpload.files[0]); reader.onload = function (e) { var image = new Image(); image.src = e.target.result; pic.attr("src",image.src); msgID.html(''); submitbtn.prop('disabled', false); } } else { msgID.html('<p style="color:red;text-align:center;">This browser does not support HTML5.</p>'); alert("This browser does not support HTML5."); return false; } } else { msgID.html('<p style="color:red;text-align:center;">Please select a valid Image file.</p>'); return false; } } </script>

</head> <body> <div id="page-wrapper"> <div class="row"> <div class="col-md-12"><h2>Add Survey</h2></div> <div class="col-md-12"> <div class="white-box"> <form method="post" id="reg-form" data-toggle="validator" onsubmit="return submitForm();" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="first_name">Survey Name*</label> <input id="survey_name" name="survey_name" class="form-control" placeholder="Name of the Survey" type="text" value="" required> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="state">Logo</label> <input id="logo" name="logo" class="form-control" accept="image/*" onchange="Upload(event)" type="file"> </div> <div class="form-group"> <div id="msg"></div> </div> </div> <div class="col-md-6"> <div class="form-group"> <img id="profile-img" width="100px" height="100px" src="http://via.placeholder.com/100x100" class="img-responsive"> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button> </div> </div> </div> </form> </div> <div id="response"></div> </div> </div> </div> </body> </html>

Result

															
{"status":"success","output":"xx","message":"Added successfully"}
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Survey name already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Add Survey

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Add Survey</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script>

<script type="text/javascript"> function submitForm() { console.log("submit event"); var fd = new FormData(document.getElementById("reg-form")); fd.append("label", "WEBUPLOAD"); $.ajax({ url: "https://efficiency.survey360pro.com/admin/api/index.php?page=add-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH", type: "POST", data: fd, processData: false, // tell jQuery not to process the data contentType: false // tell jQuery not to set contentType }).done(function( data ) { console.log("PHP Output:"); console.log( data ); $('#response').html(data); }); return false; } </script> <script> var Upload = function(event) { var msgID = $("#msg"); var pic = $("#profile-img"); var submitbtn = $("#submit"); submitbtn.prop('disabled', true); pic.attr("src","http://via.placeholder.com/100x100"); var fileUpload = document.getElementById("logo"); var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.png|.gif)$"); if (regex.test(fileUpload.value.toLowerCase())) { if (typeof (fileUpload.files) != "undefined") { if (!fileUpload.value==""){ var img=fileUpload.files[0].size; var imgsize=img; if(imgsize>(1024*1024*1)){ msgID.html('<p style="color:red;text-align:center;">Maximum image upload size 1MB</p>'); return false; } } var reader = new FileReader(); reader.readAsDataURL(fileUpload.files[0]); reader.onload = function (e) { var image = new Image(); image.src = e.target.result; pic.attr("src",image.src); msgID.html(''); submitbtn.prop('disabled', false); } } else { msgID.html('<p style="color:red;text-align:center;">This browser does not support HTML5.</p>'); alert("This browser does not support HTML5."); return false; } } else { msgID.html('<p style="color:red;text-align:center;">Please select a valid Image file.</p>'); return false; } } </script>

</head> <body> <div id="page-wrapper"> <div class="row"> <div class="col-md-12"><h2>Add Survey</h2></div> <div class="col-md-12"> <div class="white-box"> <form method="post" id="reg-form" data-toggle="validator" onsubmit="return submitForm();" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="first_name">Survey Name*</label> <input id="survey_name" name="survey_name" class="form-control" placeholder="Name of the Survey" type="text" value="" required> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="state">Logo</label> <input id="logo" name="logo" class="form-control" accept="image/*" onchange="Upload(event)" type="file"> </div> <div class="form-group"> <div id="msg"></div> </div> </div> <div class="col-md-6"> <div class="form-group"> <img id="profile-img" width="100px" height="100px" src="http://via.placeholder.com/100x100" class="img-responsive"> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button> </div> </div> </div> </form> </div> <div id="response"></div> </div> </div> </div> </body> </html>

Result

															
{"status":"success","output":"xx","message":"Added successfully"}
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Survey name already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Edit Survey

Copy

<?php
  /* NOTE: THIS FOLLOWING CURL WRITTEN BASED ON PHP 5.5 */
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $id = $_REQUEST['id'];
  if (count($_POST))
  {
    $url = "$apiLink?page=update-survey-curl&auth=$authKey&id=$id";
  	$filedata = "";
  	if(isset($_FILES) && count($_FILES)>0){
        $filename = $_FILES['logo']['name'];
        $filedata = $_FILES['logo']['tmp_name'];
        $filesize = $_FILES['logo']['size'];
        $filetype = $_FILES['logo']['type'];
        $fileerror = $_FILES['logo']['error'];
  	}
  	$survey_name = $_POST['survey_name'];
      if ($filedata != '' && $survey_name!='')
      {
          $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
          $logo = array("name"=>$filename,"type"=>$filetype,"tmp_name"=>$filedata,"error"=>$fileerror,"size"=>$filesize);
          $headers = array("Content-Type:multipart/form-data"); // cURL headers for file uploading
          $postfields = array("logodata" => "@$filedata", "logo_name"=>$filename, "logo_extension"=>$ext, "survey_name"=>$survey_name);
          $ch = curl_init();
          $options = array(
              CURLOPT_URL => $url,
              CURLOPT_HEADER => true,
              CURLOPT_POST => 1,
              CURLOPT_SSL_VERIFYHOST => 0,
              CURLOPT_SSL_VERIFYPEER => 0,
              CURLOPT_HTTPHEADER => $headers,
              CURLOPT_POSTFIELDS => $postfields,
              CURLOPT_INFILESIZE => $filesize,
              CURLOPT_RETURNTRANSFER => true
          ); // cURL options
          curl_setopt_array($ch, $options);
          //get response
          $output = curl_exec($ch);

          //Print error if any
          if(curl_errno($ch))
          {
              echo 'error:' . curl_error($ch);
          }
          curl_close($ch);
          echo $output;
          $result = json_decode($output,true);
      }
      else
      {
          $ch = curl_init();
          curl_setopt_array($ch, array(
                  CURLOPT_URL => $url,
                  CURLOPT_RETURNTRANSFER => true,
                  CURLOPT_POST => true,
                  CURLOPT_POSTFIELDS => $_POST
                  //,CURLOPT_FOLLOWLOCATION => true
          ));

          //Ignore SSL certificate verification
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

          //get response
          $output = curl_exec($ch);

          //Print error if any
          if(curl_errno($ch))
          {
                  echo 'error:' . curl_error($ch);
          }
          curl_close($ch);
          echo $output;
          $result = json_decode($output,true);
      }
  }
  $url = "$apiLink?page=get-survey&auth=$authKey&id=$id";

  /* CURL START */
  $result = processURL($url);
  /* CURL END */
  $response =  json_decode($result,true);

  if($response['status']=='error')
  {
  	echo $response['message']; exit;
  }
  $row = $response['output'];
  if(empty($row)){
  	echo "Result are empty";
  }
  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
?>
<!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <title>Edit Survey</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <div class="col-md-12">
                          <h2>Edit Survey</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="form" id="form" method="post" action="" enctype="multipart/form-data">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="first_name">Survey Name*</label>
                                          <input id="survey_name" name="survey_name" class="form-control" placeholder="Name of the Survey" type="text" value="<?php echo $row['survey_name']; ?>" required />
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="state">Logo</label>
                                          <input id="logo" name="logo" class="form-control" accept="image/*" onchange="Upload(event)" type="file">
                                      </div>
                                      <div class="form-group">
                                          <div id="msg"></div>
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <img id="profile-img" width="100px" height="100px" src="<?php echo ($row['logo']!=''?$row['logo']:'http://via.placeholder.com/100x100'); ?>" class="img-responsive">
                                      </div>
                                  </div>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button>
                                      </div>
                                  </div>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
          <script>
              var Upload = function(event) {
                  var msgID = $("#msg");
                  var pic = $("#profile-img");
                  var submitbtn = $("#submit");
                  submitbtn.prop('disabled', true);
                  pic.attr("src","<?php echo ($row['logo']!=''?$row['logo']:'http://via.placeholder.com/100x100'); ?>");
                  var fileUpload = document.getElementById("logo");
                  var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.png|.gif)$");
                  if (regex.test(fileUpload.value.toLowerCase())) {
                      if (typeof (fileUpload.files) != "undefined") {
                        if (!fileUpload.value==""){
                          var img=fileUpload.files[0].size;
                          var imgsize=img;
                          if(imgsize>(1024*1024*1)){
                              msgID.html('<p style="color:red;text-align:center;">Maximum image upload size 1MB</p>');
                              return false;
                          }
                        }
                          var reader = new FileReader();
                          reader.readAsDataURL(fileUpload.files[0]);
                          reader.onload = function (e) {
                              var image = new Image();
                              image.src = e.target.result;
                              pic.attr("src",image.src);
                              msgID.html('');
                              submitbtn.prop('disabled', false);
                          }
                      } else {
                          msgID.html('<p style="color:red;text-align:center;">This browser does not support HTML5.</p>');
                          alert("This browser does not support HTML5.");
                          return false;
                      }
                  } else {
                      msgID.html('<p style="color:red;text-align:center;">Please select a valid Image file.</p>');
                      return false;
                  }
              }
          </script>
      </body>
</html>

Result

															
Array
(
    [status] => success
    [output] => xx
    [message] => Updated successfully
)
															
														

Messages

Status Output Message
error xx ID are empty
error xx POST values are empty
error xx Fill all mandatory fieldss
error xx Survey name already exist.
error xx Error Message
success xx ( return updated id) Updated successfully

Edit Survey

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Edit Survey</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div class="row"> <div class="col-md-12"><h2>Edit Survey</h2></div> <div class="col-md-12"> <div class="white-box"> <form method="post" id="reg-form" data-toggle="validator" onsubmit="return submitForm();" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="first_name">Survey Name*</label> <input id="survey_name" name="survey_name" class="form-control" placeholder="Name of the Survey" type="text" value="" required> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="state">Logo</label> <input id="logo" name="logo" class="form-control" accept="image/*" onchange="Upload(event)" type="file"> </div> <div class="form-group"> <div id="msg"></div> </div> </div> <div class="col-md-6"> <div class="form-group"> <img id="profile-img" width="100px" height="100px" src="http://via.placeholder.com/100x100" class="img-responsive"> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button> </div> </div> </div> </form> </div> <div id="response"></div> </div> </div> </div>

<script type="text/javascript"> $(document).ready(function() { var id = getParameterByName('id'); if(id=="" || id==null || id==0) { alert("ID value invalid"); return false; } $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=get-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&id='+id, function(data) { console.log(data); if(data['status']=='success'){ document.getElementById("submit").disabled = false; document.getElementById('survey_name').value = data['output']['survey_name']!=undefined?data['output']['survey_name']:''; var img_url = data['output']['logo']!=""?data['output']['logo']:'http://via.placeholder.com/100x100'; $("#profile-img").attr("src",img_url); } }); }); function submitForm() { var id = getParameterByName('id'); if(id=="" || id==null || id==0) { alert("ID value invalid"); return false; } console.log("submit event"); var fd = new FormData(document.getElementById("reg-form")); fd.append("label", "WEBUPLOAD"); $.ajax({ url: "https://efficiency.survey360pro.com/admin/api/index.php?page=update-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&id="+id, type: "POST", data: fd, processData: false, // tell jQuery not to process the data contentType: false // tell jQuery not to set contentType }).done(function( data ) { console.log( data ); $('#response').html(data); }); return false; } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } var Upload = function(event) { var msgID = $("#msg"); var pic = $("#profile-img"); var submitbtn = $("#submit"); submitbtn.prop('disabled', true); pic.attr("src","http://via.placeholder.com/100x100"); var fileUpload = document.getElementById("logo"); var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.png|.gif)$"); if (regex.test(fileUpload.value.toLowerCase())) { if (typeof (fileUpload.files) != "undefined") { if (!fileUpload.value==""){ var img=fileUpload.files[0].size; var imgsize=img; if(imgsize>(1024*1024*1)){ msgID.html('<p style="color:red;text-align:center;">Maximum image upload size 1MB</p>'); return false; } } var reader = new FileReader(); reader.readAsDataURL(fileUpload.files[0]); reader.onload = function (e) { var image = new Image(); image.src = e.target.result; pic.attr("src",image.src); msgID.html(''); submitbtn.prop('disabled', false); } } else { msgID.html('<p style="color:red;text-align:center;">This browser does not support HTML5.</p>'); alert("This browser does not support HTML5."); return false; } } else { msgID.html('<p style="color:red;text-align:center;">Please select a valid Image file.</p>'); return false; } } </script>

</body> </html>

Result

															
{"status":"success","output":"xx","message":"Updated successfully"}
															
														

Messages

Status Output Message
error xx ID are empty
error xx POST values are empty
error xx Fill all mandatory fieldss
error xx Survey name already exist.
error xx Error Message
success xx ( return updated id) Updated successfully

Edit Survey

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Edit Survey</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div class="row"> <div class="col-md-12"><h2>Edit Survey</h2></div> <div class="col-md-12"> <div class="white-box"> <form method="post" id="reg-form" data-toggle="validator" onsubmit="return submitForm();" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="first_name">Survey Name*</label> <input id="survey_name" name="survey_name" class="form-control" placeholder="Name of the Survey" type="text" value="" required> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="state">Logo</label> <input id="logo" name="logo" class="form-control" accept="image/*" onchange="Upload(event)" type="file"> </div> <div class="form-group"> <div id="msg"></div> </div> </div> <div class="col-md-6"> <div class="form-group"> <img id="profile-img" width="100px" height="100px" src="http://via.placeholder.com/100x100" class="img-responsive"> </div> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button> </div> </div> </div> </form> </div> <div id="response"></div> </div> </div> </div>

<script type="text/javascript"> $(document).ready(function() { var id = getParameterByName('id'); if(id=="" || id==null || id==0) { alert("ID value invalid"); return false; } $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=get-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&id='+id, function(data) { console.log(data); if(data['status']=='success'){ document.getElementById("submit").disabled = false; document.getElementById('survey_name').value = data['output']['survey_name']!=undefined?data['output']['survey_name']:''; var img_url = data['output']['logo']!=""?data['output']['logo']:'http://via.placeholder.com/100x100'; $("#profile-img").attr("src",img_url); } }); }); function submitForm() { var id = getParameterByName('id'); if(id=="" || id==null || id==0) { alert("ID value invalid"); return false; } console.log("submit event"); var fd = new FormData(document.getElementById("reg-form")); fd.append("label", "WEBUPLOAD"); $.ajax({ url: "https://efficiency.survey360pro.com/admin/api/index.php?page=update-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&id="+id, type: "POST", data: fd, processData: false, // tell jQuery not to process the data contentType: false // tell jQuery not to set contentType }).done(function( data ) { console.log( data ); $('#response').html(data); }); return false; } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } var Upload = function(event) { var msgID = $("#msg"); var pic = $("#profile-img"); var submitbtn = $("#submit"); submitbtn.prop('disabled', true); pic.attr("src","http://via.placeholder.com/100x100"); var fileUpload = document.getElementById("logo"); var regex = new RegExp("([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.png|.gif)$"); if (regex.test(fileUpload.value.toLowerCase())) { if (typeof (fileUpload.files) != "undefined") { if (!fileUpload.value==""){ var img=fileUpload.files[0].size; var imgsize=img; if(imgsize>(1024*1024*1)){ msgID.html('<p style="color:red;text-align:center;">Maximum image upload size 1MB</p>'); return false; } } var reader = new FileReader(); reader.readAsDataURL(fileUpload.files[0]); reader.onload = function (e) { var image = new Image(); image.src = e.target.result; pic.attr("src",image.src); msgID.html(''); submitbtn.prop('disabled', false); } } else { msgID.html('<p style="color:red;text-align:center;">This browser does not support HTML5.</p>'); alert("This browser does not support HTML5."); return false; } } else { msgID.html('<p style="color:red;text-align:center;">Please select a valid Image file.</p>'); return false; } } </script>

</body> </html>

Result

															
{"status":"success","output":"xx","message":"Updated successfully"}
															
														

Messages

Status Output Message
error xx ID are empty
error xx POST values are empty
error xx Fill all mandatory fieldss
error xx Survey name already exist.
error xx Error Message
success xx ( return updated id) Updated successfully

Questions

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $survey_id = $_GET['survey_id'];
  $url = "$apiLink?page=questions&auth=$authKey&survey_id=$survey_id";
  /* Curl Method */
  $result = processURL($url);
  $response =  json_decode($result,true);
  if($response['status']!='success'){
      echo $response['message']; die();
  }
  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
?>
<!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <title>Questions List</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
          <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" />
          <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" />
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <h2>Questions List</h2>
                  <div class="col-md-12">
                      <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0">
                          <thead>
                              <tr>
                                  <th>Q.No.</th>
                                  <th>Question</th>
                                  <th>Type</th>
                                  <th>Options</th>
                                  <th>Action</th>
                              </tr>
                          </thead>
                          <tbody>
                          <?php
                              if(count($response['output'])>0){
                                  $i=1;
                                  foreach($response['output'] as $row)
                                  {
                                          $option = "";
                                          if($row['type'] < 4)
                                          {
                                              $option = "";
                                              $j=1;
                                              if(!empty($row['options']))
                                              foreach($row['options'] as $opt)
                                                      $option .= $j++.' ) '.$opt."<br>";
                                          }
                                          echo '<tr>'.
                                                  '<td>'.$i++.'</td>'.
                                                  '<td>'.$row['question'].'</td>'.
                                                  '<td>'.$row['type_method'].'</td>'.
                                                  '<td>'.$option.'</td>'.
                                                  '<td>'.
                                                      '<a href="api-question-edit-php.php?survey_id='.$survey_id.'&id='.$row['id'].'">Edit</a>&nbsp;|&nbsp'.
                                                      '<a onclick="return confirm(\'Are you sure?\')" href="api-question-delete-php.php?survey_id='.$survey_id.'&id='.$row['id'].'">Delete</a>'.
                                                  '</td>'.
                                              '</tr>';
                                  }
                              }else{
                                  echo '<tr><td colspan="5">Record not found!</td></tr>';
                              }
                              ?>
                          </tbody>
                      </table>
                  </div>
              </div>
          </div>
      </body>
</html>

Result

															
Array
(
    [status] => success
    [output] => Array
        (
            [0] => Array
                (
                    [id] => xx
                    [question] => Xxxxxx xxxxxx
                    [type] => 1
                    [type_method] => Radio
                    [options] => Array
                        (
                            [0] => Yes
                            [1] => No
                        )

                )

            [1] => Array
                (
                    [id] => xx
                    [question] => Xxxxx xxxxxxxxxxx xxxxxxxxxxx
                    [type] => 1
                    [type_method] => Checkbox
                    [options] => Array
                        (
                            [0] => xxxxxxx
                            [1] => xxxxxxx
                            [2] => xxxxxxx
                            [3] => xxxxxxx
                        )

                )

        )

    [message] =>
)
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

Delete Question

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $id = $_REQUEST['id'];
  $survey_id=$_REQUEST['survey_id'];
  $url = "$apiLink?page=delete-question&auth=$authKey&survey_id=$survey_id&id=$id";
  $output = processURL($url);
  $result = json_decode($output,true);
  echo "<pre>";print_r($result);echo "</pre>";
  echo '<br><a href="api-question-list-php.php?survey_id='.$survey_id.'">Go to Questions Page</a>';

  function processURL($url)
  {
  	$ch = curl_init();
  	curl_setopt_array($ch, array(
  	CURLOPT_URL => $url,
  	CURLOPT_RETURNTRANSFER => true,
  	CURLOPT_SSL_VERIFYPEER => false,
  	CURLOPT_SSL_VERIFYHOST => 2
  	));

  	$result = curl_exec($ch);
  	curl_close($ch);
  	return $result;
  }
?>

Result

															
Array
(
    [status] => success
    [message] => Deleted successfully
)
															
														

Messages

Status Message
error ID are empty
error Error Message
success Deleted successfully

Questions

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Questions List</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div id="response"></div> <div class="row"> <h2>Questions List</h2> <div class="col-md-12"> <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0"> <thead> <tr> <th>Q.No.</th> <th>Question</th> <th>Type</th> <th>Options</th> <th>Action</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>

<script> $(document).ready(function() { getDisplay(); } ); function getDisplay(){ var id = getParameterByName('id'); var survey_id = getParameterByName('survey_id'); $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=questions&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+survey_id+'&id='+id, function(data) { console.log(data); var content = ''; var no=1; if(data['status']=='success'){ $("#example tbody").html(""); for (var i = 0; i < data['output'].length; i++) { var content = '<tr><td>'+ no+'</td><td>'+ data['output'][i]['question']+'</td><td>'+ data['output'][i]['type_method']+'</td><td>'; var option = ''; if(data['output'][i]['type']<4){ if (data['output'][i]['options'].length) { var opt_no = 1; $.each(data['output'][i]['options'], function(key,val) { option +=opt_no+' ) '+val+"<br>"; //alert(val); opt_no++; }); } } content +=option+'</td><td>'+ '<a href="edit-question.html?survey_id='+survey_id+'&id='+data['output'][i]['id']+'">Edit</a>&nbsp;|&nbsp;<a href="javascript:void(0)" onclick="deletefun('+survey_id+','+data['output'][i]['id']+')">Delete</a></td><tr>'; no++; $("#example tbody").append(content); } }else{ $("#example tbody").html('<tr><td colspan="5">Record not found!</td></tr>'); alert(data['message']); } }); } function deletefun(a,b){ var result = confirm("Want to delete?"); if (result) { $.get('https://efficiency.survey360pro.com/admin/api/index.php?page=delete-question&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+a+'&id='+b, function(data) { $('#response').html(data); getDisplay(); }); } } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } </script>

</body> </html>

Result

															
{"status":"success","output":[{"id":"xx","question":"Xxxxxx xxxxxx","type":"1","type_method":"Radio","options":["Yes","No"]},{"id":"xx","question":"Xxxxx xxxxxxxxxxx xxxxxxxxxxx","type":"1","type_method":"Checkbox","options":["xxxxxxx","xxxxxxx","xxxxxxx","xxxxxxx"]}],"message":""}
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

Questions

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Questions List</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div id="response"></div> <div class="row"> <h2>Questions List</h2> <div class="col-md-12"> <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0"> <thead> <tr> <th>Q.No.</th> <th>Question</th> <th>Type</th> <th>Options</th> <th>Action</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>

<script> $(document).ready(function() { getDisplay(); } ); function getDisplay(){ var id = getParameterByName('id'); var survey_id = getParameterByName('survey_id'); $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=questions&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+survey_id+'&id='+id, function(data) { console.log(data); var content = ''; var no=1; if(data['status']=='success'){ $("#example tbody").html(""); for (var i = 0; i < data['output'].length; i++) { var content = '<tr><td>'+ no+'</td><td>'+ data['output'][i]['question']+'</td><td>'+ data['output'][i]['type_method']+'</td><td>'; var option = ''; if(data['output'][i]['type']<4){ if (data['output'][i]['question'].length) { var opt_no = 1; $.each(data['output'][i]['options'], function(key,val) { option +=opt_no+' ) '+val+"<br>"; //alert(val); opt_no++; }); } } content +=option+'</td><td>'+ '<a href="edit-question.html?survey_id='+survey_id+'&id='+data['output'][i]['id']+'">Edit</a>&nbsp;|&nbsp;<a href="javascript:void(0)" onclick="deletefun('+survey_id+','+data['output'][i]['id']+')">Delete</a></td><tr>'; no++; $("#example tbody").append(content); } }else{ $("#example tbody").html('<tr><td colspan="5">Record not found!</td></tr>'); alert(data['message']); } }); } function deletefun(a,b){ var result = confirm("Want to delete?"); if (result) { $.get('https://efficiency.survey360pro.com/admin/api/index.php?page=delete-question&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+a+'&id='+b, function(data) { $('#response').html(data); getDisplay(); }); } } function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } </script>

</body> </html>

Result

															
{"status":"success","output":[{"id":"xx","question":"Xxxxxx xxxxxx","type":"1","type_method":"Radio","options":["Yes","No"]},{"id":"xx","question":"Xxxxx xxxxxxxxxxx xxxxxxxxxxx","type":"1","type_method":"Checkbox","options":["xxxxxxx","xxxxxxx","xxxxxxx","xxxxxxx"]}],"message":""}
															
														

Messages

Status Output Message
error Empty Array Error Message
success Output Array

Add Question

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $survey_id = $_REQUEST['survey_id'];
  if(count($_POST)){
      $url="$apiLink?page=add-question&auth=$authKey&survey_id=$survey_id";
      if($_POST['type']>3)
          $postData = array("question"=>$_POST['question'],"type"=>$_POST['type']);
      else
          $postData = array("question"=>$_POST['question'],"type"=>$_POST['type'],"options"=>json_encode($_POST['options']));
      // init the resource
      $ch = curl_init();
      curl_setopt_array($ch, array(
          CURLOPT_URL => $url,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_POST => true,
          CURLOPT_POSTFIELDS => $postData
      ));

      //Ignore SSL certificate verification
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

      //get response
      $output = curl_exec($ch);

      //Print error if any
      if(curl_errno($ch))
      {
          echo 'error:' . curl_error($ch);
      }

      curl_close($ch);
      $result = json_decode($output,true);
  }
?>
<!DOCTYPE html>
  <html lang="en">
      <head>
              <meta charset="utf-8" />
              <meta http-equiv="X-UA-Compatible" content="IE=edge" />
              <!-- Tell the browser to be responsive to screen width -->
              <meta name="viewport" content="width=device-width, initial-scale=1" />
              <meta name="description" content="" />
              <meta name="author" content="" />
              <!-- Favicon icon -->
              <title>Add Question</title>
              <!-- Bootstrap Core CSS -->
              <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
              <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <div class="col-md-12">
                      <h2>Add Question</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="form" id="form" method="post" action="" enctype="multipart/form-data">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="first_name">Question*</label>
                                          <input id="question" name="question" class="form-control" onblur="check(this.value)" onkeydown="check(this.value)" placeholder="Name of the Question" type="text" value="" required>
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="state">Answer Type*</label>
                                          <select id="type" name="type" class="form-control changeType" disabled required>
                                              <option value="">Select Answer Type</option>
                                              <option value="1">Radio Button</option>
                                              <option value="2">Check Box</option>
                                              <option value="3">Dropdown</option>
                                              <option value="4">Single Row Text</option>
                                              <option value="5">Numeric Input</option>
                                              <option value="6">Email Address</option>
                                              <option value="7">Comment Box</option>
                                          </select>
                                      </div>
                                  </div>
                              </div> <!-- row -->
                              <div id="option-cond" class="row"></div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button>
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <button type="button" id="0" class="btn btn-default addCond" style="display:none">Add More</button>
                                      </div>
                                  </div>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
          <script>
              $(document).on('change','.changeType', function(){
                  if (typeof $(this).attr("id") === "undefined") {
                      return false;
                  }
                  var qtype = $(this).val();
                  if(qtype!='' && qtype>0){
                      $("#option-cond").html('');
                      $(".addCond").attr("id",0);
                      optionsDesign($("#type").val(),$(".addCond").attr("id"),1);
                  }
              });
              $(document).on('click','.removeCond', function(){
                  if (typeof $(this).attr("id") === "undefined") {
                      return false;
                  }
                  var c_id  = $(this).attr("id");
                  $("."+c_id).hide(500);
                  $("."+c_id).remove();
              });
              $(document).on('click','.addCond', function(){
                  if (typeof $(this).attr("id") === "undefined") {
                      return false;
                  }
                  var c_id  = $(this).attr("id");
                  c_id++;
                  $(this).attr("id",c_id);
                  optionsDesign($("#type").val(),c_id,0);
              });
              function optionsDesign(e,a,s){
                  var body = '';
                  if(e==1 || e==2 || e==3){
                      if(s==1){
                              body += '<div class="col-md-6 option_'+a+'">'+
                                          '<div class="form-group">'+
                                              '<input type="text" class="form-control" name="options[]" id="input_'+a+'" required>'+
                                          '</div>'+
                                      '</div>'+
                                      '<div class="col-md-12 option_'+a+'">'+
                                          '<div class="form-group">.</div>'+
                                      '</div>';
                              body += ''+
                                      '<div class="col-md-6 option_'+a+'">'+
                                          '<div class="form-group">'+
                                              '<input type="text" class="form-control" name="options[]" id="input_'+a+'" required>'+
                                          '</div>'+
                                      '</div>'+
                                      '<div class="col-md-12 option_'+a+'">'+
                                          '<div class="form-group">.</div>'+
                                      '</div>';
                      }else{
                          body += ''+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<input type="text" class="form-control" name="options[]" id="option_'+a+'" required>'+
                                  '</div>'+
                              '</div>'+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<button type="button" id="option_'+a+'" class="removeCond btn btn-danger">X</button>'+
                                  '</div>'+
                          '</div>';
                      }
                      $(".addCond").show();
                  }else if(e==4){
                      if(s==1){
                          body += ''+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<input type="text" class="form-control" name="options" placeholder="Something Enter" id="input_'+a+'" disabled>'+
                                  '</div>'+
                              '</div>'+
                              '<div class="col-md-12 option_'+a+'">'+
                                  '<div class="form-group">.</div>'+
                              '</div>';
                      }
                      $(".addCond").hide();
                  }else if(e==5){
                      if(s==1){
                          body += ''+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<input type="number" class="form-control" name="options" placeholder="Enter numberic characters only" id="input_'+a+'" disabled>'+
                                  '</div>'+
                              '</div>'+
                              '<div class="col-md-12 option_'+a+'">'+
                                  '<div class="form-group">.</div>'+
                              '</div>';
                      }
                      $(".addCond").hide();
                  }else if(e==6){
                      if(s==1){
                          body += ''+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<input type="email" class="form-control" name="options" placeholder="Ex:[email protected]" id="input_'+a+'" disabled>'+
                                  '</div>'+
                              '</div>'+
                              '<div class="col-md-12 option_'+a+'">'+
                                  '<div class="form-group">.</div>'+
                              '</div>';
                      }
                      $(".addCond").hide();
                  }else if(e==7){
                      if(s==1){
                          body += ''+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<textarea class="form-control" name="options" placeholder="Enter Comments" id="input_'+a+'" disabled></textarea>'+
                                  '</div>'+
                              '</div>'+
                              '<div class="col-md-12 option_'+a+'">'+
                                  '<div class="form-group">.</div>'+
                              '</div>';
                      }
                      $(".addCond").hide();
                  }
                  $("#option-cond").append(body);
              }
              function check(e){
                  if(e.length>0)
                      $("#type").prop('disabled', false);
                  else
                      $("#type").prop('disabled', true);
              }
          </script>
      </body>
</html>
	

Result

															
Array
(
    [status] => success
    [output] => xx
    [message] => Added successfully
)
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Question name already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Add Question

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Add Question</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div class="row"> <div class="col-md-12"> <h2>Add Question</h2> </div> <div class="col-md-12"> <div class="white-box"> <form name="form" id="reg-form" method="post" action="" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="question">Question*</label> <input id="question" name="question" class="form-control" onblur="check(this.value)" onkeydown="check(this.value)" placeholder="Name of the Question" type="text" value="" required> </div> </div> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="state">Answer Type*</label> <select id="type" name="type" class="form-control changeType" disabled required> <option value="">Select Answer Type</option> <option value="1">Radio Button</option> <option value="2">Check Box</option> <option value="3">Dropdown</option> <option value="4">Single Row Text</option> <option value="5">Numeric Input</option> <option value="6">Email Address</option> <option value="7">Comment Box</option> </select> </div> </div> </div> <div id="option-cond" class="row"> <!--<div class="col-md-6"> <div class="form-group"> <input type="text" class="form-control"> </div> </div> <div class="col-md-6"> <div class="form-group"> <button class="removeCond btn btn-danger">X</button> </div> </div>--> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button> </div> </div> <div class="col-md-6"> <div class="form-group"> <button type="button" id="0" class="btn btn-default addCond" style="display:none">Add More</button> </div> </div> </div> <div id="response"></div> </form> </div> </div> </div> </div> </body>

<script> $(document).on('change','.changeType', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var qtype = $(this).val(); if(qtype!='' && qtype>0){ $("#option-cond").html(''); $(".addCond").attr("id",0); optionsDesign($("#type").val(),$(".addCond").attr("id"),1); } }); $(document).on('click','.removeCond', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var c_id = $(this).attr("id"); $("."+c_id).hide(500); $("."+c_id).remove(); }); $(document).on('click','.addCond', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var c_id = $(this).attr("id"); c_id++; $(this).attr("id",c_id); optionsDesign($("#type").val(),c_id,0); }); function optionsDesign(e,a,s){ var body = ''; if(e==1 || e==2 || e==3){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; }else{ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="option_'+a+'" required></div></div><div class="col-md-6 option_'+a+'"><div class="form-group"><button type="button" id="option_'+a+'" class="removeCond btn btn-danger">X</button></div></div>'; } $(".addCond").show(); }else if(e==4){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options" placeholder="Something Enter" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==5){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="number" class="form-control" name="options" placeholder="Enter numberic characters only" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==6){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="email" class="form-control" name="options" placeholder="Ex:[email protected]" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==7){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><textarea class="form-control" name="options" placeholder="Enter Comments" id="input_'+a+'" disabled></textarea></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); } $("#option-cond").append(body); } function check(e){ if(e.length>0) $("#type").prop('disabled', false); else $("#type").prop('disabled', true); } $('#reg-form').submit(function(e){ var survey_id = getParameterByName('survey_id'); if(survey_id=="" || survey_id==null || survey_id==0) { alert("Survey ID value invalid"); return false; } e.preventDefault(); // Prevent Default Submission $.post('https://efficiency.survey360pro.com/admin/api/index.php?page=add-question&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+survey_id, $(this).serialize() ) .done(function(data){ $('#response').html(data); $("input[type=text]").val(""); }) .fail(function(){ alert('Ajax Submit Failed ...'); }); }); function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } </script>

</html>

Result

															
{"status":"success","output":"xx","message":"Added successfully"}
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Question name already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Add Question

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Add Question</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div class="row"> <div class="col-md-12"> <h2>Add Question</h2> </div> <div class="col-md-12"> <div class="white-box"> <form name="form" id="reg-form" method="post" action="" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="question">Question*</label> <input id="question" name="question" class="form-control" onblur="check(this.value)" onkeydown="check(this.value)" placeholder="Name of the Question" type="text" value="" required> </div> </div> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="state">Answer Type*</label> <select id="type" name="type" class="form-control changeType" disabled required> <option value="">Select Answer Type</option> <option value="1">Radio Button</option> <option value="2">Check Box</option> <option value="3">Dropdown</option> <option value="4">Single Row Text</option> <option value="5">Numeric Input</option> <option value="6">Email Address</option> <option value="7">Comment Box</option> </select> </div> </div> </div> <div id="option-cond" class="row"> <!--<div class="col-md-6"> <div class="form-group"> <input type="text" class="form-control"> </div> </div> <div class="col-md-6"> <div class="form-group"> <button class="removeCond btn btn-danger">X</button> </div> </div>--> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button> </div> </div> <div class="col-md-6"> <div class="form-group"> <button type="button" id="0" class="btn btn-default addCond" style="display:none">Add More</button> </div> </div> </div> <div id="response"></div> </form> </div> </div> </div> </div> </body>

<script> $(document).on('change','.changeType', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var qtype = $(this).val(); if(qtype!='' && qtype>0){ $("#option-cond").html(''); $(".addCond").attr("id",0); optionsDesign($("#type").val(),$(".addCond").attr("id"),1); } }); $(document).on('click','.removeCond', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var c_id = $(this).attr("id"); $("."+c_id).hide(500); $("."+c_id).remove(); }); $(document).on('click','.addCond', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var c_id = $(this).attr("id"); c_id++; $(this).attr("id",c_id); optionsDesign($("#type").val(),c_id,0); }); function optionsDesign(e,a,s){ var body = ''; if(e==1 || e==2 || e==3){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; }else{ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="option_'+a+'" required></div></div><div class="col-md-6 option_'+a+'"><div class="form-group"><button type="button" id="option_'+a+'" class="removeCond btn btn-danger">X</button></div></div>'; } $(".addCond").show(); }else if(e==4){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options" placeholder="Something Enter" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==5){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="number" class="form-control" name="options" placeholder="Enter numberic characters only" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==6){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="email" class="form-control" name="options" placeholder="Ex:[email protected]" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==7){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><textarea class="form-control" name="options" placeholder="Enter Comments" id="input_'+a+'" disabled></textarea></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); } $("#option-cond").append(body); } function check(e){ if(e.length>0) $("#type").prop('disabled', false); else $("#type").prop('disabled', true); } $('#reg-form').submit(function(e){ var survey_id = getParameterByName('survey_id'); if(survey_id=="" || survey_id==null || survey_id==0) { alert("Survey ID value invalid"); return false; } e.preventDefault(); // Prevent Default Submission var question = $("#question").val(); var type = $("#type").val(); var options = $('input[name^=options]').map(function(idx, elem) { return $(elem).val(); }).get(); $.post('https://efficiency.survey360pro.com/admin/api/index.php?page=add-question&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+survey_id, {question:question,type:type,options:options} ) .done(function(data){ $('#response').html(data); $("input[type=text]").val(""); }) .fail(function(){ alert('Ajax Submit Failed ...'); }); }); function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } </script>

</html>

Result

															
{"status":"success","output":"xx","message":"Added successfully"}
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Question name already exist.
error 0 Error Message
success xx ( return added id) Added successfully

Edit Question

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  $id = $_REQUEST['id'];
  $survey_id = $_REQUEST['survey_id'];
  if(count($_POST)){
      $url="$apiLink?page=update-question&auth=$authKey&survey_id=$survey_id&id=$id";
      if($_POST['type']>3)
          $postData = array("question"=>$_POST['question'],"type"=>$_POST['type']);
      else
          $postData = array("question"=>$_POST['question'],"type"=>$_POST['type'],"options"=>json_encode($_POST['options']));

      // init the resource
      $ch = curl_init();
      curl_setopt_array($ch, array(
          CURLOPT_URL => $url,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_POST => true,
          CURLOPT_POSTFIELDS => $postData
      ));

      //Ignore SSL certificate verification
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

      //get response
      $output = curl_exec($ch);

      //Print error if any
      if(curl_errno($ch))
      {
          echo 'error:' . curl_error($ch);
      }

      curl_close($ch);

      $result = json_decode($output,true);
      print_r($result);
      /*Array ( [status] => success [output] => 2376 [message] => Updated successfully )*/

  }
  $url = "$apiLink?page=get-question&auth=$authKey&survey_id=$survey_id&id=$id";

  /* CURL START */
  $result = processURL($url);
  /* CURL END */

  $response =  json_decode($result,true);
  if($response['status']=='error')
  {
      echo $response['message']; exit;
  }

  $row = $response['output'];
  if(empty($row)){
      echo "Result are empty"; exit;
  }
  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
?>
<!DOCTYPE html>
  <html lang="en">
      <head>
          <meta charset="utf-8" />
          <meta http-equiv="X-UA-Compatible" content="IE=edge" />
          <!-- Tell the browser to be responsive to screen width -->
          <meta name="viewport" content="width=device-width, initial-scale=1" />
          <meta name="description" content="" />
          <meta name="author" content="" />
          <!-- Favicon icon -->
          <title>Edit Question</title>
          <!-- Bootstrap Core CSS -->
          <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
          <script src="//code.jquery.com/jquery-1.12.4.js"></script>
      </head>
      <body>
          <div id="page-wrapper">
              <div class="row">
                  <div class="col-md-12">
                          <h2>Edit Question</h2>
                  </div>
                  <div class="col-md-12">
                      <div class="white-box">
                          <form name="form" id="form" method="post" action="" enctype="multipart/form-data">
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="first_name">Question*</label>
                                          <input id="question" name="question" class="form-control" onblur="check(this.value)" onkeydown="check(this.value)" placeholder="Name of the Question" type="text" value="<?php echo $row['question']; ?>" required />
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <label class="control-label" for="state">Answer Type*</label>
                                          <select id="type" name="type" class="form-control changeType" required>
                                              <option value="">Select Answer Type</option>
                                              <option value="1" <?php echo $row['type']==1?'selected':''; ?>>Radio Button</option>
                                              <option value="2" <?php echo $row['type']==2?'selected':''; ?>>Check Box</option>
                                              <option value="3" <?php echo $row['type']==3?'selected':''; ?>>Dropdown</option>
                                              <option value="4" <?php echo $row['type']==4?'selected':''; ?>>Single Row Text</option>
                                              <option value="5" <?php echo $row['type']==5?'selected':''; ?>>Numeric Input</option>
                                              <option value="6" <?php echo $row['type']==6?'selected':''; ?>>Email Address</option>
                                              <option value="7" <?php echo $row['type']==7?'selected':''; ?>>Comment Box</option>
                                          </select>
                                      </div>
                                  </div>
                              </div>
                              <div id="option-cond" class="row">
                                  <?php
                                      $i=0;
                                      if($row['type']<=3){
                                          foreach($row['options'] as $data){
                                              if($i <2 ){
                                                  echo '
                                                  <div class="col-md-6 option_'.$i.'">
                                                      <div class="form-group">
                                                          <input type="text" class="form-control" name="options[]" id="input_'.$i.'" value="'.$data.'"  required>
                                                      </div>
                                                  </div>
                                                  <div class="col-md-12 option_'.$i.'">
                                                      <div class="form-group">.</div>
                                                  </div>';
                                              }else{
                                                  echo '
                                                  <div class="col-md-6 option_'.$i.'">
                                                      <div class="form-group">
                                                          <input type="text" class="form-control" name="options[]" id="option_'.$i.'" value="'.$data.'" required>
                                                      </div>
                                                  </div>
                                                  <div class="col-md-6 option_'.$i.'">
                                                      <div class="form-group">
                                                          <button type="button" id="option_'.$i.'" class="removeCond btn btn-danger">X</button>
                                                      </div>
                                                  </div>';
                                              }
                                              $i++;
                                          }
                                      }else{
                                          if($row['type']==4)
                                              echo '
                                              <div class="col-md-6 option_'.$i.'">
                                                  <div class="form-group">
                                                      <input type="text" class="form-control" placeholder="Something Enter" name="options" id="input_'.$i.'" value="" disabled>
                                                  </div>
                                              </div>
                                              <div class="col-md-12 option_'.$i.'" >
                                                  <div class="form-group">.</div>
                                              </div>';
                                          else if($row['type']==5)
                                              echo '
                                              <div class="col-md-6 option_'.$i.'">
                                                  <div class="form-group">
                                                      <input type="number" class="form-control" placeholder="Enter numberic characters only" name="options" id="input_'.$i.'" value="" disabled>
                                                  </div>
                                              </div>
                                              <div class="col-md-12 option_'.$i.'" >
                                                      <div class="form-group">.</div>
                                              </div>';
                                          else if($row['type']==6)
                                              echo '
                                              <div class="col-md-6 option_'.$i.'">
                                                  <div class="form-group">
                                                      <input type="email" class="form-control" placeholder="Ex:[email protected]" name="options" id="input_'.$i.'" value="" disabled>
                                                  </div>
                                              </div>
                                              <div class="col-md-12 option_'.$i.'" >
                                                      <div class="form-group">.</div>
                                              </div>';
                                          else if($row['type']==7)
                                              echo '
                                              <div class="col-md-6 option_'.$i.'">
                                                  <div class="form-group">
                                                      <textarea class="form-control" placeholder="Enter Comments" name="options" id="input_'.$i.'" value="" disabled></textarea>
                                                  </div>
                                              </div>
                                              <div class="col-md-12 option_'.$i.'" >
                                                  <div class="form-group">.</div>
                                              </div>';
                                      }
                                  ?>
                              </div>
                              <div class="row">
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button>
                                      </div>
                                  </div>
                                  <div class="col-md-6">
                                      <div class="form-group">
                                          <button type="button" id="<?php echo $i; ?>" class="btn btn-default addCond" style="<?php echo ($row['type']<=3?'display:black':'display:none') ?>">Add More</button>
                                      </div>
                                  </div>
                              </div>
                          </form>
                      </div>
                  </div>
              </div>
          </div>
          <script>
              $(document).on('change','.changeType', function(){
                  if (typeof $(this).attr("id") === "undefined") {
                      return false;
                  }
                  var qtype  = $(this).val();
                  if(qtype!='' && qtype>0){
                      $("#option-cond").html('');
                      $(".addCond").attr("id",0);
                      optionsDesign($("#type").val(),$(".addCond").attr("id"),1);
                  }
              });
              $(document).on('click','.removeCond', function(){
                  if (typeof $(this).attr("id") === "undefined") {
                      return false;
                  }
                  var c_id = $(this).attr("id");
                  $("."+c_id).hide(500);
                  $("."+c_id).remove();
              });
              $(document).on('click','.addCond', function(){
                  if (typeof $(this).attr("id") === "undefined") {
                          return false;
                  }
                  var c_id	  = $(this).attr("id");
                  c_id++;
                  $(this).attr("id",c_id);
                  optionsDesign($("#type").val(),c_id,0);
              });
              function optionsDesign(e,a,s){
  		var body = '';
  		if(e==1 || e==2 || e==3){
                      if(s==1){
                          body += ''+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<input type="text" class="form-control" name="options[]" id="input_'+a+'" required>'+
                                  '</div>'+
                              '</div>'+
                              '<div class="col-md-12 option_'+a+'">'+
                                  '<div class="form-group">.</div>'+
                              '</div>';
                          body += ''+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<input type="text" class="form-control" name="options[]" id="input_'+a+'" required>'+
                                  '</div>'+
                              '</div>'+
                              '<div class="col-md-12 option_'+a+'">'+
                                  '<div class="form-group">.</div>'+
                              '</div>';
                      }else{
                          body += ''+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<input type="text" class="form-control" name="options[]" id="option_'+a+'" required>'+
                                  '</div>'+
                              '</div>'+
                              '<div class="col-md-6 option_'+a+'">'+
                                  '<div class="form-group">'+
                                      '<button type="button" id="option_'+a+'" class="removeCond btn btn-danger">X</button>'+
                                  '</div>'+
                              '</div>';
  			}
  			$(".addCond").show();
                      }else if(e==4){
  			if(s==1){
                              body += ''+
                                  '<div class="col-md-6 option_'+a+'">'+
                                      '<div class="form-group">'+
                                          '<input type="text" class="form-control" name="options" placeholder="Something Enter" id="input_'+a+'" disabled>'+
                                      '</div>'+
                                  '</div>'+
                                  '<div class="col-md-12 option_'+a+'">'+
                                      '<div class="form-group">.</div>'+
                                  '</div>';
                          }
                          $(".addCond").hide();
                      }else if(e==5){
  			if(s==1){
                              body += ''+
                                  '<div class="col-md-6 option_'+a+'">'+
                                      '<div class="form-group">'+
                                          '<input type="number" class="form-control" name="options" placeholder="Enter numberic characters only" id="input_'+a+'" disabled>'+
                                      '</div>'+
                                  '</div>'+
                                  '<div class="col-md-12 option_'+a+'">'+
                                      '<div class="form-group">.</div>'+
                                  '</div>';
  			}
  			$(".addCond").hide();
                      }else if(e==6){
  			if(s==1){
                              body += ''+
                                  '<div class="col-md-6 option_'+a+'">'+
                                      '<div class="form-group">'+
                                          '<input type="email" class="form-control" name="options" placeholder="Ex:[email protected]" id="input_'+a+'" disabled>'+
                                      '</div>'+
                                  '</div>'+
                                  '<div class="col-md-12 option_'+a+'">'+
                                      '<div class="form-group">.</div>'+
                                  '</div>';
  			}
  			$(".addCond").hide();
                      }else if(e==7){
  			if(s==1){
                              body += ''+
                                  '<div class="col-md-6 option_'+a+'">'+
                                      '<div class="form-group">'+
                                          '<textarea class="form-control" name="options" placeholder="Enter Comments" id="input_'+a+'" disabled></textarea>'+
                                      '</div>'+
                                  '</div>'+
                                  '<div class="col-md-12 option_'+a+'">'+
                                      '<div class="form-group">.</div>'+
                                  '</div>';
  			}
  			$(".addCond").hide();
                      }
                  $("#option-cond").append(body);
              }
              function check(e){
                  if(e.length>0)
                      $("#type").prop('disabled', false);
                  else
                      $("#type").prop('disabled', true);
              }
          </script>
      </body>
</html>

Result

															
Array
(
    [status] => success
    [output] => xx
    [message] => Updated successfully
)
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Question name already exist.
error 0 Error Message
success xx ( return updated id) Updated successfully

Edit Question

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Edit Question</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div class="row"> <div class="col-md-12"> <h2>Edit Question</h2> </div> <div class="col-md-12"> <div class="white-box"> <form name="form" id="reg-form" method="post" action="" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="question">Question*</label> <input id="question" name="question" class="form-control" onblur="check(this.value)" onkeydown="check(this.value)" placeholder="Name of the Question" type="text" value="" required> </div> </div> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="state">Answer Type*</label> <select id="type" name="type" class="form-control changeType" required> <option value="">Select Answer Type</option> <option value="1">Radio Button</option> <option value="2">Check Box</option> <option value="3">Dropdown</option> <option value="4">Single Row Text</option> <option value="5">Numeric Input</option> <option value="6">Email Address</option> <option value="7">Comment Box</option> </select> </div> </div> </div> <div id="option-cond" class="row"> <!--<div class="col-md-6"> <div class="form-group"> <input type="text" class="form-control"> </div> </div> <div class="col-md-6"> <div class="form-group"> <button class="removeCond btn btn-danger">X</button> </div> </div>--> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button> </div> </div> <div class="col-md-6"> <div class="form-group"> <button type="button" id="0" class="btn btn-default addCond" style="display:none">Add More</button> </div> </div> </div> <div id="response"></div> </form> </div> </div> </div> </div> </body>

<script> $(document).on('change','.changeType', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var qtype = $(this).val(); if(qtype!='' && qtype>0){ $("#option-cond").html(''); $(".addCond").attr("id",0); optionsDesign($("#type").val(),$(".addCond").attr("id"),1); } }); $(document).on('click','.removeCond', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var c_id = $(this).attr("id"); $("."+c_id).hide(500); $("."+c_id).remove(); }); $(document).on('click','.addCond', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var c_id = $(this).attr("id"); c_id++; $(this).attr("id",c_id); optionsDesign($("#type").val(),c_id,0); }); function optionsDesign(e,a,s){ var body = ''; if(e==1 || e==2 || e==3){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; }else{ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="option_'+a+'" required></div></div><div class="col-md-6 option_'+a+'"><div class="form-group"><button type="button" id="option_'+a+'" class="removeCond btn btn-danger">X</button></div></div>'; } $(".addCond").show(); }else if(e==4){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options" placeholder="Something Enter" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==5){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="number" class="form-control" name="options" placeholder="Enter numberic characters only" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==6){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="email" class="form-control" name="options" placeholder="Ex:[email protected]" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==7){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><textarea class="form-control" name="options" placeholder="Enter Comments" id="input_'+a+'" disabled></textarea></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); } $("#option-cond").append(body); } function updateoptionsDesign(e,a,s,v){ var body = ''; if(e==1 || e==2 || e==3){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" value="'+v+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; }else{ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="option_'+a+'" value="'+v+'" required></div></div><div class="col-md-6 option_'+a+'"><div class="form-group"><button type="button" id="option_'+a+'" class="removeCond btn btn-danger">X</button></div></div>'; } $(".addCond").show(); }else if(e==4){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options" placeholder="Something Enter" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==5){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="number" class="form-control" name="options" placeholder="Enter numberic characters only" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==6){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="email" class="form-control" name="options" placeholder="Ex:[email protected]" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==7){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><textarea class="form-control" name="options" placeholder="Enter Comments" id="input_'+a+'" disabled></textarea></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); } $("#option-cond").append(body); } function check(e){ if(e.length>0) $("#type").prop('disabled', false); else $("#type").prop('disabled', true); } $('#reg-form').submit(function(e){ var id = getParameterByName('id'); var survey_id = getParameterByName('survey_id'); if(id=="" || id==null || id==0 || survey_id=="" || survey_id==null || survey_id==0) { alert("ID value invalid"); return false; } e.preventDefault(); // Prevent Default Submission $.post('https://efficiency.survey360pro.com/admin/api/index.php?page=update-question&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+survey_id+'&id='+id, $(this).serialize() ) .done(function(data){ $('#response').html(data); }) .fail(function(){ alert('Ajax Submit Failed ...'); }); }); function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } $(document).ready(function() { var id = getParameterByName('id'); var survey_id = getParameterByName('survey_id'); if(id=="" || id==null || id==0 || survey_id=="" || survey_id==null || survey_id==0) { alert("ID value invalid"); return false; } $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=get-question&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+survey_id+'&id='+id, function(data) { console.log(data); if(data['status']=='success'){ $("#question").val(data['output']['question']); $("#type option:eq("+data['output']['type']+")").prop('selected', true); if(data['output']['type']<4){ if (data['output']['options'].length) { var opt_no = 0; $.each(data['output']['options'], function(key,val) { if(opt_no>1) updateoptionsDesign(data['output']['type'],opt_no,0,val); else updateoptionsDesign(data['output']['type'],opt_no,1,val); opt_no++; }); $(".addCond").attr("id",opt_no); } }else{ updateoptionsDesign(data['output']['type'],0,1,""); } }else{ alert(data['message']); } }); }); </script>

</html>

Result

															
{"status":"success","output":"xx","message":"Updated successfully"}
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Question name already exist.
error 0 Error Message
success xx ( return updated id) Updated successfully

Edit Question

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Edit Question</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div class="row"> <div class="col-md-12"> <h2>Edit Question</h2> </div> <div class="col-md-12"> <div class="white-box"> <form name="form" id="reg-form" method="post" action="" enctype="multipart/form-data"> <div class="row"> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="question">Question*</label> <input id="question" name="question" class="form-control" onblur="check(this.value)" onkeydown="check(this.value)" placeholder="Name of the Question" type="text" value="" required> </div> </div> <div class="col-md-6"> <div class="form-group"> <label class="control-label" for="state">Answer Type*</label> <select id="type" name="type" class="form-control changeType" required> <option value="">Select Answer Type</option> <option value="1">Radio Button</option> <option value="2">Check Box</option> <option value="3">Dropdown</option> <option value="4">Single Row Text</option> <option value="5">Numeric Input</option> <option value="6">Email Address</option> <option value="7">Comment Box</option> </select> </div> </div> </div> <div id="option-cond" class="row"> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <button type="submit" name="submit" id="submit" value="submit" class="btn btn-info"> Save</button> </div> </div> <div class="col-md-6"> <div class="form-group"> <button type="button" id="0" class="btn btn-default addCond" style="display:none">Add More</button> </div> </div> </div> <div id="response"></div> </form> </div> </div> </div> </div> </body>

<script> $(document).on('change','.changeType', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var qtype = $(this).val(); if(qtype!='' && qtype>0){ $("#option-cond").html(''); $(".addCond").attr("id",0); optionsDesign($("#type").val(),$(".addCond").attr("id"),1); } }); $(document).on('click','.removeCond', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var c_id = $(this).attr("id"); $("."+c_id).hide(500); $("."+c_id).remove(); }); $(document).on('click','.addCond', function(){ if (typeof $(this).attr("id") === "undefined") { return false; } var c_id = $(this).attr("id"); c_id++; $(this).attr("id",c_id); optionsDesign($("#type").val(),c_id,0); }); function optionsDesign(e,a,s){ var body = ''; if(e==1 || e==2 || e==3){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; }else{ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="option_'+a+'" required></div></div><div class="col-md-6 option_'+a+'"><div class="form-group"><button type="button" id="option_'+a+'" class="removeCond btn btn-danger">X</button></div></div>'; } $(".addCond").show(); }else if(e==4){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options" placeholder="Something Enter" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==5){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="number" class="form-control" name="options" placeholder="Enter numberic characters only" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==6){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="email" class="form-control" name="options" placeholder="Ex:[email protected]" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==7){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><textarea class="form-control" name="options" placeholder="Enter Comments" id="input_'+a+'" disabled></textarea></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); } $("#option-cond").append(body); } function updateoptionsDesign(e,a,s,v){ var body = ''; if(e==1 || e==2 || e==3){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="input_'+a+'" value="'+v+'" required></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; }else{ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options[]" id="option_'+a+'" value="'+v+'" required></div></div><div class="col-md-6 option_'+a+'"><div class="form-group"><button type="button" id="option_'+a+'" class="removeCond btn btn-danger">X</button></div></div>'; } $(".addCond").show(); }else if(e==4){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="text" class="form-control" name="options" placeholder="Something Enter" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==5){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="number" class="form-control" name="options" placeholder="Enter numberic characters only" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==6){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><input type="email" class="form-control" name="options" placeholder="Ex:[email protected]" id="input_'+a+'" disabled></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); }else if(e==7){ if(s==1){ body += '<div class="col-md-6 option_'+a+'"><div class="form-group"><textarea class="form-control" name="options" placeholder="Enter Comments" id="input_'+a+'" disabled></textarea></div></div><div class="col-md-12 option_'+a+'"><div class="form-group">.</div></div>'; } $(".addCond").hide(); } $("#option-cond").append(body); } function check(e){ if(e.length>0) $("#type").prop('disabled', false); else $("#type").prop('disabled', true); } $('#reg-form').submit(function(e){ var id = getParameterByName('id'); var survey_id = getParameterByName('survey_id'); if(id=="" || id==null || id==0 || survey_id=="" || survey_id==null || survey_id==0) { alert("ID value invalid"); return false; } e.preventDefault(); // Prevent Default Submission var question = $("#question").val(); var type = $("#type").val(); var options = $('input[name^=options]').map(function(idx, elem) { return $(elem).val(); }).get(); $.post('https://efficiency.survey360pro.com/admin/api/index.php?page=update-question&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+survey_id+'&id='+id, {question:question,type:type,options:options} ) .done(function(data){ $('#response').html(data); }) .fail(function(){ alert('Ajax Submit Failed ...'); }); }); function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } $(document).ready(function() { var id = getParameterByName('id'); var survey_id = getParameterByName('survey_id'); if(id=="" || id==null || id==0 || survey_id=="" || survey_id==null || survey_id==0) { alert("ID value invalid"); return false; } $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=get-question&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH&survey_id='+survey_id+'&id='+id, function(data) { console.log(data); if(data['status']=='success'){ $("#question").val(data['output']['question']); $("#type option:eq("+data['output']['type']+")").prop('selected', true); if(data['output']['type']<4){ if (data['output']['options'].length) { var opt_no = 0; $.each(data['output']['options'], function(key,val) { if(opt_no>1) updateoptionsDesign(data['output']['type'],opt_no,0,val); else updateoptionsDesign(data['output']['type'],opt_no,1,val); opt_no++; }); $(".addCond").attr("id",opt_no); } }else{ updateoptionsDesign(data['output']['type'],0,1,""); } }else{ alert(data['message']); } }); }); </script>

</html>

Result

															
{"status":"success","output":"xx","message":"Updated successfully"}
															
														

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Question name already exist.
error 0 Error Message
success xx ( return updated id) Updated successfully

Send Email

Copy

<?php
    error_reporting(-1);
    $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
    $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
    $url = "$apiLink?page=participant&auth=$authKey";
    /* Curl Method */
    $result = processURL($url);
    $response =  json_decode($result, true);
    if ($response['status']!='success') {
        echo $response['message'];
        die();
    }

    $url1 = "$apiLink?page=survey&auth=$authKey";
    /* Curl Method */
    $result1 = processURL($url1);

    $response_survey =  json_decode($result1, true);
    //echo "<pre>";print_r($response_survey);exit;
    if ($response_survey['status']!='success') {
        echo $response_survey['message'];
        die();
    }

    if (count($_POST)) {
        $url="$apiLink?page=send-survey&auth=$authKey";

        // init the resource
        $ch = curl_init();
        curl_setopt_array($ch, array(
            CURLOPT_URL => $url,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => $_POST
            //,CURLOPT_FOLLOWLOCATION => true
        ));

        //Ignore SSL certificate verification
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

        //get response
        $output = curl_exec($ch);

        //Print error if any
        if (curl_errno($ch)) {
            echo 'error:' . curl_error($ch);
        }

        curl_close($ch);
    }
    function processURL($url)
    {
        $ch = curl_init();
        curl_setopt_array($ch, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => 2
        ));

        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
?>
<!DOCTYPE html>
  <html lang="en">
  	<head>
  		<meta charset="utf-8" />
  		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
  		<!-- Tell the browser to be responsive to screen width -->
  		<meta name="viewport" content="width=device-width, initial-scale=1" />
  		<meta name="description" content="" />
  		<meta name="author" content="" />
  		<!-- Favicon icon -->
  		<title>Participant List</title>
  		<!-- Bootstrap Core CSS -->
  		<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  		<link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" />
  		<link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" />
  		<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  	</head>
  	<body>
  		<div id="page-wrapper">
  			<div class="container-fluid">
  				<div class="row" id="response"></div>
  				<div class="row">
  					<button name="send_email" id="send_email" class="btn btn-primary" onclick="jQuery('#send_mail').modal('show');">Send Email</button>
  				</div>
  				<div class="row">
  					<h2>Participant List</h2>
  					<div class="col-md-12">
  						<table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0">
  							<thead>
  								<tr>
  									<th>#</th>
  									<th>First name</th>
  									<th>Last name</th>
  									<th>Email</th>
  									<th>Home Phone</th>
  									<th>Mobile No.</th>
  									<th>Action</th>
  								</tr>
  							</thead>
  							<tbody></tbody>
  						</table>
  					</div>
  				</div>
  				<div id="send_mail" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" >
  					<div class="modal-dialog">
  						<div class="modal-content">
  							<div class="modal-header">
  								<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  								<h4 class="modal-title">Send Mail</h4>
  							</div>
  							<form id="email_form" method="post">
  								<div class="modal-body">
  									<div class="form-group survey_title">
  										<label for="title_sur_id" class="control-label">Select Custom Survey</label>
  										<select class="form-control " name="title_sur_id" id="title_sur_id">
  											<option value="">Select Custom Survey</option>
  											<?php
                          foreach ($response_survey['output'] as $sd => $val) {
                              $sur_name = $val['survey_name'];
                              $sur_id = $val['id'];
                              echo '
      											<option value="'.$sur_id.'" >'.$sur_name.'</option>';
                          }
                        ?>
  										</select>
  									</div>
  									<div class="form-group">
  										<label for="subject" class="control-label">Email Subject</label>
  										<input class="form-control" name="subject" id="subject" required />
  									</div>
  									<div class="form-group">
  										<label for="content" class="control-label">Email Message</label>
  										<textarea class="textarea_editor form-control" rows="15" placeholder="Enter text ..." name="content" id="content"
  											<?php echo $disable;?> >
  										</textarea>
  									</div>
  									<input type="hidden" id="sur_part" name="sur_part" />
  									<input type="hidden" id="send_email" name="send_email" value="1"/>
  									<div class="clearfix">&nbsp;</div>
  								</div>
  								<div class="modal-footer">
  									<button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button>
  									<button type="submit" class="btn btn-danger waves-effect waves-light" id="trigger_email" >Send</button>
  								</div>
  							</form>
  						</div>
  					</div>
  				</div>
  				<div id="sms-compose" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
  					<div class="modal-dialog">
  						<div class="modal-content">
  							<div class="modal-header">
  								<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  								<h4 class="modal-title">SEND SMS</h4>
  							</div>
  							<form id="sms_form" method="post">
  								<div class="modal-body">
  									<div class="form-group">
  										<label for="sur_id" class="control-label">Select Survey</label>
  										<select class="form-control " name="title_sur_id" id="title_sur_id">
  											<option value="">Select Custom Survey</option>
  											<?php
                          foreach ($response_survey['output'] as $sd => $val) {
                              $sur_name = $val['survey_name'];
                              $sur_id = $val['id'];
                              echo '<option value="'.$sur_id.'" >'.$sur_name.'</option>';
                          }
                        ?>
  										</select>
  									</div>
  									<div class="form-group">
  										<label for="sms_content" class="control-label">Message</label>
  										<textarea class="textarea_editor form-control" placeholder="Enter text ..." name="sms_content" id="sms_content" maxlength="139"></textarea>
  									</div>
  									<input type="hidden" id="sms_users" name="sms_users" />
  									<input type="hidden" id="send_sms" name="send_sms" value="1"/>
  								</div>
  								<div class="modal-footer">
  									<button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button>
  									<button type="submit" class="btn btn-danger waves-effect waves-light" id="trigger_sms">Send </button>
  								</div>
  							</form>
  						</div>
  					</div>
  				</div>
  				<!-- ./ sms Modal -->
  			</div>
  		</div>
  		<!-- page-wrapper -->
  		<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  		<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
  		<script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script>
  		<script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script>
  		<script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>
  		<script>
          $(document).ready(function() {
            getDisplay();
          });
    	   function getDisplay(){
      		var data =<?php echo $result; ?>;
            			var content = '';
            			var table = $('table').DataTable();
            			table.clear().draw();
            			table.state.clear();
            			if(data['status']=='success'){
            				for (var i = 0; i < data['output'].length; i++) {
            				var mobile = data['output'][i]['mobile']!=undefined?data['output'][i]['mobile']:'';
            				var home = data['output'][i]['home_phone']!=undefined?data['output'][i]['home_phone']:'';
            				var chkbox = '<input type="checkbox" name="participant_ids" class="" value="'+data['output'][i]['id']+'" />';
            				var content = '<tr><td>'+chkbox+'</td><td>'+data['output'][i]['first_name']+'</td>'+
                                       '<td>'+data['output'][i]['last_name']+'</td>'+
                                       '<td>'+data['output'][i]['email']+'</td>'+
                                       '<td>'+home+'</td>'+
                                       '<td>'+mobile+'</td>'+
                                      '<td><a href="edit-participant.html?id='+data['output'][i]['id']+'">Edit</a>&nbsp;<a onclick="return confirm(\'Are you sure want to delete\');" href="delete-participant.php?id='+data['output'][i]['id']+'">Delete</a></td>'+
                                    '<tr>';
            				table.row.add($(content )).draw();
            				}
            			}else{
            				alert(data['message']);
            			}
            	}
            	$("#send_email").on("click", function(){
            		var participant_ids = $('input[name="participant_ids"]:checked').map(function () {
            			if(this.value !='') return this.value;
            		}).get();
            		$("#sur_part").val(participant_ids);
            		//console.log(participant_ids);
            	});
  				</script>
		</body>
</html>

Result

                              
Array
(
[status] => success
[output] => xx
[message] => Mail Sent Successfully
)
                              
                            

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Error Message
success xx ( return updated id) Mail Sent Successfully

Send Email

Copy
                              
                  

<?php error_reporting(-1); function processURL($url) { $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => 2 )); $result = curl_exec($ch); curl_close($ch); return $result; } $authKey = '5CZipMUaqx0unSVIIac743VIGEvNygbH'; //5CZipMUaqx0unSVIIac743VIGEvNygbH $apiLink = 'https://efficiency.survey360pro.com/admin/api/index.php'; $url = "$apiLink?page=participant&auth=$authKey"; /* Curl Method */ $result = processURL($url); $response = json_decode($result,true); //echo "<pre>";print_r($response);exit; if($response['status']!='success'){ echo $response['message']; die(); } //$authKey1 = '5CZipMUaqx0unSVIIac743VIGEvNygbH'; //$apiLink1 = 'https://efficiency.survey360pro.com/admin/api/index.php'; $url1 = "$apiLink?page=survey&auth=$authKey"; /* Curl Method */ $result1 = processURL($url1); $response_survey = json_decode($result1,true); //echo "<pre>";print_r($response_survey);exit; if($response_survey['status']!='success'){ echo $response_survey['message']; die(); } ?>

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Participant List</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div class="container-fluid"> <div class="row" id="response"></div> <div class="row"> <button name="send_email" id="send_email" class="btn btn-primary" onclick="jQuery('#send_mail').modal('show');">Send Email</button> </div> <div class="row"> <h2>Participant List</h2> <div class="col-md-12"> <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0"> <thead> <tr> <th>#</th> <th>First name</th> <th>Last name</th> <th>Email</th> <th>Home Phone</th> <th>Mobile No.</th> <th>Action</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> <div id="send_mail" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" > <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title">Send Mail</h4> </div> <form id="email_form" method="post"> <div class="modal-body"> <div class="form-group survey_title"> <label for="title_sur_id" class="control-label">Select Custom Survey</label> <select class="form-control " name="title_sur_id" id="title_sur_id"> <option value="">Select Custom Survey</option>

// php script

<?php foreach($response_survey['output'] as $sd => $val) { $sur_name = $val['survey_name']; $sur_id = $val['id']; echo '<option value="'.$sur_id.'" >'.$sur_name.'</option>'; } ?>

</select> </div> <div class="form-group"> <label for="subject" class="control-label">Email Subject</label> <input class="form-control" name="subject" id="subject" required /> </div> <div class="form-group"> <label for="content" class="control-label">Email Message</label> <textarea class="textarea_editor form-control" rows="15" placeholder="Enter text ..." name="content" id="content" <?php echo $disable;?> ></textarea> </div> <input type="hidden" id="sur_part" name="sur_part" /> <input type="hidden" id="send_email" name="send_email" value="1"/> <div class="controls"> <label class="radio-inline"> <input type="radio" name="schedule" id="api_field_type_1" checked="checked" value="1">Send Now</label> <label class="radio-inline"> <input type="radio" name="schedule" id="api_field_type_2" value="2">Scheduled </label> </div> <div class="clearfix">&nbsp;</div> <div class="form-group" id="weekly"> <label class="control-label" for="s2id_autogen1">Send Every:<span class="redstar">*</span></label> <div class="controls"> <select id="week_name" class="form-control" name="week_name"> <option value="">--- Select ---</option> <option value="Sunday">Sunday</option> <option value="Monday">Monday</option> <option value="Tuesday">Tuesday</option> <option value="Wednesday">Wednesday</option> <option value="Thursday">Thursday</option> <option value="Friday">Friday</option> <option value="Saturday">Saturday</option> <option value="biweekly">biweekly</option> </select> </div> <div class="clearfix">&nbsp;</div> <div class="controls" id="by_week"> <select id="twoweek_name" class="form-control" name="twoweek_name"> <option value="">--- Select ---</option> <option value="Sunday">Sunday</option> <option value="Monday">Monday</option> <option value="Tuesday">Tuesday</option> <option value="Wednesday">Wednesday</option> <option value="Thursday">Thursday</option> <option value="Friday">Friday</option> <option value="Saturday">Saturday</option> </select> </div> </div> <div class="clearfix">&nbsp;</div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> <button type="submit" class="btn btn-danger waves-effect waves-light" id="trigger_email" >Send</button> </div> </form> </div> </div> </div> <div id="sms-compose" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title">SEND SMS</h4> </div> <form id="sms_form" method="post"> <div class="modal-body"> <div class="form-group"> <label for="sur_id" class="control-label">Select Survey</label> <select class="form-control " name="title_sur_id" id="title_sur_id"> <option value="">Select Custom Survey</option>

<?php foreach($response_survey['output'] as $sd => $val) { $sur_name = $val['survey_name']; $sur_id = $val['id']; echo '<option value="'.$sur_id.'" >'.$sur_name.'</option>'; } ?>

</select> </div> <div class="form-group"> <label for="sms_content" class="control-label">Message</label> <textarea class="textarea_editor form-control" placeholder="Enter text ..." name="sms_content" id="sms_content" maxlength="139"></textarea> </div> <input type="hidden" id="sms_users" name="sms_users" /> <input type="hidden" id="send_sms" name="send_sms" value="1"/> </div> <div class="modal-footer"> <?php //if($_CountryValcode =='') { echo '<span style="color:red;">Please select country code on settiongs menu.</span>'; } ?> <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> <button type="submit" <?php //if($_CountryValcode =='') { echo 'disabled'; } ?> class="btn btn-danger waves-effect waves-light" id="trigger_sms">Send</button> </div> </form> </div> </div> </div> <!-- ./ sms Modal --> </div> </div> <!-- page-wrapper -->

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script> <script>

$(document).ready(function() { getDisplay(); } ); function getDisplay(){ var data = <?php echo $result; ?> ; var content = ''; var table = $('table').DataTable(); table.clear().draw(); table.state.clear(); if(data['status']=='success'){ for (var i = 0; i < data['output'].length; i++) { var mobile = data['output'][i]['mobile']!=undefined?data['output'][i]['mobile']:''; var home = data['output'][i]['home_phone']!=undefined?data['output'][i]['home_phone']:''; var chkbox = '<input type="checkbox" name="participant_ids" class="" value="'+data['output'][i]['id']+'" />'; var content = '<tr><td>'+chkbox+'</td><td>'+ data['output'][i]['first_name']+'</td><td>'+ data['output'][i]['last_name']+'</td><td>'+ data['output'][i]['email']+'</td><td>'+ home+'</td><td>'+ mobile+'</td><td>'+ '<a href="edit-participant.html?id='+data['output'][i]['id']+'">Edit</a>&nbsp;<a onclick="return confirm(\'Are you sure want to delete\');" href="delete-participant.php?id='+data['output'][i]['id']+'">Delete</a></td><tr>'; table.row.add($(content )).draw(); } }else{ alert(data['message']); } } $("#send_email").on("click", function(){ var participant_ids = $('input[name="participant_ids"]:checked').map(function () { if(this.value !='') return this.value; }).get(); $("#sur_part").val(participant_ids); //console.log(participant_ids); }); $('#email_form').submit(function(e){ e.preventDefault(); // Prevent Default Submission $.post('https://efficiency.survey360pro.com/admin/api/index.php?page=send-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH', $(this).serialize() ) .done(function(data){ $('#response').html("<pre>"+data+"</pre>"); }) .fail(function (jqXHR, textStatus, errorThrown){ $('#response').html("The following error occurred: "+textStatus, errorThrown); }); });

</script> </body> </html>

Result

                              
                  {"status":"success","output":"xx","message":"Mail Sent Successfully"}
                              
                            

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fields
error 0 Error Message
success xx Mail Sent Successfully

Send Email

Copy
                              
                  

<?php error_reporting(-1); function processURL($url) { $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => 2 )); $result = curl_exec($ch); curl_close($ch); return $result; } $authKey = '5CZipMUaqx0unSVIIac743VIGEvNygbH'; //5CZipMUaqx0unSVIIac743VIGEvNygbH $apiLink = 'https://efficiency.survey360pro.com/admin/api/index.php'; $url = "$apiLink?page=participant&auth=$authKey"; /* Curl Method */ $result = processURL($url); $response = json_decode($result,true); //echo "<pre>";print_r($response);exit; if($response['status']!='success'){ echo $response['message']; die(); } //$authKey1 = '5CZipMUaqx0unSVIIac743VIGEvNygbH'; //$apiLink1 = 'https://efficiency.survey360pro.com/admin/api/index.php'; $url1 = "$apiLink?page=survey&auth=$authKey"; /* Curl Method */ $result1 = processURL($url1); $response_survey = json_decode($result1,true); //echo "<pre>";print_r($response_survey);exit; if($response_survey['status']!='success'){ echo $response_survey['message']; die(); } ?>

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Participant List</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div class="container-fluid"> <div class="row" id="response"></div> <div class="row"> <button name="send_email" id="send_email" class="btn btn-primary" onclick="jQuery('#send_mail').modal('show');">Send Email</button> </div> <div class="row"> <h2>Participant List</h2> <div class="col-md-12"> <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0"> <thead> <tr> <th>#</th> <th>First name</th> <th>Last name</th> <th>Email</th> <th>Home Phone</th> <th>Mobile No.</th> <th>Action</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> <div id="send_mail" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" > <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title">Send Mail</h4> </div> <form id="email_form" method="post"> <div class="modal-body"> <div class="form-group survey_title"> <label for="title_sur_id" class="control-label">Select Custom Survey</label> <select class="form-control " name="title_sur_id" id="title_sur_id"> <option value="">Select Custom Survey</option>

// php script

<?php foreach($response_survey['output'] as $sd => $val) { $sur_name = $val['survey_name']; $sur_id = $val['id']; echo '<option value="'.$sur_id.'" >'.$sur_name.'</option>'; } ?>

</select> </div> <div class="form-group"> <label for="subject" class="control-label">Email Subject</label> <input class="form-control" name="subject" id="subject" required /> </div> <div class="form-group"> <label for="content" class="control-label">Email Message</label> <textarea class="textarea_editor form-control" rows="15" placeholder="Enter text ..." name="content" id="content" <?php echo $disable;?> ></textarea> </div> <input type="hidden" id="sur_part" name="sur_part" /> <input type="hidden" id="send_email" name="send_email" value="1"/> <div class="controls"> <label class="radio-inline"> <input type="radio" name="schedule" id="api_field_type_1" checked="checked" value="1">Send Now</label> <label class="radio-inline"> <input type="radio" name="schedule" id="api_field_type_2" value="2">Scheduled </label> </div> <div class="clearfix">&nbsp;</div> <div class="form-group" id="weekly"> <label class="control-label" for="s2id_autogen1">Send Every:<span class="redstar">*</span></label> <div class="controls"> <select id="week_name" class="form-control" name="week_name"> <option value="">--- Select ---</option> <option value="Sunday">Sunday</option> <option value="Monday">Monday</option> <option value="Tuesday">Tuesday</option> <option value="Wednesday">Wednesday</option> <option value="Thursday">Thursday</option> <option value="Friday">Friday</option> <option value="Saturday">Saturday</option> <option value="biweekly">biweekly</option> </select> </div> <div class="clearfix">&nbsp;</div> <div class="controls" id="by_week"> <select id="twoweek_name" class="form-control" name="twoweek_name"> <option value="">--- Select ---</option> <option value="Sunday">Sunday</option> <option value="Monday">Monday</option> <option value="Tuesday">Tuesday</option> <option value="Wednesday">Wednesday</option> <option value="Thursday">Thursday</option> <option value="Friday">Friday</option> <option value="Saturday">Saturday</option> </select> </div> </div> <div class="clearfix">&nbsp;</div> </div> <div class="modal-footer"> <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> <button type="button" onclick="formsubmit()" class="btn btn-danger waves-effect waves-light" id="trigger_email" >Send</button> </div> </form> </div> </div> </div> <div id="sms-compose" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <h4 class="modal-title">SEND SMS</h4> </div> <form id="sms_form" method="post"> <div class="modal-body"> <div class="form-group"> <label for="sur_id" class="control-label">Select Survey</label> <select class="form-control " name="title_sur_id" id="title_sur_id"> <option value="">Select Custom Survey</option>

<?php foreach($response_survey['output'] as $sd => $val) { $sur_name = $val['survey_name']; $sur_id = $val['id']; echo '<option value="'.$sur_id.'" >'.$sur_name.'</option>'; } ?>

</select> </div> <div class="form-group"> <label for="sms_content" class="control-label">Message</label> <textarea class="textarea_editor form-control" placeholder="Enter text ..." name="sms_content" id="sms_content" maxlength="139"></textarea> </div> <input type="hidden" id="sms_users" name="sms_users" /> <input type="hidden" id="send_sms" name="send_sms" value="1"/> </div> <div class="modal-footer"> <?php //if($_CountryValcode =='') { echo '<span style="color:red;">Please select country code on settiongs menu.</span>'; } ?> <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button> <button type="submit" <?php //if($_CountryValcode =='') { echo 'disabled'; } ?> class="btn btn-danger waves-effect waves-light" id="trigger_sms">Send</button> </div> </form> </div> </div> </div> <!-- ./ sms Modal --> </div> </div> <!-- page-wrapper -->

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script> <script>

$(document).ready(function() { getDisplay(); } ); function getDisplay(){ var data = <?php echo $result; ?> ; var content = ''; var table = $('table').DataTable(); table.clear().draw(); table.state.clear(); if(data['status']=='success'){ for (var i = 0; i < data['output'].length; i++) { var mobile = data['output'][i]['mobile']!=undefined?data['output'][i]['mobile']:''; var home = data['output'][i]['home_phone']!=undefined?data['output'][i]['home_phone']:''; var chkbox = '<input type="checkbox" name="participant_ids" class="" value="'+data['output'][i]['id']+'" />'; var content = '<tr><td>'+chkbox+'</td><td>'+ data['output'][i]['first_name']+'</td><td>'+ data['output'][i]['last_name']+'</td><td>'+ data['output'][i]['email']+'</td><td>'+ home+'</td><td>'+ mobile+'</td><td>'+ '<a href="edit-participant.html?id='+data['output'][i]['id']+'">Edit</a>&nbsp;<a onclick="return confirm(\'Are you sure want to delete\');" href="delete-participant.php?id='+data['output'][i]['id']+'">Delete</a></td><tr>'; table.row.add($(content )).draw(); } }else{ alert(data['message']); } } $("#send_email").on("click", function(){ var participant_ids = $('input[name="participant_ids"]:checked').map(function () { if(this.value !='') return this.value; }).get(); $("#sur_part").val(participant_ids); //console.log(participant_ids); }); function formsubmit(){ var title_sur_id = $("#title_sur_id option:selected").val(); var subject = $("input[name='subject']").val(); var content = $("textarea[name='content']").val(); if(title_sur_id=="" || subject=="" || content=="") { alert("Fill all mandatory fields"); return false; } $.post('https://efficiency.survey360pro.com/admin/api/index.php?page=send-survey&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH', {title_sur_id:title_sur_id,subject:subject,content:content,sur_part: $("#sur_part").val(), send_email: $("#send_email").val(), schedule: $("#schedule").val(), week_name: $("#week_name").val(),twoweek_name: $("#twoweek_name").val() } ) .done(function(data){ $('#response').html(data); }) .fail(function (jqXHR, textStatus, errorThrown){ $('#response').html("The following error occurred: "+textStatus, errorThrown); }); }

</script> </body> </html>

Result

                              
                  {"status":"success","output":"xx","message":"Mail Sent Successfully"}
                              
                            

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Email id already exist.
error 0 Error Message
success xx ( return updated id) Mail Sent Successfully

Send SMS

Copy

<?php
  error_reporting(-1);

  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';

  /* get Participants List */
  $url = "$apiLink?page=participant&auth=$authKey";
  /* Curl Method */
  $result = processURL($url);
  $response =  json_decode($result, true);
  if ($response['status']!='success') {
      echo $response['message'];
      die();
  }

  /* get survey  */
  $url1 = "$apiLink?page=survey&auth=$authKey";
  /* Curl Method */
  $result1 = processURL($url1);
  $response_survey =  json_decode($result1, true);
  /* get survey end */

  if ($response_survey['status']!='success') {
      echo $response_survey['message'];
      die();
  }

  if (count($_POST)) {
      $url="$apiLink?page=send-survey-sms&auth=$authKey";

      // init the resource
      $ch = curl_init();
      curl_setopt_array($ch, array(
          CURLOPT_URL => $url,
          CURLOPT_RETURNTRANSFER => true,
          CURLOPT_POST => true,
          CURLOPT_POSTFIELDS => $_POST
          //,CURLOPT_FOLLOWLOCATION => true
      ));

      //Ignore SSL certificate verification
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

      //get response
      $output = curl_exec($ch);

      //Print error if any
      if (curl_errno($ch)) {
          echo 'error:' . curl_error($ch);
      }

      curl_close($ch);
  }
  function processURL($url)
  {
      $ch = curl_init();
      curl_setopt_array($ch, array(
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
?>
<!DOCTYPE html>
  <html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- Tell the browser to be responsive to screen width -->
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <!-- Favicon icon -->
    <title>Participant List</title>
    <!-- Bootstrap Core CSS -->
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
    <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" />
    <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" />
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  </head>
  <body>
  <div id="page-wrapper">
  <div class="container">
  <div class="row" id="response"></div>
  <div class="row">
    <ul>
      <li>Please make sure if participant have mobile number before you send it</li>
      <li>This is sample page for reference, so we are not set client side validation</li>
      <li>Input parameter is <br />
        <pre>
          [sms_users] => 68239,68234 (required)
          [send_sms] => 1 (optional)
          [title_sur_id] => 945(required)
          [sms_content] => Test sms content (optional)
        </pre></li>
    </ul>
  </div>
  <div class="row">
  <button name="send_sms" id="send_sms" class="btn btn-primary" onclick="jQuery('#send_mail').modal('show');">Send SMS</button>
  </div>
  <div class="row">
  <h2>Participant List</h2>
  <div class="col-md-12">
  <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0">
  <thead>
  <tr>
  <th>#</th>
  <th>First name</th>
  <th>Last name</th>
  <th>Email</th>
  <th>Home Phone</th>
  <th>Mobile No.</th>
  <th>Action</th>
  </tr>
  </thead>
  <tbody>

  </tbody>
  </table>
  </div>
  </div>

  <div id="send_mail" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" >
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
          <h4 class="modal-title">Send SMS</h4>
        </div>
        <form id="sms_form" method="post">
          <input type="hidden" id="sms_users" name="sms_users" />
          <input type="hidden" id="send_sms" name="send_sms" value="1"/>
          <div class="modal-body">
          <div class="form-group survey_title">
              <label for="title_sur_id" class="control-label">Select Custom Survey</label>
              <select class="form-control " name="title_sur_id" id="title_sur_id">
                <option value="">Select Custom Survey</option>
                <?php
                foreach ($response_survey['output'] as $sd => $val) {
                    $sur_name = $val['survey_name'];
                    $sur_id = $val['id'];
                    echo '<option value="'.$sur_id.'" >'.$sur_name.'</option>';
                }
                ?>
              </select>
          </div>
          <div class="form-group">
            <label for="sms_content" class="control-label">Message</label>
            <textarea class="textarea_editor form-control" placeholder="Enter text ..." name="sms_content" id="sms_content" maxlength="139"></textarea>
          </div>
          <div class="clearfix">&nbsp;</div>
        </div> <!-- modal-body -->
        <div class="modal-footer">
          <button type="button" class="btn btn-default waves-effect" data-dismiss="modal">Close</button>
          <button type="submit" class="btn btn-danger waves-effect waves-light" id="trigger_email" >Send</button>
        </div>
        </form>
      </div>
    </div>
  </div>

  </div>
  </div> <!-- page-wrapper -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
  <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script>
  <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script>
  <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>

  <script>
    $(document).ready(function() {
        getDisplay();
    } );
    function getDisplay(){
        var data =

        <?php echo $result; ?>
        ;
        var content = '';
        var table = $('table').DataTable();
        table.clear().draw();
        table.state.clear();
        if(data['status']=='success'){
        for (var i = 0; i < data['output'].length; i++) {
        var mobile = data['output'][i]['mobile']!=undefined?data['output'][i]['mobile']:'';
        var home = data['output'][i]['home_phone']!=undefined?data['output'][i]['home_phone']:'';
        var chkbox = '<input type="checkbox" name="participant_ids" class="" value="'+data['output'][i]['id']+'" />';
        var content = '<tr><td>'+chkbox+'</td><td>'+
        data['output'][i]['first_name']+'</td><td>'+
        data['output'][i]['last_name']+'</td><td>'+
        data['output'][i]['email']+'</td><td>'+
        home+'</td><td>'+
        mobile+'</td><td>'+
        '<a href="edit-participant.html?id='+data['output'][i]['id']+'">Edit</a>&nbsp;<a onclick="return confirm(\'Are you sure want to delete\');" href="delete-participant.php?id='+data['output'][i]['id']+'">Delete</a></td><tr>';
        table.row.add($(content )).draw();
        }
        }else{
          alert(data['message']);
        }
    }
    $("#send_sms").on("click", function(){
      var participant_ids = $('input[name="participant_ids"]:checked').map(function () {
      if(this.value !='') return this.value;
      }).get();
      $("#sms_users").val(participant_ids);
    });
    </script>
  </body>
</html>

Result


Array
(
  [status] => success
  [output] => [{"gues_id":XXXXX,"mobile":"XXXXXXXXXX","ref_key":"XXXX","smsid":"123456789"}]
  [message] => SMS Sent Successfully
)

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Error Message
success xx ( return updated id) SMS Sent Successfully

Send SMS

Copy
                                
                    

Result


Array
(
  [status] => success
  [output] => [{"gues_id":XXXXX,"mobile":"XXXXXXXXXX","ref_key":"XXXX","smsid":"123456789"}]
  [message] => SMS Sent Successfully
)

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fields
error 0 Error Message
success xx SMS Sent Successfully

Send SMS

Copy
                                
                                  

Result


Array
(
  [status] => success
  [output] => [{"gues_id":XXXXX,"mobile":"XXXXXXXXXX","ref_key":"XXXX","smsid":"123456789"}]
  [message] => SMS Sent Successfully
)

Messages

Status Output Message
error 0 POST values are empty
error 0 Fill all mandatory fieldss
error 0 Error Message
success xx ( return updated id) SMS Sent Successfully

Report

Copy

<?php
  $authKey = 'XXXXXXXXXXXXXXXXXXXXX';
  $apiLink = 'https://demo.survey360pro.com/admin/api/index.php';
  /* Curl Method */
  $result = processURL("$apiLink?page=report&auth=$authKey");

  $response =  json_decode($result,true);
  if($response['status']!='success'){
  	echo $response['message']; die();
  }

  function processURL($url) {
      $ch = curl_init();
      curl_setopt_array($ch, array(
      CURLOPT_URL => $url,
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_SSL_VERIFYPEER => false,
      CURLOPT_SSL_VERIFYHOST => 2
      ));

      $result = curl_exec($ch);
      curl_close($ch);
      return $result;
  }
?>
<!DOCTYPE html>
  <html lang="en">
  	<head>
  		<meta charset="utf-8" />
  		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
  		<!-- Tell the browser to be responsive to screen width -->
  		<meta name="viewport" content="width=device-width, initial-scale=1" />
  		<meta name="description" content="" />
  		<meta name="author" content="" />
  		<!-- Favicon icon -->
  		<title>Survey Report</title>
  		<!-- Bootstrap Core CSS -->
  		<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
  		<link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" />
  		<link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" />
  		<script src="//code.jquery.com/jquery-1.12.4.js"></script>
  	</head>
  	<body>
  		<div id="page-wrapper">
  			<div class="row">
  				<h2>Report</h2>
  				<div class="col-md-12">
  					<table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0">
  						<thead>
  							<tr>
  								<th>#</th>
  								<th>Type</th>
  								<th>First Name</th>
  								<th>Last Name</th>
  								<th>Email</th>
  								<th>Mobile</th>
  								<th>Survey</th>
  								<th>Attend Date</th>
  							</tr>
  						</thead>
  						<tbody>
  							<?php
  							if(count($response['output'])>0){
  								$i=1;
  								foreach($response['output'] as $row){
  							?>
  							<tr>
  								<td>
  									<?php echo $i; ?>
  								</td>
  								<td>
  									<?php echo $row['mode_of_sent']; ?>
  								</td>
  								<td>
  									<?php echo $row['first_name']; ?>
  								</td>
  								<td>
  									<?php echo $row['last_name']; ?>
  								</td>
  								<td>
  									<?php echo $row['email']; ?>
  								</td>
  								<td>
  									<?php echo $row['mobile']; ?>
  								</td>
  								<td>
  									<?php echo $row['survey_name']; ?>
  								</td>
  								<td>
  									<?php echo date('m-d-Y',strtotime($row['attend_date'])); ?>
  								</td>
  							</tr>
  							<?php
                    					$i++; }
                    				 }
                    				?>
  						</tbody>
  					</table>
  					<div></div>
  				</div>
  				<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
  				<script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script>
  				<script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script>
  				<script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>
  				<script>
                    	$(document).ready(function() {
  						$('#example').DataTable();
                    	} );
  		</script>
  	</body>
</html>

Result

															
Array
(
    [status] => success
    [output] => Array
        (
            [0] => Array
                (
                    [id] => xxx
                    [gues_id] => xxx
                    [first_name] => Xxxxxx
                    [last_name] => Xxxxxx
                    [email] => [email protected]
                    [mobile] => Xxxxxx
                    [attend_date] => 2017-11-14
                    [survey_name] => Xxxxxx
                    [add_date] => 2017-11-13
                    [mode_of_sent] => email
                )

            [1] => Array
                (
                    [id] => xxx
                    [gues_id] => xxx
                    [first_name] => Xxxxxx
                    [last_name] => Xxxxxx
                    [email] => [email protected]
                    [mobile] => Xxxxxx
                    [attend_date] => 2017-11-14
                    [survey_name] => Xxxxxx
                    [add_date] => 2017-11-13
                    [mode_of_sent] => email
                )
        )

    [message] =>
)
															
														

Messages

StatusOutputMessage
errorEmpty ArrayError Message
successOutput Array

Report

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Reports</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div id="response"></div> <div class="row"> <h2>Reports</h2> <div class="col-md-12"> <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0"> <thead> <tr> <th>#</th> <th>Type</th> <th>First Name</th> <th>Last Name</th> <th>Email</th> <th>Mobile</th> <th>Survey</th> <th>Attend Date</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>

<script> $(document).ready(function() { getDisplay(); } ); function getDisplay(){ $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=report&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH', function(data) { console.log(data); var content = ''; var table = $('table').DataTable(); table.clear().draw(); table.state.clear(); if(data['status']=='success'){ j=1; for (var i = 0; i < data['output'].length; i++) { var content = '<tr><td>'+ j+'</td><td>'+ data['output'][i]['mode_of_sent']+'</td><td>'+ data['output'][i]['first_name']+'</td><td>'+ data['output'][i]['last_name']+'</td><td>'+ data['output'][i]['email']+'</td><td>'+ data['output'][i]['mobile']+'</td><td>'+ data['output'][i]['survey_name']+'</td><td>'+ data['output'][i]['attend_date']+'</td><tr>'; table.row.add($(content )).draw(); j++; } }else{ alert(data['message']); } }); } </script>

</body> </html>

Result

															
{"status":"success","output":[{"id":"xxx","gues_id":"xxx","first_name":"Xxxxxx","last_name":"Xxxxxx","email":"[email protected]","mobile":"Xxxxxx","attend_date":"2017-11-14","survey_name":"Xxxxxx","add_date":"2017-11-13","mode_of_sent":"email"},{"id":"xxx","gues_id":"xxx","first_name":"Xxxxxx","last_name":"Xxxxxx","email":"[email protected]","mobile":"Xxxxxx","attend_date":"2017-11-14","survey_name":"Xxxxxx","add_date":"2017-11-13","mode_of_sent":"email"}],"message":""}
															
														

Messages

StatusOutputMessage
errorEmpty ArrayError Message
successOutput Array

Report

Copy
															

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- Tell the browser to be responsive to screen width --> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <!-- Favicon icon --> <title>Report</title> <!-- Bootstrap Core CSS --> <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css" /> <link href="https://cdn.datatables.net/responsive/2.2.0/css/responsive.bootstrap.min.css" rel="stylesheet" type="text/css" /> <script src="//code.jquery.com/jquery-1.12.4.js"></script> </head> <body> <div id="page-wrapper"> <div id="response"></div> <div class="row"> <h2>Report</h2> <div class="col-md-12"> <table id="example" class="table table-striped table-bordered dt-responsive" cellspacing="0"> <thead> <tr> <th>#</th> <th>Type</th> <th>First name</th> <th>Last name</th> <th>Email</th> <th>Mobile</th> <th>Survey</th> <th>Attend Date</th> </tr> </thead> <tbody> </tbody> </table> </div> </div> </div> <script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script> <script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/dataTables.responsive.min.js"></script> <script src="https://cdn.datatables.net/responsive/2.2.0/js/responsive.bootstrap.min.js"></script>

<script> $(document).ready(function() { getDisplay(); } ); function getDisplay(){ $.getJSON('https://efficiency.survey360pro.com/admin/api/index.php?page=report&auth=5CZipMUaqx0unSVIIac743VIGEvNygbH', function(data) { console.log(data); var content = ''; var table = $('table').DataTable(); table.clear().draw(); table.state.clear(); if(data['status']=='success'){ j=1; for (var i = 0; i < data['output'].length; i++) { var content = '<tr><td>'+ j+'</td><td>'+ data['output'][i]['mode_of_sent']+'</td><td>'+ data['output'][i]['first_name']+'</td><td>'+ data['output'][i]['last_name']+'</td><td>'+ data['output'][i]['email']+'</td><td>'+ data['output'][i]['mobile']+'</td><td>'+ data['output'][i]['survey_name']+'</td><td>'+ data['output'][i]['attend_date']+'</td><tr>'; table.row.add($(content )).draw(); j++; } }else{ alert(data['message']); } }); } </script>

</body> </html>

Result

															
{"status":"success","output":[{"id":"xxx","gues_id":"xxx","first_name":"Xxxxxx","last_name":"Xxxxxx","email":"[email protected]","mobile":"Xxxxxx","attend_date":"2017-11-14","survey_name":"Xxxxxx","add_date":"2017-11-13","mode_of_sent":"email"},{"id":"xxx","gues_id":"xxx","first_name":"Xxxxxx","last_name":"Xxxxxx","email":"[email protected]","mobile":"Xxxxxx","attend_date":"2017-11-14","survey_name":"Xxxxxx","add_date":"2017-11-13","mode_of_sent":"email"}],"message":""}
															
														

Messages

StatusOutputMessage
errorEmpty ArrayError Message
successOutput Array