Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New graph screen #169

Open
wants to merge 43 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
27af603
Added folder for graph images
panjiw Feb 23, 2014
ee0c153
New table for graph screen
panjiw Feb 23, 2014
30b86a7
Graph screen php class
panjiw Feb 23, 2014
51ce522
fixed file requirement
panjiw Feb 23, 2014
f6a889f
fixed table patching for gs table
panjiw Feb 23, 2014
0261fd9
fixed a missing tag
panjiw Feb 23, 2014
8afce00
New graph options template and save
panjiw Feb 23, 2014
da6915b
more option saving changes
panjiw Feb 23, 2014
43bbd94
lists screen graphs
panjiw Feb 23, 2014
bb494dc
new columns to the table
panjiw Mar 3, 2014
fa59be9
added new setting tab template, fixed some things
panjiw Mar 3, 2014
955db16
the library for color picking
panjiw Mar 3, 2014
3354e7e
more files for the new template
panjiw Mar 3, 2014
95082ff
updated graph screen with new fields, and bunch of fixes
panjiw Mar 3, 2014
1c27f5e
added name sanitizing function
panjiw Mar 10, 2014
9df4eed
fixed sql query
panjiw Mar 10, 2014
cbd09c8
Fix quotes in table creation statement.
eikonos Mar 11, 2014
3be7a96
Changed graph image naming, added an example for the bug
panjiw Mar 24, 2014
5551316
Merge branch 'graph_screen' of https://github.com/jegelstaff/formuliz…
panjiw Mar 24, 2014
05ae456
fixed label bug
panjiw Mar 28, 2014
0cf9f4c
a bunch of code from entries display, not working yet
panjiw Mar 31, 2014
efb3fa5
Added the option to pick default view
panjiw Apr 28, 2014
4ebdfa7
removed all the print used for development
panjiw May 20, 2014
8d8c559
Fixed the menu link creation problem, fixed in another branch but eas…
panjiw May 20, 2014
c6884bb
removed the blank default view option because it doesn't make sense a…
panjiw May 20, 2014
133fb47
Cleaned up and commented, the most basic of functions now works
panjiw May 20, 2014
1003ed1
Removed prints used for debugging
panjiw May 20, 2014
9057e39
Added the current view options
panjiw May 20, 2014
b920e3c
Fixed the filter, now actually works
panjiw May 21, 2014
c15109e
Cleaned up the screen, dynamic view selection works but not as advanc…
panjiw May 30, 2014
2c600d9
Fixing incorrect syntax for arrays
jegelstaff May 30, 2014
96a6506
database patch, creating fixed, check graph params
Jan 28, 2015
9b8d81c
change element identifier to handles
Feb 6, 2015
729af02
Added Pie Chart
Feb 16, 2015
ed04e40
minor fixes
Feb 16, 2015
668c28f
Merge branch 'master' into new-graph-screen
eikonos Apr 30, 2015
de49321
merge master into new-graph-screen
mmacke01 Nov 21, 2015
2ea8247
adjustments to screen graph cases and options. Fixed bug with default…
JamesEarle Nov 29, 2015
03850dc
improving requests for input determining what to graph
mmacke01 Dec 2, 2015
3b096a2
removed chance of error making graphs due to unset label or data fiel…
mmacke01 Dec 2, 2015
6a77b14
refactored multiPageScreen_addToOptionsList to appendFormElementsToOp…
mmacke01 Dec 4, 2015
0131c79
updated function call so things aren't broken until my next commit
mmacke01 Dec 4, 2015
431ff7b
fixed dropdown generation in graph cases tab
mmacke01 Dec 4, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions modules/formulize/admin/form.php
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@
$common['aid'] = $aid;
$common['defaultform'] = $defaultform;
$common['defaultlist'] = $defaultlist;
// no default graph
$common['form_object'] = $formObject;

