]> git.plutz.net Git - confetti/blobdiff - templates/view_attendee.sh
enable drawing via android-4, quicker drawing via lines
[confetti] / templates / view_attendee.sh
index a96444a38205bef0770cf6d2149e02e668b4519d..bdfdc6a621ebe2fe5ebfb0335f072d353d5c3352 100755 (executable)
@@ -1,49 +1,86 @@
-view_card_item() {
-  case "$key" in
-    BEGIN|VERSION|END|N|NICKNAME);;
-    PHOTO)
-      echo "<img class=\"PHOTO\" src=\"data:image/$tag[TYPE];base64,$value\"/>"
-      ;;
-    FN)
-      echo "<h2 CLASS=\"FN\">$value</h2>"
-      ;;
-    *)
-      echo -n "<span class=\"item\"><span class=\"KEY $key\">$(l10n "$key")"
-      [ -n "$tag[TYPE]" ] && echo -n "($tag[TYPE])"
-      echo ":</span>"
-      ;|
-    EMAIL)
-      echo "<a href=\"mailto:$value\" class=\"VALUE $key\">$value</a></span>"
-      ;;
-    IMPP)
-      echo "<a href=\"$value\" class=\"VALUE $key\">"$(echo "$value" |cut -d: -f2-)"</a></span>"
-      ;;
-    *)
-      echo "<span class=\"VALUE $key\">$value</span></span>"
-      ;;
-  esac
-}
-
-view_attendee() {  #Parameter: Cardfile
-  cardfile="vcard/$1"
-  cachefile="cache/${1}.cache"
-  unset key
-  [ "$cachefile" -nt "$cardfile" ] && cat "$cachefile" \
-  || vcf_parse "$cardfile" |while read -r line; do
-    declare -A tag
-    case "$line" in
-      value*) eval "$line";;
-      tag*)   eval "$line";;
-      key*)
-        if [ -z "$key" ]; then
-          eval "$line"
-        else
-          view_card_item
-          eval "$line"
-         unset value
-         unset tag
-        fi
-      ;;
-    esac
-  done |tee "$cachefile"
-}
+# Copyright 2014, 2015 Paul Hänsch
+#
+# This file is part of Confetti.
+# 
+# Confetti is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+# 
+# Confetti is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+# 
+# You should have received a copy of the GNU Affero General Public License
+# along with Confetti.  If not, see <http://www.gnu.org/licenses/>. 
+
+n=$(printf %s "$values[N]" \
+    | sed -rn 's:^([^;]*)(\;[^;]*)(\;[^;]*)?(\;[^;]*)?(\;[^;]*)?$:\4 \2 \3 \1 \5:gp' \
+    | sed -r 's:,: :;s:\;: :g;s: +: :g;s:^ $::;'
+   )
+fullname="${n:-${values[FN]:-${values[NICKNAME]}}}"
+
+cat <<END_HTML
+  <div class="section basic">
+    <h2 class="item FN">$fullname</h2>
+    ${values[GENDER]:+<span class="item GENDER">$(l10n $values[GENDER])</span>}
+
+    $(for n in NICKNAME NICKNAME{0..10}; do
+      echo "${values[$n]:+<span class="item NICKNAME">aka. $values[$n]</span>}"
+    done)
+
+    ${values[BDAY]:+<span class="item BDAY"><b>*:</b> $values[BDAY]</span>}
+    ${values[X-ZACK-JOINDATE]:+<span class="item X-ZACK-JOINDATE"><b>$(l10n label_join):</b> $values[X-ZACK-JOINDATE]</span>}
+    ${values[X-ZACK-LEAVEDATE]:+<span class="item X-ZACK-LEAVEDATE"><b>$(l10n label_leave):</b> $values[X-ZACK-LEAVEDATE]</span>}
+    ${values[SOUND]:+<audio controls="controls" class="item SOUND"><source type="audio/ogg" src="data:audio/ogg;base64,$values[SOUND]" /></audio>}
+    ${values[PHOTO]:+<img class="item PHOTO" src="data:image/$tags[PHOTO_TYPE];base64,$values[PHOTO]" />}
+    ${values[LOGO]:+<img class="item LOGO" src="data:image/$tags[LOGO_TYPE];base64,$values[LOGO]" />}
+  </div><!--
+
+  --><div class="section phone">
+    <h3>$(l10n TEL)</h3>
+    $(for n in TEL TEL{0..10}; do
+      echo "${values[$n]:+<span class="item TEL">$tags[${n}_TYPE] $values[$n]</span>}"
+    done)
+  </div><!--
+
+  --><div class="section message">
+    ${values[EMAIL]:+<h3>$(l10n EMAIL)</h3>}
+    $(for n in EMAIL EMAIL{0..10}; do
+      echo "${values[$n]:+<span class="item EMAIL"><a href="mailto:$values[$n]">$values[$n]</a></span>}"
+    done)
+    ${values[IMPP]:+<h3>$(l10n IMPP)</h3>}
+    $(for n in IMPP IMPP{0..10}; do
+      echo "${values[$n]:+<span class="item IMPP">$tags[${n}_TYPE] <a href="$values[$n]">$values[$n]</a></span>}"
+    done)
+  </div><!--
+
+  --><div class="section address">
+    <h3>$(l10n ADR)</h3>
+    $(for n in ADR ADR{0..10}; do
+      echo "${values[$n]:+<span class="item ADR">$values[$n]</span>}"
+    done)
+    ${values[URL]:+<h3>$(l10n URL)</h3>}
+    $(for n in URL URL{0..10}; do
+      echo "${values[$n]:+<span class="item URL"><a href="$values[$n]">$values[$n]</a></span>}"
+    done)
+  </div><!--
+
+  --><div class="section note">
+    <h3>$(l10n NOTE)</h3>
+    $(for n in NOTE NOTE{0..10}; do
+      echo "${values[$n]:+<span class="item NOTE">$values[$n]</span>}"
+    done)
+  </div><!--
+
+  --><div class="section attendance">
+    <h3>$(l10n course_attendance)</h3>
+    <ul>
+    $(sed -rn 's:(.*)\t'$id'$:\1:p' "$_DATA/mappings/attendance" |while read each; do
+      cname="$(sed -rn 's:^SUMMARY\:(.*)$:\1:p' "$_DATA/ical/$each")"
+      echo '   <li><a class="item attendance" href="?p=courses#'$each'">'$cname'</a></li>'
+    done)
+    </ul>
+  </div>
+END_HTML