fix up for sp24 and php 5.3
This commit is contained in:
parent
ccbc0a7c8f
commit
d4494a11e2
|
|
@ -1,7 +1,6 @@
|
|||
LimitRequestBody 20971520
|
||||
|
||||
RewriteEngine On
|
||||
RewriteEngine on
|
||||
RewriteRule ^calendar([0-9]+).ics$ calendar4.php?u=$1 [QSA]
|
||||
#RewriteEngine on
|
||||
#RewriteRule ^calendar([0-9]+).ics$ calendar4.php?u=$1 [QSA]
|
||||
|
||||
RewriteRule ^api/(.*)$ api2.php?query=$1 [L,QSA]
|
||||
#RewriteRule ^api/(.*)$ api2.php?query=$1 [L,QSA]
|
||||
4
act.php
4
act.php
|
|
@ -24,6 +24,8 @@
|
|||
$MY_TITLE = "Events, Training, & Workshops";
|
||||
$MY_CRUMB = "Activities";
|
||||
$MY_PATH = $_SERVER['PHP_SELF'];
|
||||
|
||||
$FOCUS = "sp24";
|
||||
?>
|
||||
<!--<script src="/_files/js/vendor/vue2.6.min.js"></script>-->
|
||||
<script src="js/intranet_libs.js"/></script>
|
||||
|
|
@ -45,7 +47,7 @@
|
|||
<div class=" pure-u-19-24 main-content">
|
||||
<h1 class="main_header"><?php echo $MY_TITLE; ?></h1>
|
||||
<div id="dir_editor">
|
||||
<activitylist :static="1" :itineraryview="false" :focus="'<?php echo $FOCUS;?>'" zoom_on="0" survey_on="0"></activitylist>
|
||||
<activitylist :static="0" :itineraryview="false" :focus="'<?php echo $FOCUS;?>'" zoom_on="0" survey_on="0"></activitylist>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
17
api2.php
17
api2.php
|
|
@ -51,8 +51,7 @@ function multi_row_select($qry, $j=1) { global $c; $rows = array();
|
|||
|
||||
function multi_row_1d($qry) { global $c;
|
||||
$savedQuery = mysqli_query($c, $qry);
|
||||
while($savedResult = mysqli_fetch_array($savedQuery)) {
|
||||
$savedArray[] = $savedResult[0]; }
|
||||
while($savedResult = mysqli_fetch_array($savedQuery)) { $savedArray[] = $savedResult[0]; }
|
||||
return $savedArray; }
|
||||
|
||||
|
||||
|
|
@ -149,20 +148,20 @@ if (is_null($USER)) {
|
|||
|
||||
|
||||
// Define URL templates and associated SQL queries
|
||||
$queries = [
|
||||
$queries = array(
|
||||
'/users/{id}' => 'SELECT * FROM users WHERE id = :id',
|
||||
'/users' => 'SELECT * FROM users',
|
||||
'/products' => 'SELECT * FROM products',
|
||||
'/sessions' => 'SELECT c.id,c.title,c.desc,c.length,c.starttime,c.track,c.location,c.location_irl,c.mode,c.gets_survey,c.category,c.parent,c.recording,c.instructions,c.image_url,c.is_flex_approved,c.cal_uid,sst.type AS typeStr, sst.id AS type, GROUP_CONCAT(ctg.tag) AS tags FROM conf_sessions c LEFT JOIN conf_sessiontypes sst ON c.type=sst.id LEFT JOIN conf_tagmember ct ON c.id=ct.session LEFT JOIN conf_tags ctg ON ctg.id=ct.tag GROUP BY c.id ORDER BY c.track, c.starttime;',
|
||||
'/ses/{day}' => 'SELECT c.id,c.title,c.desc,c.length,c.starttime,c.track,c.location,c.location_irl,c.mode,c.gets_survey,c.category,c.parent,c.recording,c.image_url,c.is_flex_approved,c.cal_uid,sst.type AS typeStr, sst.id AS type, GROUP_CONCAT(ctg.tag) AS tags FROM conf_sessions c LEFT JOIN conf_sessiontypes sst ON c.type=sst.id LEFT JOIN conf_tagmember ct ON c.id=ct.session LEFT JOIN conf_tags ctg ON ctg.id=ct.tag WHERE c.starttime LIKE \'%:day%\' GROUP BY c.id ORDER BY c.track, c.starttime;',
|
||||
'/settings' => 'SELECT * FROM conf_uinforecord;'
|
||||
];
|
||||
);
|
||||
|
||||
$functions = [
|
||||
$functions = array(
|
||||
'/app' => 'appdata',
|
||||
'/start' => 'startup',
|
||||
'/update/activity' => 'set_sessioninfo',
|
||||
];
|
||||
);
|
||||
|
||||
|
||||
if (1) { //// ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
||||
|
|
@ -177,7 +176,7 @@ if (1) { //// ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
|||
|
||||
if (preg_match("#^$pattern$#", $requestUrl, $matches)) {
|
||||
// Extract parameter values
|
||||
$params = [];
|
||||
$params = array();
|
||||
preg_match_all('/{([\-_\w]+)}/', $urlTemplate, $paramNames);
|
||||
foreach ($paramNames[1] as $index => $paramName) {
|
||||
$paramValue = $matches[$index + 1];
|
||||
|
|
@ -216,7 +215,7 @@ if (1) { //// ($_SERVER['REQUEST_METHOD'] === 'GET') {
|
|||
|
||||
if (preg_match("#^$pattern$#", $requestUrl, $matches)) {
|
||||
// Extract parameter values
|
||||
$params = [];
|
||||
$params = array();
|
||||
preg_match_all('/{([\-_\w]+)}/', $urlTemplate, $paramNames);
|
||||
foreach ($paramNames[1] as $index => $paramName) {
|
||||
$paramValue = $matches[$index + 1];
|
||||
|
|
@ -361,7 +360,7 @@ function set_sessioninfo() {
|
|||
$q = array_reduce($cv, 'reducer', "UPDATE `{$table}` SET ");
|
||||
$q = substr($q, 0, -2);
|
||||
$q .= $WHERECLAUSE;
|
||||
single_row_update($q,0,$c2);
|
||||
single_row_update($q,0);
|
||||
echo json_encode( array("rawvalstr"=>$_REQUEST['vals'], "result"=>"success","action"=>"updated", "query"=>$q,"err"=>mysqli_error($c2)));
|
||||
} else {
|
||||
echo json_encode( array("result"=>"fail", "err"=>"no activity id specified") ); }
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ $options_array = multi_row_select($options_query, 0, $c2);
|
|||
|
||||
$OPTIONS = array_reduce($options_array, function ($result, $item) {
|
||||
$result[$item["label"]] = $item["value"];
|
||||
return $result; }, []);
|
||||
return $result; }, array());
|
||||
|
||||
$default_ay_query = "SELECT begin,end FROM conf_academicyears ca JOIN conf_uinforecord cu ON cu.value=ca.id WHERE cu.label='default_ay';";
|
||||
$AY = single_row_select($default_ay_query,0, $c2);
|
||||
|
|
|
|||
123
js/dir_app.js
123
js/dir_app.js
|
|
@ -930,6 +930,7 @@ const ActivityList = Vue.component('activitylist', {
|
|||
console.log(day)
|
||||
var d = dayjs(day, 'MMM DD YYYY')
|
||||
convertedDateString = d.format('YYYY-MM-DD')
|
||||
console.log(convertedDateString)
|
||||
return _.findWhere( this.conference, {date1:convertedDateString} ).title
|
||||
},
|
||||
month_year: function(d) { var b = this.$root.$dj(d).format('MMM D YYYY'); return b },
|
||||
|
|
@ -938,10 +939,10 @@ const ActivityList = Vue.component('activitylist', {
|
|||
else { this.reversed = false; this.sortby = ss } },
|
||||
swapme: function(x) { this.editing = x },
|
||||
done_edit: function(id) { this.editing = -1 },
|
||||
am_editing: function(id) { return 0 },
|
||||
am_editing: function(id) { return 1 },
|
||||
fetch_myevents: function() {
|
||||
var self = this;
|
||||
basic_get('api/app',
|
||||
basic_get('api2.php?query=app',
|
||||
function(r2) {
|
||||
self.mysessions = r2.mysessions
|
||||
self.activities = r2.sessions
|
||||
|
|
@ -1011,62 +1012,76 @@ const ActivityList = Vue.component('activitylist', {
|
|||
var self=this; return _.groupBy(self.mysessions_filtered, function(x) { return self.month_year(x.starttime) } ); }, },
|
||||
watch: { },
|
||||
template: `<div class="activitylist">
|
||||
<div v-if="itineraryview" class="itn_now">
|
||||
Current time is: {{ current_time }}. Return here for the ZOOM links on the day of your sessions.
|
||||
<br />
|
||||
</div>
|
||||
<div v-if="itineraryview && mysessions_filtered.length==0">
|
||||
<b>It looks like you haven't signed up for any sessions yet!</b><br /><br />
|
||||
Go to the <a class="linky" href="act.php">Sessions List</a> to sign up.
|
||||
</div>
|
||||
<div v-if="itineraryview && active>0" v-for="items,mmyy in mysessions_g_filtered" class="itn_day">
|
||||
<b>{{mmyy}} {{get_day_title(mmyy)}}</b>
|
||||
<div v-for="a in items" class="pure-g itn_item">
|
||||
<div class="pure-u-1-6 itn_icon">
|
||||
<a v-if="my_host_ids.includes(a.id)" :href="'ed_act.php?w='+a.id"class="button-inlist-action">Edit</a>
|
||||
<a v-if="my_host_ids.includes(a.id)" :href="'report.php?s='+a.id"class="button-inlist-action">Info</a>
|
||||
<a v-if="zoom_on && a.location" :href="a.location" class="button-inlist">Start</a>
|
||||
<a v-if="survey_on" :href="'survey.php?s='+a.id" class="button-inlist-action">Survey</a>
|
||||
<!--<span v-if="!survey_on && !zoom_on">{{ $root.$dj(a.starttime).format('h:mma') }}</span>-->
|
||||
</div>
|
||||
<div class="pure-u-2-3 itn_info">
|
||||
<span class="itn_title">{{a.title}}</span>
|
||||
<span class="itn_body">
|
||||
{{ $root.$dj(a.starttime).format('h:mma') }}
|
||||
<span v-if="a.mode=='hybrid'">
|
||||
- In person at {{a.location_irl}} or
|
||||
<a :href="a.location">online</a>
|
||||
</span>
|
||||
<span v-if="a.mode=='inperson'"> - In person at {{a.location_irl}}</span>
|
||||
<span v-if="zoom_on && a.mode=='online'"> - <a :href="a.location">Online</a></span>
|
||||
<span v-if="!zoom_on && a.mode=='online'"> - Online</span>
|
||||
</span>
|
||||
<span class="itn_foot"></span>
|
||||
</div>
|
||||
<div class="pure-u-1-6 itn_controls"></div>
|
||||
|
||||
<div v-if="am_editing">
|
||||
<div v-for="items,mmyy in activities_g_filtered">
|
||||
<div class="pure-g">
|
||||
<div class="day_title pure-u-1-1">{{mmyy}} {{get_day_title(mmyy)}}</div>
|
||||
</div>
|
||||
<div v-for="a in items" class="activitylist">
|
||||
<activityinlineedit :which="a.id"></activityinlineedit>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!itineraryview && active>0" v-for="items,mmyy in activities_g_filtered">
|
||||
<div class="pure-g"><div class="day_title pure-u-1-1">{{mmyy}} {{get_day_title(mmyy)}}</div></div>
|
||||
<div v-for="a in items" class="activitylist">
|
||||
<div class="pure-g pure-form">
|
||||
<div v-if="!static" class="pure-u-5-24">
|
||||
<a v-if="!static && my_ses_ids.includes(a.id)" v-on:click.prevent="dumpme(a.id)" href="#" class="button-inlist-action">Cancel</a>
|
||||
<a v-if="!static && !my_ses_ids.includes(a.id)" v-on:click.prevent="joinme(a.id)" href="#" class="button-inlist">Sign Up</a>
|
||||
|
||||
<a v-if="my_host_ids.includes(a.id)" :href="'ed_act.php?w='+a.id" class="button-inlist-action">Edit</a>
|
||||
<div v-else>
|
||||
<div v-if="itineraryview" class="itn_now">
|
||||
Current time is: {{ current_time }}. Return here for the ZOOM links on the day of your sessions.
|
||||
<br />
|
||||
</div>
|
||||
<div v-if="itineraryview && mysessions_filtered.length==0">
|
||||
<b>It looks like you haven't signed up for any sessions yet!</b><br /><br />
|
||||
Go to the <a class="linky" href="act.php">Sessions List</a> to sign up.
|
||||
</div>
|
||||
<div v-if="itineraryview && active>0" v-for="items,mmyy in mysessions_g_filtered" class="itn_day">
|
||||
<b>{{mmyy}} {{get_day_title(mmyy)}}</b>
|
||||
<div v-for="a in items" class="pure-g itn_item">
|
||||
<div class="pure-u-1-6 itn_icon">
|
||||
<a v-if="my_host_ids.includes(a.id)" :href="'ed_act.php?w='+a.id"class="button-inlist-action">Edit</a>
|
||||
<a v-if="my_host_ids.includes(a.id)" :href="'report.php?s='+a.id"class="button-inlist-action">Info</a>
|
||||
<a v-if="zoom_on && a.location" :href="a.location" class="button-inlist">Start</a>
|
||||
<a v-if="survey_on" :href="'survey.php?s='+a.id" class="button-inlist-action">Survey</a>
|
||||
<!--<span v-if="!survey_on && !zoom_on">{{ $root.$dj(a.starttime).format('h:mma') }}</span>-->
|
||||
</div>
|
||||
<div class="pure-u-19-24">
|
||||
<b>{{a.title}}</b><br />
|
||||
{{ $root.$dj(a.starttime).format('h:mma') }} / {{ mode_string(a) }}<br />
|
||||
<span v-if="hoststr(a.id)"> Presented by: {{ hoststr(a.id) }}<br /></span>
|
||||
<span v-if="static && a.location_irl">Location: {{ a.location_irl }}<br /></span>
|
||||
<span v-if="static && a.location">Zoom Link: <a :href="a.location">{{ a.location }}</a><br /></span>
|
||||
<br />
|
||||
<!--<div class="rhs_grey">{{a.typeStr}}</div>-->
|
||||
<span v-if="expanded" v-html="a.desc"></span>
|
||||
<div class="pure-u-2-3 itn_info">
|
||||
<span class="itn_title">{{a.title}}</span>
|
||||
<span class="itn_body">
|
||||
{{ $root.$dj(a.starttime).format('h:mma') }}
|
||||
<span v-if="a.mode=='hybrid'">
|
||||
- In person at {{a.location_irl}} or
|
||||
<a :href="a.location">online</a>
|
||||
</span>
|
||||
<span v-if="a.mode=='inperson'"> - In person at {{a.location_irl}}</span>
|
||||
<span v-if="zoom_on && a.mode=='online'"> - <a :href="a.location">Online</a></span>
|
||||
<span v-if="!zoom_on && a.mode=='online'"> - Online</span>
|
||||
</span>
|
||||
<span class="itn_foot"></span>
|
||||
</div>
|
||||
<div class="pure-u-1-6 itn_controls"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!itineraryview && active>0" v-for="items,mmyy in activities_g_filtered">
|
||||
<div class="pure-g"><div class="day_title pure-u-1-1">{{mmyy}} {{get_day_title(mmyy)}}</div></div>
|
||||
<div v-for="a in items" class="activitylist">
|
||||
<div class="pure-g pure-form">
|
||||
<div v-if="!static" class="pure-u-5-24">
|
||||
<a v-if="!static && my_ses_ids.includes(a.id)" v-on:click.prevent="dumpme(a.id)" href="#" class="button-inlist-action">Cancel</a>
|
||||
<a v-if="!static && !my_ses_ids.includes(a.id)" v-on:click.prevent="joinme(a.id)" href="#" class="button-inlist">Sign Up</a>
|
||||
|
||||
<a v-if="my_host_ids.includes(a.id)" :href="'ed_act.php?w='+a.id" class="button-inlist-action">Edit</a>
|
||||
</div>
|
||||
<div class="pure-u-19-24">
|
||||
<b>{{a.title}}</b><br />
|
||||
{{ $root.$dj(a.starttime).format('h:mma') }} / {{ mode_string(a) }}<br />
|
||||
<span v-if="hoststr(a.id)"> Presented by: {{ hoststr(a.id) }}<br /></span>
|
||||
<span v-if="static && a.location_irl">Location: {{ a.location_irl }}<br /></span>
|
||||
<span v-if="static && a.location">Zoom Link: <a :href="a.location">{{ a.location }}</a><br /></span>
|
||||
<br />
|
||||
<!--<div class="rhs_grey">{{a.typeStr}}</div>-->
|
||||
<span v-if="expanded" v-html="a.desc"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1174,7 +1189,7 @@ const ChartView = Vue.component('chartview', {
|
|||
am_editing: function(id) { return 0 },
|
||||
fetch_myevents: function() {
|
||||
var self = this;
|
||||
basic_get('api/ses/'+self.day,
|
||||
basic_get('api2.php?query=ses/'+self.day,
|
||||
function(r2) {
|
||||
r2 = r2.data
|
||||
self.activities = _.sortBy(r2,function(x) { return x.starttime } ); self.$forceUpdate()
|
||||
|
|
@ -2166,7 +2181,7 @@ var app = new Vue({
|
|||
computed: { },
|
||||
mounted: function() {
|
||||
var self = this;
|
||||
fetch('api/start', { method: 'GET' }).then(function (response) {
|
||||
fetch('api2.php?query=start', { method: 'GET' }).then(function (response) {
|
||||
// The API call was successful!
|
||||
if (response.ok) {
|
||||
response.json().then( function(r2) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue