Osclass now provides built-in profile (avatar) image uploader feature, however most of themes does not leverage it as they were built on profile picture or avatar plugins.
Let’s take a look how to quickly integrate built-in image uploader to your theme as well. We will use “your_theme” as sample, replace it with folder name of theme you are using (i.e. alpha, beta, gamma, delta, epsilon, veronika, stela, …)
There are 2 versions of this guide – more complex for Osclass 8.1.2 or lower and simplified for Osclass 8.2.0 and higher versions.
Osclass 8.2.0 and higher
- Scroll down and find opening <form tag and after last hidden input, place following code (with Uppy.io library, it’s optional to place this code inside form):
<?php if(osc_profile_img_users_enabled()) { ?> <div class="control-group"> <label class="control-label" for="name"><?php _e('Picture', 'sigma'); ?></label> <div class="controls"> <div class="user-img"> <div class="img-preview"> <img src="<?php echo osc_user_profile_img_url(osc_logged_user_id()); ?>" alt="<?php echo osc_esc_html(osc_logged_user_name()); ?>"/> </div> </div> <div class="user-img-button"> <?php UserForm::upload_profile_img(); ?> </div> </div> </div> <?php } ?>
That’s it, all should be setup now. You may want to adjust CSS styling in your theme for buttons.
Osclass 8.1.2 and lower
- Go to file oc-content/themes/your_theme/user-profile.php
- At start of file, right after opening <?php tag, place following code
if(osc_profile_img_users_enabled() == '1') { osc_enqueue_script('cropper'); osc_enqueue_style('cropper', osc_assets_url('js/cropper/cropper.min.css')); }
- Scroll down and find opening <form tag and after last hidden input, place following code:
<?php if(osc_profile_img_users_enabled()) { ?> <div class="control-group"> <label class="control-label" for="name"><?php _e('Picture', 'sigma'); ?></label> <div class="controls"> <div class="user-img"> <div class="img-preview"> <img src="<?php echo osc_user_profile_img_url(osc_logged_user_id()); ?>" alt="<?php echo osc_esc_html(osc_logged_user_name()); ?>"/> </div> </div> <div class="user-img-button"> <?php UserForm::upload_profile_img(); ?> </div> </div> </div> <?php } ?>
That’s it! Now just remove code related to image uploader plugins (profile_picture, avatar, …).
Your final code should look like this (removing not important parts):
<?php /* * Copyright 2014 Osclass * Copyright 2021 Osclass by OsclassPoint.com * * Osclass maintained & developed by OsclassPoint.com * You may not use this file except in compliance with the License. * You may download copy of Osclass at * * https://osclass-classifieds.com/download * * Do not edit or add to this file if you wish to upgrade Osclass to newer * versions in the future. Software is distributed on an "AS IS" basis, without * warranties or conditions of any kind, either express or implied. Do not remove * this NOTICE section as it contains license information and copyrights. */ if(osc_profile_img_users_enabled() == '1') { osc_enqueue_script('cropper'); osc_enqueue_style('cropper', osc_assets_url('js/cropper/cropper.min.css')); } // meta tag robots osc_add_hook('header','sigma_nofollow_construct'); sigma_add_body_class('user user-profile'); osc_add_hook('before-main','sidebar'); function sidebar(){ osc_current_web_theme_path('user-sidebar.php'); } osc_add_filter('meta_title_filter','custom_meta_title'); function custom_meta_title($data){ return __('Update account', 'sigma'); } osc_current_web_theme_path('header.php') ; $osc_user = osc_user(); ?> <h1><?php _e('Update account', 'sigma'); ?></h1> <?php UserForm::location_javascript(); ?> <div class="form-container form-horizontal"> <div class="resp-wrapper"> <ul id="error_list"></ul> <form action="<?php echo osc_base_url(true); ?>" method="post"> <input type="hidden" name="page" value="user" /> <input type="hidden" name="action" value="profile_post" /> <?php if(osc_profile_img_users_enabled()) { ?> <div class="control-group"> <label class="control-label" for="name"><?php _e('Picture', 'sigma'); ?></label> <div class="controls"> <div class="user-img"> <div class="img-preview"> <img src="<?php echo osc_user_profile_img_url(osc_logged_user_id()); ?>" alt="<?php echo osc_esc_html(osc_logged_user_name()); ?>"/> </div> </div> <div class="user-img-button"> <?php UserForm::upload_profile_img(); ?> </div> </div> </div> <?php } ?> <div class="control-group"> <label class="control-label" for="name"><?php _e('Name', 'sigma'); ?></label> <div class="controls"> <?php UserForm::name_text(osc_user()); ?> </div> </div> <div class="control-group"> <label class="control-label" for="user_type"><?php _e('User type', 'sigma'); ?></label> <div class="controls"> <?php UserForm::is_company_select(osc_user()); ?> </div> </div> ......
Your user profile picture should look like this now.
Enjoy!