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

source: OpenPNE3/trunk/lib/helper/PartsHelper.php @ 10297

Last change on this file since 10297 was 10297, checked in by ogawa, 14 years ago

#3448:replaced include_box() into op_include_box() and op_include_form()

File size: 5.5 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     Ogawa Rimpei <ogawa@tejimaya.com>
18 */
19
20/**
21 * Include parts
22 *
23 * @param string $name parts name
24 * @param string $id
25 * @param array  $options
26 */
27function op_include_parts($name, $id, $options = array())
28{
29  $params = array(
30    'id'      => $id,
31    'name'    => $name,
32    'options' => $options,
33  );
34
35  $params['op_content'] = get_partial('global/parts'.ucfirst($name), $params);
36
37  if ('' === trim($params['op_content']))
38  {
39    return;
40  }
41
42  include_partial('global/partsLayout', $params);
43}
44
45function op_include_box($id, $body, $options = array())
46{
47  $options['body'] = $body;
48
49  op_include_parts('box', $id, $options);
50}
51
52function op_include_form($id, $form, $options = array())
53{
54  $options['form'] = $form;
55
56  op_include_parts('form', $id, $options);
57}
58
59function op_include_list($id, $list, $options = array())
60{
61  $options['list'] = $list;
62
63  op_include_parts('list', $id, $options);
64}
65
66function op_include_line($id, $line, $options = array())
67{
68  $options['line'] = $line;
69
70  op_include_parts('line', $id, $options);
71}
72
73/**
74 * Includes a login parts.
75 *
76 * @param string $id
77 * @param sfForm $form
78 * @param string $link_to   A location of an action.
79 *
80 * @see    include_partial
81 */
82function include_login_parts($id, $form, $link_to)
83{
84  $params = array(
85    'id' => $form->getAuthMode().$id,
86    'form' => $form,
87    'link_to' => url_for(sprintf($link_to.'?%s=%s', sfOpenPNEAuthForm::AUTH_MODE_FIELD_NAME, $form->getAuthMode())),
88  );
89  include_partial('global/partsLogin', $params);
90}
91
92function include_page_title($title, $subtitle = '')
93{
94  $params = array(
95    'title' => $title,
96    'subtitle' => $subtitle,
97  );
98  include_partial('global/partsPageTitle', $params);
99}
100
101function include_list_box($id, $list, $options = array())
102{
103  $options['list'] = $list;
104
105  op_include_parts('listBox', $id, $options);
106}
107
108function include_alert_box($id, $body, $options = array())
109{
110  $options['body'] = $body;
111
112  op_include_parts('alertBox', $id, $options);
113}
114
115function include_simple_box($id, $title = '', $block = '', $option = array())
116{
117  if(!isset($option['border']))
118  {
119    $option['border'] = true;
120  }
121  if(!isset($option['class']))
122  {
123    $option['class'] = '';
124  }
125
126  $params = array(
127    'id' => $id,
128    'title' => $title,
129    'block' => $block,
130    'option' => $option,
131  );
132
133  include_partial('global/partsSimpleBox', $params);
134}
135
136function include_box($id, $title = '', $body = '', $options = array())
137{
138  $options['title'] = $title;
139
140  if (!empty($options['form']))
141  {
142    if ($body)
143    {
144      $options['info'] = $body;
145    }
146
147    if (!isset($options['button']))
148    {
149      $options['button'] = '変更';
150    }
151
152    if (!isset($options['url']))
153    {
154      $request = sfContext::getInstance()->getRequest();
155      $options['url'] = $request->getParameter('module').'/'.$request->getParameter('action');
156    }
157
158    op_include_form($id, $options['form'], $options);
159  }
160  else
161  {
162    op_include_box($id, $body, $options);
163  }
164}
165
166function include_parts($parts_name, $id, $option = array())
167{
168  $params = array(
169    'id'      => $id,
170    'options' => $option,
171  );
172  include_partial('global/parts'.ucfirst($parts_name), $params);
173}
174
175/**
176 * Gets customizes.
177 *
178 * @param string $id
179 * @param string $name
180 */
181function get_customizes($id, $name, $vars = null)
182{
183  $context = sfContext::getInstance();
184
185  $viewInstance = $context->get('view_instance');
186  $customizes = $viewInstance->getCustomize('', $id, $name);
187  $lastActionStack = $context->getActionStack()->getLastEntry();
188
189  $content = '';
190  foreach ($customizes as $customize) {
191    $moduleName = $customize[0];
192    if (!$moduleName) {
193      $moduleName = $lastActionStack->getModuleName();
194    }
195    $actionName = $customize[1];
196    if (!isset($vars))
197    {
198      $vars = $lastActionStack->getActionInstance()->getVarHolder()->getAll();
199    }
200    if ($customize[2])
201    {
202      $content .= get_component($moduleName, $actionName, $vars);
203    }
204    else
205    {
206      $templateName = $moduleName.'/'.$actionName;
207      $content .= get_partial($templateName, $vars);
208    }
209  }
210
211  return $content;
212}
213
214/**
215 * Includes customizes.
216 *
217 * @param string $id
218 * @param string $name
219 */
220function include_customizes($id, $name, $vars = null)
221{
222  echo get_customizes($id, $name, $vars);
223}
224
225function _is_disabled_plugin_dir($directory)
226{
227  foreach (sfConfig::get('sf_'.sfConfig::get('sf_app').'_openpne_disabled_plugins', array()) as $pluginName) {
228    if (0 === strpos($directory, sfConfig::get('sf_plugins_dir') . DIRECTORY_SEPARATOR . $pluginName)) {
229      return true;
230    }
231  }
232
233  return false;
234}
235
236/**
237 * Include news
238 *
239 */
240function include_news($id, $title = '', $list, $option = array())
241{
242  $option['class'] = 'partsNews';
243  $params = array(
244    'list' => $list,
245  );
246
247 include_simple_box( $id, $title, get_partial('global/partsNews', $params), $option);
248}
249
250/**
251 * Include news pager
252 *
253 */
254function include_news_pager($id, $title = '', $pager, $list, $link_to_detail)
255{
256  $params = array(
257    'id' => $id,
258    'title' => $title,
259    'pager' => $pager,
260    'list' => $list,
261    'link_to_detail' => $link_to_detail,
262  );
263
264 include_simple_box( $id, $title, get_partial('global/partsNewsPager', $params), array('class' => 'partsNewsPager'));
265}
266
Note: See TracBrowser for help on using the repository browser.