parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

проблема с перекрытием метода в auth.p

Larrikin 08.12.2005 14:00

создал файл Lauth.p
@CLASS
Lauth

@USE
auth.p

@BASE
auth

@init[icookie_data;ilogon_data;iparams]
  ^BASE:init[$icookie_data;$ilogon_data;$iparams]


###########################################################################
@htmlFormProfile[params][_params]
  ^setExpireHeaders[]
  $_params[^hash::create[$params]]
  <form
    method="post"
    ^if(def $_params.target_url){
      action="$_params.target_url"
    }
  >
    ^untaint[html]{
      $_params.addon
      <input type="hidden" name="do" value="^if(def $_params.do){$_params.do}{do}" />

      * Login:<br />
      <input type="text" name="auth.name" value="^if(def $_params.fields.[auth.name]){$_params.fields.[auth.name]}{$user.name}" /><br />
      * E-mail:<br />
      <input type="text" name="auth.email" value="^if(def $_params.fields.[auth.email]){$_params.fields.[auth.email]}{$user.email}"/><br />
      ^if(!$is_logon){* }Пароль:<br />
      <input type="password" name="auth.passwd" /><br />
      ^if(!$is_logon){* }Подтверждение пароля:<br />
      <input type="password" name="auth.passwd_confirm" /><br />
      * Имя:<br />
      <input type="text" name="auth.first_name" value="^if(def $_params.fields.[auth.first_name]){$_params.fields.[auth.first_name]}{$user.fist_name}"/><br />
      * Отчество:<br />
      <input type="text" name="auth.middle_name" value="^if(def $_params.fields.[auth.middle_name]){$_params.fields.[auth.middle_name]}{$user.middle_name}"/><br />
      * Фамилия:<br />
      <input type="text" name="auth.last_name" value="^if(def $_params.fields.[auth.last_name]){$_params.fields.[auth.last_name]}{$user.last_name}"/><br />

      <input type="submit" name="action" value="^if(def $_params.action_name){$_params.action_name}{^if($is_logon){Сохранить}{Зарегистрироваться}}" />
      $_params.post_addon
    }
  </form>
#end @htmlFormProfile[]
в сайтовом auto.p
@auto[]
  ...
  ^use[lib.p]
  ^use[mysql.p]
  ^use[Lauth.p]

  $MAIN:pSQL[^mysql::init[$SQL.connect-string;
#      $.is_debug(1)
#      $.cache_dir[/../data/sql_cache]
  ]]
@main[] 
  ^MAIN:pSQL.server{
    ^rem{ *** создаем объект класса auth *** }
    $auth[
      ^Lauth::init[
        $cookie:CLASS;
        $form:fields;
        $.csql[$MAIN:pSQL]
        $.additional_fields[
          ^table::create{select	update	field
last_name	last_name	last_name
first_name	first_name	first_name
middle_name	middle_name	middle_name
}
        ]
      ]
    ]

    ^header[] 
    ^body[] 
    ^footer[]
  }
потом на странице profile.html
	^if($is_show_form){
		^rem{ *** если надо показываем форму регистрации/изменения параметров *** }
			^auth.htmlFormProfile[
			$.fields[$form:fields]
			$.target_url[./profile.html]
		]
	}
упорно вызывается метод, описаный в оригинальном родительском Мишином auth.p, а не в моем модернизированом Lauth.p
Как правильно перекрыть, чтобы выводил мой вариант формы?

  • проблема с перекрытием метода в auth.p, Larrikin 08.12.2005 14:00