ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE3/trunk/lib/helper/opPartsHelper.php @ 10555

Last change on this file since 10555 was 10555, checked in by ebihara, 12 years ago

#3535:changed the formParts doesn't accept an internal url now

File size: 6.4 KB
Line 
1<?php
2
3/**
4 * This file is part of the OpenPNE package.
5 * (c) OpenPNE Project (http://www.openpne.jp/)
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file and the NOTICE file that were distributed with this source code.
9 */
10
11/**
12 * PartsHelper.
13 *
14 * @package    openpne
15 * @subpackage helper
16 * @author     Kousuke Ebihara <ebihara@tejimaya.com>
17 * @author     Rimpei Ogawa <ogawa@tejimaya.com>
18 * @author     Shogo Kawahara <kawahara@tejimaya.net>
19 */
20
21/**
22 * Include parts
23 *
24 * @param string $name parts name
25 * @param string $id
26 * @param array  $options
27 */
28function op_include_parts($name, $id, $options = array())
29{
30  $params = array(
31    'id'      => $id,
32    'name'    => $name,
33    'options' => new opPartsOptionHolder($options),
34  );
35
36  $params['op_content'] = get_partial('global/parts'.ucfirst($name), $params);
37
38  if ('' === trim($params['op_content']))
39  {
40    return;
41  }
42
43  include_partial('global/partsLayout', $params);
44}
45
46/**
47 * Include box parts
48 *
49 * @param string $id
50 * @param string $body
51 * @param array  $options
52 *
53 * @see op_include_parts
54 */
55function op_include_box($id, $body, $options = array())
56{
57  $options['body'] = $body;
58
59  op_include_parts('box', $id, $options);
60}
61
62/**
63 * Include form parts
64 *
65 * @param string $id
66 * @param mixed  $form  a sfForm object or an array of sfForm objects
67 * @param array  $options
68 *
69 * @see op_include_parts
70 */
71function op_include_form($id, $form, $options = array())
72{
73  $options['form'] = $form;
74
75  op_include_parts('form', $id, $options);
76}
77
78/**
79 * Include list parts
80 *
81 * @param string $id
82 * @param array  $list
83 * @param array  $options
84 *
85 * @see op_include_parts
86 */
87function op_include_list($id, $list, $options = array())
88{
89  $options['list'] = $list;
90
91  op_include_parts('list', $id, $options);
92}
93
94/**
95 * Include line parts
96 *
97 * @param string $id
98 * @param string $line
99 * @param array  $options
100 *
101 * @see op_include_parts
102 */
103function op_include_line($id, $line, $options = array())
104{
105  $options['line'] = $line;
106
107  op_include_parts('line', $id, $options);
108}
109
110/**
111 * Include yesNo parts
112 *
113 * @params string $id
114 * @params mixed  $yesForm a sfForm object or array of sfForm objects
115 * @params mixed  $noForm  a sfForm object or array of sfForm objects
116 * @params array  $options
117 */
118function op_include_yesno($id, $yesForm, $noForm, $options = array())
119{
120  $options['yes_form'] = $yesForm;
121  $options['no_form'] = $noForm;
122
123  op_include_parts('yesNo', $id, $options);
124}
125
126/**
127 * Gets customizes.
128 *
129 * @param string $id
130 * @param string $name
131 */
132function get_customizes($id, $name, $vars = null)
133{
134  $context = sfContext::getInstance();
135
136  $viewInstance = $context->get('view_instance');
137  $customizes = $viewInstance->getCustomize('', $id, $name);
138  $lastActionStack = $context->getActionStack()->getLastEntry();
139
140  $content = '';
141  foreach ($customizes as $customize) {
142    $moduleName = $customize[0];
143    if (!$moduleName) {
144      $moduleName = $lastActionStack->getModuleName();
145    }
146    $actionName = $customize[1];
147    if (!isset($vars))
148    {
149      $vars = $lastActionStack->getActionInstance()->getVarHolder()->getAll();
150    }
151    if ($customize[2])
152    {
153      $content .= get_component($moduleName, $actionName, $vars);
154    }
155    else
156    {
157      $templateName = $moduleName.'/'.$actionName;
158      $content .= get_partial($templateName, $vars);
159    }
160  }
161
162  return $content;
163}
164
165/**
166 * Includes customizes.
167 *
168 * @param string $id
169 * @param string $name
170 */
171function include_customizes($id, $name, $vars = null)
172{
173  echo get_customizes($id, $name, $vars);
174}
175
176/**
177 * Set the op_mobile_header slot
178 *
179 * @param string $title
180 * @param string $subtitle
181 */
182function op_mobile_page_title($title, $subtitle = '')
183{
184  $params = array(
185    'title' => $title,
186    'subtitle' => $subtitle,
187  );
188
189  slot('op_mobile_header', get_partial('global/partsPageTitle', $params));
190}
191
192/**
193 * Includes a login parts.
194 *
195 * @param string $id
196 * @param sfForm $form
197 * @param string $link_to   A location of an action.
198 *
199 * @see    include_partial
200 */
201function include_login_parts($id, $form, $link_to)
202{
203  $params = array(
204    'id' => $form->getAuthMode().$id,
205    'form' => $form,
206    'link_to' => url_for(sprintf($link_to.'?%s=%s', sfOpenPNEAuthForm::AUTH_MODE_FIELD_NAME, $form->getAuthMode())),
207  );
208  include_partial('global/partsLogin', $params);
209}
210
211/**
212 * @deprecated since 3.0beta4
213 */
214function include_page_title($title, $subtitle = '')
215{
216  $params = array(
217    'title' => $title,
218    'subtitle' => $subtitle,
219  );
220  include_partial('global/partsPageTitle', $params);
221}
222
223/**
224 * @deprecated since 3.0beta4
225 */
226function include_list_box($id, $list, $options = array())
227{
228  $options['list'] = $list;
229
230  op_include_parts('listBox', $id, $options);
231}
232
233/**
234 * @deprecated since 3.0beta4
235 */
236function include_simple_box($id, $title = '', $block = '', $options = array())
237{
238  if(!isset($options['border']))
239  {
240    $options['border'] = true;
241  }
242  if(!isset($options['class']))
243  {
244    $options['class'] = '';
245  }
246
247  $params = array(
248    'id' => $id,
249    'title' => $title,
250    'block' => $block,
251    'options' => $options,
252  );
253
254  include_partial('global/partsSimpleBox', $params);
255}
256
257/**
258 * @deprecated since 3.0beta4
259 */
260function include_box($id, $title = '', $body = '', $options = array())
261{
262  $options['title'] = $title;
263
264  if (!empty($options['form']))
265  {
266    if ($body)
267    {
268      $options['info'] = $body;
269    }
270
271    if (!isset($options['button']))
272    {
273      $options['button'] = '変更';
274    }
275
276    if (!isset($options['url']))
277    {
278      $request = sfContext::getInstance()->getRequest();
279      $options['url'] = $request->getParameter('module').'/'.$request->getParameter('action');
280    }
281    else
282    {
283      $options['url'] = url_for($options['url']);
284    }
285
286    op_include_form($id, $options['form'], $options);
287  }
288  else
289  {
290    op_include_box($id, $body, $options);
291  }
292}
293
294/**
295 * @deprecated since 3.0beta4
296 */
297function include_parts($parts_name, $id, $option = array())
298{
299  $params = array(
300    'id'      => $id,
301    'options' => $option,
302  );
303  include_partial('global/parts'.ucfirst($parts_name), $params);
304}
305
306/**
307 * Include news pager
308 *
309 * @deprecated since 3.0beta4
310 */
311function include_news_pager($id, $title = '', $pager, $list, $link_to_detail)
312{
313  $params = array(
314    'id' => $id,
315    'title' => $title,
316    'pager' => $pager,
317    'list' => $list,
318    'link_to_detail' => $link_to_detail,
319  );
320
321 include_simple_box( $id, $title, get_partial('global/partsNewsPager', $params), array('class' => 'partsNewsPager'));
322}
Note: See TracBrowser for help on using the repository browser.