mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-10 20:44:28 +09:00
widget - dev version
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@6737 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
a0ebcba8d7
commit
f875e5f33f
12 changed files with 365 additions and 0 deletions
17
widgets/sms/conf/info.xml
Normal file
17
widgets/sms/conf/info.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<widget version="0.2">
|
||||||
|
<title xml:lang="ko">SMS 위젯</title>
|
||||||
|
<version>0.1.dev</version>
|
||||||
|
<date>2009-08-07</date>
|
||||||
|
|
||||||
|
<author email_address="bnu@perbiz.co.kr" link="http://perbiz.co.kr">
|
||||||
|
<name xml:lang="ko">Perbiz</name>
|
||||||
|
</author>
|
||||||
|
|
||||||
|
<extra_vars>
|
||||||
|
<var id="re_cpcs">
|
||||||
|
<type>text</type>
|
||||||
|
<name xml:lang="ko">회신번호</name>
|
||||||
|
</var>
|
||||||
|
</extra_vars>
|
||||||
|
</widget>
|
||||||
166
widgets/sms/skins/default/css/common.css
Normal file
166
widgets/sms/skins/default/css/common.css
Normal file
|
|
@ -0,0 +1,166 @@
|
||||||
|
@charset "utf-8";
|
||||||
|
|
||||||
|
div.smsxe .container {
|
||||||
|
position:relative;
|
||||||
|
border:0 none;
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
width:214px;
|
||||||
|
height:500px;
|
||||||
|
font-size:8pt;
|
||||||
|
background:url('../images/phone_body.jpg') no-repeat;
|
||||||
|
}
|
||||||
|
div.smsxe .container input {
|
||||||
|
font-size:8pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.smsxe .content {
|
||||||
|
position:absolute;
|
||||||
|
font-family:돋움체;
|
||||||
|
font-size:10pt;
|
||||||
|
top:72px;
|
||||||
|
left:37px;
|
||||||
|
border:0 none;
|
||||||
|
padding:4px;
|
||||||
|
width:133px;
|
||||||
|
height:158px;
|
||||||
|
background:#F3F2F2;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.smsxe .bth_addressbook {
|
||||||
|
position:absolute;
|
||||||
|
top:259px;
|
||||||
|
left:48px;
|
||||||
|
width:122px;
|
||||||
|
height:26px;
|
||||||
|
overflow:hidden;
|
||||||
|
text-align:center;
|
||||||
|
background:url('../images/btn_addressbook.gif') no-repeat;
|
||||||
|
}
|
||||||
|
div.smsxe .bth_addressbook a {
|
||||||
|
display:block;
|
||||||
|
font-weight:bold;
|
||||||
|
padding:7px 0;
|
||||||
|
color:#FFF;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
div.smsxe .bth_addressbook span {
|
||||||
|
color:#ED3C90;
|
||||||
|
}
|
||||||
|
div.smsxe .search_area {
|
||||||
|
position:relative;
|
||||||
|
top:297px;
|
||||||
|
left:32px;
|
||||||
|
width:149px;
|
||||||
|
height:20px;
|
||||||
|
}
|
||||||
|
div.smsxe .search_area .input_box {
|
||||||
|
position:absolute;
|
||||||
|
top:0;
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
width:125px;
|
||||||
|
height:18px;
|
||||||
|
border:1px solid #ABABA1;
|
||||||
|
font-size:10pt;
|
||||||
|
color:#3C3C3C;
|
||||||
|
background:#DDDCC7;
|
||||||
|
}
|
||||||
|
div.smsxe .search_area .btn_search {
|
||||||
|
position:absolute;
|
||||||
|
top:0;
|
||||||
|
right:0;
|
||||||
|
border:0 none;
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
width:21px;
|
||||||
|
height:20px;
|
||||||
|
text-indent:-1000em;
|
||||||
|
background:url('../images/btn_search.gif') no-repeat;
|
||||||
|
}
|
||||||
|
div.smsxe .send_pcs_list {
|
||||||
|
position:absolute;
|
||||||
|
top:325px;
|
||||||
|
left:32px;
|
||||||
|
width:149px;
|
||||||
|
height:60px;
|
||||||
|
color:#CD6194;
|
||||||
|
overflow:scroll;
|
||||||
|
overflow-x:hidden;
|
||||||
|
}
|
||||||
|
div.smsxe .send_pcs_list span {
|
||||||
|
padding:0;
|
||||||
|
color:#3C3C3C;
|
||||||
|
}
|
||||||
|
div.smsxe .send_pcs_list ul {
|
||||||
|
list-style:none;
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
div.smsxe .send_pcs_list li {
|
||||||
|
padding:3px 0;
|
||||||
|
background:url('../images/line_dot.gif') repeat-x bottom left;
|
||||||
|
}
|
||||||
|
div.smsxe .send_pcs_list input {
|
||||||
|
border:0 none;
|
||||||
|
margin:0 3px;
|
||||||
|
padding:0;
|
||||||
|
width:100px;
|
||||||
|
color:#FFF;
|
||||||
|
background:transparent;
|
||||||
|
}
|
||||||
|
div.smsxe .send_pcs_list .btn_delete {
|
||||||
|
width:9px;
|
||||||
|
height:9px;
|
||||||
|
cursor:pointer;
|
||||||
|
}
|
||||||
|
div.smsxe .return_pcs {
|
||||||
|
position:absolute;
|
||||||
|
width:149px;
|
||||||
|
height:20px;
|
||||||
|
top:394px;
|
||||||
|
left:32px;
|
||||||
|
color:#FFF;
|
||||||
|
}
|
||||||
|
div.smsxe .return_pcs input {
|
||||||
|
margin:0 0 0 4px;
|
||||||
|
padding:0;
|
||||||
|
border:1px solid #C2C2C2;
|
||||||
|
width:84px;
|
||||||
|
background:#ECECEC;
|
||||||
|
}
|
||||||
|
div.smsxe .submit_area {
|
||||||
|
position:absolute;
|
||||||
|
top:422px;
|
||||||
|
left:32px;
|
||||||
|
width:148px;
|
||||||
|
height:26px;
|
||||||
|
}
|
||||||
|
div.smsxe .submit_area input {
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
height:26px;
|
||||||
|
border:0 none;
|
||||||
|
color:#FFF;
|
||||||
|
font-size:9pt;
|
||||||
|
font-weight:bold;
|
||||||
|
background:transparent;
|
||||||
|
}
|
||||||
|
div.smsxe .submit_area .btn_appoint {
|
||||||
|
width:75px;
|
||||||
|
}
|
||||||
|
div.smsxe .submit_area .btn_submit {
|
||||||
|
width:72px;
|
||||||
|
}
|
||||||
|
div.smsxe .status {
|
||||||
|
position:absolute;
|
||||||
|
top:242px;
|
||||||
|
left:37px;
|
||||||
|
width:141px;
|
||||||
|
height:20px;
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
div.smsxe .status .status_byte,
|
||||||
|
div.smsxe .status .status_count {
|
||||||
|
font-weight:bold;
|
||||||
|
}
|
||||||
9
widgets/sms/skins/default/filter/sms_send.xml
Normal file
9
widgets/sms/skins/default/filter/sms_send.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<filter name="sms_send" module="sms" act="sendSmsDirectPerbizSend" confirm_msg_code="confirm_submit">
|
||||||
|
<form>
|
||||||
|
<node name="send_pcs" target="send_pcs" filter="phone" />
|
||||||
|
</form>
|
||||||
|
<response callback_func="completeSendSms">
|
||||||
|
<tag name="error" />
|
||||||
|
<tag name="message" />
|
||||||
|
</response>
|
||||||
|
</filter>
|
||||||
BIN
widgets/sms/skins/default/images/btn_addressbook.gif
Normal file
BIN
widgets/sms/skins/default/images/btn_addressbook.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 852 B |
BIN
widgets/sms/skins/default/images/btn_delete.gif
Normal file
BIN
widgets/sms/skins/default/images/btn_delete.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 290 B |
BIN
widgets/sms/skins/default/images/btn_search.gif
Normal file
BIN
widgets/sms/skins/default/images/btn_search.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
BIN
widgets/sms/skins/default/images/line_dot.gif
Normal file
BIN
widgets/sms/skins/default/images/line_dot.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 41 B |
BIN
widgets/sms/skins/default/images/phone_body.jpg
Normal file
BIN
widgets/sms/skins/default/images/phone_body.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 45 KiB |
83
widgets/sms/skins/default/js/sms_widget.js
Normal file
83
widgets/sms/skins/default/js/sms_widget.js
Normal file
|
|
@ -0,0 +1,83 @@
|
||||||
|
|
||||||
|
function completeSendSms(rec_obj) {
|
||||||
|
console.log(rec_obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
(function($) {
|
||||||
|
|
||||||
|
/* DOM READY */
|
||||||
|
jQuery(function($) {
|
||||||
|
var $widgetContainer = $('div.smsxe');
|
||||||
|
var $widgetForm = $('form#fo_sms_widget', $widgetContainer);
|
||||||
|
var $widgetSerchForm = $('form#fo_sms_widget_search', $widgetContainer);
|
||||||
|
var $searchArea = $('.search_area', $widgetContainer);
|
||||||
|
var $sendPcsList = $('.send_pcs_list', $widgetContainer);
|
||||||
|
var $searchInputbox = $('.input_box', $searchArea);
|
||||||
|
var $statusArea = $('.status', $widgetContainer);
|
||||||
|
|
||||||
|
$widgetForm.submit(function() {
|
||||||
|
console.log('전송');
|
||||||
|
});
|
||||||
|
|
||||||
|
$widgetSerchForm.submit(function() {
|
||||||
|
console.log('검색');
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('textarea', $widgetForm).keyup(function() {
|
||||||
|
var get_length = PerbizSMS.getByteLength(this);
|
||||||
|
if(!get_length) return;
|
||||||
|
|
||||||
|
$('.status_byte', $statusArea).text(get_length.length);
|
||||||
|
$('.limit_byte', $statusArea).text(get_length.limit_byte);
|
||||||
|
$('.status_count', $statusArea).text(get_length.sms_count);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('textarea', $widgetForm).triggerHandler('keyup');
|
||||||
|
|
||||||
|
$('input', $sendPcsList).keypress(function(e) {
|
||||||
|
if(e.which == 13) {
|
||||||
|
var $nextInput = $(this).parent().next().children('input');
|
||||||
|
|
||||||
|
if($nextInput.length) {
|
||||||
|
$nextInput.focus().select();
|
||||||
|
} else {
|
||||||
|
$('.return_pcs input', $widgetContainer).focus().select();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.bth_addressbook a', $widgetContainer).click(function() {
|
||||||
|
//PerbizSMS.showAddressbook('window');
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$searchInputbox.watermark($searchInputbox.attr('title'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @berif 목록에서 번호 삭제
|
||||||
|
**/
|
||||||
|
$('.btn_delete', $sendPcsList).click(function() {
|
||||||
|
var $inputAll = $('input', $sendPcsList);
|
||||||
|
$(this).prev('input').val('');
|
||||||
|
var $nextInput = $(this).parent().nextAll().children('input');
|
||||||
|
var values = [];
|
||||||
|
|
||||||
|
$inputAll.each(function(idx) {
|
||||||
|
if(this.value && this.value != 'undefined') values.push(this.value);
|
||||||
|
});
|
||||||
|
|
||||||
|
$inputAll.val('');
|
||||||
|
$inputAll.each(function(idx) {
|
||||||
|
if(values[idx]) {
|
||||||
|
this.value = values[idx];
|
||||||
|
} else {
|
||||||
|
this.value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
}) (jQuery);
|
||||||
19
widgets/sms/skins/default/skin.xml
Normal file
19
widgets/sms/skins/default/skin.xml
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<skin version="0.2">
|
||||||
|
<title xml:lang="ko">SMS 위젯 기본 스킨</title>
|
||||||
|
<version>0.1</version>
|
||||||
|
<date>2009-02-10</date>
|
||||||
|
|
||||||
|
<author email_address="sol@ngleader.com" link="http://www.ngleader.com">
|
||||||
|
<name xml:lang="ko">Perbiz</name>
|
||||||
|
</author>
|
||||||
|
|
||||||
|
<colorset>
|
||||||
|
<color name="white">
|
||||||
|
<title xml:lang="ko">흰색 바탕용</title>
|
||||||
|
</color>
|
||||||
|
<color name="black">
|
||||||
|
<title xml:lang="ko">어두운 바탕용</title>
|
||||||
|
</color>
|
||||||
|
</colorset>
|
||||||
|
</skin>
|
||||||
53
widgets/sms/skins/default/sms_widget.html
Normal file
53
widgets/sms/skins/default/sms_widget.html
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
<!--%import("css/common.css")-->
|
||||||
|
<!--%import("js/sms_widget.js")-->
|
||||||
|
<!--%import("../../../../modules/sms/tpl/js/sms.lib.js")-->
|
||||||
|
<!--%import("filter/sms_send.xml")-->
|
||||||
|
|
||||||
|
|
||||||
|
<div class="widgets smsxe">
|
||||||
|
<fieldset class="container">
|
||||||
|
|
||||||
|
<div class="bth_addressbook">
|
||||||
|
<a href="{getUrl('act', 'dispSmsGroupMember')}"><span class="d"><</span> 주소록 보기</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="search_area">
|
||||||
|
<form action="./" method="post" id="fo_sms_widget_search">
|
||||||
|
<input type="text" name="search" class="input_box" title="아이디/닉네임 검색" /><input type="submit" value="검색" class="btn_search" />
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form action="./" method="post" id="fo_sms_widget" onsubmit="return procFilter(this, sms_send);">
|
||||||
|
<input type="hidden" name="add_pcs_total" value="10" />
|
||||||
|
<textarea name="send_content" class="content"></textarea>
|
||||||
|
|
||||||
|
<div class="status">
|
||||||
|
<span class="status_byte">0</span> / <span class="limit_byte">80</span>Byte <span class="status_count">1</span>건
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="send_pcs_list">
|
||||||
|
<ul>
|
||||||
|
<li><span>0</span>1<input type="text" name="add_pcs_1" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li><span>0</span>2<input type="text" name="add_pcs_2" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li><span>0</span>3<input type="text" name="add_pcs_3" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li><span>0</span>4<input type="text" name="add_pcs_4" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li><span>0</span>5<input type="text" name="add_pcs_5" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li><span>0</span>6<input type="text" name="add_pcs_6" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li><span>0</span>7<input type="text" name="add_pcs_7" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li><span>0</span>8<input type="text" name="add_pcs_8" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li><span>0</span>9<input type="text" name="add_pcs_9" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
<li>10<input type="text" name="add_pcs_10" value="" maxlength="16" /><img src="./images/btn_delete.gif" class="btn_delete" alt="삭제" /></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="return_pcs">
|
||||||
|
<span>보내는 사람</span><input type="text" name="rec_pcs" value="{$sms_info->rec_pcs}" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="submit_area">
|
||||||
|
<input type="button" class="btn_appoint" value="예약발송" /><input type="submit" value="보내기" class="btn_submit" />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</fieldset>
|
||||||
|
</div>
|
||||||
18
widgets/sms/sms.class.php
Normal file
18
widgets/sms/sms.class.php
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
<?php
|
||||||
|
class sms extends WidgetHandler {
|
||||||
|
|
||||||
|
function proc($args) {
|
||||||
|
// 템플릿의 스킨 경로를 지정 (skin, colorset에 따른 값을 설정)
|
||||||
|
$tpl_path = sprintf('%sskins/%s', $this->widget_path, $args->skin);
|
||||||
|
Context::set('colorset', $args->colorset);
|
||||||
|
|
||||||
|
// 템플릿 파일을 지정
|
||||||
|
$tpl_file = 'sms_widget';
|
||||||
|
|
||||||
|
Context::set('sms_info', $args);
|
||||||
|
|
||||||
|
// 템플릿 컴파일
|
||||||
|
$oTemplate = &TemplateHandler::getInstance();
|
||||||
|
return $oTemplate->compile($tpl_path, $tpl_file);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue