'image/jpeg',
'png' => 'image/png',
'webp' => 'image/webp',
];
$check = wp_check_filetype_and_ext(
(string) $file['tmp_name'],
(string) $file['name'],
$allowed_mimes
);
if (empty($check['type']) || !in_array($check['type'], $allowed_mimes, true)) {
return 0;
}
/**
* Author: pablo rotem
* מגבלת גודל: 4MB כדי למנוע העלאות כבדות בהרשמה.
*/
$max_size = 4 * 1024 * 1024;
if ((int) ($file['size'] ?? 0) > $max_size) {
return 0;
}
require_once ABSPATH . 'wp-admin/includes/file.php';
require_once ABSPATH . 'wp-admin/includes/media.php';
require_once ABSPATH . 'wp-admin/includes/image.php';
$attachment_id = media_handle_upload($field_name, $post_id);
if (is_wp_error($attachment_id)) {
return 0;
}
$attachment_id = (int) $attachment_id;
/**
* Author: pablo rotem
* Alt text מקצועי לתמונה.
*/
$alt = trim($office_name) !== " ? $office_name . ' – תמונת פרופיל' : 'תמונת פרופיל עורך דין';
update_post_meta($attachment_id, '_wp_attachment_image_alt', $alt);
return $attachment_id;
}
}
if (!function_exists('pablo_basic_detect_lawyer_role')) {
function pablo_basic_detect_lawyer_role(): string
{
global $wp_roles;
if (!isset($wp_roles) || !($wp_roles instanceof WP_Roles)) {
$wp_roles = wp_roles();
}
$candidate_slugs = [
'lawyer',
'pablo_lawyer',
'mishpatim_lawyer',
'um_lawyer',
];
foreach ($candidate_slugs as $slug) {
if (get_role($slug)) {
return $slug;
}
}
foreach ($wp_roles->roles as $slug => $role_data) {
$role_name = (string) ($role_data['name'] ?? ");
if (
$role_name === 'עורך דין' ||
$role_name === 'עו"ד' ||
str_contains($role_name, 'עורך דין') ||
str_contains((string) $slug, 'lawyer')
) {
return (string) $slug;
}
}
return 'subscriber';
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_make_username')) {
function pablo_basic_make_username(string $email, string $fallback_name): string
{
$base = ";
if ($email !== ") {
$base = sanitize_user((string) current(explode('@', $email)), true);
}
if ($base === ") {
$base = sanitize_title($fallback_name);
}
if ($base === ") {
$base = 'lawyer';
}
$username = $base;
$counter = 2;
while (username_exists($username)) {
$username = $base . '_' . $counter;
$counter++;
}
return $username;
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_handle_register')) {
function pablo_basic_handle_register(): array
{
$result = [
'success' => false,
'errors' => [],
'post_id' => 0,
'user_id' => 0,
];
if ($_SERVER['REQUEST_METHOD'] !== 'POST' || empty($_POST['pablo_basic_lawyer_register_submit'])) {
return $result;
}
if (
empty($_POST['pablo_basic_lawyer_register_nonce']) ||
!wp_verify_nonce((string) $_POST['pablo_basic_lawyer_register_nonce'], 'pablo_basic_lawyer_register_action')
) {
$result['errors'][] = 'בדיקת אבטחה נכשלה. רענן את העמוד ונסה שוב.';
return $result;
}
$full_name = pablo_basic_clean_text($_POST['full_name'] ?? ");
$office_name = pablo_basic_clean_text($_POST['office_name'] ?? ");
$email = sanitize_email((string) wp_unslash($_POST[’email'] ?? "));
$phone = pablo_basic_clean_phone($_POST['phone'] ?? ");
$whatsapp = pablo_basic_clean_phone($_POST['whatsapp'] ?? ");
$about = pablo_basic_clean_textarea($_POST['about'] ?? ");
$password = (string) ($_POST['password'] ?? ");
$password_confirm = (string) ($_POST['password_confirm'] ?? ");
$accept_terms = !empty($_POST['accept_terms']);
$location_taxonomy = pablo_basic_location_taxonomy();
$specialty_taxonomy = pablo_basic_specialty_taxonomy();
$location_ids = pablo_basic_selected_ids('pablo_locations');
$specialty_ids = pablo_basic_selected_ids('pablo_specialties');
$service_types = pablo_basic_selected_text_values('pablo_service_types');
$target_audiences = pablo_basic_selected_text_values('pablo_target_audiences');
$language_taxonomy = pablo_basic_language_taxonomy();
$cooperation_taxonomy = pablo_basic_cooperation_taxonomy();
$language_names = pablo_basic_selected_text_values('pablo_languages');
$language_ids = pablo_basic_ensure_terms_by_names($language_taxonomy, $language_names);
$cooperation_names = pablo_basic_selected_text_values('pablo_cooperation');
$cooperation_ids = pablo_basic_ensure_terms_by_names($cooperation_taxonomy, $cooperation_names);
$payment_methods = pablo_basic_selected_text_values('pablo_payment_methods');
$meeting_options = pablo_basic_selected_text_values('pablo_meeting_options');
$availability_options = pablo_basic_selected_text_values('pablo_availability_options');
$consultation_type = pablo_basic_clean_text($_POST['pablo_consultation_type'] ?? ");
$consultation_cost = pablo_basic_clean_text($_POST['pablo_consultation_cost'] ?? ");
if ($full_name === ") {
$result['errors'][] = 'חובה להזין שם מלא.';
}
if ($office_name === ") {
$office_name = $full_name;
}
if (!is_email($email)) {
$result['errors'][] = 'חובה להזין אימייל תקין.';
} elseif (email_exists($email)) {
$result['errors'][] = 'כבר קיים משתמש עם האימייל הזה. יש להתחבר במקום להירשם מחדש.';
}
if ($phone === ") {
$result['errors'][] = 'חובה להזין מספר טלפון.';
}
if (strlen($password) < 8) {
$result['errors'][] = 'הסיסמה חייבת להכיל לפחות 8 תווים.';
}
if ($password !== $password_confirm) {
$result['errors'][] = 'אימות הסיסמה אינו תואם.';
}
if (!$accept_terms) {
$result['errors'][] = 'יש לאשר את תנאי השימוש ומדיניות הפרטיות.';
}
if (!empty($result['errors'])) {
return $result;
}
$role = pablo_basic_detect_lawyer_role();
$username = pablo_basic_make_username($email, $office_name);
$user_id = wp_insert_user([
'user_login' => $username,
'user_pass' => $password,
'user_email' => $email,
'display_name' => $office_name,
'first_name' => $full_name,
'nickname' => $office_name,
'role' => $role,
]);
if (is_wp_error($user_id)) {
$result['errors'][] = $user_id->get_error_message();
return $result;
}
$user_id = (int) $user_id;
$post_type = pablo_basic_lawyer_post_type();
$post_id = wp_insert_post([
'post_type' => $post_type,
'post_status' => 'pending',
'post_title' => $office_name,
'post_content' => $about,
'post_author' => $user_id,
], true);
if (is_wp_error($post_id)) {
require_once ABSPATH . 'wp-admin/includes/user.php';
wp_delete_user($user_id);
$result['errors'][] = $post_id->get_error_message();
return $result;
}
$post_id = (int) $post_id;
/**
* Author: pablo rotem
* שמירת קשר בסיסי בלבד.
*/
update_post_meta($post_id, 'pablo_lawyer_full_name', $full_name);
update_post_meta($post_id, 'pablo_lawyer_office_name', $office_name);
update_post_meta($post_id, 'pablo_phone', $phone);
update_post_meta($post_id, 'pablo_mobile', $phone);
update_post_meta($post_id, 'pablo_whatsapp', $whatsapp !== " ? $whatsapp : $phone);
update_post_meta($post_id, 'pablo_email', $email);
/**
* Author: pablo rotem
* שמירת תמונת פרופיל / לוגו.
*/
$profile_image_id = pablo_basic_handle_profile_image_upload('pablo_profile_image', $post_id, $office_name);
if ($profile_image_id > 0) {
set_post_thumbnail($post_id, $profile_image_id);
update_post_meta($post_id, 'pablo_profile_image_id', $profile_image_id);
update_post_meta($post_id, 'pablo_lawyer_logo_id', $profile_image_id);
update_post_meta($post_id, 'pablo_lawyer_logo', wp_get_attachment_url($profile_image_id));
update_post_meta($post_id, 'pablo_logo_image', wp_get_attachment_url($profile_image_id));
update_post_meta($post_id, '_thumbnail_id', $profile_image_id);
}
/**
* Author: pablo rotem
* שמירת מחוז / אזור בלבד בשלב הזה.
*/
if ($location_taxonomy !== " && taxonomy_exists($location_taxonomy) && !empty($location_ids)) {
wp_set_object_terms($post_id, $location_ids, $location_taxonomy, false);
$location_names = pablo_basic_selected_term_names($location_taxonomy, $location_ids);
$location_text = implode(', ', $location_names);
update_post_meta($post_id, 'pablo_region_terms', $location_ids);
update_post_meta($post_id, 'pablo_region', $location_text);
update_post_meta($post_id, 'pablo_lawyer_address', $location_text);
update_post_meta($post_id, 'lawyer_address', $location_text);
}
/**
* Author: pablo rotem
* שמירת התמחויות בלבד בשלב הזה.
*/
if ($specialty_taxonomy !== " && taxonomy_exists($specialty_taxonomy) && !empty($specialty_ids)) {
wp_set_object_terms($post_id, $specialty_ids, $specialty_taxonomy, false);
$specialty_names = pablo_basic_selected_term_names($specialty_taxonomy, $specialty_ids);
$specialty_text = implode(', ', $specialty_names);
update_post_meta($post_id, 'pablo_specialty_terms', $specialty_ids);
update_post_meta($post_id, 'pablo_specialties', $specialty_text);
update_post_meta($post_id, 'pablo_lawyer_specialties', $specialty_text);
}
/**
* Author: pablo rotem
* שמירת סוגי שירות וקהל יעד.
*/
update_post_meta($post_id, 'service_types', $service_types);
update_post_meta($post_id, 'pablo_service_types', $service_types);
update_post_meta($post_id, 'target_audiences', $target_audiences);
update_post_meta($post_id, 'pablo_target_audiences', $target_audiences);
/**
* Author: pablo rotem
* שמירת שפות ושיתופי פעולה.
*/
if ($language_taxonomy !== " && taxonomy_exists($language_taxonomy) && !empty($language_ids)) {
wp_set_object_terms($post_id, $language_ids, $language_taxonomy, false);
$language_text = implode(', ', $language_names);
update_post_meta($post_id, 'pablo_language_terms', $language_ids);
update_post_meta($post_id, 'pablo_languages', $language_text);
update_post_meta($post_id, 'pablo_lawyer_languages', $language_text);
}
if ($cooperation_taxonomy !== " && taxonomy_exists($cooperation_taxonomy) && !empty($cooperation_ids)) {
wp_set_object_terms($post_id, $cooperation_ids, $cooperation_taxonomy, false);
$cooperation_text = implode(', ', $cooperation_names);
update_post_meta($post_id, 'pablo_cooperation_terms', $cooperation_ids);
update_post_meta($post_id, 'pablo_cooperation', $cooperation_text);
update_post_meta($post_id, 'pablo_lawyer_cooperation', $cooperation_text);
}
/**
* Author: pablo rotem
* שמירת תשלומים, זמינות ואפשרויות פגישה.
*/
update_post_meta($post_id, 'payment_methods', $payment_methods);
update_post_meta($post_id, 'pablo_payment_methods', $payment_methods);
update_post_meta($post_id, 'meeting_options', $meeting_options);
update_post_meta($post_id, 'pablo_meeting_options', $meeting_options);
update_post_meta($post_id, 'availability_options', $availability_options);
update_post_meta($post_id, 'pablo_availability_options', $availability_options);
update_post_meta($post_id, 'pablo_consultation_type', $consultation_type);
update_post_meta($post_id, 'pablo_consultation_cost', $consultation_cost);
update_post_meta($post_id, 'consultation_type', $consultation_type);
update_post_meta($post_id, 'consultation_cost', $consultation_cost);
/**
* Author: pablo rotem
* קישורי סנכרון User <-> Lawyer Post.
*/
update_post_meta($post_id, '_pablo_linked_user_id', $user_id);
update_post_meta($post_id, 'pablo_linked_user_id', $user_id);
update_post_meta($post_id, '_pablo_user_id', $user_id);
update_post_meta($post_id, 'pablo_user_id', $user_id);
update_post_meta($post_id, 'lawyer_user_id', $user_id);
update_post_meta($post_id, '_lawyer_user_id', $user_id);
update_user_meta($user_id, '_pablo_lawyer_post_id', $post_id);
update_user_meta($user_id, 'pablo_phone', $phone);
update_user_meta($user_id, 'pablo_whatsapp', $whatsapp !== " ? $whatsapp : $phone);
/**
* Author: pablo rotem
* התחברות אוטומטית לאחר הרשמה.
*/
wp_set_current_user($user_id);
wp_set_auth_cookie($user_id, true);
$result['success'] = true;
$result['post_id'] = $post_id;
$result['user_id'] = $user_id;
return $result;
}
}
$pablo_basic_result = pablo_basic_handle_register();
$old = static function (string $key, string $default = "): string {
return isset($_POST[$key]) ? esc_attr(pablo_basic_clean_text($_POST[$key])) : esc_attr($default);
};
$old_textarea = static function (string $key, string $default = "): string {
return isset($_POST[$key]) ? esc_textarea(pablo_basic_clean_textarea($_POST[$key])) : esc_textarea($default);
};
$pablo_location_taxonomy = pablo_basic_location_taxonomy();
$pablo_specialty_taxonomy = pablo_basic_specialty_taxonomy();
$pablo_selected_locations = pablo_basic_selected_ids('pablo_locations');
$pablo_selected_specialties = pablo_basic_selected_ids('pablo_specialties');
$pablo_selected_service_types = pablo_basic_selected_text_values('pablo_service_types');
$pablo_selected_target_audiences = pablo_basic_selected_text_values('pablo_target_audiences');
$pablo_language_taxonomy = pablo_basic_language_taxonomy();
$pablo_cooperation_taxonomy = pablo_basic_cooperation_taxonomy();
$pablo_selected_languages = pablo_basic_selected_text_values('pablo_languages');
$pablo_selected_cooperation = pablo_basic_selected_text_values('pablo_cooperation');
$pablo_selected_payment_methods = pablo_basic_selected_text_values('pablo_payment_methods');
$pablo_selected_meeting_options = pablo_basic_selected_text_values('pablo_meeting_options');
$pablo_selected_availability_options = pablo_basic_selected_text_values('pablo_availability_options');
$pablo_selected_consultation_type = pablo_basic_clean_text($_POST['pablo_consultation_type'] ?? ");
$pablo_selected_consultation_cost = pablo_basic_clean_text($_POST['pablo_consultation_cost'] ?? ");
get_header();
?>
הרשמת עורך דין למשפטים.נט
שלב שמיני: פרטים בסיסיים + כל שדות הסינון + תשלומים וזמינות + תמונת פרופיל / לוגו. אחרי שנאשר שזה עובד,
נעבור לשלב הבא: כתובת ומפה.
לא ניתן להשלים את ההרשמה:
ההרשמה נקלטה בהצלחה.
נוצר משתמש ונוצר פרופיל עורך דין בסטטוס ממתין לאישור.
מספר הפרופיל: .
];
foreach ($fallbacks as $taxonomy) {
if (taxonomy_exists($taxonomy)) {
return $taxonomy;
}
}
return ";
}
}
/**
* Author: pablo rotem
*/
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_specialty_taxonomy')) {
function pablo_basic_specialty_taxonomy(): string
{
if (function_exists('pablo_mishpatim_specialty_tax')) {
$taxonomy = (string) pablo_mishpatim_specialty_tax();
if ($taxonomy !== " && taxonomy_exists($taxonomy)) {
return $taxonomy;
}
}
$fallbacks = [
'lawyer_specialty',
'specialty',
'lawyer_practice_area',
'practice_area',
];
foreach ($fallbacks as $taxonomy) {
if (taxonomy_exists($taxonomy)) {
return $taxonomy;
}
}
return ";
}
}
if (!function_exists('pablo_basic_clean_text')) {
function pablo_basic_clean_text(mixed $value): string
{
if (is_array($value) || is_object($value)) {
return ";
}
$value = (string) wp_unslash($value);
$value = wp_strip_all_tags($value);
$value = html_entity_decode($value, ENT_QUOTES | ENT_HTML5, 'UTF-8');
$value = preg_replace('/\s+/u', ' ', $value);
return trim((string) $value);
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_clean_textarea')) {
function pablo_basic_clean_textarea(mixed $value): string
{
if (is_array($value) || is_object($value)) {
return ";
}
$value = (string) wp_unslash($value);
$value = wp_kses_post($value);
$value = preg_replace("/[ \t]+/u", ' ', $value);
$value = preg_replace("/\n{3,}/u", "\n\n", $value);
return trim((string) $value);
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_clean_phone')) {
function pablo_basic_clean_phone(mixed $value): string
{
$value = pablo_basic_clean_text($value);
$value = preg_replace('/[^\d\+\-\s\(\)]/u', ", $value);
return trim((string) $value);
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_selected_ids')) {
function pablo_basic_selected_ids(string $key): array
{
$raw = $_POST[$key] ?? [];
if (!is_array($raw)) {
return [];
}
$ids = array_map('absint', wp_unslash($raw));
$ids = array_values(array_unique(array_filter($ids)));
return $ids;
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_term_path')) {
function pablo_basic_term_path(WP_Term $term, string $taxonomy): string
{
$parts = [];
$ancestors = array_reverse(get_ancestors((int) $term->term_id, $taxonomy, 'taxonomy'));
foreach ($ancestors as $ancestor_id) {
$ancestor = get_term((int) $ancestor_id, $taxonomy);
if ($ancestor && !is_wp_error($ancestor)) {
$name = pablo_basic_clean_text($ancestor->name);
if ($name !== ") {
$parts[] = $name;
}
}
}
$term_name = pablo_basic_clean_text($term->name);
if ($term_name !== ") {
$parts[] = $term_name;
}
return implode(' › ', array_filter($parts));
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_selected_term_names')) {
function pablo_basic_selected_term_names(string $taxonomy, array $ids): array
{
if ($taxonomy === " || !taxonomy_exists($taxonomy) || empty($ids)) {
return [];
}
$names = [];
foreach ($ids as $id) {
$term = get_term((int) $id, $taxonomy);
if ($term && !is_wp_error($term)) {
$name = pablo_basic_clean_text($term->name);
if ($name !== ") {
$names[] = $name;
}
}
}
return array_values(array_unique($names));
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_get_location_items')) {
function pablo_basic_get_location_items(string $taxonomy): array
{
if ($taxonomy === " || !taxonomy_exists($taxonomy)) {
return [];
}
$terms = get_terms([
'taxonomy' => $taxonomy,
'hide_empty' => false,
'orderby' => 'name',
'order' => 'ASC',
]);
if (is_wp_error($terms) || empty($terms)) {
return [];
}
$by_parent = [];
$printed = [];
$items = [];
foreach ($terms as $term) {
if ($term instanceof WP_Term) {
$by_parent[(int) $term->parent][] = $term;
}
}
/**
* Author: pablo rotem
* אם יש root כללי כמו ישראל / כל האזורים, מציגים את הילדים שלו כתחילת הרשימה.
*/
$start_parents = [0];
if (!empty($by_parent[0])) {
foreach ($by_parent[0] as $root_term) {
if (!$root_term instanceof WP_Term) {
continue;
}
$root_name = pablo_basic_clean_text($root_term->name);
if (
count($by_parent[0]) === 1 ||
in_array($root_name, ['כל האזורים', 'כל הארץ', 'ישראל', 'ארץ ישראל'], true)
) {
if (!empty($by_parent[(int) $root_term->term_id])) {
$start_parents = [(int) $root_term->term_id];
break;
}
}
}
}
$add_item = static function (WP_Term $term, int $level) use (&$items, &$printed, $taxonomy): void {
$term_id = (int) $term->term_id;
if (isset($printed[$term_id])) {
return;
}
$printed[$term_id] = true;
$name = pablo_basic_clean_text($term->name);
$path = pablo_basic_term_path($term, $taxonomy);
if ($name === ") {
return;
}
$items[] = [
'id' => $term_id,
'name' => $name,
'path' => $path,
'level' => max(0, $level),
];
};
$walk = static function (int $parent_id, int $level) use (&$walk, $by_parent, $add_item): void {
if (empty($by_parent[$parent_id])) {
return;
}
foreach ($by_parent[$parent_id] as $term) {
if (!$term instanceof WP_Term) {
continue;
}
$add_item($term, $level);
$walk((int) $term->term_id, $level + 1);
}
};
foreach ($start_parents as $parent_id) {
$walk((int) $parent_id, 0);
}
/**
* Author: pablo rotem
* fallback: אם term לא הודפס בגלל parent שבור, עדיין מציגים אותו.
*/
foreach ($terms as $term) {
if (!$term instanceof WP_Term) {
continue;
}
if (!isset($printed[(int) $term->term_id])) {
$level = count(get_ancestors((int) $term->term_id, $taxonomy, 'taxonomy'));
$add_item($term, $level);
}
}
return $items;
}
}
/**
* Author: pablo rotem
*/
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_get_specialty_items')) {
function pablo_basic_get_specialty_items(string $taxonomy): array
{
if ($taxonomy === " || !taxonomy_exists($taxonomy)) {
return [];
}
$terms = get_terms([
'taxonomy' => $taxonomy,
'hide_empty' => false,
'orderby' => 'name',
'order' => 'ASC',
]);
if (is_wp_error($terms) || empty($terms)) {
return [];
}
$by_parent = [];
$printed = [];
$items = [];
foreach ($terms as $term) {
if ($term instanceof WP_Term) {
$by_parent[(int) $term->parent][] = $term;
}
}
$add_item = static function (WP_Term $term, int $level) use (&$items, &$printed, $taxonomy): void {
$term_id = (int) $term->term_id;
if (isset($printed[$term_id])) {
return;
}
$printed[$term_id] = true;
$name = pablo_basic_clean_text($term->name);
$path = pablo_basic_term_path($term, $taxonomy);
if ($name === ") {
return;
}
$items[] = [
'id' => $term_id,
'name' => $name,
'path' => $path,
'level' => max(0, $level),
];
};
$walk = static function (int $parent_id, int $level) use (&$walk, $by_parent, $add_item): void {
if (empty($by_parent[$parent_id])) {
return;
}
foreach ($by_parent[$parent_id] as $term) {
if (!$term instanceof WP_Term) {
continue;
}
$add_item($term, $level);
$walk((int) $term->term_id, $level + 1);
}
};
$walk(0, 0);
/**
* Author: pablo rotem
* fallback: אם term לא הודפס בגלל parent שבור, עדיין מציגים אותו.
*/
foreach ($terms as $term) {
if (!$term instanceof WP_Term) {
continue;
}
if (!isset($printed[(int) $term->term_id])) {
$level = count(get_ancestors((int) $term->term_id, $taxonomy, 'taxonomy'));
$add_item($term, $level);
}
}
return $items;
}
}
/**
* Author: pablo rotem
*/
if (!function_exists('pablo_basic_render_specialty_dropdown')) {
function pablo_basic_render_specialty_dropdown(string $taxonomy, array $selected = []): void
{
$items = pablo_basic_get_specialty_items($taxonomy);
$selected = array_map('strval', $selected);
?>
תחום התמחות
טקסונומיית ההתמחויות לא נמצאה. נבדוק את זה לפני שממשיכים לשלב הבא.
לא נמצאו התמחויות בטקסונומיה.
כל ההתמחויות
אזור / עיר
טקסונומיית המיקום לא נמצאה. נבדוק את זה לפני שממשיכים לשלב הבא.
לא נמצאו אזורים או ערים בטקסונומיה.
כל האזורים
הטקסונומיה עבור לא נמצאה.
לא נמצאו ערכים עבור .
לא נמצאו אפשרויות עבור .
.pablo_location_picker.is-open .pablo_location_button::after {
transform: rotate(180deg);
}
.pablo_location_button:hover,
.pablo_location_picker.is-open .pablo_location_button {
border-color: #0ea5e9;
box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.12);
background: #fbfdff;
}
.pablo_location_button span {
min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.pablo_location_button strong {
display: none;
min-width: 28px;
height: 28px;
align-items: center;
justify-content: center;
padding: 0 8px;
border-radius: 999px;
background: #172653;
color: #ffffff;
font-size: 12px;
font-weight: 950;
}
.pablo_location_button strong:not(:empty) {
display: inline-flex;
}
.pablo_location_panel {
display: none;
position: absolute;
z-index: 9999;
inset-inline: 0;
top: calc(100% + 8px);
padding: 12px;
border: 1px solid #dbe5f0;
border-radius: 22px;
background: #ffffff;
box-shadow: 0 24px 70px rgba(15, 23, 42, 0.20);
}
.pablo_location_picker.is-open .pablo_location_panel {
display: grid;
gap: 10px;
}
.pablo_location_search {
width: 100% !important;
height: 46px !important;
min-height: 46px !important;
border: 1px solid #dbe5f0 !important;
border-radius: 14px !important;
padding: 9px 13px !important;
margin: 0 !important;
background: #ffffff !important;
color: #172653 !important;
font-size: 15px !important;
font-weight: 800;
outline: none !important;
box-shadow: none !important;
}
.pablo_location_search:focus {
border-color: #0ea5e9 !important;
box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.12) !important;
}
.pablo_location_options {
display: grid;
grid-template-columns: 1fr;
gap: 6px;
max-height: 300px;
overflow: auto;
padding: 2px;
}
.pablo_location_option {
min-height: 42px;
display: flex !important;
align-items: center;
gap: 10px;
padding: 9px 11px;
padding-inline-start: calc(11px + (var(--pablo-depth, 0) * 18px));
border: 1px solid #e2e8f0;
border-radius: 14px;
background: #f8fafc;
color: #172653;
font-size: 14px;
font-weight: 900;
cursor: pointer;
line-height: 1.35;
}
.pablo_location_option:hover {
background: #eef6ff;
border-color: #bfdbfe;
}
.pablo_location_option.is-parent {
background: #eef6ff;
border-color: #bfdbfe;
font-weight: 950;
}
.pablo_location_option.is-child {
background: #ffffff;
}
.pablo_location_option input[type="checkbox"] {
appearance: auto !important;
-webkit-appearance: checkbox !important;
width: 17px !important;
height: 17px !important;
min-width: 17px !important;
max-width: 17px !important;
min-height: 17px !important;
max-height: 17px !important;
flex: 0 0 17px !important;
margin: 0 !important;
padding: 0 !important;
accent-color: #172653;
box-shadow: none !important;
position: static !important;
}
.pablo_location_option span {
min-width: 0;
overflow-wrap: anywhere;
}
.pablo_static_picker .pablo_location_option {
background: #ffffff;
}
.pablo_static_picker .pablo_location_option:hover {
background: #eef6ff;
}
.pablo_taxonomy_picker .pablo_location_option {
background: #ffffff;
}
.pablo_taxonomy_picker .pablo_location_option.is-parent {
background: #eef6ff;
}
.pablo_taxonomy_picker .pablo_location_option:hover {
background: #eef6ff;
}
.pablo_location_option.is-search-hidden {
display: none !important;
}
.pablo_location_empty_search {
display: none;
padding: 12px;
border-radius: 12px;
background: #f8fafc;
color: #64748b;
font-size: 14px;
font-weight: 900;
text-align: center;
}
.pablo_location_error {
padding: 14px;
border: 1px solid #fed7aa;
border-radius: 16px;
background: #fff7ed;
color: #9a3412;
font-weight: 850;
line-height: 1.7;
}
.pablo_basic_terms {
display: grid;
gap: 10px;
padding: 15px;
border: 1px solid #e2e8f0;
border-radius: 18px;
background: #f8fafc;
}
.pablo_basic_terms label {
display: flex;
align-items: flex-start;
gap: 10px;
margin: 0;
color: #172653;
line-height: 1.75;
font-size: 14px;
font-weight: 850;
}
.pablo_basic_terms input[type="checkbox"] {
width: 18px;
height: 18px;
min-width: 18px;
margin-top: 5px;
accent-color: #172653;
}
.pablo_basic_actions {
display: flex;
justify-content: space-between;
align-items: center;
gap: 14px;
padding-top: 4px;
}
.pablo_basic_submit {
min-height: 52px;
padding: 0 28px;
border: 0;
border-radius: 999px;
background: #172653;
color: #ffffff;
font-size: 17px;
font-weight: 950;
cursor: pointer;
box-shadow: 0 14px 28px rgba(23, 38, 83, 0.24);
transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.pablo_basic_submit:hover {
transform: translateY(-1px);
background: #0f1f49;
box-shadow: 0 18px 34px rgba(23, 38, 83, 0.28);
}
.pablo_basic_actions small {
color: #64748b;
line-height: 1.6;
font-weight: 750;
}
.pablo_basic_side {
display: grid;
gap: 14px;
position: sticky;
top: 24px;
}
.pablo_basic_side_box {
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 24px;
padding: 18px;
box-shadow: 0 16px 45px rgba(15, 23, 42, 0.07);
}
.pablo_basic_side_box h3 {
margin: 0 0 10px;
color: #172653;
font-size: 18px;
font-weight: 950;
}
.pablo_basic_side_box ul {
margin: 0;
padding: 0 20px 0 0;
color: #475569;
line-height: 1.9;
font-weight: 780;
}
.pablo_basic_side_box p {
margin: 0;
color: #475569;
line-height: 1.8;
font-weight: 760;
}
.pablo_basic_notice {
padding: 16px 18px;
border-radius: 18px;
margin: 18px 0;
font-weight: 850;
line-height: 1.8;
}
.pablo_basic_notice.success {
background: #dcfce7;
border: 1px solid #86efac;
color: #166534;
}
.pablo_basic_notice.error {
background: #fee2e2;
border: 1px solid #fecaca;
color: #991b1b;
}
.pablo_basic_notice ul {
margin: 6px 20px 0 0;
}
@media (max-width: 920px) {
.pablo_basic_shell {
grid-template-columns: 1fr;
}
.pablo_basic_side {
position: static;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 680px) {
.pablo_basic_register {
width: min(100% - 14px, 1120px);
padding-top: 16px;
}
.pablo_basic_grid,
.pablo_basic_side {
grid-template-columns: 1fr;
}
.pablo_location_panel {
position: static;
margin-top: 8px;
}
.pablo_basic_actions {
display: grid;
}
.pablo_basic_submit {
width: 100%;
}
}
הרשמת עורך דין למשפטים.נט
שלב שישי: פרטים בסיסיים + מחוז / אזור + התמחויות + סוגי שירות + קהל יעד + שפות ושיתופי פעולה. אחרי שנאשר שהשדות האלה נראים טוב,
נוסיף את השלב הבא: תשלומים, זמינות ואפשרויות פגישה.
לא ניתן להשלים את ההרשמה:
ההרשמה נקלטה בהצלחה.
נוצר משתמש ונוצר פרופיל עורך דין בסטטוס ממתין לאישור.
מספר הפרופיל: .
פרטים בסיסיים
השדות כאן הם רק מה שחייבים כדי ליצור משתמש ופרופיל עורך דין תקין.
מחוז / אזור
בחר אזור או עיר מתוך טקסונומיית המיקומים.
התמחויות
בחר תחום התמחות אחד או יותר מתוך טקסונומיית ההתמחויות. זה השדה היחיד שנוסף בשלב הזה.
סוגי שירות וקהל יעד
בחר את סוגי השירות המשפטי ואת קהל היעד שהמשרד מתאים לו.
שפות ושיתופי פעולה
בחר שפות שירות ואפשרויות שיתוף פעולה עם עורכי דין.