$permissions = array();
Expand All @@ -332,6 +333,13 @@
$screens['listOfEntries'][$i]['title'] = $screen->getVar('title');
$i++;
}
$graphsScreens = $screen_handler->getObjects(new Criteria('type','graph'),$fid);
$i = 1;
foreach($graphsScreens as $screen) {
$screens['graphs'][$i]['sid'] = $screen->getVar('sid');
$screens['graphs'][$i]['title'] = $screen->getVar('title');
$i++;
}

$settings = array();
$settings['singleentry'] = $singleentry;
Expand Down
47 changes: 37 additions & 10 deletions modules/formulize/admin/formindex.php
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,8 @@ function patch40() {
*
* ====================================== */

$checkThisTable = 'formulize_deletion_logs';
$checkThisField = 'context';
$checkThisTable = 'formulize_screen_graph';
$checkThisField = 'defaultview';
$checkThisProperty = false;
$checkPropertyForValue = false;

Expand Down Expand Up @@ -281,10 +281,33 @@ function patch40() {
INDEX i_del_id (del_log_id)
) ENGINE=MyISAM;";
}

if(!in_array($xoopsDB->prefix("formulize_screen_graph"), $existingTables)) {
$sql[] = "CREATE TABLE `".$xoopsDB->prefix("formulize_screen_graph")."` (
`formid` int(11) NOT NULL auto_increment,
`sid` int(11) NOT NULL default 0,
`width` int(11) NOT NULL default 800,
`height` int(11) NOT NULL default 600,
`orientation` varchar(255) NOT NULL default 'horizontal',
`bgr` int(8) NOT NULL default 141,
`bgg` int(8) NOT NULL default 189,
`bgb` int(8) NOT NULL default 225,
`barr` int(8) NOT NULL default 143,
`barg` int(8) NOT NULL default 190,
`barb` int(8) NOT NULL default 88,
`ops` varchar(255) NOT NULL default 'count',
`labelelem` int(8) NOT NULL default 0,
`dataelem` int(8) NOT NULL default 0,
`limitviews` text NOT NULL,
`usecurrentviewlist` varchar(255) NOT NULL default 'Current View: ',
PRIMARY KEY (`formid`),
INDEX i_sid (`sid`)
) ENGINE=MyISAM;";
}

// if this is a standalone installation, then we want to make sure the session id field in the DB is large enough to store whatever session id we might be working with
if(file_exists(XOOPS_ROOT_PATH."/integration_api.php")) {
$sql['increase_session_id_size'] = "ALTER TABLE ".$xoopsDB->prefix("session")." CHANGE `sess_id` `sess_id` varchar(60) NOT NULL";
$sql['increase_session_id_size'] = "ALTER TABLE ".$xoopsDB->prefix("session")." CHANGE `sess_id` `sess_id` varchar(60) NOT NULL";
}

