Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.

Mission2 1 hamada #48

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
42 changes: 31 additions & 11 deletions hamada/iOS-client/My1DayApp/Base.lproj/Main.storyboard
Original file line number Diff line number Diff line change
@@ -1,37 +1,51 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7531" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="pQh-c6-WXV">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="pQh-c6-WXV">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7520"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
</dependencies>
<scenes>
<!--Root View Controller-->
<scene sceneID="IDU-m6-Lyb">
<objects>
<tableViewController id="JOZ-JG-2Hn" customClass="MessageTableViewController" customModule="My1DayApp" customModuleProvider="target" sceneMemberID="viewController">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelection="NO" rowHeight="70" sectionHeaderHeight="22" sectionFooterHeight="22" id="Aeu-LH-nIF">
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" allowsSelection="NO" rowHeight="114" sectionHeaderHeight="22" sectionFooterHeight="22" id="Aeu-LH-nIF">
<rect key="frame" x="0.0" y="0.0" width="320" height="568"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="0.96078431369999995" green="0.96078431369999995" blue="0.96078431369999995" alpha="1" colorSpace="calibratedRGB"/>
<prototypes>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="MessageCell" rowHeight="70" id="6IH-Ch-NUR" customClass="MessageTableViewCell" customModule="My1DayApp" customModuleProvider="target">
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="MessageCell" rowHeight="114" id="6IH-Ch-NUR" customClass="MessageTableViewCell" customModule="My1DayApp" customModuleProvider="target">
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="6IH-Ch-NUR" id="Ucl-m3-jPt">
<autoresizingMask key="autoresizingMask"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rB6-1N-vrf">
<rect key="frame" x="5" y="5" width="60" height="60"/>
<rect key="frame" x="8" y="5" width="60" height="60"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="date" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mS6-Ae-wTV">
<rect key="frame" x="76" y="75" width="244" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="userName" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Rul-zC-hXZ">
<rect key="frame" x="76" y="15" width="79" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="メッセージ" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RPy-Rd-KYT">
<rect key="frame" x="78" y="13" width="234" height="21"/>
<rect key="frame" x="76" y="46" width="234" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
</tableViewCellContentView>
<connections>
<outlet property="dateLabel" destination="mS6-Ae-wTV" id="vob-0Y-goS"/>
<outlet property="iconImageView" destination="rB6-1N-vrf" id="qKn-zx-yfW"/>
<outlet property="messageLabel" destination="RPy-Rd-KYT" id="6X3-KT-Lfn"/>
<outlet property="userNameLabel" destination="Rul-zC-hXZ" id="SDt-x2-26J"/>
</connections>
</tableViewCell>
</prototypes>
Expand Down Expand Up @@ -70,15 +84,20 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4EN-Fz-DKa">
<rect key="frame" x="0.0" y="0.0" width="320" height="200"/>
<subviews>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Lhg-Dc-uxP">
<rect key="frame" x="74" y="67" width="246" height="128"/>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="logo.png" translatesAutoresizingMaskIntoConstraints="NO" id="71b-O0-MO6">
<rect key="frame" x="0.0" y="72" width="63" height="63"/>
</imageView>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pwb-bR-4KL">
<rect key="frame" x="71" y="77" width="97" height="30"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" text="text" translatesAutoresizingMaskIntoConstraints="NO" id="Lhg-Dc-uxP">
<rect key="frame" x="71" y="113" width="238" height="79"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
</textView>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="logo.png" translatesAutoresizingMaskIntoConstraints="NO" id="71b-O0-MO6">
<rect key="frame" x="3" y="67" width="63" height="63"/>
</imageView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
Expand Down Expand Up @@ -120,6 +139,7 @@
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina4"/>
<connections>
<outlet property="messageTextView" destination="Lhg-Dc-uxP" id="Y5X-Cg-E1p"/>
<outlet property="userNameView" destination="pwb-bR-4KL" id="gJA-OP-hgL"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="P5w-qQ-jfU" userLabel="First Responder" sceneMemberID="firstResponder"/>
Expand Down
12 changes: 11 additions & 1 deletion hamada/iOS-client/My1DayApp/Message.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,29 @@ class Message {
let body: String!
let icon: UIImage?
// Mission1-1. created_at 用のインスタンス変数を追加
let date: String!
let userName : String!


init?(dictionary: [String: AnyObject]) {
// Mission1-1 Dictionary から key:created_at の値を取得
if let identifier = dictionary["id"] as? Int, body = dictionary["body"] as? String, icon = dictionary["icon"] as? String{

if let identifier = dictionary["id"] as? Int, body = dictionary["body"] as? String, icon = dictionary["icon"] as? String, date = dictionary["created_at"] as? String,
userName = dictionary["username"] as? String
{
self.identifier = identifier
self.body = body
self.icon = ImageHelper.imageWithBase64EncodedString(icon)
// Mission1-1 Dictionary から取得した値を created_at 用のインスタンス変数に追加
self.date = date
self.userName = userName
} else {
self.identifier = nil
self.body = nil
self.icon = nil
// Mission1-1 インスタンス変数を nil で初期化
self.date = nil
self.userName = nil
return nil
}
}
Expand Down
6 changes: 6 additions & 0 deletions hamada/iOS-client/My1DayApp/MessageTableViewCell.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ class MessageTableViewCell: UITableViewCell {
@IBOutlet weak private var iconImageView: UIImageView!
@IBOutlet weak private var messageLabel: UILabel!
// Mission1-1 UILabel のインスタンス変数を追加
@IBOutlet weak var dateLabel: UILabel!

@IBOutlet weak var userNameLabel: UILabel!

override func prepareForReuse() {
self.iconImageView.image = nil
Expand All @@ -23,5 +26,8 @@ class MessageTableViewCell: UITableViewCell {
self.iconImageView.image = message.icon
self.messageLabel.text = message.body
// Mission1-1 UILabel のインスタンス変数に created_at の値を代入
if message.userName == "bot" {self.dateLabel.text = ""}
else {self.dateLabel.text = message.date}
self.userNameLabel.text = message.userName
}
}
7 changes: 6 additions & 1 deletion hamada/iOS-client/My1DayApp/PostViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ class PostViewController: UIViewController {
@IBOutlet weak private var messageTextView: UITextView!
weak var delegate: PostViewControllerDelagate?
// Mission1-2 Storyboard から UITextField のインスタンス変数を追加

@IBOutlet weak var userNameView: UITextField!



override func viewDidLoad() {
super.viewDidLoad()
Expand All @@ -34,9 +38,10 @@ class PostViewController: UIViewController {

let message = self.messageTextView.text ?? ""
// Mission1-2 UITextField のインスタンス変数から値を取得
let userName = self.userNameView.text ?? ""

// Mission1-2 posetMessage の第2引数に 任意の値を渡す
APIRequest.postMessage(message, username: "名前はまだない") {
APIRequest.postMessage(message, username:userName) {
[weak self] (data, response, error) -> Void in

self?.delegate?.postViewController(self!, didTouchUpCloseButton: sender)
Expand Down
4 changes: 2 additions & 2 deletions hamada/web-client/web/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@ <h4 class="modal-title" id="myModalLabel">投稿</h4>
<p><textarea class="form-control message-body" rows="3"></textarea></p>
</div>
<div class="modal-footer">
<!-- 画像投稿Form
画像投稿Form
<p class="image-result"><p>
<input type="file" id="image-form">
<button type="button" class="btn btn-primary post-message">投稿する</button>
-->

</div>
</div>
</div>
Expand Down
8 changes: 8 additions & 0 deletions hamada/web-server/app.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@
$username = isset($data['username']) ? $data['username'] : '';
$body = isset($data['body']) ? $data['body'] : '';

if($body == "uranai"){
$result = mt_rand(0,2);
if($result == 0) $body = "凶";
if($result == 1) $body = "吉";
if($result == 2) $body = "大吉";
$username = bot;
}

$createdMessage = $app->createMessage($username, $body, base64_encode(file_get_contents($app['icon_image_path'])));

return $app->json($createdMessage);
Expand Down
3 changes: 3 additions & 0 deletions hamada/web-server/log/api.log
100644 → 100755
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[2015-06-28 05:50:28] api.ERROR: exception 'Symfony\Component\Debug\Exception\ContextErrorException' with message 'Warning: mt_rand() expects exactly 2 parameters, 1 given' in /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/app.php:28 Stack trace: #0 [internal function]: Symfony\Component\Debug\ErrorHandler->handleError(2, 'mt_rand() expec...', '/Users/KOH/Prog...', 28, Array) #1 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/app.php(28): mt_rand(Array) #2 [internal function]: {closure}(Object(Symfony\Component\HttpFoundation\Request)) #3 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/symfony/http-kernel/HttpKernel.php(147): call_user_func_array(Object(Closure), Array) #4 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #5 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/silex/silex/src/Silex/Application.php(581): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #6 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/silex/silex/src/Silex/Application.php(558): Silex\Application->handle(Object(Symfony\Component\HttpFoundation\Request)) #7 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/web/index.php(12): Silex\Application->run() #8 {main} [] []
[2015-06-28 05:50:44] api.ERROR: exception 'Symfony\Component\Debug\Exception\ContextErrorException' with message 'Warning: mt_rand() expects exactly 2 parameters, 1 given' in /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/app.php:28 Stack trace: #0 [internal function]: Symfony\Component\Debug\ErrorHandler->handleError(2, 'mt_rand() expec...', '/Users/KOH/Prog...', 28, Array) #1 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/app.php(28): mt_rand(Array) #2 [internal function]: {closure}(Object(Symfony\Component\HttpFoundation\Request)) #3 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/symfony/http-kernel/HttpKernel.php(147): call_user_func_array(Object(Closure), Array) #4 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #5 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/silex/silex/src/Silex/Application.php(581): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #6 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/silex/silex/src/Silex/Application.php(558): Silex\Application->handle(Object(Symfony\Component\HttpFoundation\Request)) #7 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/web/index.php(12): Silex\Application->run() #8 {main} [] []
[2015-06-28 05:51:16] api.ERROR: exception 'Symfony\Component\Debug\Exception\ContextErrorException' with message 'Warning: mt_rand() expects exactly 2 parameters, 1 given' in /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/app.php:28 Stack trace: #0 [internal function]: Symfony\Component\Debug\ErrorHandler->handleError(2, 'mt_rand() expec...', '/Users/KOH/Prog...', 28, Array) #1 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/app.php(28): mt_rand(Array) #2 [internal function]: {closure}(Object(Symfony\Component\HttpFoundation\Request)) #3 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/symfony/http-kernel/HttpKernel.php(147): call_user_func_array(Object(Closure), Array) #4 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #5 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/silex/silex/src/Silex/Application.php(581): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #6 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/vendor/silex/silex/src/Silex/Application.php(558): Silex\Application->handle(Object(Symfony\Component\HttpFoundation\Request)) #7 /Users/KOH/Program/KOH-GitHub/VG1day/vg-1day-2015-6-28/hamada/web-server/web/index.php(12): Silex\Application->run() #8 {main} [] []