summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMalf Furious <m@lfurio.us>2018-07-26 04:23:25 -0400
committerMalf Furious <m@lfurio.us>2018-07-26 04:23:25 -0400
commit0dc6d736c254fc38b2e923069827e47a2494b256 (patch)
treebca0f050b0e0d773cdcf1c984ece7c60e9309e79
parent84b7c560ffc09a65df896116ccd63b2f132b92b0 (diff)
downloadscrott-0dc6d736c254fc38b2e923069827e47a2494b256.tar.gz
scrott-0dc6d736c254fc38b2e923069827e47a2494b256.zip
Add group/pad list item
UI module to use when listing out groups and pads. These will link to the group/pad page and display information about the object.
-rw-r--r--app/model/gpListItem.php42
-rw-r--r--app/model/objHeadCircle.php37
-rw-r--r--app/view/datalsts.php107
3 files changed, 186 insertions, 0 deletions
diff --git a/app/model/gpListItem.php b/app/model/gpListItem.php
new file mode 100644
index 0000000..809a7cf
--- /dev/null
+++ b/app/model/gpListItem.php
@@ -0,0 +1,42 @@
+<?php
+
+/*
+ * SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * For more information, please refer to UNLICENSE
+ */
+
+require_once "class/group.class.php";
+require_once "class/pad.class.php";
+
+/*
+ * including scope defines
+ * obj $obj
+ */
+
+$url = ar() . "/" . $obj->guid;
+$owner = $obj->getOwner();
+$own_name = $owner->getDisplayName();
+$obj_name = $obj->name;
+$numb_membs = count($obj->getMembers());
+
+/* TODO - tweak lengths (check view file as well) */
+$membs_lg = $obj->getMembers(18);
+$membs_md = $obj->getMembers(18);
+$membs_sm = $obj->getMembers(18);
+$membs_xs = $obj->getMembers(18);
+
+if ($obj->objtype == "group")
+ $glyph = "glyphicon-th";
+else if ($obj->objtype == "pad")
+ $glyph = "glyphicon-edit";
+else
+ throw new Exception("Group/pad list item was given something besides a group or pad");
+
+?>
diff --git a/app/model/objHeadCircle.php b/app/model/objHeadCircle.php
new file mode 100644
index 0000000..eef56b7
--- /dev/null
+++ b/app/model/objHeadCircle.php
@@ -0,0 +1,37 @@
+<?php
+
+/*
+ * SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * For more information, please refer to UNLICENSE
+ */
+
+require_once "class/obj.class.php";
+
+/*
+ * including scope defines
+ * obj $obj
+ * int $height
+ */
+
+$src = $obj->getHeadImg();
+
+switch ($obj->objtype)
+{
+ case "user":
+ case "group":
+ $alt = $obj->getDisplayName();
+ break;
+
+ default:
+ $alt = $obj->name;
+ break;
+}
+
+?>
diff --git a/app/view/datalsts.php b/app/view/datalsts.php
new file mode 100644
index 0000000..82a0f1f
--- /dev/null
+++ b/app/view/datalsts.php
@@ -0,0 +1,107 @@
+<?php
+
+/*
+ * SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * For more information, please refer to UNLICENSE
+ */
+
+namespace datalsts;
+
+require_once "class/obj.class.php";
+
+?>
+<?php function objHeadCircle(\obj $obj, int $height) : void { ?>
+
+ <?php require "model/objHeadCircle.php"; ?>
+ <img src="<?=$src?>" alt="<?=$alt?>" title="<?=$alt?>" class="img-circle" height="<?=$height?>" />
+
+<?php } ?>
+<?php function gpListItem(\obj $obj) : void { ?>
+
+ <?php require "model/gpListItem.php"; ?>
+
+ <a href="<?=$url?>" style="color: #000; text-decoration: none;">
+ <div class="panel panel-default">
+ <div class="panel-body">
+ <div class="row">
+ <div class="col-md-12">
+ <span class="glyphicon <?=$glyph?>"></span> <?=$own_name?> / <?=$obj_name?>
+ <!--TODO stats on pad/issue counts-->
+ </div>
+ </div>
+
+ <div class="visible-lg-block">
+ <?=objHeadCircle($owner, 25)?>
+
+ <?php if ($numb_membs) { ?>
+ <span class="glyphicon glyphicon-plus"></span>
+ <?php } ?>
+
+ <?php foreach ($membs_lg as $memb) { ?>
+ <?=objHeadCircle($memb, 25)?>
+ <?php } ?>
+
+ <?php if ($numb_membs > 18) { ?>
+ <span class="glyphicon glyphicon-option-horizontal"></span>
+ <?php } ?>
+ </div>
+
+ <div class="visible-md-block">
+ <?=objHeadCircle($owner, 25)?>
+
+ <?php if ($numb_membs) { ?>
+ <span class="glyphicon glyphicon-plus"></span>
+ <?php } ?>
+
+ <?php foreach ($membs_md as $memb) { ?>
+ <?=objHeadCircle($memb, 25)?>
+ <?php } ?>
+
+ <?php if ($numb_membs > 18) { ?>
+ <span class="glyphicon glyphicon-option-horizontal"></span>
+ <?php } ?>
+ </div>
+
+ <div class="visible-sm-block">
+ <?=objHeadCircle($owner, 25)?>
+
+ <?php if ($numb_membs) { ?>
+ <span class="glyphicon glyphicon-plus"></span>
+ <?php } ?>
+
+ <?php foreach ($membs_sm as $memb) { ?>
+ <?=objHeadCircle($memb, 25)?>
+ <?php } ?>
+
+ <?php if ($numb_membs > 18) { ?>
+ <span class="glyphicon glyphicon-option-horizontal"></span>
+ <?php } ?>
+ </div>
+
+ <div class="visible-xs-block">
+ <?=objHeadCircle($owner, 25)?>
+
+ <?php if ($numb_membs) { ?>
+ <span class="glyphicon glyphicon-plus"></span>
+ <?php } ?>
+
+ <?php foreach ($membs_xs as $memb) { ?>
+ <?=objHeadCircle($memb, 25)?>
+ <?php } ?>
+
+ <?php if ($numb_membs > 18) { ?>
+ <span class="glyphicon glyphicon-option-horizontal"></span>
+ <?php } ?>
+ </div>
+ </div>
+ </div>
+ </a>
+
+<?php } ?>