function sms_survey_hook_playsmsd() { global $core_config; // get enabled and started survey, but not running yet $db_query = "SELECT * FROM " . _DB_PREF_ . "_featureSurvey WHERE deleted='0' AND status='1' AND started='1' AND running='0'"; $db_result = dba_query($db_query); while ($db_row = dba_fetch_array($db_result)) { $c_sid = $db_row['id']; // set survey as running survey $session = md5($c_sid . mktime()); $db_query1 = "UPDATE " . _DB_PREF_ . "_featureSurvey SET session='{$session}',running='1' WHERE id='{$c_sid}'"; if ($db_result1 = dba_affected_rows($db_query1)) { // get current survey data $s = sms_survey_getdatabyid($c_sid); $c_uid = $s['uid']; $c_username = uid2username($c_uid); $c_keyword = $s['keyword']; // get current survey questions, focus only on first question, index 0 $q = sms_survey_getquestions($c_sid); $c_message = $q[0]['question']; $c_sms_msg = $c_keyword . " " . $c_message; // get current survey members $m = sms_survey_getmembers($c_sid); for ($i = 0; $i < count($m); $i++) { // if member's mobile exists if ($c_sms_to = $m[$i]['mobile']) { logger_print("playsmsd send start qn:1 sid:" . $c_sid . " username:"******" to:" . $c_sms_to . " msg:" . $c_sms_msg, 3, "sms_survey"); // if member's mobile, question and username owned the survey exists if ($c_sms_to && $c_sms_msg && $c_username) { $type = 'text'; // $unicode = '0'; // send message to member // list($ok,$to,$smslog_id,$queue) = sendsms($c_username,$c_sms_to,$c_sms_msg,$type,$unicode); $unicode = core_detect_unicode($message); list($ok, $to, $smslog_id, $queue) = sendsms($c_username, $c_sms_to, $c_sms_msg, 'text', $unicode); $ok[0] = $ok[0] ? "true" : "false"; logger_print("playsmsd send finish sid:" . $c_sid . " smslog_id:" . $smslog_id[0] . " ok:" . $ok[0], 2, "sms_survey"); // save the log $log = ""; $log['survey_id'] = $c_sid; $log['question_id'] = $q[0]['id']; $log['member_id'] = $m[$i]['id']; $log['link_id'] = sms_survey_getlinkid($session, $c_sid, $m[$i]['id']); $log['smslog_id'] = $smslog_id[0]; $log['name'] = $m[$i]['name']; $log['mobile'] = $m[$i]['mobile']; $log['question'] = $q[0]['question']; $log['question_number'] = 1; $log['creation_datetime'] = $core_config['datetime']['now']; $log['session'] = $session; sms_survey_savelog($log); } } } } // set survey as completed $db_query2 = "UPDATE " . _DB_PREF_ . "_featureSurvey SET status='1',started='0',running='2' WHERE id='{$c_sid}'"; $db_result2 = dba_affected_rows($db_query2); } }
$_SESSION['error_string'] = _('Survey does not exists'); } header("Location: index.php?app=menu&inc=feature_sms_survey&op=list&sid=" . $sid); exit; break; case 'stop': $content = '<h2>' . _('SMS Survey') . '</h2><p />'; if ($error_content) { $content .= '<p>' . $error_content . '</p>'; } $content .= '<h3>' . _('Stop survey') . '</h3><p />'; $sid = $_REQUEST['sid']; $data = sms_survey_getdatabyid($sid); $keyword = $data['keyword']; $title = $data['title']; $c_members = count(sms_survey_getmembers($sid)); $c_members = "<a href='index.php?app=menu&inc=feature_sms_survey&route=members&op=members&sid=" . $sid . "'>" . $c_members . "</a>"; $c_questions = count(sms_survey_getquestions($sid)); $c_questions = "<a href='index.php?app=menu&inc=feature_sms_survey&route=questions&op=questions&sid=" . $sid . "'>" . $c_questions . "</a>"; $c_status = $data['status'] ? "<font color='green'>" . _('enabled') . "</font>" : "<font color='red'>" . _('disabled') . "</font>"; if ($data['status']) { $c_status = $data['running'] == 2 ? "<font color='blue'>" . _('completed') . "</font>" : "<font color='green'>" . _('enabled') . "</font>"; } $c_started = $data['started'] ? "<font color='green'>" . _('yes') . "</font>" : "<font color='red'>" . _('no') . "</font>"; if (!$data['started']) { $c_started = $data['running'] == 2 ? "<font color='red'>" . _('restart') . "</font>" : "<font color='red'>" . _('no') . "</font>"; } $content .= "\n\t\t\t<table cellpadding='1' cellspacing='2' border='0'>\n\t\t\t<tr><td>" . _('Keyword') . "</td><td>:</td><td>" . $keyword . "</td></tr>\n\t\t\t<tr><td>" . _('Title') . "</td><td>:</td><td>" . $title . "</td></tr>\n\t\t\t<tr><td>" . _('Members') . "</td><td>:</td><td>" . $c_members . "</td></tr>\n\t\t\t<tr><td>" . _('Questions') . "</td><td>:</td><td>" . $c_questions . "</td></tr>\n\t\t\t<tr><td>" . _('Status') . "</td><td>:</td><td>" . $c_status . "</td></tr>\n\t\t\t<tr><td>" . _('Started') . "</td><td>:</td><td>" . $c_started . "</td></tr>\n\t\t\t</table>\n\t\t\t<p>" . _('Are you sure you want to stop this survey ?') . "</p>\n\t\t\t<form method='post' action='index.php?app=menu&inc=feature_sms_survey&op=stop_submit'>\n\t\t\t<input type='hidden' name='sid' value='{$sid}'>\n\t\t\t<p><input class='button' type='submit' value='" . _('Yes') . "'></p>\n\t\t\t</form>\n\t\t\t<form method='post'action='index.php?app=menu&inc=feature_sms_survey&op=list'>\n\t\t\t<p><input class='button' type='submit' value='" . _('Cancel') . "'></p>\n\t\t\t</form>\n\t\t"; echo $content; break; case 'stop_submit':
$c_members = count(sms_survey_getmembers($sid)); $c_members = "<a href='index.php?app=menu&inc=feature_sms_survey&route=members&op=members&sid=" . $sid . "'>" . $c_members . "</a>"; $c_questions = count(sms_survey_getquestions($sid)); $c_questions = "<a href='index.php?app=menu&inc=feature_sms_survey&route=questions&op=questions&sid=" . $sid . "'>" . $c_questions . "</a>"; $c_status = $data['status'] ? "<font color='green'>" . _('enabled') . "</font>" : "<font color='red'>" . _('disabled') . "</font>"; if ($data['status']) { $c_status = $data['running'] == 2 ? "<font color='blue'>" . _('completed') . "</font>" : "<font color='green'>" . _('enabled') . "</font>"; } $c_started = $data['started'] ? "<font color='green'>" . _('yes') . "</font>" : "<font color='red'>" . _('no') . "</font>"; if (!$data['started']) { $c_started = $data['running'] == 2 ? "<font color='red'>" . _('restart') . "</font>" : "<font color='red'>" . _('no') . "</font>"; } $content .= "\n\t\t\t<table cellpadding='1' cellspacing='2' border='0'>\n\t\t\t<tr><td>" . _('User') . "</td><td>:</td><td>" . $c_user . "</td></tr>\n\t\t\t<tr><td>" . _('Keyword') . "</td><td>:</td><td>" . $keyword . "</td></tr>\n\t\t\t<tr><td>" . _('Title') . "</td><td>:</td><td>" . $title . "</td></tr>\n\t\t\t<tr><td>" . _('Members') . "</td><td>:</td><td>" . $c_members . "</td></tr>\n\t\t\t<tr><td>" . _('Questions') . "</td><td>:</td><td>" . $c_questions . "</td></tr>\n\t\t\t<tr><td>" . _('Status') . "</td><td>:</td><td>" . $c_status . "</td></tr>\n\t\t\t<tr><td>" . _('Started') . "</td><td>:</td><td>" . $c_started . "</td></tr>\n\t\t\t</table>\n\t\t"; $list_of_members = ''; // get members $members = sms_survey_getmembers($sid); for ($i = 0; $i < count($members); $i++) { $c_id = $members[$i]['id']; $c_mobile = $members[$i]['mobile']; $c_name = $members[$i]['name']; $list_of_users .= "<option value='" . $c_id . "'>" . $c_mobile . " " . $c_name . "</option>"; } $content .= "\n\t\t\t<form action=\"index.php?app=menu&inc=feature_sms_survey&route=members&op=members_delete_submit\" method=\"post\">\n\t\t\t<input type=hidden name='sid' value='" . $sid . "'>\n\t\t\t<table cellpadding=1 cellspacing=2 border=0>\n\t\t\t<tr>\n\t\t\t\t<td nowrap>\n\t\t\t\t\t" . _('Current members') . ":<br />\n\t\t \t\t\t<select name=\"members_dump[]\" size=\"10\" multiple=\"multiple\" onDblClick=\"moveSelectedOptions(this.form['members_dump[]'],this.form['members[]'])\">{$list_of_users}</select>\n\t\t\t\t</td>\n\t\t\t\t<td width=10> </td>\n\t\t\t\t<td align=center valign=middle>\n\t\t\t\t\t<input type=\"button\" class=\"button\" value=\">>\" onclick=\"moveSelectedOptions(this.form['members_dump[]'],this.form['members[]'])\"><br><br>\n\t\t\t\t\t<input type=\"button\" class=\"button\" value=\"" . _('All') . " >>\" onclick=\"moveAllOptions(this.form['members_dump[]'],this.form['members[]'])\"><br><br>\n\t\t\t\t\t<input type=\"button\" class=\"button\" value=\"<<\" onclick=\"moveSelectedOptions(this.form['members[]'],this.form['members_dump[]'])\"><br><br>\n\t\t\t\t\t<input type=\"button\" class=\"button\" value=\"" . _('All') . " <<\" onclick=\"moveAllOptions(this.form['members[]'],this.form['members_dump[]'])\">\n\t\t\t\t</td>\t\t\n\t\t\t\t<td width=10> </td>\n\t\t\t\t<td nowrap>\n\t\t\t\t " . _('Selected members') . ":<br>\n\t\t\t\t <select name=\"members[]\" size=\"10\" multiple=\"multiple\" onDblClick=\"moveSelectedOptions(this.form['members[]'],this.form['members_dump[]'])\"></select>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<p>" . _('Press submit button to remove selected members from member list') . "</p>\n\t\t\t<p><input class='button' type='submit' value='Submit' onClick=\"selectAllOptions(this.form['members[]'])\"></p>\n\t\t\t</form>\n\t\t"; echo $content; break; case 'members_delete_submit': $sid = $_REQUEST['sid']; $data = sms_survey_getdatabyid($sid); $keyword = $data['keyword']; if ($sid && $keyword) { $members = $_REQUEST['members'];