$sql['add_encrypt'] = "ALTER TABLE " . $xoopsDB->prefix("formulize") . " ADD `ele_encrypt` tinyint(1) NOT NULL default '0'";
Expand Down Expand Up @@ -319,8 +342,10 @@ function patch40() {
$sql['add_elementtext'] = "ALTER TABLE " . $xoopsDB->prefix("formulize_screen_multipage") . " ADD `elementtemplate` text NOT NULL";
$sql['add_bottomtext'] = "ALTER TABLE " . $xoopsDB->prefix("formulize_screen_multipage") . " ADD `bottomtemplate` text NOT NULL";
$sql['add_formelements'] = "ALTER TABLE " . $xoopsDB->prefix("formulize_screen_form") . " ADD `formelements` text";
$sql['add_on_before_save'] = "ALTER TABLE " . $xoopsDB->prefix("formulize_id") . " ADD `on_before_save` text";
$sql['add_on_before_save'] = "ALTER TABLE " . $xoopsDB->prefix("formulize_id") . " ADD `on_before_save` text";
$sql['add_form_note'] = "ALTER TABLE " . $xoopsDB->prefix("formulize_id") . " ADD `note` text";
$sql['add_defaultview']="ALTER TABLE " . $xoopsDB->prefix("formulize_screen_graph") . " ADD `defaultview` varchar(255)";
//added formulize_screen_graph/defaultview jan 2015
foreach($sql as $key=>$thissql) {
if(!$result = $xoopsDB->query($thissql)) {
if($key === "add_encrypt") {
Expand Down Expand Up @@ -353,12 +378,14 @@ function patch40() {
print "elementtemplate already added for multipage screens. result: OK<br>";
} elseif($key === "add_bottomtext") {
print "bottomtemplate already added for multipage screens. result: OK<br>";
} elseif($key === "add_formelements") {
print "formelements field already added for single page screens. result: OK<br>";
} elseif($key === "add_on_before_save") {
print "on_before_save field already added. result: OK<br>";
} elseif($key === "add_form_note") {
print "form note field already added. result: OK<br>";
} elseif($key === "add_formelements") {
print "formelements field already added for single page screens. result: OK<br>";
} elseif($key === "add_on_before_save") {
print "on_before_save field already added. result: OK<br>";
} elseif($key === "add_form_note") {
print "form note field already added. result: OK<br>";
} elseif($key === "add_defaultview") {
print "defaultview field already added. result: OK<br>";
} elseif(strstr($key, 'drop_from_formulize_id_')) {
continue;
} else {
Expand Down
42 changes: 42 additions & 0 deletions modules/formulize/admin/save/screen_graph_cases_save.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?php
// this file handles saving of graph dimension

// if we aren't coming from what appears to be save.php, then return nothing
if(!isset($processedValues)) {
return;
}


$aid = intval($_POST['aid']);
$sid = $_POST['formulize_admin_key'];

$screens = $processedValues['screens'];


$screen_handler = xoops_getmodulehandler('graphScreen', 'formulize');
$screen = $screen_handler->get($sid);

// CHECK IF THE FORM IS LOCKED DOWN AND SCOOT IF SO
$form_handler = xoops_getmodulehandler('forms', 'formulize');
$formObject = $form_handler->get($screen->getVar('fid'));
if($formObject->getVar('lockedform')) {
return;
}
// check if the user has permission to edit the form
if(!$gperm_handler->checkRight("edit_form", $screen->getVar('fid'), $groups, $mid)) {
return;
}


$screen->setVar('ops',$screens['ops']);
$screen->setVar('labelelem',$screens['labelelem']);
$screen->setVar('dataelem',$screens['dataelem']);
$screen->setVar('defaultview',$screens['defaultview']);
$screen->setVar('usecurrentviewlist',$screens['usecurrentviewlist']);
$screen->setVar('limitviews',$screens['limitviews']);


if(!$screen_handler->insert($screen)) {
print "Error: could not save the screen properly: ".mysql_error();
}
?>
45 changes: 45 additions & 0 deletions modules/formulize/admin/save/screen_graph_options_save.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php
// this file handles saving of graph dimension

// if we aren't coming from what appears to be save.php, then return nothing
if(!isset($processedValues)) {
return;
}


$aid = intval($_POST['aid']);
$sid = $_POST['formulize_admin_key'];

$screens = $processedValues['screens'];


$screen_handler = xoops_getmodulehandler('graphScreen', 'formulize');
$screen = $screen_handler->get($sid);

// CHECK IF THE FORM IS LOCKED DOWN AND SCOOT IF SO
$form_handler = xoops_getmodulehandler('forms', 'formulize');
$formObject = $form_handler->get($screen->getVar('fid'));
if($formObject->getVar('lockedform')) {
return;
}
// check if the user has permission to edit the form
if(!$gperm_handler->checkRight("edit_form", $screen->getVar('fid'), $groups, $mid)) {
return;
}


$screen->setVar('width',$screens['width']);
$screen->setVar('height',$screens['height']);
$screen->setVar('orientation',$screens['orientation']);
$screen->setVar('bgr',$screens['bgr']);
$screen->setVar('bgg',$screens['bgg']);
$screen->setVar('bgb',$screens['bgb']);
$screen->setVar('barr',$screens['barr']);
$screen->setVar('barg',$screens['barg']);
$screen->setVar('barb',$screens['barb']);


if(!$screen_handler->insert($screen)) {
print "Error: could not save the screen properly: ".mysql_error();
}
?>
20 changes: 19 additions & 1 deletion modules/formulize/admin/save/screen_settings_save.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@
$screen_handler = xoops_getmodulehandler('listOfEntriesScreen', 'formulize');
} else if($screens['type'] == 'form') {
$screen_handler = xoops_getmodulehandler('formScreen', 'formulize');
} else if($screens['type'] == 'graph') {
$screen_handler = xoops_getmodulehandler('graphScreen', 'formulize');
}


Expand Down Expand Up @@ -115,7 +117,23 @@
$screen->setVar('reloadblank', 0);
$screen->setVar('savebuttontext', _formulize_SAVE);
$screen->setVar('alldonebuttontext', _formulize_DONE);
}
} else if($screens['type'] == 'graph') {
// Defaults settings for graph screen. When trying to load graph screen with default settings
// user will be redirected to setting section
// Re-editted by Jinfu Jan 2015
$screen->setVar('width', 500);
$screen->setVar('height', 300);
$screen->setVar('orientation', "horizontal");
$screen->setVar('bgr', 141);
$screen->setVar('bgg', 189);
$screen->setVar('bgb', 225);
$screen->setVar('barr', 143);
$screen->setVar('barg', 190);
$screen->setVar('barb', 88);
$screen->setVar('labelelem',0);
$screen->setVar('dataelem',0);
$screen->setVar('ops','');
}

} else {

Expand Down
62 changes: 62 additions & 0 deletions modules/formulize/admin/screen.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@
$screen_handler = xoops_getmodulehandler('formScreen', 'formulize');
} else if($settings['type'] == 'multiPage') {
$screen_handler = xoops_getmodulehandler('multiPageScreen', 'formulize');
} else if($settings['type'] == 'graph') {
$screen_handler = xoops_getmodulehandler('graphScreen', 'formulize');
}
$screen = $screen_handler->get($screen_id);

Expand Down Expand Up @@ -390,6 +392,56 @@ function multiPageScreen_addToOptionsList($form_id, $options) {
$options['element_list'] = $element_list;
}

if($screen_id != "new" && $settings['type'] == 'graph') {
$graph_options = array();
$graph_options['width'] = $screen->getVar('width');
$graph_options['height'] = $screen->getVar('height');
$graph_options['orientation'] = $screen->getVar('orientation');
$graph_options['bgr'] = $screen->getVar('bgr');
$graph_options['bgg'] = $screen->getVar('bgg');
$graph_options['bgb'] = $screen->getVar('bgb');
$graph_options['barr'] = $screen->getVar('barr');
$graph_options['barg'] = $screen->getVar('barg');
$graph_options['barb'] = $screen->getVar('barb');
$graph_options['ops'] = $screen->getVar('ops');
list($labelelem, $selectedlabelelem) = createFieldList($screen->getVar('labelelem'), false, false, "screens-labelelem", "Choose one");
$graph_options['labelelem'] = $labelelem->render();
list($dataelem, $selecteddataelem) = createFieldList($screen->getVar('dataelem'), false, false, "screens-dataelem", "Choose one");
$graph_options['dataelem'] = $dataelem->render();
$framework_handler =& xoops_getmodulehandler('frameworks', 'formulize');
$form_handler =& xoops_getmodulehandler('forms', 'formulize');
$formObj = $form_handler->get($form_id, true); // true causes all elements to be included even if they're not visible.
$frameworks = $framework_handler->getFrameworksByForm($form_id);
$views = $formObj->getVar('views');
$viewPublished = $formObj->getVar('viewPublished');
$viewNames = $formObj->getVar('viewNames');
$viewFrids = $formObj->getVar('viewFrids');
$defaultViewOptions = array();
$limitViewOptions = array();
$defaultViewOptions['blank'] = _AM_FORMULIZE_SCREEN_LOE_BLANK_DEFAULTVIEW;
$defaultViewOptions['mine'] = _AM_FORMULIZE_SCREEN_LOE_DVMINE;
$defaultViewOptions['group'] = _AM_FORMULIZE_SCREEN_LOE_DVGROUP;
$defaultViewOptions['all'] = _AM_FORMULIZE_SCREEN_LOE_DVALL;
for($i=0;$i<count($views);$i++) {
if(!$viewPublished[$i]) { continue; }
$defaultViewOptions[$views[$i]] = $viewNames[$i];
if($viewFrids[$i]) {
$defaultViewOptions[$views[$i]] .= " (" . _AM_FORMULIZE_SCREEN_LOE_VIEW_ONLY_IN_FRAME . $frameworks[$viewFrids[$i]]->getVar('name') . ")";
} else {
$defaultViewOptions[$views[$i]] .= " (" . _AM_FORMULIZE_SCREEN_LOE_VIEW_ONLY_NO_FRAME . ")";
}
}
$limitViewOptions['allviews'] = _AM_FORMULIZE_SCREEN_LOE_DEFAULTVIEWLIMIT;
$limitViewOptions += $defaultViewOptions;
unset($limitViewOptions['blank']);
unset($defaultViewOptions['blank']);
$graph_options['defaultviewoptions'] = $defaultViewOptions;
$graph_options['defaultview'] = $screen->getVar('defaultview');
$graph_options['usecurrentviewlist'] = $screen->getVar('usecurrentviewlist');
$graph_options['limitviewoptions'] = $limitViewOptions;
$graph_options['limitviews'] = $screen->getVar('limitviews');
}

// common values should be assigned to all tabs
$common['name'] = $screenName;
$common['title'] = $screenName; // oops, we've got two copies of this data floating around...standardize sometime
Expand Down Expand Up @@ -456,6 +508,16 @@ function multiPageScreen_addToOptionsList($form_id, $options) {
$adminPage['tabs'][6]['content'] = $templates + $common;
}

if($screen_id != "new" && $settings['type'] == 'graph') {
$adminPage['tabs'][2]['name'] = _AM_GRAPH_SCREEN_OPTIONS;
$adminPage['tabs'][2]['template'] = "db:admin/screen_graph_options.html";
$adminPage['tabs'][2]['content'] = $graph_options + $common;

$adminPage['tabs'][3]['name'] = _AM_GRAPH_SCREEN_CASES;
$adminPage['tabs'][3]['template'] = "db:admin/screen_graph_cases.html";
$adminPage['tabs'][3]['content'] = $graph_options + $common;
}

$adminPage['pagetitle'] = _AM_FORM_SCREEN.$screenName;
$adminPage['needsave'] = true;
$adminPage['show_user_view'] = array("View Screen", XOOPS_URL."/modules/formulize/index.php?sid=$screen_id");
Expand Down
2 changes: 1 addition & 1 deletion modules/formulize/class/applications.php
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,7 @@ function insertMenuLink($appid,$menuitem){
$rankquery = "SELECT MAX(rank) FROM `".$xoopsDB->prefix("formulize_menu_links")."` WHERE appid=".$appid.";";
if($result = $xoopsDB->query($rankquery)) {
//if empty query, then rank = 1, else, rank is the next larger number
$max = $xoopsDB->fetchAssoc($result);
$max = $xoopsDB->fetchArray($result);
$rank= $max['MAX(rank)']+1;
}

Expand Down
Loading