delete_call($_POST['dir'],$_POST['call']);
} elseif ($_POST['func'] == 'callinfo') {
$data = callinfo($_POST['dir'],$_POST['call']);
+ $data['dir'] = $_POST['dir'];
+ $data['call'] = $_POST['call'];
+ } elseif ($_POST['func'] == 'save') {
+ save_call();
}
header('Content-type: application/json; charset=UTF-8');
echo json_encode($data);
<p id="callnote"></p>
</div>
+<div class="editcall">
+<p class="title">Edit message</p>
+<div style="padding-left: 5px;">
+<form id="edit_form">
+<span id="edit_date"> </span><br>
+<input id="edit_dir" type="hidden">
+<input id="edit_call" type="hidden">
+Name<br><input id="edit_name" type="text" size="31"><br>
+Note<br><input id="edit_note" type="text" size="31"><br>
+<input type="button" class="button" value="Save" onclick="save()" style="margin-top: 5px;">
+<span id="edit_status"></span>
+</form>
+</div>
+</div>
+
</body>
</html>
var menu_list = {
'title': 'Calls',
'items': [{'name': 'Archive', 'callback': menu_list_archive},
+ {'name': 'Edit', 'callback': menu_list_edit},
{'name': 'Delete', 'callback': menu_list_delete},
{'name': 'Cancel', 'type': 'hide'}]
};
event.originalTarget.className = '';
}
+function save_callback(data)
+{
+ field = document.getElementById('edit_status');
+ field.innerHTML = 'Call saved';
+}
+
+function save()
+{
+ var dir = document.getElementById('edit_dir');
+ var call = document.getElementById('edit_call');
+ var name = document.getElementById('edit_name');
+ var note = document.getElementById('edit_note');
+ var params = 'dir=' + dir.value + '&call=' + call.value;
+ params += '&name=' + name.value + '¬e=' + note.value;
+
+ ajax_request('save', params, save_callback);
+}
+
function list_context(e)
{
var menu = document.getElementById('menu_list');
fetch_archive();
}
+function menu_list_edit_callback(data)
+{
+ var fields = ['name','note','dir','call'];
+ var field;
+
+ for (var i=0; i < fields.length; i++) {
+ field = document.getElementById('edit_' + fields[i]);
+ field.value = data[fields[i]];
+ }
+
+ fields = ['name','note'];
+ for (var i=0; i < fields.length; i++) {
+ field = document.getElementById('edit_' + fields[i]);
+ field.innerHTML = data[fields[i]];
+ }
+
+ field = document.getElementById('edit_date');
+ field.innerHTML = data.date + ', ' + data.length;
+ field = document.getElementById('edit_status');
+ field.innerHTML = '';
+}
+
function menu_list_archive(e)
{
if (e.target.parentNode.payload['dir'] == 'incoming')
e.target.parentNode.style.display = 'none';
}
+function menu_list_edit(e)
+{
+ var params = 'dir='+e.target.parentNode.payload['dir']+'&call='+e.target.parentNode.payload['call'];
+ ajax_request('callinfo', params, menu_list_edit_callback);
+
+ e.target.parentNode.style.display = 'none';
+}
+
function menu_list_delete(e)
{
var params = 'dir='+e.target.parentNode.payload['dir']+'&call='+e.target.parentNode.payload['call'];
function read_info($dir, $call)
{
$info = array();
- if (($f = fopen(SPOOL_DIR . '/' . $dir . '/' . $call . '.info', 'r')) !== false) {
+ $fname = SPOOL_DIR . '/' . $dir . '/' . $call . '.info';
+
+ if (is_file($fname) && ($f = fopen($fname, 'r')) !== false) {
$line = fgets($f, 1024);
fclose($f);
$info = unserialize($line);
unlink($basename . '.info');
}
+function save_call()
+{
+ $info = read_info($_POST['dir'], $_POST['call']);
+ $info['name'] = $_POST['name'];
+ $info['note'] = $_POST['note'];
+
+ error_log(var_export($info,true));
+}
+
?>